.message-toast{display:flex;align-items:stretch;background:#10263f;color:white;border:1px solid #ffffff24;border-radius:18px;box-shadow:0 18px 60px #10263f30;overflow:hidden;animation:toast-enter .35s cubic-bezier(.2,.8,.2,1);position:relative}
.message-toast:after{content:'';position:absolute;bottom:0;left:0;height:3px;background:#68a5ff;width:100%;animation:toast-time 12s linear forwards;pointer-events:none}
.message-toast:focus-within:after,.message-toast:hover:after{animation-play-state:paused}
.message-toast-open{display:flex;gap:13px;align-items:center;flex:1;min-width:0;text-align:left;padding:19px;border:0;background:none;color:inherit;cursor:pointer;font:inherit}
.message-toast-open strong{display:block;font-size:14px;margin-bottom:5px}.message-toast-open span span{display:block;font-size:13px;color:#c9d8ec;overflow-wrap:anywhere}
.message-toast-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#065df0;font-size:24px;flex-shrink:0}
.message-toast-close{align-self:flex-start;background:none;color:#c9d8ec;border:0;padding:12px 15px;cursor:pointer;font-size:23px}
.message-toast button:focus-visible{outline:3px solid #8db7ff;outline-offset:-4px}
.notification-region{position:fixed;bottom:24px;right:24px;width:min(370px,calc(100vw - 32px));display:grid;gap:10px;z-index:100}
.unread-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:20px;background:#e52335;color:white;font-size:11px;font-weight:800;box-shadow:0 0 0 4px #e5233510;animation:badge-in .25s ease-out}
[hidden]{display:none!important}
@keyframes toast-enter{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@keyframes toast-time{to{width:0}}
@keyframes badge-in{from{transform:scale(.6)}to{transform:scale(1)}}
@media(max-width:600px){.notification-region{bottom:auto;top:12px;right:16px}.message-toast-open{padding:16px}}
@media(prefers-reduced-motion:reduce){.message-toast,.unread-badge,.message-toast:after{animation:none!important}}

/* Reserve the chat launcher lane; notices must never sit beneath the chat. */
.notification-region{bottom:calc(96px + env(safe-area-inset-bottom));z-index:860;max-height:calc(100dvh - 120px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;padding:3px}
.status-toast{bottom:calc(96px + env(safe-area-inset-bottom));z-index:860;overflow-wrap:anywhere}
@media(min-width:801px){body:has(.chat-float-panel:not([hidden])) .notification-region{right:405px}body:has(.chat-float-panel:not([hidden])) .status-toast{left:24px;right:405px;transform:none;width:fit-content}}
@media(max-width:800px){.notification-region{top:calc(12px + env(safe-area-inset-top));bottom:auto;right:12px;width:calc(100vw - 24px);max-height:22dvh}body:has(.chat-float-panel:not([hidden])) .status-toast{top:calc(12px + env(safe-area-inset-top));bottom:auto;max-height:22dvh;overflow-y:auto}}
