/* Estilos adicionais para a página de cadastro do cidadão */

/* Mensagens de erro e sucesso */
.error-message {
    color: #f44336;
    font-size: 0.85rem;
    margin-top: 5px;
    display: block;
}

.success-message {
    color: #4CAF50;
    font-size: 0.85rem;
    margin-top: 5px;
    display: block;
}

/* Campos com erro */
.input-error {
    border-color: #f44336 !important;
    background-color: rgba(244, 67, 54, 0.05) !important;
}

/* Indicador de força de senha e match */
.password-strength,
.password-match,
.email-match {
    font-size: 0.85rem;
    margin-top: 5px;
    display: block;
}

/* Indicador de carregamento */
.loading-indicator {
    color: #2196F3;
    font-size: 0.85rem;
    margin-top: 5px;
    display: flex;
    align-items: center;
}

.loading-indicator::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 8px;
    border: 2px solid #2196F3;
    border-top-color: transparent;
    border-radius: 50%;
    animation: spinner 0.8s linear infinite;
}

@keyframes spinner {
    to {
        transform: rotate(360deg);
    }
}

/* Mensagem de alerta no topo do formulário */
.alert-error {
    padding: 12px 15px;
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    border-radius: 4px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}

.alert-error::before {
    content: "\f071";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-right: 10px;
    font-size: 1.1rem;
}

.alert-success {
    padding: 12px 15px;
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
    border-radius: 4px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}

.alert-success::before {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-right: 10px;
    font-size: 1.1rem;
}