#tt-notificacoes { position: fixed; top: 72px; right: 16px; z-index: 1060; width: 360px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 88px); overflow-y: auto; }
#tt-notificacoes .tt-toast { border: 1px solid var(--tt-borda); border-radius: .25rem; overflow: hidden; margin-bottom: .75rem; box-shadow: 0 .25rem .75rem rgba(0,0,0,.2); font-family: inherit; text-align: left; }
#tt-notificacoes .tt-toast-success { --tt-cor: #28a745; --tt-borda: #1e7e34; --tt-texto: #fff; }
#tt-notificacoes .tt-toast-error { --tt-cor: #dc3545; --tt-borda: #bd2130; --tt-texto: #fff; }
#tt-notificacoes .tt-toast-warning { --tt-cor: #ffc107; --tt-borda: #b38600; --tt-texto: #212529; }
#tt-notificacoes .tt-toast-info { --tt-cor: #17a2b8; --tt-borda: #117a8b; --tt-texto: #fff; }
#tt-notificacoes .tt-toast-header { display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem; background: var(--tt-cor); color: var(--tt-texto); font-size: 1.1rem; font-weight: 700; }
#tt-notificacoes .tt-toast-header strong { flex: 1; font-weight: 800; }
#tt-notificacoes .tt-toast-header button { background: transparent; color: inherit; border: 0; padding: 0 .25rem; cursor: pointer; font-size: 1.5rem; line-height: 1; }
#tt-notificacoes .tt-toast-header button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
#tt-notificacoes .tt-toast-body { padding: .75rem; background: #f8f9fa; color: #343a40; font-size: 1rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
@media print { #tt-notificacoes { display: none !important; } }
