/* Force modals to be centered in viewport, not page */
#successModal,
#errorModal,
#processingModal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 1000000 !important;

    /* DEFAULT STATE: HIDDEN */
    display: none !important;

    /* Flexbox Centering */
    align-items: center !important;
    justify-content: center !important;

    /* Backdrop */
    background: rgba(0, 0, 0, 0.8) !important;
    backdrop-filter: blur(5px);
    pointer-events: none !important;

    /* Reset any potential opacity issues from animations */
    opacity: 1 !important;
    visibility: visible !important;
    /* When display is flex, this ensures visibility */
}

/* ACTIVE STATE */
#successModal.active,
#errorModal.active,
#processingModal.active {
    display: flex !important;
    pointer-events: auto !important;
}

#successModal .modal-content,
#errorModal .modal-content,
#processingModal .modal-content {
    /* Reset Positioning */
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    /* Let flexbox center it */

    z-index: 1000001 !important;
    max-height: 90vh !important;
    max-width: 90vw !important;
    width: auto !important;
    overflow-y: auto !important;
    pointer-events: auto !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
    transform: none !important;
    /* Disable transform animations to prevent layout issues */
    animation: none !important;
    /* Disable animations to prevent opacity/visibility bugs */

    /* ENFORCE BACKGROUND AND TEXT COLOR */
    background: linear-gradient(180deg, #1E293B 0%, #0F172A 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Ensure modal is visible even if page is scrolled */
body.modal-open {
    overflow: hidden !important;
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    height: 100vh !important;
    width: 100vw !important;
}