.swal-overlay { position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:20px; background:rgba(10,22,45,.72); }
.swal-box { width:min(100%,440px); padding:30px; border-radius:14px; border-top:5px solid #17408f; background:#fff; color:#23334c; text-align:center; box-shadow:0 24px 65px rgba(0,0,0,.30); animation:swal-appear .18s ease-out; }
.swal-icon { display:grid; place-items:center; width:60px; height:60px; margin:0 auto 16px; border-radius:50%; font-size:29px; font-weight:700; }
.swal-icon.success { background:#e5f7ec; color:#168145; }
.swal-icon.error { background:#fde9e9; color:#c43232; }
.swal-icon.warning { background:#fff2d6; color:#9e6800; }
.swal-icon.info { background:#e6f3ff; color:#176db5; }
.swal-box h3 { margin:0 0 10px; font-family:Georgia,serif; font-size:23px; color:#173c82; }
.swal-box p { margin:0 0 18px; line-height:1.55; color:#475569; overflow-wrap:anywhere; }
.swal-actions { display:flex; justify-content:center; gap:12px; }
.swal-actions button { min-width:92px; padding:10px 18px; border-radius:7px; cursor:pointer; font-weight:700; }
.swal-actions .swal-confirm { background:#17408f!important; border:1px solid #17408f!important; color:#fff!important; }
.swal-actions .swal-cancel { background:#fff; border:1px solid #cbd5e1; color:#334155; }
.swal-closing .swal-box { animation:swal-disappear .15s ease-in forwards; }
@keyframes swal-appear { from { opacity:0; transform:scale(.9) } to { opacity:1; transform:scale(1) } }
@keyframes swal-disappear { to { opacity:0; transform:scale(.9) } }
