.toast-stack { position: fixed; top: 20px; right: 20px; z-index: 500; display: grid; gap: 10px; width: min(370px, calc(100vw - 32px)); pointer-events: none; }
.toast { display: flex; align-items: flex-start; gap: 14px; padding: 16px; border: 1px solid var(--linha); border-left: 3px solid var(--parada); border-radius: 14px; background: var(--placa-alta); box-shadow: 0 12px 32px #0004; color: var(--tinta); font: 13px var(--texto); pointer-events: auto; animation: toast-appear .16s ease-out; }
.toast-warning { border-left-color: var(--atencao); }
.toast-success { border-left-color: var(--viva); }
.toast strong { display: block; font-size: 13px; }
.toast p { margin: 6px 0 0; color: var(--tinta-fraca); line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; max-height: 180px; overflow-y: auto; }
.toast button { margin-left: auto; flex: 0 0 24px; border: 0; background: transparent; color: var(--tinta-fraca); padding: 0; font-size: 22px; line-height: 24px; cursor: pointer; }
@keyframes toast-appear { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .toast { animation: none; } }
