.toast-stack{position:fixed;right:20px;bottom:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;width:min(400px,calc(100vw - 32px));pointer-events:none}
.toast{display:flex;gap:12px;align-items:center;padding:14px 14px 14px 16px;background:var(--card,#fff);color:var(--tx,#0f172a);border:1px solid var(--bd,#e2e8f0);border-left:4px solid var(--bad,#b91c1c);border-radius:10px;box-shadow:0 8px 28px rgba(15,23,42,.16);pointer-events:auto;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.toast span{flex:1;min-width:0}.toast-success{border-left-color:var(--ok,#15803d)}.toast-info{border-left-color:var(--ac,#0f766e)}
.toast-close{flex:none;background:transparent;border:0;color:var(--mu,#64748b);font-size:24px;line-height:1;padding:4px;cursor:pointer;border-radius:4px}.toast-close:focus-visible{outline:2px solid var(--ac,#0f766e)}
.app-confirm{width:min(420px,calc(100vw - 32px));padding:24px;background:var(--card,#fff);color:var(--tx,#0f172a);border:1px solid var(--bd,#e2e8f0);border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.app-confirm::backdrop{background:rgba(15,23,42,.5)}.app-confirm h2{margin:0 0 10px;font-size:20px}.app-confirm p{margin:0 0 22px;line-height:1.6}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:600px){.toast-stack{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}}
@media print{.toast-stack,.app-confirm{display:none!important}}
