/* Semantic colors apply to every SweetAlert, including views with custom buttons. */
.swal2-popup.ah-alert {
    --ah-alert-color: #1d4ed8;
    --ah-alert-tint: #eff6ff;
    width: min(36rem, calc(100vw - 2rem)) !important;
    padding: 1.875rem !important;
    border: 1px solid #e2e8f0;
    border-top: 6px solid var(--ah-alert-color) !important;
    border-radius: 16px !important;
    background: #fff !important;
    color: #0f172a !important;
    font-family: Manrope, 'Open Sans', sans-serif !important;
    box-shadow: 0 20px 60px rgb(15 23 42 / 20%) !important;
}
.swal2-popup.ah-alert--danger,
.swal2-popup.ah-alert--error { --ah-alert-color: #b91c1c; --ah-alert-tint: #fef2f2; }
.swal2-popup.ah-alert--warning { --ah-alert-color: #92400e; --ah-alert-tint: #fffbeb; }
.swal2-popup.ah-alert--success { --ah-alert-color: #15803d; --ah-alert-tint: #f0fdf4; }
.ah-alert .swal2-icon { margin: 0 auto 1rem; }
.ah-alert .swal2-title {
    padding: 0 !important;
    color: #0f172a !important;
    font-size: 1.5625rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere;
}
.ah-alert .swal2-html-container {
    margin: 1rem 0 0 !important;
    padding: 1rem !important;
    border-radius: 8px;
    background: var(--ah-alert-tint);
    color: #334155 !important;
    font-size: 1.0625rem !important;
    line-height: 1.65 !important;
    white-space: pre-line;
    overflow-wrap: anywhere;
}
.ah-alert .swal2-actions { gap: .75rem; width: 100%; margin: 1.5rem 0 0 !important; }
.ah-alert .swal2-actions button {
    min-height: 48px;
    margin: 0 !important;
    padding: .8rem 1.15rem !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    font: 700 1rem/1.4 Manrope, 'Open Sans', sans-serif !important;
    white-space: normal !important;
    cursor: pointer;
}
.ah-alert .swal2-confirm {
    border-color: var(--ah-alert-color) !important;
    background: var(--ah-alert-color) !important;
    color: #fff !important;
}
.ah-alert .swal2-cancel {
    border-color: #cbd5e1 !important;
    background: #f8fafc !important;
    color: #334155 !important;
}
.ah-alert .swal2-confirm:hover { filter: brightness(.9); }
.ah-alert .swal2-cancel:hover { background: #e2e8f0 !important; }
.ah-alert .swal2-actions button:focus-visible { outline: 3px solid var(--ah-alert-color); outline-offset: 3px; }
.ah-alert .swal2-timer-progress-bar { background: var(--ah-alert-color); }
.swal2-toast.ah-alert { width: min(28rem, calc(100vw - 2rem)) !important; padding: 1.125rem !important; }
.swal2-toast.ah-alert .swal2-title { font-size: 1.0625rem !important; }
.swal2-toast.ah-alert .swal2-html-container { margin-top: .5rem !important; padding: .5rem !important; font-size: .9rem !important; }
@media (max-width: 480px) {
    .swal2-popup.ah-alert { padding: 1.25rem !important; }
    .ah-alert .swal2-title { font-size: 1.3125rem !important; }
    .ah-alert .swal2-actions button { flex: 1 1 100%; }
}
