/**
 * Correções para os campos de entrada da página de login
 * Resolve problemas de validação, estilo e feedback visual
 */

/* Estilo consistente para os campos de entrada */
.login-form input[type="email"],
.login-form input[type="password"],
.login-form input[type="text"] {
    background-color: #2c578a !important; /* Fundo azul */
    color: #ffffff !important; /* Texto branco */
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 8px !important;
    padding: 12px 15px !important;
    font-size: 14px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 10px rgba(44, 87, 138, 0.1) !important;
    width: 100% !important;
    margin-bottom: 5px !important;
}

/* Efeito de hover e focus */
.login-form input[type="email"]:hover,
.login-form input[type="password"]:hover,
.login-form input[type="text"]:hover {
    border-color: rgba(255, 255, 255, 0.5) !important;
}

.login-form input[type="email"]:focus,
.login-form input[type="password"]:focus,
.login-form input[type="text"]:focus {
    border-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2) !important;
    outline: none !important;
}

/* Estilo para placeholder */
.login-form input::placeholder {
    color: rgba(255, 255, 255, 0.6) !important;
    opacity: 1 !important;
}

/* Correção para os ícones de validação */
.login-form .form-group {
    position: relative !important;
}

.login-form .input-error-icon,
.login-form .input-success-icon {
    position: absolute !important;
    right: 15px !important;
    top: 38px !important; /* Posicionado no centro vertical do input */
    transform: translateY(-50%) !important;
    z-index: 2 !important;
    font-size: 16px !important;
}

.login-form .input-error-icon {
    color: #e74c3c !important;
}

.login-form .input-success-icon {
    color: #2ecc71 !important;
}

/* Correção para mensagens de validação */
.login-form .validation-message {
    display: none !important; /* Esconde todas as mensagens por padrão */
    margin-top: 5px !important;
    margin-bottom: 10px !important;
    font-size: 13px !important;
    color: #e74c3c !important; /* Cor padrão para mensagens de erro */
    transition: all 0.3s ease !important;
    animation: fadeIn 0.3s ease !important;
}

/* Mostra apenas uma mensagem de validação por vez */
.login-form .validation-message.active {
    display: block !important;
}

/* Estilo para mensagens de sucesso */
.login-form .validation-message.success-message {
    color: #2ecc71 !important; /* Cor verde para mensagens de sucesso */
    font-weight: 500 !important;
}

/* Animação para mensagens de erro */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Melhor posicionamento do botão Entrar */
.login-form .btn-primary {
    margin-top: 10px !important;
}

/* Espaçamento entre os grupos de formulário */
.login-form .form-group {
    margin-bottom: 20px !important;
}

/* Remover estilos de validação padrão do navegador */
.login-form input:invalid {
    box-shadow: none !important;
}

/* Estilo quando o campo está sendo digitado */
.login-form input.typing {
    border-color: rgba(255, 255, 255, 0.5) !important;
}

/* Remover estilos antigos de validação que causam conflito */
.login-form input.is-invalid,
.login-form input.is-valid {
    background-image: none !important;
    padding-right: 15px !important;
}
