/* SweetAlert2 shares the application palette and adapts to narrow/short screens. */
.swal2-container { z-index: 20000; padding: max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left)); }
.swal2-popup.sst-swal { width: min(32rem, 100%); min-width: 0; max-height: calc(100dvh - 1.5rem); overflow-y: auto; background: var(--surface, #fff); color: var(--text-primary, #172033); font-family: var(--font-family-base, sans-serif); border: 1px solid var(--border, #dce4ec); border-radius: 1rem; }
.sst-swal .swal2-title { font-size: 1.4rem; overflow-wrap: anywhere; }
.sst-swal .swal2-html-container { font-size: 1rem; line-height: 1.6; white-space: pre-line; overflow-wrap: anywhere; }
.sst-swal .swal2-actions { gap: .5rem; max-width: 100%; }
.sst-swal .swal2-styled { min-height: 44px; margin: 0; white-space: normal; overflow-wrap: anywhere; }
.sst-swal .swal2-confirm { background: var(--primary, #0f4c81); color: var(--text-on-primary, #fff); }
.sst-swal .swal2-cancel { background: var(--surface-secondary, #f8fafc); color: var(--text-primary, #172033); border: 1px solid var(--border, #dce4ec); }
.swal2-popup.sst-toast { width: min(24rem, 100%); padding: .85rem 1rem; border-radius: .75rem; box-shadow: 0 8px 28px rgba(0,0,0,.14); }
.sst-toast .swal2-title { font-size: .95rem; }
.sst-toast .swal2-html-container { font-size: .875rem; line-height: 1.45; }
.sst-toast .swal2-close { color: var(--text-secondary, #64748b); }
.sst-toast .swal2-timer-progress-bar { background: var(--primary, #087e8b); }
.sst-swal .swal2-styled:focus-visible, .sst-notice-open:focus-visible { outline: 3px solid var(--primary, #0f4c81); outline-offset: 3px; }
.sst-notice { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding: 1rem; margin-bottom: 1rem; background: var(--surface-secondary, #f8fafc); border: 1px solid var(--border, #dce4ec); border-left: 4px solid var(--info, #087ea4); border-radius: .5rem; overflow-wrap: anywhere; }
.sst-notice[data-notice-type="error"] { border-left-color: var(--danger, #dc3545); }
.sst-notice[data-notice-type="warning"] { border-left-color: var(--warning, #d97706); }
.sst-notice-open { min-height: 44px; padding: .5rem .75rem; border: 1px solid var(--border, #dce4ec); border-radius: .5rem; background: var(--surface, #fff); color: var(--primary, #0f4c81); font: inherit; cursor: pointer; }
@media (max-width: 575.98px) { .sst-swal .swal2-actions { width: calc(100% - 2rem); } .sst-swal .swal2-styled { flex: 1 1 100%; } .sst-swal .swal2-html-container { padding: .75rem 1rem; } }
@media (prefers-reduced-motion: reduce) { .swal2-popup, .swal2-icon, .swal2-icon * { animation: none !important; transition: none !important; } }
