.cms-toast-stack {
    position:fixed; z-index:21000;
    right:max(12px, env(safe-area-inset-right)); bottom:max(12px, env(safe-area-inset-bottom));
    display:flex; flex-direction:column; gap:8px;
    width:min(360px, calc(100vw - 24px)); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px);
    overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin;
    pointer-events:none;
}
.cms-toast-stack .toast {
    --toast-accent:#93c5fd;
    position:relative; display:flex; align-items:center; gap:8px;
    box-sizing:border-box; width:100%; min-width:0; padding:8px 6px 8px 14px;
    border:1px solid #ffffff26; border-left:3px solid var(--toast-accent); border-radius:12px;
    background:rgba(24, 30, 42, .91); color:#f8fafc;
    box-shadow:0 8px 28px #0003; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
    pointer-events:auto; touch-action:pan-y; animation:cms-toast-enter .18s ease-out;
}
.cms-toast-stack .toast-success { --toast-accent:#86efac; }
.cms-toast-stack .toast-error { --toast-accent:#fda4af; }
.cms-toast-stack .toast-warning { --toast-accent:#fcd34d; }
.toast .toast-message {
    flex:1; min-width:0; max-height:25vh; max-height:25dvh; overflow:auto; overflow-wrap:anywhere;
    font:400 .875rem/1.5 system-ui, sans-serif; user-select:text;
}
.toast .toast-close {
    display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px;
    width:44px; height:44px; min-height:44px; margin:0; padding:0;
    border:0; border-radius:8px; box-shadow:none; background:transparent; color:inherit;
    font:400 26px/1 system-ui, sans-serif; cursor:pointer; transform:none;
}
.toast .toast-close:hover { background:#ffffff1f; transform:none; }
.toast .toast-close:focus-visible { outline:2px solid #bfdbfe; outline-offset:-3px; }
@keyframes cms-toast-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:600px) { .cms-toast-stack { right:12px; left:12px; width:auto; } }
@media(prefers-reduced-motion:reduce) { .cms-toast-stack .toast { animation:none; } }
@media(prefers-reduced-transparency:reduce) { .cms-toast-stack .toast { background:#181e2a; backdrop-filter:none; } }
