/* STAGE-04.2.8.1 — public/customer centered transient notification authority. */
.public-toast-stack{position:fixed;z-index:2147482500;left:50%;bottom:max(24px,calc(env(safe-area-inset-bottom,0px) + 18px));transform:translateX(-50%);width:min(720px,calc(100vw - 32px));display:grid;gap:10px;pointer-events:none}
.public-toast{--toast-accent:#0b8f83;--toast-soft:#e9fbf7;pointer-events:auto;position:relative;overflow:hidden;display:grid;grid-template-columns:48px minmax(0,1fr) 34px;gap:13px;align-items:center;background:rgba(255,255,255,.988);border:1px solid #d9e7f2;border-inline-start:4px solid var(--toast-accent);border-radius:19px;padding:13px 14px 15px;box-shadow:0 20px 65px rgba(5,32,67,.22),0 4px 14px rgba(5,32,67,.08);color:#0b274c;backdrop-filter:blur(16px);animation:publicToastIn .32s cubic-bezier(.2,.8,.2,1)}
.public-toast.error{--toast-accent:#dd554f;--toast-soft:#fff0ee}.public-toast.notice{--toast-accent:#d2921b;--toast-soft:#fff7e7}.public-toast.pending{--toast-accent:#0875a8;--toast-soft:#eef8fd}
.public-toast-icon{width:44px;height:44px;border-radius:14px;background:var(--toast-soft);color:var(--toast-accent);display:grid;place-items:center;font-size:22px;font-weight:950;border:1px solid color-mix(in srgb,var(--toast-accent) 20%,transparent)}
.public-toast.pending .public-toast-icon:before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in srgb,var(--toast-accent) 25%,transparent);border-top-color:var(--toast-accent);animation:publicToastSpin .75s linear infinite}.public-toast.pending .public-toast-icon{font-size:0}
.public-toast-copy{min-width:0;display:grid;gap:3px}.public-toast-copy strong{font-size:14px;color:#0b274c}.public-toast-copy span{font-size:13px;line-height:1.65;color:#455f7c;overflow-wrap:anywhere}
.public-toast-close{width:32px;height:32px;border:0;border-radius:10px;background:#f4f7fa;color:#6c7f94;font:inherit;font-size:19px;cursor:pointer}.public-toast-close:hover,.public-toast-close:focus-visible{background:#e9f0f6;color:#173d67;outline:2px solid #b8d6ee;outline-offset:2px}
.public-toast-progress{position:absolute;inset-inline-start:0;bottom:0;height:3px;width:100%;background:var(--toast-accent);transform-origin:right center;animation:publicToastProgress var(--toast-duration,6500ms) linear forwards}.public-toast.is-persistent .public-toast-progress{display:none}.public-toast.is-paused .public-toast-progress{animation-play-state:paused}.public-toast.is-leaving{animation:publicToastOut .22s ease forwards}
@keyframes publicToastIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes publicToastOut{to{opacity:0;transform:translateY(12px) scale(.985)}}@keyframes publicToastProgress{from{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes publicToastSpin{to{transform:rotate(360deg)}}
@media(max-width:640px){.public-toast-stack{width:calc(100vw - 20px);bottom:max(108px,calc(env(safe-area-inset-bottom,0px) + 98px))}.public-toast{grid-template-columns:42px minmax(0,1fr) 32px;border-radius:17px;padding:11px 12px 14px;gap:10px}.public-toast-icon{width:40px;height:40px;border-radius:12px}.public-toast-copy strong{font-size:13px}.public-toast-copy span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.public-toast,.public-toast.is-leaving{animation:none}.public-toast-progress{animation:none;display:none}.public-toast.pending .public-toast-icon:before{animation:none}}
