/* Estilos unificados para páginas de Login e Registro (Dark Mode) */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Poppins', sans-serif; background-color: #121212; color: #e0e0e0; display: flex; justify-content: center; align-items: center; min-height: 100vh; padding: 20px; }
.auth-container { background-color: #1e1e1e; padding: 40px 35px; border-radius: 16px; border: 1px solid #2c2c2c; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); width: 100%; max-width: 400px; text-align: center; }
.auth-container h1 { font-size: 2em; font-weight: 600; color: #ffffff; margin-bottom: 30px; }
.auth-form { margin-bottom: 25px; }
.auth-form .form-group { margin-bottom: 20px; text-align: left; }
.auth-form label { display: block; font-weight: 500; margin-bottom: 8px; font-size: 0.9em; color: #a0a0a0; }
.auth-form input { width: 100%; padding: 12px 15px; background-color: #2c2c2c; border: 1px solid #444; border-radius: 8px; font-size: 1em; font-family: 'Poppins', sans-serif; color: #ffffff; transition: border-color 0.3s; }
.auth-form input:focus { outline: none; border-color: #7a5cff; }
.btn-submit { width: 100%; background-color: #7a5cff; color: white; border: none; padding: 14px; border-radius: 8px; font-size: 1em; font-weight: 600; cursor: pointer; margin-top: 10px; transition: background-color 0.3s; }
.btn-submit:hover { background-color: #6849e6; }
.forgot-password-link { margin-bottom: 25px; font-size: 0.85em; }
.forgot-password-link a { color: #a0a0a0; text-decoration: none; }
.forgot-password-link a:hover { text-decoration: underline; }
.password-group { position: relative; display: flex; align-items: center; }
.password-group input { padding-right: 45px; }
.password-group i { position: absolute; right: 15px; cursor: pointer; color: #a0a0a0; transition: color 0.3s; }
.password-group i:hover { color: #ffffff; }
.error-message { color: #ff6b6b; background-color: rgba(255, 107, 107, 0.1); padding: 10px; border-radius: 8px; margin-bottom: 20px; }
.register-choice-container { padding-top: 20px; border-top: 1px solid #2c2c2c; }
.register-choice-container p { color: #a0a0a0; font-weight: 500; margin-bottom: 20px; }
.register-options { display: flex; flex-direction: column; gap: 15px; }
.register-options a { display: block; text-decoration: none; background-color: #2c2c2c; padding: 15px; border-radius: 8px; border: 1px solid #444; text-align: left; transition: background-color 0.3s, border-color 0.3s; }
.register-options a:hover { background-color: #3a3a3a; border-color: #7a5cff; }
.register-options strong { color: #ffffff; font-weight: 600; font-size: 1em; }
.register-options span { display: block; color: #a0a0a0; font-size: 0.85em; margin-top: 4px; }