/*
 * Avisos do portal (padrão para todas as telas).
 * Redesenha o .alert do Bootstrap: fundo claro, faixa colorida à esquerda e ícone,
 * no mesmo tom dos modais e dos botões de ação. As telas continuam usando
 * "alert alert-danger | alert-warning | alert-success | alert-info".
 */
.alert {
    position: relative;
    margin: 16px 0 0;
    padding: 12px 14px 12px 42px;
    border: 1px solid transparent;
    border-left-width: 4px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
    box-shadow: none;
}

.alert::before {
    position: absolute;
    left: 14px;
    top: 13px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 15px;
    line-height: 1.3;
}

.alert-danger {
    color: #842029;
    background: #fdf2f3;
    border-color: #f5c2c7;
    border-left-color: #dc3545;
}
.alert-danger::before {
    content: "\f06a"; /* circle-exclamation */
    color: #dc3545;
}

.alert-warning {
    color: #664d03;
    background: #fffaeb;
    border-color: #ffe69c;
    border-left-color: #f59e0b;
}
.alert-warning::before {
    content: "\f071"; /* triangle-exclamation */
    color: #f59e0b;
}

.alert-success {
    color: #0f5132;
    background: #eef8f2;
    border-color: #badbcc;
    border-left-color: #198754;
}
.alert-success::before {
    content: "\f058"; /* circle-check */
    color: #198754;
}

.alert-info {
    color: #374151;
    background: #f5f7fa;
    border-color: #e5e7eb;
    border-left-color: var(--cor-primaria);
}
.alert-info::before {
    content: "\f05a"; /* circle-info */
    color: var(--cor-primaria);
}

/* aviso dentro de formulários (ex.: login): mais próximo dos campos */
.alert.alert-formulario {
    margin: 0 0 16px;
}

/* entrada suave ao aparecer */
.alert {
    animation: aviso-entrada .18s ease-out;
}

@keyframes aviso-entrada {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
