/* Event-driven form feedback. All selectors are scoped to this component. */
.hh-toast-panel,.hh-toast-panel * {box-sizing:border-box;}
.hh-toast-panel {
  position:fixed; z-index:11000; right:max(20px,env(safe-area-inset-right));
  bottom:max(20px,env(safe-area-inset-bottom)); width:min(440px,calc(100% - 40px));
  pointer-events:none; font-family:Arial,Helvetica,sans-serif;
}
.hh-toast {
  --hh-toast-accent:#a69bff; --hh-toast-glow:rgba(137,119,255,.23);
  position:relative; display:grid; grid-template-columns:48px minmax(0,1fr) 30px;
  gap:14px; align-items:start; padding:21px 16px 21px 19px; overflow:auto;
  max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px);
  color:#fff; background:radial-gradient(circle at 0 50%,var(--hh-toast-glow),transparent 55%),linear-gradient(110deg,#211f3c,#29273e);
  border:1px solid rgba(255,255,255,.18); border-left:3px solid var(--hh-toast-accent);
  border-radius:17px; box-shadow:0 18px 48px rgba(25,23,53,.25);
  pointer-events:auto; animation:hh-toast-enter .42s cubic-bezier(.22,.75,.2,1) both;
  transition:opacity .22s ease,transform .22s ease;
}
.hh-toast--success {--hh-toast-accent:#60dfad; --hh-toast-glow:rgba(30,174,114,.24);}
.hh-toast--error {--hh-toast-accent:#ff92ad; --hh-toast-glow:rgba(209,52,95,.23);}
.hh-toast.is-leaving {opacity:0; transform:translateY(12px); pointer-events:none;}
.hh-toast-icon {
  display:grid; width:48px; height:48px; place-items:center; color:var(--hh-toast-accent);
  background:var(--hh-toast-glow); border:1px solid var(--hh-toast-accent); border-radius:14px;
}
.hh-toast-icon svg {width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round;}
.hh-toast-icon path {stroke-dasharray:40; stroke-dashoffset:40; animation:hh-toast-mark .45s ease .12s forwards;}
.hh-toast-title {margin:0 0 6px !important; color:#fff !important; font-size:16px !important; font-weight:800 !important; line-height:1.3 !important;}
.hh-toast-message {margin:0 !important; color:#e4e2ef !important; font-size:13px !important; line-height:1.55 !important; overflow-wrap:anywhere;}
.hh-toast-close {
  display:grid; width:30px; height:30px; place-items:center; padding:0; color:#e4e2ef;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13); border-radius:50%; cursor:pointer;
}
.hh-toast-close svg {width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.8;}
.hh-toast-close:hover {background:rgba(255,255,255,.15); color:#fff;}
.hh-toast-actions {display:flex; flex-wrap:wrap; gap:9px; margin-top:12px;}
.hh-toast-actions a {display:inline-flex; padding:6px 10px; color:#fff !important; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25); border-radius:7px; font-size:12px; font-weight:700; text-decoration:none;}
.hh-toast-actions a:hover {background:rgba(255,255,255,.18);}
.hh-toast :focus-visible {outline:3px solid #ffd500; outline-offset:3px;}
.hh-form-help {padding:8px 2px; color:#393185; background:none; border:0; cursor:pointer; font:700 12px/1.4 Arial,Helvetica,sans-serif; text-decoration:underline; text-underline-offset:3px;}
.hh-form-help:focus-visible {outline:3px solid #ffd500; outline-offset:3px;}
.hh-form-status[data-error="true"] {color:#a02343;}
@keyframes hh-toast-enter {from {opacity:0; transform:translateY(22px) scale(.98);} to {opacity:1; transform:translateY(0) scale(1);}}
@keyframes hh-toast-mark {to {stroke-dashoffset:0;}}
@media (max-width:480px) {
  .hh-toast-panel {right:max(12px,env(safe-area-inset-right)); bottom:max(12px,env(safe-area-inset-bottom)); width:calc(100% - 24px);}
  .hh-toast {grid-template-columns:40px minmax(0,1fr) 28px; gap:10px; padding:17px 12px 17px 14px; border-radius:14px; max-height:calc(100dvh - 24px);}
  .hh-toast-icon {width:40px; height:40px; border-radius:12px;}
  .hh-toast-title {font-size:15px !important;}
  .hh-toast-close {width:28px; height:28px;}
}
@media (prefers-reduced-motion:reduce) {
  .hh-toast,.hh-toast-icon path {animation:none !important; transition:none !important;}
  .hh-toast-icon path {stroke-dashoffset:0;}
}
