.swl-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.45);
  display: flex; align-items: center; justify-content: center;
  z-index: 9999; opacity: 0; transition: opacity .15s ease;
}
.swl-overlay.swl-show { opacity: 1; }

.swl-box {
  background: #fff; color: #1f2937; border-radius: 10px;
  padding: 20px 22px; width: min(420px, calc(100vw - 32px));
  box-shadow: 0 10px 40px rgba(0,0,0,.25);
  transform: translateY(8px) scale(.98); transition: transform .15s ease;
  font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.swl-overlay.swl-show .swl-box { transform: none; }

.swl-title { font-weight: 600; font-size: 17px; margin-bottom: 8px; }
.swl-text  { color: #4b5563; white-space: pre-wrap; }

.swl-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 18px; }
.swl-btn {
  border: 0; border-radius: 7px; padding: 8px 16px; cursor: pointer;
  font: inherit; font-weight: 500; transition: background .12s ease;
}
.swl-btn:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.swl-btn-ok     { background: #2563eb; color: #fff; }
.swl-btn-ok:hover { background: #1d4ed8; }
.swl-btn-cancel { background: #e5e7eb; color: #1f2937; }
.swl-btn-cancel:hover { background: #d1d5db; }

/* toast */
.swl-toast-wrap {
  position: fixed; right: 16px; bottom: 16px; z-index: 10000;
  display: flex; flex-direction: column; gap: 8px; align-items: flex-end;
  pointer-events: none;
}
.swl-toast {
  pointer-events: auto; background: #111827; color: #fff;
  padding: 10px 14px; border-radius: 8px; font: 14px/1.4 system-ui, sans-serif;
  box-shadow: 0 6px 20px rgba(0,0,0,.25);
  opacity: 0; transform: translateY(6px); transition: opacity .2s ease, transform .2s ease;
}
.swl-toast.swl-show { opacity: 1; transform: none; }