/* Layout Full Screen Split */
body, html { height: 100%; margin: 0; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; overflow: hidden; }
.split-container { display: flex; height: 100%; width: 100%; }

/* LADO ESQUERDO: Grafismo/Imagem */
.split-left { 
    flex: 1.3; 
    background: linear-gradient(135deg, #ffffff 0%, #80b7ff 100%); 
    display: flex; flex-direction: column; align-items: center; justify-content: center; 
    color: black; padding: 50px; text-align: center; 
}
.split-left h1 { font-weight: 800; font-size: 3.5rem; margin-bottom: 20px; text-shadow: 0 2px 4px rgba(0,0,0,0.2); }
.split-left p { font-size: 1.6rem; opacity: 0.5; max-width: 600px; line-height: 1.8; text-shadow: 1px 1px 2px white;}
.left-icon { font-size: 8rem; margin-bottom: 40px; opacity: 0.3; }

/* LADO DIREITO: Formulário de Login */
.split-right { 
    flex: 1; 
    background-color: #ffffff; 
    display: flex; align-items: center; justify-content: center; 
    padding: 60px; 
}
.form-wrapper { width: 100%; max-width: 380px; }
.system-logo { font-size: 2.2rem; font-weight: 700; color: #1a73e8; margin-bottom: 10px; }

/* Estilização dos Inputs e Botões */
.form-control { padding: 12px 15px; border-radius: 8px; border: 1px solid #ddd; background-color: #f8f9fa; }
.form-control:focus { box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.15); border-color: #1a73e8; background-color: #fff; }
.btn-primary { padding: 12px; border-radius: 8px; font-weight: 700; font-size: 1rem; transition: all 0.2s; }
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 4px 8px rgba(26, 115, 232, 0.3); }

/* Estilos do "Esqueceu a Senha?" e Links */
.forgot-password-link { font-size: 0.85rem; color: #6c757d; text-decoration: none; transition: color 0.2s; }
.forgot-password-link:hover { color: #1a73e8; text-decoration: underline; }

/* Estilos para a Etapa 2 (Salas) */
.btn-sala { text-align: left; padding: 15px 20px; transition: all 0.2s; border-radius: 8px; }
.btn-sala:hover { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.08); }

/* Responsividade para Celulares */
@media (max-width: 992px) {
    .split-left { display: none; } 
    .split-right { padding: 30px; }
}