/* GSCC SweetAlert2 — branded government dialog
   Tokens alias gscc-design-tokens.css; fallbacks if tokens are not loaded. */
:root {
    --gscc-swal-primary: var(--gscc-color-primary);
    --gscc-swal-primary-dark: var(--gscc-color-primary-dark);
    --gscc-swal-primary-soft: var(--gscc-color-primary-soft);
    --gscc-swal-accent: var(--gscc-color-accent, #D89B2B);
    --gscc-swal-accent-soft: var(--gscc-color-accent-soft, #F8EFDA);
    --gscc-swal-text: var(--gscc-color-text, #17212B);
    --gscc-swal-muted: var(--gscc-color-muted, #667085);
    --gscc-swal-border: var(--gscc-color-border, #DCE3E7);
    --gscc-swal-surface: var(--gscc-color-surface, #FFFFFF);
    --gscc-swal-success: var(--gscc-color-success, #16845B);
    --gscc-swal-success-soft: var(--gscc-color-success-soft, #E6F4EE);
    --gscc-swal-danger: var(--gscc-color-danger, #C93636);
    --gscc-swal-danger-soft: var(--gscc-color-danger-soft, #FBEAEA);
    --gscc-swal-warning: var(--gscc-color-warning, #B77908);
    --gscc-swal-font: var(--gscc-font, "Noto Sans", "Noto Sans Devanagari", "Segoe UI", system-ui, sans-serif);
    --gscc-swal-brand: var(--gscc-color-primary);
    --gscc-swal-brand-dark: var(--gscc-color-primary-dark);
}

.gscc-swal-wrap {
    z-index: 20000 !important;
    padding: 16px !important;
}

.gscc-swal-wrap.swal2-backdrop-show,
.swal2-container.gscc-swal-wrap {
    background: rgba(8, 28, 20, 0.55) !important;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.gscc-swal.swal2-popup {
    width: 28rem !important;
    max-width: calc(100vw - 32px) !important;
    padding: 0 !important;
    overflow: hidden;
    align-items: stretch !important;
    border-radius: 14px !important;
    border: 1px solid var(--gscc-swal-border) !important;
    box-shadow: 0 24px 60px rgba(8, 28, 20, 0.28), 0 2px 8px rgba(23, 33, 43, 0.08) !important;
    background: var(--gscc-swal-surface) !important;
    font-family: var(--gscc-swal-font) !important;
    color: var(--gscc-swal-text) !important;
}

.gscc-swal-brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.8rem 1.15rem 0.95rem;
    background: linear-gradient(180deg, var(--gscc-swal-brand) 0%, var(--gscc-swal-brand-dark) 100%);
    color: #fff;
    text-align: left;
    position: relative;
}

.gscc-swal-brand::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: linear-gradient(90deg,
        #FF9933 0 33.333%,
        #FFFFFF 33.333% 66.666%,
        #138808 66.666% 100%);
}

.gscc-swal-emblem {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 50%;
    object-fit: cover;
    background: #fff;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.55);
}

.gscc-swal-brand-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding-right: 0.25rem;
}

.gscc-swal-brand-kicker {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.82);
}

.gscc-swal-brand-name {
    margin-top: 0.12rem;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
}

.gscc-swal .swal2-header {
    padding: 1.35rem 1.5rem 0 !important;
    margin: 0 !important;
    align-items: center;
}

.gscc-swal .gscc-swal-icon.swal2-icon,
.gscc-swal .swal2-icon {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    margin: 0 auto 0.85rem !important;
    border: none !important;
    border-width: 0 !important;
    background: var(--gscc-swal-primary-soft) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--gscc-swal-primary) 14%, transparent) !important;
}

.gscc-swal .swal2-icon::before,
.gscc-swal .swal2-icon::after,
.gscc-swal .swal2-x-mark,
.gscc-swal .swal2-success-ring,
.gscc-swal .swal2-success-line-tip,
.gscc-swal .swal2-success-line-long,
.gscc-swal .swal2-success-circular-line-left,
.gscc-swal .swal2-success-circular-line-right,
.gscc-swal .swal2-success-fix {
    display: none !important;
}

.gscc-swal.gscc-swal-success .swal2-icon {
    background: var(--gscc-swal-success-soft) !important;
    color: var(--gscc-swal-success) !important;
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--gscc-swal-success) 16%, transparent) !important;
}

.gscc-swal.gscc-swal-error .swal2-icon {
    background: var(--gscc-swal-danger-soft) !important;
    color: var(--gscc-swal-danger) !important;
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--gscc-swal-danger) 16%, transparent) !important;
}

.gscc-swal.gscc-swal-warning .swal2-icon {
    background: var(--gscc-swal-accent-soft) !important;
    color: var(--gscc-swal-warning) !important;
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--gscc-swal-warning) 18%, transparent) !important;
}

.gscc-swal.gscc-swal-danger .swal2-icon {
    background: var(--gscc-swal-danger-soft) !important;
    color: var(--gscc-swal-danger) !important;
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--gscc-swal-danger) 16%, transparent) !important;
}

.gscc-swal .swal2-icon .swal2-icon-content {
    font-size: 1.45rem !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.gscc-swal .swal2-icon .swal2-icon-content .fa {
    font-size: 1.55rem;
    line-height: 1;
}

.gscc-swal.gscc-swal-success .swal2-icon .fa { color: var(--gscc-swal-success); }
.gscc-swal.gscc-swal-error .swal2-icon .fa,
.gscc-swal.gscc-swal-danger .swal2-icon .fa { color: var(--gscc-swal-danger); }
.gscc-swal.gscc-swal-warning .swal2-icon .fa { color: var(--gscc-swal-warning); }

.gscc-swal .gscc-swal-title.swal2-title,
.gscc-swal .swal2-title {
    margin: 0 !important;
    padding: 0 0.25rem !important;
    font-family: var(--gscc-swal-font) !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em;
    color: var(--gscc-swal-text) !important;
}

.gscc-swal .gscc-swal-body.swal2-html-container,
.gscc-swal .swal2-html-container,
.gscc-swal .swal2-content {
    margin: 0 !important;
    padding: 0.45rem 1.6rem 0 !important;
    font-size: 0.94rem !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    color: var(--gscc-color-text-secondary, #3D4A57) !important;
    text-align: center !important;
}

.gscc-swal-danger .gscc-swal-body.swal2-html-container,
.gscc-swal-danger .swal2-html-container {
    text-align: left !important;
}

.gscc-swal-detail {
    text-align: left;
    margin-top: 0.15rem;
}

.gscc-swal-lead {
    margin: 0 0 0.75rem;
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--gscc-color-text-secondary, #3D4A57);
}

.gscc-swal-record {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.75rem 0.9rem;
    border-radius: 8px;
    background: var(--gscc-color-bg, #F4F6F7);
    border: 1px solid var(--gscc-swal-border);
}

.gscc-swal-record-name {
    font-size: 0.95rem;
    font-weight: 650;
    color: var(--gscc-swal-text);
    word-break: break-word;
}

.gscc-swal-record-meta {
    font-size: 0.8rem;
    color: var(--gscc-swal-muted);
}

.gscc-swal-irreversible {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    margin: 0.85rem 0 0;
    padding: 0.55rem 0.7rem;
    border-radius: 6px;
    background: var(--gscc-swal-danger-soft);
    color: var(--gscc-swal-danger);
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.4;
}

.gscc-swal-irreversible i {
    margin-top: 0.12rem;
    color: var(--gscc-swal-danger);
}

.gscc-swal .gscc-swal-actions.swal2-actions,
.gscc-swal .swal2-actions {
    width: 100% !important;
    margin: 1.25rem 0 0 !important;
    padding: 0.85rem 1.15rem !important;
    display: flex !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    background: var(--gscc-color-bg-subtle, #F8FAFB);
    border-top: 1px solid var(--gscc-swal-border);
}

.gscc-swal-btn {
    margin: 0 !important;
    min-width: 6.75rem;
    height: 40px;
    padding: 0 1.1rem !important;
    border-radius: 8px !important;
    border: 1px solid transparent !important;
    font-family: var(--gscc-swal-font) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
    line-height: 1 !important;
    box-shadow: none !important;
    cursor: pointer;
}

.gscc-swal-btn:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb),  0.28) !important;
}

.gscc-swal-btn-primary,
.gscc-swal-btn-success {
    background: var(--gscc-swal-brand) !important;
    border-color: var(--gscc-swal-brand) !important;
    color: #fff !important;
}
.gscc-swal-btn-primary:hover,
.gscc-swal-btn-success:hover {
    background: var(--gscc-swal-brand-dark) !important;
    border-color: var(--gscc-swal-brand-dark) !important;
}

.gscc-swal-btn-danger {
    background: var(--gscc-swal-danger) !important;
    border-color: var(--gscc-swal-danger) !important;
    color: #fff !important;
}
.gscc-swal-btn-danger:hover {
    background: #A82C2C !important;
    border-color: #A82C2C !important;
}
.gscc-swal-btn-danger:focus {
    box-shadow: 0 0 0 3px rgba(201, 54, 54, 0.28) !important;
}

.gscc-swal-btn-ghost {
    background: var(--gscc-swal-surface) !important;
    border-color: var(--gscc-swal-border) !important;
    color: var(--gscc-swal-text) !important;
}
.gscc-swal-btn-ghost:hover {
    background: var(--gscc-color-bg, #F4F6F7) !important;
    border-color: var(--gscc-color-border-strong, #C5CED4) !important;
}

.gscc-swal .swal2-timer-progress-bar {
    background: var(--gscc-swal-brand) !important;
    height: 3px !important;
}

.gscc-swal .swal2-close {
    top: 0.4rem !important;
    right: 0.45rem !important;
    width: 2rem !important;
    height: 2rem !important;
    font-size: 1.5rem !important;
    color: rgba(255, 255, 255, 0.88) !important;
    box-shadow: none !important;
    z-index: 2;
}
.gscc-swal .swal2-close:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.14) !important;
    border-radius: 6px;
}

.gscc-swal .swal2-input,
.gscc-swal .swal2-textarea,
.gscc-swal .swal2-select,
.gscc-swal .swal2-file {
    width: calc(100% - 3.2rem) !important;
    margin: 0.85rem 1.6rem 0 !important;
    font-family: var(--gscc-swal-font) !important;
}

html[data-gscc-theme="high-contrast"] .gscc-swal.swal2-popup {
    border: 2px solid #000 !important;
    box-shadow: none !important;
    border-radius: 4px !important;
}
html[data-gscc-theme="high-contrast"] .gscc-swal-brand {
    background: #003D26;
}
html[data-gscc-theme="high-contrast"] .gscc-swal-btn:focus,
html[data-gscc-theme="high-contrast"] .gscc-swal-btn-danger:focus {
    box-shadow: 0 0 0 3px #000 !important;
}

@media (max-width: 480px) {
    .gscc-swal.swal2-popup {
        width: 100% !important;
    }
    .gscc-swal-brand {
        padding: 0.75rem 0.9rem 0.9rem;
    }
    .gscc-swal-brand-name {
        font-size: 0.82rem;
    }
    .gscc-swal .swal2-header {
        padding: 1.15rem 1.1rem 0 !important;
    }
    .gscc-swal .swal2-html-container {
        padding: 0.4rem 1.1rem 0 !important;
    }
    .gscc-swal .swal2-actions {
        flex-direction: column-reverse !important;
        padding: 0.75rem 0.9rem !important;
    }
    .gscc-swal-btn {
        width: 100%;
        min-width: 0;
    }
}

/* SweetAlert2 keeps its own (unused) <select> in every popup; a page-wide select2 initialiser was wrapping it in a
   visible dropdown. Anything select2-related inside a popup stays hidden unless the alert really asks for a select. */
.swal2-popup .select2-container,
.swal2-popup .swal2-select.select2-hidden-accessible ~ .select2-container {
    display: none !important;
}
.swal2-popup:not(.swal2-has-select-input) .swal2-select {
    display: none !important;
}
