/* Pantallas de acceso a pantalla completa (login, registro, portal, maestro) */
.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.auth-visual{position:relative;background:#1C1917 url(../img/hero.svg) center/cover;color:#fff;padding:3rem 3.5rem;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.auth-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,25,23,.25),rgba(28,25,23,.85) 75%)}
.auth-visual>*{position:relative}
.auth-brand{display:flex;align-items:center;gap:.8rem;font-weight:800;font-size:1.3rem;letter-spacing:-.02em}
.auth-brand img{width:44px;height:44px}
.auth-visual h1{color:#fff;font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.05;max-width:620px}
.auth-visual h1 em{font-style:normal;color:#FDBA74}
.auth-visual p{color:#E7E0D8;font-size:1.05rem;max-width:560px}
.auth-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;max-width:640px;margin-top:1.6rem}
.auth-feats div{background:rgba(255,255,255,.08);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:.9rem;font-size:.84rem;color:#F5F2EE}
.auth-feats i{display:block;font-size:1.3rem;color:#FDBA74;margin-bottom:.35rem}
.auth-form{display:flex;align-items:center;justify-content:center;padding:2.5rem 2rem;background:var(--surface)}
.auth-box{width:100%;max-width:440px}
.auth-box h2{font-size:2rem;margin-bottom:.3rem}
.auth-box .sub{color:var(--muted);margin-bottom:1.8rem}
.auth-box .form-control{height:50px}
.pw-wrap{position:relative}.pw-wrap .form-control{padding-right:3rem}
.pw-eye{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted);width:40px;height:40px;border-radius:10px}
.pw-eye:hover{background:var(--line-2)}
.or{display:flex;align-items:center;gap:.8rem;color:var(--muted);font-size:.82rem;margin:1.4rem 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.btn-social{height:48px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;width:100%}
.btn-social:hover{background:var(--surface-2);border-color:var(--ink-2)}
.btn-social svg{width:20px;height:20px}
.auth-foot{margin-top:1.8rem;font-size:.88rem;color:var(--muted);text-align:center}
.auth-top{position:absolute;top:1.2rem;right:1.2rem;display:flex;gap:.4rem}
.btn-lg-x{height:52px;font-size:1rem;width:100%}
.steps{display:flex;gap:.4rem;margin-bottom:1.4rem}
.steps span{flex:1;height:5px;border-radius:5px;background:var(--line)}
.steps span.on{background:var(--brand)}
.reg-step{display:none}.reg-step.on{display:block;animation:fi .3s ease}
@keyframes fi{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.opt-card{display:flex;gap:.8rem;align-items:flex-start;border:1.5px solid var(--line);border-radius:14px;padding:.9rem 1rem;cursor:pointer}
.opt-card:has(input:checked){border-color:var(--brand);background:var(--brand-50)}
@media (max-width:991px){
  .auth{grid-template-columns:1fr}
  .auth-visual{min-height:250px;padding:1.6rem 1.4rem}
  .auth-visual h1{font-size:1.8rem}.auth-visual p,.auth-feats{display:none}
  .auth-form{padding:2rem 1.3rem 3rem;align-items:flex-start}
}
