.feedback-source { display:none !important; }
.toast-stack { position:fixed; inset:auto 20px 20px auto; display:flex; flex-direction:column; gap:10px; width:min(420px,calc(100vw - 32px)); max-height:min(60dvh,600px); overflow:auto; margin:0; padding:4px; border:0; background:transparent; color:var(--ink); z-index:1000; pointer-events:none; }
.qoops-toast { display:grid; grid-template-columns:28px minmax(0,1fr) 44px; align-items:start; gap:10px; padding:12px 8px 12px 14px; border:1px solid var(--line); border-left:4px solid var(--info); border-radius:12px; background:var(--surface); color:var(--ink); box-shadow:0 6px 24px color-mix(in srgb,var(--shadow-color) 14.9%,transparent); pointer-events:auto; font:500 var(--text-base,14px)/var(--leading-body,1.5) var(--font-ui,system-ui,sans-serif); }
.qoops-toast--error { border-left-color:var(--error); }
.qoops-toast--info { border-left-color:var(--info); }
.qoops-toast--success { border-left-color:var(--success); }
.qoops-toast--warning { border-left-color:var(--warning); }
.qoops-toast--success { grid-template-columns:24px minmax(0,1fr) 44px; gap:8px; padding:6px 6px 6px 12px; box-shadow:0 3px 14px color-mix(in srgb,var(--shadow-color) 9.4%,transparent); }
.qoops-toast--success .qoops-toast-icon { width:24px; height:24px; margin-top:10px; }
.qoops-toast-icon { display:grid; place-items:center; width:26px; height:26px; margin-top:8px; border-radius:50%; background:var(--info-bg); color:var(--info); font-weight:800; }
.qoops-toast--error .qoops-toast-icon { background:var(--error-bg); color:var(--error); }
.qoops-toast--info .qoops-toast-icon { background:var(--info-bg); color:var(--info); }
.qoops-toast--success .qoops-toast-icon { background:var(--success-bg); color:var(--success); }
.qoops-toast--warning .qoops-toast-icon { background:var(--warning-bg); color:var(--warning); }
.qoops-toast-text { min-width:0; align-self:center; overflow-wrap:anywhere; white-space:pre-line; }
.qoops-toast-text a { color:inherit; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.qoops-toast-text a:focus-visible { outline:2px solid var(--green); outline-offset:3px; border-radius:2px; }
.qoops-toast-close { display:grid; place-items:center; min-width:44px; height:44px; margin:0; padding:0; border:0; border-radius:8px; background:transparent; color:inherit; box-shadow:none; font:var(--text-section,24px)/1 var(--font-ui,system-ui,sans-serif); cursor:pointer; }
.qoops-toast-close:hover { background:var(--surface-soft); }
.qoops-toast-close:focus-visible { outline:2px solid var(--green); outline-offset:-2px; }
.flash-stack { position:fixed; right:20px; bottom:20px; width:min(420px,calc(100vw - 32px)); z-index:1000; }
.flash-stack .flash { margin-top:8px; border-radius:10px; }
@media(max-width:600px) { .toast-stack,.flash-stack { right:12px; bottom:calc(16px + env(safe-area-inset-bottom)); width:calc(100vw - 24px); } }
@media(max-width:760px) { body:has(.app-primary-nav) :is(.toast-stack,.flash-stack) { bottom:calc(88px + env(safe-area-inset-bottom)); } }
@media (prefers-reduced-motion: no-preference) {
    .qoops-toast { animation:qoops-toast-in 160ms ease-out; }
    .qoops-toast--leaving { animation:qoops-toast-out 140ms ease-in forwards; pointer-events:none; }
    @keyframes qoops-toast-in { from { opacity:0; translate:0 4px; } to { opacity:1; translate:0 0; } }
    @keyframes qoops-toast-out { from { opacity:1; translate:0 0; } to { opacity:0; translate:0 4px; } }
}
