/* ==============================================
   RESET BÁSICO (Fonte Inter adicionada como você pediu)
   ============================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Inter", sans-serif;
}

body, html {
    width: 100%;
    height: 100%;
    background-color: #ffffff;
}

/* ==============================================
   ESTRUTURA SPLIT SCREEN (A tela dividida)
   ============================================== */
.split-layout {
    display: flex;
    min-height: 100vh;
}

/* Lado do Formulário */
.form-side {
    width: 45%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2rem;
}

.form-container {
    width: 100%;
    max-width: 420px;
}

/* Lado Visual Colorido */
.visual-side {
    width: 55%;
    background: linear-gradient(135deg, #4a90e2 0%, #071E3D 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    padding: 3rem;
    text-align: center;
}

.visual-content h2 {
    font-size: 2.5rem;
    font-weight: 600;
    opacity: 0.95;
    max-width: 500px;
}

/* ==============================================
   TEXTOS E LOGO
   ============================================== */
.logo {
    height: 100px;
    margin-bottom: 2rem;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.header-text {
    text-align: center;
    margin-bottom: 2rem;
}

.text1 {
    color: #071E3D;
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.header-text p {
    color: #666;
    font-size: 0.95rem;
}

/* ==============================================
   SELETOR DE PERFIL (Sua lógica de rádio)
   ============================================== */
.profile-section {
    margin-bottom: 1.5rem;
    text-align: center;
}

.profile-title {
    font-weight: bold;
    color: #071E3D;
    font-size: 14px;
    margin-bottom: 10px;
}

.profile-selector {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.profile-selector input[type="radio"] {
    display: none;
}

.btn-profile {
    flex: 1; /* Faz os botões dividirem o espaço por igual */
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #071E3D;
    border-radius: 8px; /* Padronizado com o novo design */
    font-size: 15px;
    font-weight: bold;
    color: #071E3D;
    background-color: #FFF;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

/* Efeito quando clica no Rádio Button */
.profile-selector input[type="radio"]:checked + .btn-profile {
    background-color: #071E3D;
    color: white;
}

.btn-profile:hover {
    background-color: #e0eaff; /* Azul clarinho sutil */
}

/* ==============================================
   INPUTS (Mesmo estilo padronizado da tela de Cadastro)
   ============================================== */
.input-group {
    display: flex;
    align-items: center;
    background-color: #f0f4ff;
    border: 2px solid #071E3D;
    border-radius: 8px;
    padding: 5px 15px;
    height: 55px;
    width: 100%;
    margin-bottom: 15px;
    transition: border-color 0.2s;
}

.input-group-senha {
    position: relative;
    padding-right: 50px;
}

.olho {
    position: absolute;
    right: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background: none;
    border: none;
    padding: 0;
    color: #071E3D;
    opacity: 0.6;
    transition: opacity 0.2s;
    flex-shrink: 0;
}

.olho:hover { opacity: 1; }
.olho svg { pointer-events: none; }

/* Esconde o botão nativo de revelar senha do Edge/IE */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear { display: none; }

.input-group:focus-within {
    border-color: #4a90e2;
}

.icone {
    color: #071E3D;
    opacity: 0.6;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-right: 12px;
    transition: opacity 0.2s;
}

.icone svg {
    display: block;
    flex-shrink: 0;
}

.input-group:focus-within .icone {
    opacity: 1;
}

.input-group input {
    border: none;
    background: transparent;
    outline: none;
    font-size: 15px;
    width: 100%;
    color: #071E3D;
}

/* ==============================================
   ERRO, BOTÕES E LINKS
   ============================================== */
#erro {
    color: #D8000C;
    font-weight: bold;
    text-align: center;
    min-height: 20px;
    font-size: 14px;
    margin-bottom: 10px;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

#erro.aparecer {
    opacity: 1;
}

#entrar {
    width: 100%;
    height: 55px;
    background-color: #071E3D;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    margin-bottom: 20px;
    transition: background-color 0.3s;
}

#entrar:hover {
    background-color: #1F4287;
}

.link-cadastro {
    display: flex;
    justify-content: center;
    gap: 5px;
    font-size: 0.95rem;
    color: #666;
}

.link-cadastro a {
    color: #1F4287;
    font-weight: bold;
    text-decoration: none;
}

.link-cadastro a:hover {
    text-decoration: underline;
}

.sr-only {
    position: absolute;
    width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
}

/* ==============================================
   RESPONSIVIDADE (Celular)
   ============================================== */
@media (max-width: 900px) {
    .split-layout {
        flex-direction: column;
    }
    
    .visual-side {
        display: none;
    }

    .form-side {
        width: 100%;
        min-height: 100vh;
        padding: 2rem 1rem;
    }
}

/* ==============================================
   O SEU TOAST ORIGINAL (Mantido 100% igual)
   ============================================== */
#toast-container {
    position: fixed;
    bottom: 25px;
    right: 25px;
    background-color: #071E3D;
    color: white;
    padding: 16px 24px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    transform: translateX(200%);
    transition: transform 0.4s ease-in-out;
}

#toast-container.show {
    transform: translateX(0);
}

#toast-container.success {
    background-color: #28a745;
}

#toast-container.error {
    background-color: #D8000C;
}