/* ALGIZ V36.12.8 — efectos únicamente sobre el login original V25.
   No cambia dimensiones, posiciones, tipografía, imagen, formulario ni composición. */
.stage{--fx-x:0;--fx-y:0}
.stage::before,.stage::after,.login-overlay::before,.login-overlay::after{content:"";position:absolute;pointer-events:none}
.stage::before{z-index:1;left:602px;top:86px;width:480px;height:760px;border-radius:46%;background:radial-gradient(ellipse at 51% 49%,rgba(0,194,255,.12),rgba(34,111,255,.045) 39%,transparent 70%);filter:blur(18px);opacity:.52;transform:translate3d(calc(var(--fx-x)*2px),calc(var(--fx-y)*2px),0);animation:algizAura 6.8s ease-in-out infinite}
.stage::after{z-index:2;left:632px;top:118px;width:430px;height:690px;background:radial-gradient(ellipse 25px 10px at 49% 48%,rgba(255,255,255,.72),rgba(0,190,255,.42) 30%,transparent 74%),radial-gradient(ellipse 25px 10px at 82% 48%,rgba(255,255,255,.72),rgba(0,190,255,.42) 30%,transparent 74%);filter:drop-shadow(0 0 9px rgba(0,177,255,.42));opacity:.22;transform:translate3d(calc(var(--fx-x)*3px),calc(var(--fx-y)*2px),0);animation:algizEyePulse 4.6s ease-in-out infinite}
.login-overlay::before{z-index:0;left:1081px;top:105px;width:503px;height:748px;border-radius:38px;background:linear-gradient(115deg,transparent 8%,rgba(16,126,255,.02) 38%,rgba(0,207,255,.12) 49%,rgba(255,255,255,.03) 54%,transparent 72%);transform:translateX(-42%);opacity:0;animation:algizPanelSweep 10s ease-in-out infinite}
.login-overlay::after{z-index:0;left:1075px;top:100px;width:510px;height:758px;border-radius:40px;box-shadow:0 0 0 1px rgba(15,112,255,.08),0 20px 55px rgba(0,77,170,.045),inset -2px 0 rgba(0,205,255,.08);opacity:.62;animation:algizPanelBreath 5.8s ease-in-out infinite}
.field:focus{box-shadow:0 0 0 3px rgba(13,99,255,.09),0 0 22px rgba(0,153,255,.08)}
.password-toggle::after{content:"";position:absolute;inset:6px;border-radius:50%;box-shadow:0 0 0 0 rgba(0,174,255,0);transition:box-shadow .18s ease}
.password-toggle:hover::after,.password-toggle:focus-visible::after{box-shadow:0 0 0 5px rgba(0,174,255,.08),0 0 18px rgba(0,174,255,.15)}
.submit{overflow:hidden}
.submit::before{content:"";position:absolute;top:-30%;bottom:-30%;left:-34%;width:22%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
.submit:hover::before,.submit:focus-visible::before{opacity:1;animation:algizButtonSweep .72s ease forwards}
.submit:hover{box-shadow:0 10px 24px rgba(5,96,255,.16),0 0 0 1px rgba(52,210,255,.15)}
.stage.fx-active::before{opacity:.68}.stage.fx-active::after{opacity:.32}
@keyframes algizAura{0%,100%{opacity:.42;filter:blur(19px)}50%{opacity:.62;filter:blur(14px)}}
@keyframes algizEyePulse{0%,100%{opacity:.13}48%{opacity:.34}56%{opacity:.23}}
@keyframes algizPanelSweep{0%,68%{transform:translateX(-42%);opacity:0}74%{opacity:.42}88%{opacity:.16}100%{transform:translateX(40%);opacity:0}}
@keyframes algizPanelBreath{0%,100%{opacity:.36}50%{opacity:.66}}
@keyframes algizButtonSweep{from{left:-34%}to{left:116%}}
@media(prefers-reduced-motion:reduce){.stage::before,.stage::after,.login-overlay::before,.login-overlay::after,.submit::before{animation:none!important;transform:none!important}.stage::before{opacity:.38}.stage::after{opacity:.12}.login-overlay::before{display:none}.login-overlay::after{opacity:.4}}
