/* ===== Shared SweetAlert2 theme (per conventions) =====
   Restyles shape / shadow / focus / pill buttons / cancel / dark-mode ONLY.
   NEVER sets the confirm-button background — keep passing confirmButtonColor per call.
   Link this on every Swal page:  <link rel="stylesheet" href="vendor/swal-theme.css">   */

@keyframes mdUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.swal-mdUp{animation:mdUp .3s ease}

.swal2-popup{
  border-radius:16px !important;
  box-shadow:0 20px 60px rgba(17,24,39,.18);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Sarabun","Noto Sans Thai",Tahoma,sans-serif;
  padding:26px 24px 22px;
}
.swal2-title{font-size:20px;font-weight:700}
.swal2-html-container{font-size:15px;line-height:1.6}

/* pill buttons */
.swal2-actions{gap:10px}
.swal2-styled{
  border-radius:999px !important;
  font-weight:700;
  padding:11px 26px;
  box-shadow:none !important;
  transition:opacity .2s,transform .06s;
}
.swal2-styled:hover{opacity:.93}
.swal2-styled:active{transform:translateY(1px)}
.swal2-styled:focus{box-shadow:none !important;outline:none}
/* cancel = white + gray border (leave confirm background alone) */
.swal2-cancel{
  background:#fff !important;
  color:#374151 !important;
  border:1px solid #d1d5db !important;
}

/* rounded toast (keeps its own slide-in animation) */
.swal2-toast{border-radius:14px !important;box-shadow:0 8px 24px rgba(17,24,39,.16) !important}

/* light theme only — no dark-mode overrides */
