.modal-backdrop {
    display: none !important;
    opacity: 0 !important;
}

.app-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background:
        radial-gradient(circle at top, rgba(255, 255, 255, 0.08), transparent 32%),
        rgba(29, 29, 31, 0.48);
    backdrop-filter: saturate(160%) blur(14px);
    -webkit-backdrop-filter: saturate(160%) blur(14px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.22s ease, visibility 0.22s ease;
}

.app-modal-backdrop.show {
    opacity: 1;
    visibility: visible;
}

.modal {
    z-index: 1080 !important;
}

.modal.show {
    z-index: 1080 !important;
}

.modal-dialog {
    position: relative;
    z-index: 1081 !important;
}

.modal-content {
    position: relative;
    z-index: 1082 !important;
}

.modal.modal-fullscreen,
.modal[style*="z-index: 9999"],
.modal[style*="z-index: 99999"] {
    z-index: 99999;
}

.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-dialog {
    margin: 1rem auto;
}

.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-content {
    background: rgba(255, 255, 255, 0.96) !important;
    color: #1d1d1f !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 24px !important;
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.18) !important;
    overflow: hidden;
    backdrop-filter: saturate(160%) blur(18px);
    -webkit-backdrop-filter: saturate(160%) blur(18px);
}

.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-header,
.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-footer {
    background: transparent !important;
    border-color: rgba(0, 0, 0, 0.06) !important;
    padding: 14px 18px !important;
}

.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-body {
    padding: 18px !important;
}

.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-title {
    color: #1d1d1f !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
}

.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-body,
.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-body p,
.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-body .text-muted {
    color: rgba(29, 29, 31, 0.76) !important;
}

.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .btn-close {
    width: 32px;
    height: 32px;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background-color: rgba(0, 0, 0, 0.04) !important;
    opacity: 1 !important;
}

.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .btn:not(.btn-link):not(.btn-close) {
    min-height: 40px !important;
    border-radius: 14px !important;
}

.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .btn-primary {
    background: #0071e3 !important;
    border-color: rgba(0, 113, 227, 0.16) !important;
    color: #ffffff !important;
}

.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .btn-secondary,
.modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .btn-outline-secondary {
    background: #fafafc !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    color: #1d1d1f !important;
}

@media (max-width: 1023px) {
    .modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-dialog {
        margin: 0.75rem;
    }

    .modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-content {
        border-radius: 22px !important;
    }

    .modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-header,
    .modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-footer {
        padding: 12px 14px !important;
    }

    .modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-body {
        padding: 14px !important;
    }

    .modal:not(.transaction-success-modal):not(.transaction-loading-modal):not(.transaction-camera-modal) .modal-title {
        font-size: 1rem !important;
    }
}
