/* ============================================================
   WIZARD ADS — Toast / Snackbar styling
   Loaded after styles.css; inherits all tokens. Bottom-right stack.
   ============================================================ */

.toast-host{
  position:fixed; right:22px; bottom:22px; z-index:600;
  display:flex; flex-direction:column; gap:11px; align-items:flex-end;
  pointer-events:none; max-width:min(380px, calc(100vw - 32px));
}

.toast{
  pointer-events:auto; position:relative; overflow:hidden;
  display:flex; align-items:flex-start; gap:12px;
  width:380px; max-width:100%; padding:14px 14px 14px 15px;
  background:var(--glass-3); border:1px solid var(--line-strong); border-radius:15px;
  box-shadow:var(--shadow-float);
  backdrop-filter:var(--blur-lg); -webkit-backdrop-filter:var(--blur-lg);
}
@media (prefers-reduced-motion: no-preference){
  .toast{ animation:toastIn .34s var(--spring); }
}
.toast::before{ /* left status rail */
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--tc); box-shadow:0 0 14px -2px var(--tc);
}
@keyframes toastIn{ from{ transform:translateX(24px) scale(.97); opacity:0; } to{ transform:none; opacity:1; } }
.toast.leaving{ animation:toastOut .24s var(--out) forwards; }
@keyframes toastOut{ to{ transform:translateX(24px); opacity:0; } }

.toast-ic{
  flex:0 0 30px; width:30px; height:30px; border-radius:9px; display:grid; place-items:center;
  color:var(--tc); background:color-mix(in oklab, var(--tc) 16%, transparent);
  border:1px solid color-mix(in oklab, var(--tc) 32%, transparent);
  box-shadow:0 0 16px -6px var(--tc); margin-top:1px;
}
.toast.k-ai .toast-ic{ color:#fff; background:var(--ai-grad); border-color:transparent; box-shadow:0 4px 16px -4px var(--ai-glow); }

.toast-body{ flex:1; min-width:0; }
.toast-title{ font-size:var(--fs-base); font-weight:var(--fw-black); letter-spacing:-.005em; line-height:1.3; }
.toast-msg{ font-size:var(--fs-sub); color:var(--ink-3); font-weight:var(--fw-reg); margin-top:3px; line-height:1.45; }
.toast-action{ margin-top:9px; height:27px; padding:0 11px; border-radius:8px; font-size:var(--fs-sub); font-weight:var(--fw-bold);
  color:#fff; background:var(--acc-soft); border:1px solid var(--acc-line); transition:.16s var(--out); }
.toast-action:hover{ background:var(--acc); }

.toast-x{ flex:0 0 auto; width:26px; height:26px; border-radius:8px; display:grid; place-items:center;
  color:var(--ink-4); transition:.15s var(--out); margin:-2px -2px 0 0; }
.toast-x:hover{ background:var(--hover); color:var(--ink); }

.toast-bar{ position:absolute; left:0; bottom:0; height:2px; width:100%; transform-origin:left;
  background:var(--tc); opacity:.5; animation-name:toastBar; animation-timing-function:linear; }
@keyframes toastBar{ from{ transform:scaleX(1); } to{ transform:scaleX(0); } }
@media (prefers-reduced-motion: reduce){ .toast-bar{ display:none; } }

/* ---- shared spinner utility ---- */
.wz-spinner{ animation:wzSpin .7s linear infinite; flex:0 0 auto; }
@keyframes wzSpin{ to{ transform:rotate(360deg); } }
