.login-body{min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));color:#fff;background:radial-gradient(120% 65% at 50% -8%,#345cd666 0%,#1a309638 38%,#0000 72%),radial-gradient(90% 50% at 50% 112%,#2240b242 0%,#0000 66%),linear-gradient(#070b3c 0%,#02052c 50%,#00001e 100%);flex-direction:column;align-items:center;display:flex;overflow-x:hidden}.login-wrap{flex-direction:column;align-items:center;width:100%;max-width:400px;margin:auto;transition:opacity .22s,transform .22s;animation:.45s cubic-bezier(.16,1,.3,1) both loginEntrada;display:flex}.login-wrap.is-leaving{opacity:0;transform:translateY(-6px)scale(.992)}@keyframes loginEntrada{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-logo{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:160px;height:auto;margin-bottom:clamp(14px,3.2dvh,26px)}.login-card{background:#ffffff0e;border:1px solid #ffffff1c;border-radius:24px;width:100%;padding:24px;position:relative;box-shadow:0 26px 60px -26px #000000bf}.login-card-content{z-index:1;position:relative}.login-card-edge{pointer-events:none;-webkit-mask-composite:xor;border-radius:25px;padding:1.5px;position:absolute;inset:-1px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.login-card-edge:before{content:"";aspect-ratio:1;will-change:transform;background:conic-gradient(#0000 0deg 292deg,#96b9ff57 326deg,#d6e6ffcc 352deg,#fff 359deg,#0000 360deg);width:300%;animation:6.5s linear infinite loginHaz;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(0)}@keyframes loginHaz{to{transform:translate(-50%,-50%)rotate(360deg)}}.login-titulo{letter-spacing:-.015em;white-space:nowrap;color:#fff;margin:0;font-size:clamp(16px,5vw,21px);font-weight:700;line-height:1.2}.login-sub{color:#ffffffbd;margin:6px 0 0;font-size:15px;line-height:1.4}.login-aviso{color:#fde68a;background:#fbbf241f;border:1px solid #fbbf2447;border-radius:12px;margin:14px 0 0;padding:10px 14px;font-size:13.5px;font-weight:500;line-height:1.4}.login-campo{margin-top:18px}.login-label{color:#ffffffdb;margin:0 0 7px;font-size:14px;font-weight:600;display:block}.login-input-wrap{position:relative}.login-input{color:#fff;appearance:none;background:#ffffff0f;border:1px solid #ffffff26;border-radius:12px;outline:none;width:100%;height:50px;padding:0 14px 0 44px;font-family:inherit;font-size:16px;transition:border-color .2s,background-color .2s,box-shadow .2s;display:block}.login-input-pin{padding-right:52px}.login-input::placeholder{color:#ffffff61}.login-input:focus{background:#ffffff17;border-color:#acc5ffcc;box-shadow:0 0 0 3px #6e8cff2e}.login-input[aria-invalid=true]{border-color:#fca5a5bf}.login-input:disabled{opacity:.7}.login-icono{color:#ffffff73;pointer-events:none;width:18px;height:18px;transition:color .2s;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.login-input-wrap:focus-within .login-icono{color:#ffffffd9}.login-ojo{color:#ffffff9e;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:color .2s,background-color .2s;display:flex;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.login-ojo:hover,.login-ojo:active{color:#fff;background:#ffffff14}.login-ojo:focus-visible{outline-offset:-2px;outline:2px solid #acc5ffd9}.login-error{color:#fecaca;opacity:0;min-height:20px;margin:10px 0 0;font-size:13.5px;line-height:20px;transition:opacity .2s,transform .2s;transform:translateY(-2px)}.login-error[data-visible=true]{opacity:1;transform:none}.login-btn{color:#00001e;letter-spacing:.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;width:100%;height:50px;margin-top:10px;padding:0;font-family:inherit;font-size:16px;font-weight:700;transition:transform .15s,box-shadow .2s,background-color .2s,opacity .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 26px -12px #000000b3}.login-btn:hover:not(:disabled){background:#f2f5ff;box-shadow:0 12px 30px -12px #000000bf}.login-btn:active:not(:disabled){transform:scale(.985)}.login-btn:focus-visible{outline-offset:2px;outline:2px solid #acc5fff2}.login-btn:disabled{cursor:default}.login-btn[data-estado=verificando]{opacity:.9}.login-btn[data-estado=verificando]:after{content:"";opacity:.5;background:linear-gradient(90deg,#0000,#00001e 55%,#0000);width:38%;height:3px;animation:1s ease-in-out infinite loginCarga;position:absolute;bottom:0;left:0}@keyframes loginCarga{0%{transform:translate(-100%)}to{transform:translate(270%)}}.login-btn[data-estado=exito]{background:#e6fbee;box-shadow:0 0 0 2px #4ade8099}.login-btn[data-estado=error]{box-shadow:0 0 0 2px #f87171a6}.login-foot{color:#ffffff8c;margin:18px 0 4px;font-size:13px}@media (max-height:700px){.login-logo{width:136px;margin-bottom:12px}.login-card{padding:20px 24px 22px}.login-campo{margin-top:14px}.login-foot{margin-top:12px}}@media (max-height:620px){.login-body{padding-top:max(14px, env(safe-area-inset-top))}.login-logo{width:116px;margin-bottom:8px}.login-card{padding:16px 24px 18px}.login-sub{font-size:14px}.login-campo{margin-top:10px}.login-error,.login-btn{margin-top:6px}.login-foot{margin:8px 0 2px}}@media (max-height:560px){.login-logo{display:none}.login-campo{margin-top:12px}}.bienvenida{z-index:50;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));color:#fff;background:radial-gradient(70% 38% at 50% 44%,#345cd64d 0%,#1a309624 45%,#0000 75%),linear-gradient(#070b3c 0%,#02052c 50%,#00001e 100%);justify-content:center;align-items:center;animation:.5s ease-out both bienvenidaVelo;display:flex;position:fixed;inset:0;overflow:hidden}.bienvenida-contenido{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:400px;display:flex}.bienvenida-logo{margin-bottom:0;animation:.8s cubic-bezier(.16,1,.3,1) 80ms both bienvenidaLogo;display:block}.bienvenida-linea{transform-origin:50%;background:linear-gradient(90deg,#0000,#bed2ffe6,#0000);border-radius:2px;width:44px;height:2px;margin:26px 0 22px;animation:.7s cubic-bezier(.16,1,.3,1) .4s both bienvenidaLinea;display:block}.bienvenida-titulo{letter-spacing:.06em;color:#fff;margin:0;font-size:clamp(26px,8vw,32px);font-weight:800;line-height:1.1;animation:.7s cubic-bezier(.16,1,.3,1) .5s both bienvenidaSube}.bienvenida-nombre{color:#ffffffeb;overflow-wrap:anywhere;max-width:100%;margin:14px 0 0;font-size:clamp(16px,4.6vw,19px);font-weight:600;line-height:1.3;animation:.7s cubic-bezier(.16,1,.3,1) .7s both bienvenidaSube}.bienvenida-nomina{letter-spacing:.04em;color:#ffffff9e;margin:6px 0 0;font-size:15px;font-weight:400;line-height:1.3;animation:.7s cubic-bezier(.16,1,.3,1) .85s both bienvenidaSube}@keyframes bienvenidaVelo{0%{opacity:0}to{opacity:1}}@keyframes bienvenidaLogo{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes bienvenidaLinea{0%{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:none}}@keyframes bienvenidaSube{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.bienvenida,.bienvenida-logo,.bienvenida-linea,.bienvenida-titulo,.bienvenida-nombre,.bienvenida-nomina,.login-wrap,.login-card-edge:before,.login-btn:after{animation:none!important}.login-wrap,.login-wrap.is-leaving,.login-input,.login-btn,.login-error,.login-icono,.login-ojo{transition:none!important}.login-card-edge{display:none}}.pin-oculto{-webkit-text-security:disc;text-security:disc}
