/* SweetAlert is mounted under body, outside the dashboard's theme scope. */
.swal2-container {
    --neo-alert-surface: #fff;
    --neo-alert-soft: #f4f7fc;
    --neo-alert-line: #e4ebf5;
    --neo-alert-ink: #172b4d;
    --neo-alert-muted: #61718a;
    --neo-alert-blue: var(--neo-brand-blue, #023aef);
    --neo-alert-blue-dark: var(--neo-brand-blue-dark, #002ab3);
    padding: 20px;
}
.swal2-container.swal2-backdrop-show {
    background: rgb(10 23 48 / 48%);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
[data-theme-version="dark"] .swal2-container {
    --neo-alert-surface: #1b2239;
    --neo-alert-soft: #141b2e;
    --neo-alert-line: #303b55;
    --neo-alert-ink: #e7eefc;
    --neo-alert-muted: #a3b1cc;
    color-scheme: dark;
}
.swal2-container .swal2-popup {
    padding: 28px 24px 24px;
    border-radius: 22px;
    background: var(--neo-alert-surface);
    color: var(--neo-alert-ink);
    font-family: inherit;
    box-shadow: 0 24px 80px rgb(10 23 48 / 24%), 0 4px 16px rgb(10 23 48 / 8%);
}
.swal2-popup .swal2-title {
    padding: 0 16px;
    color: var(--neo-alert-ink);
    font-size: 23px;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.swal2-popup .swal2-html-container {
    margin: 14px 8px 0;
    color: var(--neo-alert-muted);
    font-size: 14px;
    line-height: 1.75;
    overflow-wrap: anywhere;
}
.swal2-popup .swal2-icon { margin: 4px auto 22px; }
.swal2-popup .swal2-icon.swal2-warning { border-color: #f3c777; color: #bc790c; background: rgb(245 158 11 / 8%); }
.swal2-popup .swal2-icon.swal2-info,
.swal2-popup .swal2-icon.swal2-question { border-color: #a8bfff; color: #023aef; background: rgb(2 58 239 / 6%); }
.swal2-popup .swal2-icon.swal2-success { border-color: #8bd6b3; color: #23976b; }
.swal2-popup .swal2-icon.swal2-error { border-color: #f2a5ae; background: rgb(220 53 69 / 6%); }
[data-theme-version="dark"] .swal2-popup .swal2-icon.swal2-info,
[data-theme-version="dark"] .swal2-popup .swal2-icon.swal2-question { color: #8babff; }
[data-theme-version="dark"] .swal2-popup .swal2-icon.swal2-warning { color: #f3c777; }
.swal2-popup .swal2-actions { gap: 10px; margin: 24px auto 0; }
.swal2-popup .swal2-styled {
    min-height: 44px;
    margin: 0;
    padding: 11px 24px;
    border-radius: 11px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.swal2-popup .swal2-styled.swal2-confirm {
    background-color: var(--neo-alert-blue);
    background-image: linear-gradient(135deg, transparent, rgb(0 0 0 / 16%));
    color: #fff;
    box-shadow: 0 5px 14px rgb(2 58 239 / 20%);
}
.swal2-popup .swal2-styled.swal2-confirm:hover { background-color: var(--neo-alert-blue-dark); filter: brightness(.95); }
.swal2-popup .swal2-styled.swal2-cancel {
    background: var(--neo-alert-soft) !important;
    color: var(--neo-alert-ink) !important;
    box-shadow: inset 0 0 0 1px var(--neo-alert-line);
}
.swal2-popup .swal2-styled.swal2-cancel:hover { background-image: linear-gradient(rgb(113 128 150 / 8%), rgb(113 128 150 / 8%)); }
.swal2-popup .swal2-styled:focus-visible,
.swal2-popup .swal2-close:focus-visible { outline: 3px solid #8babff; outline-offset: 3px; box-shadow: none; }
.swal2-popup .swal2-styled:active { transform: translateY(1px); }
.swal2-popup .swal2-styled:disabled { box-shadow: none; cursor: wait; }
.swal2-popup .swal2-close { width: 36px; height: 36px; margin: 10px; border-radius: 10px; color: var(--neo-alert-muted); font-size: 28px; }
.swal2-popup .swal2-close:hover { background: var(--neo-alert-soft); color: var(--neo-alert-ink); }
.swal2-popup :is(.swal2-input, .swal2-textarea, .swal2-select) {
    max-width: 100%;
    margin: 20px 8px 0;
    border: 1px solid var(--neo-alert-line);
    border-radius: 11px;
    background: var(--neo-alert-soft);
    color: var(--neo-alert-ink);
    box-shadow: none;
    font-size: 14px;
}
.swal2-popup :is(.swal2-input, .swal2-textarea, .swal2-select):focus {
    border-color: #8babff;
    outline: none;
    box-shadow: 0 0 0 3px rgb(2 58 239 / 12%);
}
.swal2-popup .swal2-input-label { margin-top: 18px; color: var(--neo-alert-ink); font-size: 14px; }
.swal2-popup :is(.swal2-radio, .swal2-checkbox) { background: var(--neo-alert-surface); color: var(--neo-alert-ink); }
.swal2-popup .swal2-validation-message { margin-top: 18px; border-radius: 10px; background: var(--neo-alert-soft); color: var(--neo-alert-ink); font-size: 13px; }
.swal2-popup .swal2-footer { margin-top: 22px; padding-top: 16px; border-color: var(--neo-alert-line); color: var(--neo-alert-muted); font-size: 12px; line-height: 1.6; }
.swal2-popup .swal2-footer a { color: var(--neo-alert-blue); }
[data-theme-version="dark"] .swal2-popup .swal2-footer a { color: #8babff; }
.swal2-popup .swal2-loader { border-color: var(--neo-alert-blue) transparent var(--neo-alert-blue) transparent; }
.swal2-popup .swal2-timer-progress-bar { background: var(--neo-alert-blue); }
/* Toasts retain their compact, horizontal layout. */
.swal2-container .swal2-popup.swal2-toast { padding: 14px 16px; border-radius: 14px; background: var(--neo-alert-surface); }
.swal2-popup.swal2-toast .swal2-title { padding: 0; font-size: 14px; }
.swal2-popup.swal2-toast .swal2-html-container { font-size: 13px; line-height: 1.5; }
.swal2-popup.swal2-toast .swal2-icon { margin: 0 10px 0 0; }
.swal2-popup.swal2-toast .swal2-styled { min-height: 36px; padding: 7px 14px; font-size: 12px; }
@media (max-width: 575.98px) {
    .swal2-container { padding: 16px; }
    .swal2-container .swal2-popup:not(.swal2-toast) { padding: 24px 18px 20px; border-radius: 18px; }
    .swal2-popup .swal2-title { padding: 0 8px; font-size: 20px; }
    .swal2-popup .swal2-actions { width: 100%; }
    .swal2-popup:not(.swal2-toast) .swal2-styled { flex: 1 1 auto; padding-inline: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .swal2-popup, .swal2-popup .swal2-icon, .swal2-popup .swal2-icon *, .swal2-popup .swal2-styled { animation: none !important; transition: none !important; }
}
