/* Shared Nuffx session-flash notifications. Uses the existing site color tokens. */
.nuffx-flash-stack{
  position:fixed;
  z-index:9990;
  inset-block-start:84px;
  inset-inline-end:22px;
  display:grid;
  align-content:start;
  gap:10px;
  width:min(420px,calc(100vw - 32px));
  max-height:calc(100vh - 108px);
  overflow-y:auto;
  padding:2px 3px 8px;
  pointer-events:none;
  scrollbar-width:thin;
}
.nuffx-flash-toast{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 28px;
  gap:12px;
  align-items:start;
  min-width:0;
  padding:13px 14px;
  border:1px solid rgba(89,121,180,.30);
  border-radius:16px;
  background:rgba(9,17,31,.97);
  box-shadow:0 18px 48px rgba(0,0,0,.34),0 1px 0 rgba(255,255,255,.04) inset;
  color:var(--text,#f3f7ff);
  pointer-events:auto;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  opacity:0;
  transform:translateY(-8px) scale(.99);
  animation:nuffx-flash-enter .22s cubic-bezier(.2,.75,.25,1) forwards;
}
.nuffx-flash-icon{
  width:42px;height:42px;display:grid;place-items:center;
  border:1px solid rgba(91,124,255,.23);border-radius:13px;
  background:rgba(91,124,255,.11);color:#9db4ff;
}
.nuffx-flash-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nuffx-flash-copy{min-width:0;padding-top:1px}
.nuffx-flash-title{display:block;margin:0;color:#edf3ff;font-size:12px;font-weight:900;line-height:1.55}
.nuffx-flash-message{margin:3px 0 0;color:#a9b8d0;font-size:11px;font-weight:500;line-height:1.8;overflow-wrap:anywhere;white-space:pre-line}
.nuffx-flash-close{width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;color:#8192ad;font:inherit;font-size:21px;line-height:1;cursor:pointer;transition:background .16s,border-color .16s,color .16s}
.nuffx-flash-close:hover{border-color:rgba(127,151,194,.16);background:rgba(255,255,255,.05);color:#fff}
.nuffx-flash-close:focus-visible{outline:2px solid var(--primary,#5b7cff);outline-offset:2px}
.nuffx-flash-toast--success{border-color:rgba(43,214,160,.32);background:linear-gradient(145deg,rgba(9,29,28,.98),rgba(8,17,29,.98))}
.nuffx-flash-toast--success .nuffx-flash-icon{border-color:rgba(43,214,160,.27);background:rgba(43,214,160,.10);color:#56e3b6}
.nuffx-flash-toast--error{border-color:rgba(255,108,130,.34);background:linear-gradient(145deg,rgba(39,17,27,.98),rgba(14,15,28,.98))}
.nuffx-flash-toast--error .nuffx-flash-icon{border-color:rgba(255,108,130,.28);background:rgba(255,108,130,.10);color:#ff91a4}
.nuffx-flash-toast--warning{border-color:rgba(246,200,95,.34);background:linear-gradient(145deg,rgba(39,31,18,.98),rgba(14,17,28,.98))}
.nuffx-flash-toast--warning .nuffx-flash-icon{border-color:rgba(246,200,95,.27);background:rgba(246,200,95,.10);color:#ffd06d}
.nuffx-flash-toast--info .nuffx-flash-icon{border-color:rgba(85,199,255,.25);background:rgba(85,199,255,.10);color:#68caff}
.nuffx-flash-toast.is-leaving{animation:nuffx-flash-exit .18s ease forwards}
@keyframes nuffx-flash-enter{to{opacity:1;transform:none}}
@keyframes nuffx-flash-exit{to{opacity:0;transform:translateY(-5px) scale(.99)}}
@media(max-width:640px){
  .nuffx-flash-stack{inset-block-start:73px;inset-inline:10px;width:auto;max-height:calc(100vh - 88px);gap:8px}
  .nuffx-flash-toast{grid-template-columns:36px minmax(0,1fr) 27px;gap:10px;padding:11px 11px;border-radius:14px}
  .nuffx-flash-icon{width:36px;height:36px;border-radius:11px}
  .nuffx-flash-icon svg{width:19px;height:19px}
  .nuffx-flash-title{font-size:11px}
  .nuffx-flash-message{font-size:10px;line-height:1.75}
}
@media(prefers-reduced-motion:reduce){.nuffx-flash-toast,.nuffx-flash-toast.is-leaving{animation:none;opacity:1;transform:none}}
