/* Login original animado NEUVOX, 30/09. Fluxos de acesso reais preservados. */
#login{--login-bg:#faf9f6;--login-fg:#103a3c;--login-muted:#526560;--login-accent:#12615e;grid-template-columns:1fr 1fr;background:var(--login-bg);color:var(--login-fg);overflow:auto}
#login .login-chrome,#login .login-watermark,#login .la-top{display:none}
#login .login-aside{min-height:100%;padding:40px;position:relative;justify-content:center;align-items:center;background:#103a3c;color:#eaf1ef;overflow:hidden}
#login .la-mid{margin:auto;text-align:center}
#login .la-brand-lockup{position:relative;width:min(300px,38vw);aspect-ratio:1;margin:0;display:grid;place-items:center}
#login .la-lockup-mark{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 40px rgb(0 0 0 / 35%));animation:nvx-login-breathe 2.4s ease-in-out infinite}
#login .login-waves{position:absolute;inset:0;pointer-events:none}
#login .login-waves i{position:absolute;inset:0;border-radius:50%;border:1px solid rgb(220 232 230 / 35%);animation:nvx-login-listen 4.8s ease-out infinite;opacity:0}
#login .login-waves i:nth-child(2){animation-delay:1.6s}
#login .login-waves i:nth-child(3){animation-delay:3.2s}
#login .la-foot{position:absolute;bottom:40px;left:20px;right:20px;color:#bfd6d2;text-align:center;font-family:var(--font-head,Newsreader,Georgia,serif);font-size:22px;font-style:italic}
#login .login-main{grid-column:2;min-width:0;padding:40px 24px;background:var(--login-bg)}
#login .login-box{max-width:360px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--login-fg)}
#login .login-box h1{font-family:var(--font-head,Newsreader,Georgia,serif);font-size:clamp(32px,3vw,40px);font-weight:300;line-height:1.05;color:var(--login-fg);margin-bottom:22px}
#login .login-box h1 em{color:#b52e60;font-style:italic}
#login .login-box p{color:var(--login-muted);font-size:14px;line-height:1.5}
#login .login-box .sr-only{position:static;display:block;width:auto;height:auto;padding:0;margin:16px 0 6px;overflow:visible;clip:auto;white-space:normal;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--login-muted)}
#login .login-box input{background:#fff;color:var(--login-fg);border-color:#a5b5af!important;border-radius:12px!important;min-height:48px}
#login .login-box input::placeholder{color:var(--login-muted);opacity:1}
#login .pw-wrap input{padding-right:82px!important}
#login .login-box a,#login .pw-toggle{color:var(--login-accent)!important}
#login .login-box a{line-height:1.5;text-decoration:underline;text-underline-offset:3px}
#login .btn.primary{background:var(--login-accent);color:#fff;border-color:var(--login-accent);border-radius:12px;font-size:15px;justify-content:center}
#login .btn.primary:hover{background:#0d4e4b;border-color:#0d4e4b}
#login .login-box :is(input,button,a):focus-visible{outline:3px solid var(--login-accent);outline-offset:3px}
#login #login-err,#login #reset-err{color:#9b2836!important}
#login #login-msg{color:#21613f!important}
#login .login-mobile-mark{display:none}
.nvx-login-watermark{position:fixed;right:-6vmax;bottom:-10vmax;width:78vmax;height:78vmax;object-fit:contain;pointer-events:none;z-index:2;opacity:0}
/* A arte final e fundo CSS do painel, nunca uma imagem sobre texto/alertas. */
.nvx-login-watermark.on ~ .app #center{--nvx-login-veil:84%;background-image:linear-gradient(color-mix(in srgb,var(--bg) var(--nvx-login-veil),transparent),color-mix(in srgb,var(--bg) var(--nvx-login-veil),transparent)),url('/brand/neuvox-login-cerebro.webp');background-size:auto,78vmax 78vmax;background-position:0 0,right -6vmax bottom -10vmax;background-repeat:no-repeat}
.nvx-login-watermark.on ~ .app #center:has(.empty)::after{display:none}
html[data-theme="dark"] .nvx-login-watermark.on ~ .app #center{--nvx-login-veil:88%}
.nvx-login-transition{position:fixed;inset:0;z-index:51;pointer-events:none;overflow:hidden}
.nvx-login-veil{position:absolute;inset:0;background:linear-gradient(to right,#103a3c 50%,#faf9f6 50%)}
.nvx-login-flying,.nvx-login-seal{position:absolute;object-fit:contain;pointer-events:none}
@keyframes nvx-login-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
@keyframes nvx-login-listen{0%{transform:scale(1);opacity:0}15%{opacity:.5}100%{transform:scale(1.6);opacity:0}}
@media(max-width:820px){#login{grid-template-columns:1fr}#login .login-aside{display:none}#login .login-main{grid-column:1;padding:32px 24px}#login .login-mobile-mark{display:block;margin-bottom:28px;object-fit:contain}.nvx-login-veil{background:#faf9f6}}
@media(max-width:820px){.nvx-login-watermark.on ~ .app #list{--nvx-login-veil:84%;background-image:linear-gradient(color-mix(in srgb,var(--bg) var(--nvx-login-veil),transparent),color-mix(in srgb,var(--bg) var(--nvx-login-veil),transparent)),url('/brand/neuvox-login-cerebro.webp');background-size:auto,78vmax 78vmax;background-position:0 0,right -6vmax bottom -10vmax;background-repeat:no-repeat}html[data-theme="dark"] .nvx-login-watermark.on ~ .app #list{--nvx-login-veil:88%}}
@media(max-height:400px) and (min-width:821px){#login .la-brand-lockup{width:190px}#login .la-foot{bottom:16px}}
@media(prefers-reduced-motion:reduce){#login .la-lockup-mark,#login .login-waves i{animation:none}#login .login-waves{display:none}}
@media(forced-colors:active){#login .login-aside,#login .login-main{background:Canvas;color:CanvasText}#login .login-box input,#login .btn.primary{border:1px solid ButtonText!important}#login .login-box :is(input,button,a):focus-visible{outline-color:Highlight}.nvx-login-watermark,.nvx-login-transition{display:none}}
@media(forced-colors:active){.nvx-login-watermark.on ~ .app :is(#center,#list){background-image:none}}
