:root{--color-bg:#f5efe4;--color-bg-header:#f5efe4;--color-panel:#fbf7ee;--color-panel-2:#f5efe4;--color-hover:#f5efe4;--color-line:#d9cfbc;--color-row-line:#d9cfbc;--color-borde-control:#8f877c;--color-text:#2a2622;--color-muted:#6f675d;--color-dim:#6f675d;--color-b0:#6f675d;--color-marca:#14375f;--color-sobre-marca:#fbf7ee;--color-acento:#81749c;--color-alerta:#a3302a;--color-atencion:#8a5a12;--color-ok:#2e6b3f;--tinte-alerta:#f5e1dc;--radius-sm:2px;--radius-md:3px;--radius-lg:3px;--font-display:"Newsreader Variable", Georgia, "Times New Roman", serif;--font-text:"Public Sans Variable", "Helvetica Neue", Arial, sans-serif;--font-mono:"Public Sans Variable", "Helvetica Neue", Arial, sans-serif;--esp-1:.5rem;--esp-2:.875rem;--esp-3:1.5rem;--esp-4:2.5rem;--esp-5:4rem;--ancho-max:1440px;--curva:cubic-bezier(.33, 0, .2, 1)}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-text);margin:0;font-size:15px;line-height:1.45}.display{font-family:var(--font-display);font-weight:400}.chapa-marca{background:var(--color-marca);color:var(--color-sobre-marca)}.riel-marca{position:relative}.riel-marca:before{content:"";background:var(--color-marca);height:3px;position:absolute;inset:0 0 auto}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-weight:600}.card-surface{border:1px solid var(--color-line);background:var(--color-panel);transition:border-color .18s ease-out,transform .18s ease-out}.card-surface:hover{border-color:var(--color-marca)}:focus-visible{outline:2px solid var(--color-acento);outline-offset:3px}.oculto-visual{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.envoltura{width:100%;max-width:var(--ancho-max);padding-inline:var(--esp-3);margin:0 auto}.login{--fondo-base:var(--color-bg);min-height:100dvh;padding:var(--esp-3);background:var(--fondo-base);place-items:center;margin:0;display:grid;overflow:hidden}.login__escena{pointer-events:none;z-index:0;position:fixed;inset:0}.login__centro{z-index:1;width:100%;max-width:380px;position:relative}.login__marca{margin:0 0 var(--esp-3);text-align:center;letter-spacing:.06em;text-transform:uppercase;color:var(--color-marca);font-size:clamp(1.5rem,5vw,2rem)}.login__marca span{font-family:var(--font-text);letter-spacing:.22em;color:var(--color-muted);text-transform:uppercase;margin-top:.35em;font-size:.75rem;font-weight:400;display:block}.login__panel{padding:var(--esp-4) var(--esp-3) var(--esp-3)}.login__entra{animation:login-entrada .46s var(--curva) both}@keyframes login-entrada{0%{opacity:0;transform:translateY(12px)scale(.995)}to{opacity:1;transform:none}}.login__campo+.login__campo{margin-top:var(--esp-3)}.login__etiqueta{margin-bottom:var(--esp-1);letter-spacing:.04em;color:var(--color-muted);text-transform:uppercase;font-size:.8125rem;display:block}.login__entrada{border:1px solid var(--color-borde-control);border-radius:var(--radius-md);background:var(--color-panel-2);width:100%;color:var(--color-text);font-family:var(--font-text);padding:.7rem .75rem;font-size:1rem;transition:border-color .16s ease-out}.login__entrada:hover{border-color:var(--color-marca)}.login__entrada:focus{border-color:var(--color-marca);box-shadow:0 0 0 2px var(--color-acento);outline:none}.login__boton{width:100%;margin-top:var(--esp-3);border-radius:var(--radius-md);color:var(--color-sobre-marca);font-family:var(--font-text);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;border:0;padding:.75rem;font-size:.95rem;font-weight:500;transition:filter .16s ease-out,transform .16s ease-out}.login__boton:hover{filter:brightness(1.25)}.login__boton:active{transform:translateY(1px)}.login__error{margin:0 0 var(--esp-3);border-left:3px solid var(--color-alerta);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--tinte-alerta);color:var(--color-text);padding:.6rem .75rem;font-size:.875rem}.login__pie{margin:var(--esp-3) 0 0;text-align:center;letter-spacing:.1em;color:var(--color-dim);text-transform:uppercase;font-size:.75rem}@media (prefers-reduced-motion:reduce){.login__entra{animation:none}.login__entrada,.login__boton{transition:none}.login__boton:active{transform:none}}@media (width<=420px){.login__panel{padding:var(--esp-3)}}
