/* =====================================================================
   AGGalvão · Componente — Avisos (toast) e alertas
   ===================================================================== */

.avisos { position: fixed; top: 1rem; right: 1rem; z-index: 100; display: flex; flex-direction: column; gap: .5rem; max-width: min(420px, calc(100vw - 2rem)); }
.aviso {
    padding: .7rem .9rem;
    border-radius: var(--raio);
    font-size: .84rem;
    display: flex; align-items: flex-start; gap: .55rem;
    box-shadow: var(--sombra-lg);
    border: 1px solid;
    background: #fff;
    animation: entrar .22s ease;
}
@keyframes entrar { from { opacity: 0; transform: translateX(14px); } }
.aviso.sucesso { border-color: #b6e8cc; background: var(--verde-claro);    color: #07803a; }
.aviso.erro    { border-color: #efb5b5; background: var(--vermelho-claro); color: var(--vermelho-escuro); }
.aviso.aviso-  { border-color: #f0cf9a; background: var(--ambar-claro);    color: #9c5d00; }
.aviso.info    { border-color: #bcd4f7; background: var(--azul-claro);     color: #1150b8; }
.aviso .fechar { margin-left: auto; background: none; border: 0; cursor: pointer; color: inherit; opacity: .6; font-size: 1rem; line-height: 1; padding: 0 .2rem; }
.aviso .fechar:hover { opacity: 1; }

.alerta {
    padding: .8rem 1rem;
    border-radius: var(--raio);
    border: 1px solid;
    font-size: .84rem;
    margin-bottom: 1rem;
    display: flex; gap: .6rem; align-items: flex-start;
}
.alerta.atencao { border-color: #f0cf9a; background: var(--ambar-claro);    color: #7d4b00; }
.alerta.erro    { border-color: #efb5b5; background: var(--vermelho-claro); color: var(--vermelho-escuro); }
.alerta.info    { border-color: #bcd4f7; background: var(--azul-claro);     color: #12448f; }
.alerta.sucesso { border-color: #b6e8cc; background: var(--verde-claro);    color: #06682f; }
.alerta strong { display: block; margin-bottom: .15rem; }
.alerta .icone { flex: 0 0 18px; width: 18px; height: 18px; margin-top: .1rem; }
