/* Acceso al ERP — mundo Escalate: azul noche, halo violeta, resplandor teal y las dos diagonales de la marca */
@font-face{font-family:"Exo 2";src:url(/fonts/exo2-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Poppins;src:url(/fonts/poppins-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url(/fonts/poppins-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url(/fonts/poppins-600.woff2) format("woff2");font-weight:600;font-display:swap}
:root{--noche:#080b1c;--panel:rgba(16,20,52,.62);--campo:#0a0e2a;--borde:#20274c;--borde-fuerte:#35407a;--texto:#f6f8fd;--texto-2:#b4bdd9;--texto-3:#8f98b8;
  --teal:#2dd4bf;--coral:#c8283a;--coral-vivo:#df3646;--error:#ff9aa3;--display:"Exo 2",Poppins,system-ui,sans-serif;--cuerpo:Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;--salida:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--noche);color:var(--texto);font-family:var(--cuerpo);-webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:
  radial-gradient(90% 60% at 50% -12%,rgba(109,94,240,.46),transparent 64%),
  radial-gradient(60% 50% at 104% 46%,rgba(45,212,191,.2),transparent 70%),
  radial-gradient(50% 40% at -6% 92%,rgba(109,94,240,.16),transparent 70%)}
body::after{content:"";position:fixed;inset:-20% -10%;z-index:-1;pointer-events:none;
  background:linear-gradient(103deg,transparent 41.6%,rgba(45,212,191,.5) 41.8%,transparent 42.1%),linear-gradient(103deg,transparent 57.6%,rgba(109,94,240,.55) 57.8%,transparent 58.1%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 78%);mask-image:linear-gradient(180deg,#000 0%,transparent 78%);opacity:.55}
main{width:100%;max-width:420px}
.logo{display:block;width:200px;height:auto;margin:0 auto 28px}
.tarjeta{background:var(--panel);border:1px solid var(--borde);border-radius:20px;padding:34px 32px 30px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 30px 70px -20px rgba(0,0,0,.6);animation:sube .6s var(--salida) both}
@keyframes sube{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
h1{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(1.7rem,1.3rem + 1.6vw,2.15rem);line-height:1.1;letter-spacing:-.018em;text-wrap:balance}
h1 span{display:block;color:var(--teal)}
.sub{margin:12px 0 26px;color:var(--texto-2);font-size:14px;line-height:1.55}
label{display:block;margin:16px 0 7px;font-size:12.5px;font-weight:500;color:var(--texto-2);letter-spacing:.01em}
.campo{position:relative}
input{width:100%;height:48px;padding:0 14px;border:1px solid var(--borde);border-radius:12px;background:var(--campo);color:var(--texto);font:400 15px var(--cuerpo);transition:border-color .18s var(--salida),box-shadow .18s var(--salida)}
input::placeholder{color:var(--texto-3)}
input:hover{border-color:var(--borde-fuerte)}
input:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 4px rgba(45,212,191,.16)}
input.codigo{text-align:center;font:600 26px var(--display);letter-spacing:.38em;padding-left:.38em}
.ver{position:absolute;right:6px;top:6px;width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:var(--texto-3);cursor:pointer;display:grid;place-items:center;transition:color .15s,background-color .15s}
.ver:hover{color:var(--texto);background:rgba(255,255,255,.06)}
.ver svg{width:19px;height:19px}
#p{padding-right:48px}
button.entrar{width:100%;height:50px;margin-top:24px;border:0;border-radius:13px;background:var(--coral);color:#fff;font:600 15px var(--cuerpo);cursor:pointer;
  box-shadow:0 10px 26px -10px rgba(226,55,68,.7);transition:background-color .18s var(--salida),transform .18s var(--salida),box-shadow .18s var(--salida)}
button.entrar:hover:not(:disabled){background:var(--coral-vivo);transform:translateY(-1px)}
button.entrar:active:not(:disabled){transform:translateY(1px)}
button.entrar:disabled{opacity:.7;cursor:wait}
button.entrar:focus-visible,.ver:focus-visible,.volver:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.error{display:flex;gap:9px;align-items:flex-start;margin-top:16px;min-height:0;color:var(--error);font-size:13.5px;line-height:1.45}
.error:empty{display:none}
.error svg{width:17px;height:17px;flex:none;margin-top:1px}
.volver{display:block;margin:16px auto 0;border:0;background:none;color:var(--texto-3);font:500 13px var(--cuerpo);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.volver:hover{color:var(--texto)}
.ayuda{margin:12px 0 0;color:var(--texto-3);font-size:12.5px;line-height:1.5}
.pie{margin:22px 0 0;text-align:center;color:var(--texto-3);font-size:12px;letter-spacing:.04em}
[hidden]{display:none!important}
::selection{background:#0f766e;color:#fff}
@media (max-width:420px){.tarjeta{padding:28px 22px 24px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
