@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap');
:root{--color-primario:#5867dd;--color-secundario:#fff;--color-terciario:#79829c;--color-acento:#34d399;--color-navbar-bg:#fff;--color-navbar-text:#2d3748;--color-error-bg:#ffebee;--color-error-text:#c62828;--border-radius-main:10px;--shadow-main:0 10px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--text-primary:#2d3748;--text-secondary:#4a5568;--input-bg:#f3f4f6;--input-border:#d1d5db}
body{font-family:'Nunito','Arial',sans-serif;line-height:1.6;margin:0;padding:0;background-color:#f0f4f8;color:var(--text-primary);display:flex;flex-direction:column;min-height:100vh;align-items:center;justify-content:center}
.auth-page-wrapper{width:100%;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}
.auth-container{max-width:420px;width:100%;margin:2rem auto;padding:2.5rem 2rem;background:var(--color-secundario);border-radius:var(--border-radius-main);box-shadow:var(--shadow-main);text-align:center}
.auth-logo-container{margin-bottom:1.5rem}
.logo-auth{font-size:2.8rem;color:var(--color-primario);font-weight:800;margin:0}
.auth-container h2{margin-bottom:2rem;color:var(--text-primary);font-size:1.8rem;font-weight:700}
.auth-form .form-group{margin-bottom:1.5rem;text-align:left}
.auth-form label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.9rem;color:var(--text-secondary)}
.auth-form input{width:100%;padding:.8rem 1rem;border:1px solid var(--input-border);border-radius:6px;font-size:1rem;font-family:'Nunito',sans-serif;background-color:var(--input-bg);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}
.auth-form input:focus{outline:0;border-color:var(--color-primario);background-color:var(--color-secundario);box-shadow:0 0 0 3px rgba(88,103,221,.25)}
.btn.btn-auth-submit{width:100%;background-color:var(--color-primario);color:#fff;border:none;padding:.9rem;border-radius:6px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background-color .2s ease,transform .1s ease}
.btn.btn-auth-submit:hover{background-color:#4a58c0;transform:translateY(-2px)}
.btn.btn-auth-submit:active{transform:translateY(0)}
.auth-switch-link{margin-top:2rem;font-size:.95rem;color:var(--text-secondary)}
.auth-switch-link a{color:var(--color-primario);text-decoration:none;font-weight:600}
.auth-switch-link a:hover{text-decoration:underline}

/* --- ESTILOS PARA EL BOTÓN DE GOOGLE Y DIVISOR --- */
.social-auth-divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:var(--color-terciario)}
.social-auth-divider::before,.social-auth-divider::after{content:'';flex:1;border-bottom:1px solid #e0e0e0}
.social-auth-divider span{padding:0 1rem;font-size:.9rem}
.btn.btn-social-auth{width:100%;display:flex;align-items:center;justify-content:center;padding:.8rem;margin-bottom:.8rem;font-size:1rem;font-weight:600;border-radius:6px;border:1px solid var(--input-border);background-color:var(--color-secundario);color:var(--text-primary);transition:background-color .2s ease,border-color .2s ease}
.btn.btn-social-auth:hover{background-color:var(--input-bg);border-color:#b0b3b8}
.social-icon{width:20px;height:20px;margin-right:.8rem}
.btn.google-btn:hover{border-color:#4285F4}
/* --- FIN --- */

.swal2-popup.swal2-toast{box-shadow:var(--shadow-main)!important;border-radius:var(--border-radius-main)!important}
.swal2-popup.swal2-toast .swal2-title{color:var(--color-secundario)!important;font-size:1em!important}
.swal2-popup.swal2-toast.swal2-success{background-color:var(--color-acento)!important}
.swal2-popup.swal2-toast.swal2-error{background-color:var(--color-error-bg)!important}
.swal2-popup.swal2-toast.swal2-error .swal2-title{color:var(--color-error-text)!important}
@media (max-width:480px){.auth-container{margin:1rem;padding:2rem 1.5rem}.auth-container h2{font-size:1.6rem}.logo-auth{font-size:2.4rem}}
