/* 0.80.6.189 · Pantalla de entrada con el diseño nuevo (petición del propietario). Solo aspecto: mismos formularios,
   mismos campos y el mismo programa (worker-login-entry.js, workers-login.js, device-login.js, worker-recovery.js). */
@font-face{font-family:NvInter;src:url('/vendor/fonts/inter/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
.login-page{--nv-paper:#f1efe8;--nv-card:#fbfaf6;--nv-ink:#0f1512;--nv-muted:#5d6a62;--nv-line:#e2dfd5;--nv-signal:#d4f53c;--nv-on-dark:#f1efe8;--nv-on-dark-2:#a7b3ac;--nv-mono:ui-monospace,'SF Mono','Cascadia Mono',Consolas,Menlo,monospace;
 --tav-primary:#0f1512;--tav-ink:#0f1512;--tav-muted:#5d6a62;--tav-line:#e2dfd5;--tav-surface:#fbfaf6;--tav-brass:#d4f53c;
 font-family:NvInter,'Segoe UI',system-ui,sans-serif;background:var(--nv-paper);color:var(--nv-ink);-webkit-font-smoothing:antialiased}
body:has(.login-page){background:#f1efe8}
/* Columna oscura: marca y frase. */
.login-page .login-aside{background:var(--nv-ink);color:var(--nv-on-dark);padding:44px 52px}
.login-page .login-aside .tav-brand{gap:10px;color:var(--nv-on-dark)}
.login-page .login-aside .brand-mark{width:12px;height:12px;border-radius:50%;background:var(--nv-signal);color:transparent;font-size:0;overflow:hidden}
.login-page .login-aside .tav-brand b{font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--nv-on-dark)}
.login-page .login-aside .tav-brand small{display:inline-block;margin:4px 0 0 8px;font:600 11px/1 var(--nv-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--nv-ink);background:var(--nv-signal);padding:4px 7px;border-radius:999px}
.login-page .login-intro h1{font-size:clamp(34px,4.2vw,60px);font-weight:800;line-height:1.02;letter-spacing:-.045em;color:var(--nv-on-dark)}
.login-page .login-intro p{margin-top:14px;font:500 13px/1.4 var(--nv-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nv-on-dark-2)}
/* Formulario. */
.login-page .login-box .eyebrow{font:600 12px/1.3 var(--nv-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--nv-muted)}
.login-page .login-box>h2{font-size:clamp(30px,3vw,38px);font-weight:800;letter-spacing:-.035em;line-height:1.08;margin:10px 0 8px}
.login-page .login-box .lead{color:var(--nv-muted);margin-bottom:24px}
.login-page .login-card{gap:12px;padding:24px;border-radius:22px;background:var(--nv-card)}
.login-page .login-card h2{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0}
.login-page .login-card label{font-weight:650;font-size:14px}
.login-page .login-box :is(input,select,textarea){border:1.5px solid var(--nv-line);border-radius:12px;background:#fff;color:var(--nv-ink);font-family:inherit}
.login-page .login-box :is(input,select,textarea):focus{border-color:var(--nv-ink);outline:3px solid var(--nv-signal);outline-offset:1px}
.login-page .login-card>button:not(.quiet-button):not(.pw-toggle),.login-page .login-card button[type=submit]{min-height:52px;margin-top:6px;border:0;border-radius:14px;background:var(--nv-signal);color:var(--nv-ink);font-weight:750;font-size:16px}
.login-page .login-card button[type=submit]:disabled{opacity:.55}
.login-page .login-box .quiet-button{border:1.5px solid var(--nv-ink);border-radius:12px;background:transparent;color:var(--nv-ink);font-weight:650}
.login-page .login-box>#loginAccess>.quiet-button{margin-top:12px;border-color:transparent;text-decoration:underline;padding-inline:4px}
.login-page .login-box .device-login{margin-top:14px}
.login-page .login-box .device-login-button{border:1.5px solid var(--nv-ink);border-radius:14px;background:var(--nv-ink);color:var(--nv-signal);font-weight:700}
.login-page .login-box .device-login-or::before,.login-page .login-box .device-login-or::after{border-color:var(--nv-line)}
.login-page .login-box .pw-field>button.pw-toggle{background:transparent;border:0;color:var(--nv-muted)}
.login-page .login-box .pw-field>button.pw-toggle:focus-visible{outline-color:var(--nv-signal)}
.login-page .login-box p[role=status]:not(:empty){font-size:14px}
.login-page .login-box .small-note{color:var(--nv-muted)}
.login-page .access-notice{margin-top:12px;color:var(--nv-muted);font-size:13px}
.login-page .access-notice summary{font-weight:600;color:var(--nv-ink)}
.login-page .login-footer{border-color:var(--nv-line);font:600 11px/1.6 var(--nv-mono);letter-spacing:.08em;color:var(--nv-muted)}
.login-page .login-box a{color:var(--nv-ink);font-weight:600}
.login-page :focus-visible{outline:3px solid var(--nv-signal);outline-offset:2px}
/* Móvil (≤899 px, como access.css): una franja corta con la marca, sin el hueco oscuro de 200 px. */
@media (max-width:899px){
 .login-page .login-aside{min-height:0;padding:18px 20px}
 .login-page .login-main{padding:26px 16px 36px}
 .login-page .login-card{padding:18px}
}
