/* Login: pantalla completa a dos columnas — panel de marca (izquierda) +
   tarjeta de acceso (derecha). Exclusivo de esta página; no es parte del
   layout con menú lateral (base.html). Usa los mismos tokens de style.css. */
html,body.login-body{height:100%}
body.login-body{margin:0}
.login-shell{display:flex;min-height:100vh}

.login-side{
  width:44%;min-width:420px;flex:none;background:var(--accent-deep);color:#fff;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:var(--sp-7);
}
.login-side-top{display:flex;flex-direction:column;gap:var(--sp-6)}
.login-brand{display:flex;align-items:center;gap:12px}
.login-mark{flex:none;width:40px;height:40px;object-fit:contain}
.login-brand-name{margin:0;font-weight:700;font-size:21px}
.login-brand-tag{margin:2px 0 0;font-size:11px;color:rgba(255,255,255,.62)}

.login-headline{display:flex;flex-direction:column;gap:var(--sp-3);max-width:420px}
.login-rule{display:block;width:34px;height:3px;border-radius:2px;background:#fff}
.login-headline h1{margin:0;font-size:32px;line-height:1.22;font-weight:800;letter-spacing:-.01em}
.login-headline h1 span{color:#7fd7dd}
.login-headline p{margin:0;font-size:14px;line-height:1.6;color:rgba(255,255,255,.72)}

.login-side-bottom{display:flex;flex-direction:column;gap:var(--sp-5)}
.login-illustration{width:100%;height:auto;max-height:150px}
.login-badges{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);font-size:11px;color:rgba(255,255,255,.78)}
.login-badges span{display:flex;align-items:center;gap:6px}
.login-badges span::before{content:"";width:5px;height:5px;border-radius:50%;background:#7fd7dd;flex:none}
.login-side-foot{
  border-top:1px solid rgba(255,255,255,.16);padding-top:var(--sp-4);
  font-size:11px;color:rgba(255,255,255,.6);
}

.login-main{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:var(--sp-6)}
.login-card{
  width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow-deep);padding:var(--sp-7) var(--sp-6);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-2);
}
.login-compact-brand{display:none;align-items:center;gap:8px;color:var(--ink);font-weight:700;font-size:14px;margin-bottom:var(--sp-3)}
.login-avatar{
  width:60px;height:60px;border-radius:50%;background:var(--accent-tint);color:var(--accent-deep);
  display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-1);
}
.login-card h2{margin:0;font-size:21px;font-weight:700;color:var(--ink)}
.login-sub{margin:0 0 var(--sp-4);font-size:14px;color:var(--muted)}
.login-card .flash{width:100%;text-align:left;box-sizing:border-box}

.login-field{
  width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);
  border-radius:9px;padding:0 var(--sp-3);margin-bottom:var(--sp-3);background:#fff;
  color:var(--muted);
}
.login-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);color:var(--accent-deep)}
.login-field input{border:none;border-radius:0;padding:12px 2px;background:transparent;color:var(--ink)}
.login-field input:focus{outline:none;box-shadow:none}

.login-card button{width:100%;margin-top:var(--sp-2);padding:12px 16px;font-size:14px}

.login-divider{display:flex;align-items:center;gap:var(--sp-3);width:100%;margin-top:var(--sp-5);
  font-size:11px;color:var(--muted)}
.login-divider span{flex:1;height:1px;background:var(--line)}
.login-trust{display:flex;align-items:center;gap:6px;margin:var(--sp-3) 0 0;font-size:11px;color:var(--muted)}

@media(max-width:900px){
  .login-side{display:none}
  .login-compact-brand{display:flex}
  .login-main{padding:var(--sp-4)}
}
