/* Tela de acesso NEPO+: isolada para não interferir nas demais telas. */
body.login-premium-page{min-width:0;background:#eef3fa!important;color:#102240;font-family:"Plus Jakarta Sans",Inter,"Segoe UI",sans-serif!important;overflow-x:hidden}
body.login-premium-page .main{margin-left:0!important;min-height:100dvh}
body.login-premium-page .content{display:grid;place-items:center;max-width:none;min-height:100dvh;padding:clamp(12px,2.2vw,30px)!important}
body.login-premium-page .messages{display:none}
.login-premium-page .login-layout{width:min(1640px,100%);min-height:min(930px,calc(100dvh - clamp(24px,4.4vw,60px)));height:auto;display:grid;grid-template-columns:minmax(0,49fr) minmax(0,51fr);overflow:hidden;border:1px solid #dce5f1;border-radius:28px;background:#fff;box-shadow:0 20px 52px rgba(15,39,77,.11)}
/* Entrada unica e intencional: o cartao de acesso "assenta" na tela em vez de
   simplesmente aparecer - o painel institucional (ja visualmente pesado com a
   foto) fica parado, so o formulario se move, pra nao competir. Curta o
   suficiente pra nao atrasar quem so quer digitar a senha. */
@media(prefers-reduced-motion:no-preference){
  .login-premium-page .login-card-modern{animation:loginCardIn .5s cubic-bezier(.16,1,.3,1) both}
  .login-premium-page .login-security-badge{animation:loginBadgeIn .5s cubic-bezier(.16,1,.3,1) .08s both}
}
@keyframes loginCardIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes loginBadgeIn{from{opacity:0}to{opacity:1}}
/* Textura institucional: foto real do painel, sem decoracao geometrica generica por baixo. */
.login-premium-page .login-showcase{position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden;padding:clamp(38px,4.6vw,70px);color:#fff;background-image:linear-gradient(140deg,rgba(1,11,29,.86) 0%,rgba(3,22,52,.62) 48%,rgba(6,38,81,.5) 100%),url("../img/login-painel.jpg");background-position:center;background-repeat:no-repeat;background-size:cover}
.login-premium-page .login-showcase-content{position:relative;z-index:1;width:min(100%,520px)}
.login-premium-page .login-showcase-logo{display:block;width:min(100%,380px);height:auto;margin:0 0 clamp(36px,5vh,64px);filter:drop-shadow(0 12px 22px rgba(0,0,0,.25))}
.login-premium-page .login-showcase h1{max-width:520px;margin:0 0 22px;color:#fff;font-size:clamp(2.25rem,3.3vw,4.2rem);font-weight:750;letter-spacing:-.055em;line-height:1.07}
.login-premium-page .login-showcase h1 strong{display:block;color:#2091ff;font:inherit;font-weight:750}
.login-premium-page .login-showcase-description{margin:0;max-width:500px;color:#bdc9dc;font-size:clamp(.95rem,1.15vw,1.18rem);line-height:1.55}
.login-premium-page .login-showcase-features{display:grid;gap:0;margin:30px 0 0;padding:0;list-style:none}
.login-premium-page .login-showcase-features li{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid rgba(164,193,230,.16)}
.login-premium-page .login-showcase-features li:last-child{border-bottom:0}
.login-premium-page .login-feature-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(39,141,255,.68);border-radius:50%;color:#38a0ff;background:rgba(8,69,142,.12)}
.login-premium-page .login-feature-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-premium-page .login-showcase-features strong,.login-premium-page .login-showcase-features small{display:block}.login-premium-page .login-showcase-features strong{color:#fff;font-size:.98rem;font-weight:750}.login-premium-page .login-showcase-features small{margin-top:2px;color:#a9b7cb;font-size:.8rem;line-height:1.35}
.login-premium-page .login-showcase-cta{display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:12px 19px;border:1px solid rgba(217,229,245,.76);border-radius:13px;color:#f8fbff;font-size:.9rem;font-weight:750;text-decoration:none;transition:.18s ease}.login-premium-page .login-showcase-cta svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-premium-page .login-showcase-cta span{font-size:1.35em;line-height:.8}.login-premium-page .login-showcase-cta:hover{border-color:#61b2ff;background:rgba(31,132,255,.14);transform:translateY(-1px)}
.login-premium-page .login-form-area{position:relative;display:grid;place-items:center;align-content:center;min-height:100%;padding:66px clamp(28px,4vw,76px) 46px;background:radial-gradient(circle at 10% 20%,rgba(68,135,255,.07),transparent 25%),radial-gradient(circle at 88% 87%,rgba(19,106,224,.07),transparent 30%),#f8faff}
.login-premium-page .login-security-badge{position:absolute;z-index:1;right:clamp(28px,5vw,80px);top:35px;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid #cbd8ec;border-radius:999px;background:rgba(255,255,255,.72);color:#2b4268;font-size:.86rem;font-weight:650;box-shadow:0 4px 13px rgba(25,67,122,.04)}
.login-premium-page .login-security-badge svg{width:19px;height:19px;fill:none;stroke:#12a54b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.login-premium-page .login-card-modern{position:relative;z-index:1;width:min(100%,540px);padding:clamp(32px,3.2vw,46px);border:1px solid #dde5f0;border-radius:25px;background:#fff;box-shadow:0 22px 54px rgba(21,55,104,.11)}
.login-premium-page .login-intro{display:flex;align-items:center;gap:16px;margin:0 0 28px}.login-premium-page .login-intro-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;flex:0 0 60px;border-radius:16px;color:#fff;background:linear-gradient(145deg,#0f3b63,#1976ee);box-shadow:0 8px 18px rgba(22,103,233,.22);font-size:1.6rem;font-weight:800;letter-spacing:-.02em}.login-premium-page .login-intro-icon b{color:#7fd0ff;font:inherit}.login-premium-page .login-intro h2{margin:0 0 5px;color:#102344;font-size:clamp(1.55rem,1.8vw,2rem);font-weight:800;letter-spacing:-.045em}.login-premium-page .login-intro p{margin:0;color:#6d7f9e;font-size:.94rem}
.login-premium-page .login-form{display:grid;gap:9px}.login-premium-page .login-form>label{margin:0 0 1px;color:#172d50;font-size:.88rem;font-weight:750}.login-premium-page .login-input-wrap{position:relative}.login-premium-page .login-input-wrap>svg{position:absolute;z-index:1;top:50%;left:16px;width:21px;height:21px;transform:translateY(-50%);fill:none;stroke:#587197;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.login-premium-page .login-input-wrap input{width:100%;height:56px;padding:11px 50px;border:1px solid #cad7e9;border-radius:12px;background:#fff;color:#142b4c;font:inherit;font-size:.96rem;outline:0;transition:border-color .18s,box-shadow .18s}.login-premium-page .login-input-wrap input::placeholder{color:#8c9db8}.login-premium-page .login-input-wrap input:focus{border-color:#1976ee;box-shadow:0 0 0 4px rgba(25,118,238,.11)}.login-premium-page .password-toggle{position:absolute;z-index:2;top:50%;right:10px;display:grid;place-items:center;width:36px;height:36px;transform:translateY(-50%);border:0;border-radius:9px;background:transparent;color:#587197;cursor:pointer}.login-premium-page .password-toggle:hover{background:#eff5fd;color:#146eec}.login-premium-page .password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-premium-page .login-options{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:7px 0 13px}.login-premium-page .login-remember{display:inline-flex;align-items:center;gap:9px;color:#405678;font-size:.91rem;font-weight:550;cursor:pointer}.login-premium-page .login-remember input{appearance:none;width:21px;height:21px;margin:0;border:1px solid #97aacf;border-radius:5px;background:#fff;cursor:pointer}.login-premium-page .login-remember input:checked{border-color:#1269e8;background:#1269e8}.login-premium-page .login-remember input:checked::after{content:"✓";display:grid;place-items:center;color:#fff;font-size:14px;font-weight:900}.login-premium-page .login-forgot{color:#075dd8;font-size:.91rem;font-weight:750;text-decoration:none}.login-premium-page .login-forgot:hover{text-decoration:underline}
.login-premium-page .login-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:61px;border:0!important;border-radius:12px!important;background:#0c67e8!important;color:#fff!important;font-size:1rem;font-weight:800;box-shadow:0 10px 20px rgba(10,91,215,.2);transition:transform .18s,background .18s,box-shadow .18s}.login-premium-page .login-submit:not(:disabled):hover{background:#0959c9!important;box-shadow:0 13px 25px rgba(10,91,215,.27);transform:translateY(-1px)}.login-premium-page .login-submit:disabled{opacity:.48;box-shadow:none}.login-premium-page .login-submit svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.login-premium-page .login-help{display:flex;align-items:center;justify-content:center;gap:7px;margin:26px 0 0;padding-top:20px;border-top:1px solid #e4eaf3;color:#6e81a1;font-size:.82rem;text-align:center}.login-premium-page .login-help svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:#6681a8;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-premium-page .login-support{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0 0;color:#6d80a1;font-size:.85rem;text-align:center;text-decoration:none}.login-premium-page .login-support b{color:#42638f}.login-premium-page .login-support-icon{width:18px;height:18px;fill:none;stroke:#4c77ad;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login-premium-page .login-support.is-text{display:block}.login-premium-page .login-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:11px;margin-top:27px;color:#687b9a;font-size:.8rem}.login-premium-page .login-footer img{width:72px;height:22px;object-fit:contain}.login-premium-page .caps-lock-warning{margin:0;color:#b45309;font-size:.8rem}.login-premium-page .login-feedback:empty{display:none}.login-premium-page .login-feedback{margin:0 0 7px}.login-premium-page .login-feedback .alert{margin:0}
@media(max-width:1050px){.login-premium-page .login-layout{grid-template-columns:minmax(0,45fr) minmax(0,55fr)}.login-premium-page .login-showcase{padding:42px}.login-premium-page .login-showcase-logo{width:300px;margin-bottom:44px}.login-premium-page .login-showcase h1{font-size:2.5rem}.login-premium-page .login-showcase-description{font-size:.94rem}.login-premium-page .login-showcase-features{margin-top:27px}.login-premium-page .login-showcase-features li{grid-template-columns:43px 1fr;gap:12px;padding:10px 0}.login-premium-page .login-feature-icon{width:43px;height:43px}.login-premium-page .login-feature-icon svg{width:21px;height:21px}.login-premium-page .login-showcase-features small{font-size:.76rem}.login-premium-page .login-showcase-cta{margin-top:26px}.login-premium-page .login-card-modern{padding:38px}.login-premium-page .login-form-area{padding-inline:32px}}
@media(max-width:720px){body.login-premium-page{background:#f5f8fd!important}.login-premium-page .content{display:block;min-height:100dvh;padding:0!important}.login-premium-page .login-layout{display:block;width:100%;min-height:100dvh;border:0;border-radius:0;box-shadow:none}.login-premium-page .login-showcase{min-height:177px;padding:24px 24px 27px;align-items:flex-start}.login-premium-page .login-showcase::before{inset:-70% -35% auto 34%;height:240px}.login-premium-page .login-showcase::after{right:-30%;bottom:-60%;width:95%;height:120%;opacity:.6}.login-premium-page .login-showcase-graphic em{left:8%;top:16%;transform:scale(.7);transform-origin:left top}.login-premium-page .login-showcase-logo{width:185px;margin:0 0 18px}.login-premium-page .login-showcase h1{font-size:1.62rem;line-height:1.12}.login-premium-page .login-showcase h1 strong{display:inline}.login-premium-page .login-showcase-description,.login-premium-page .login-showcase-features,.login-premium-page .login-showcase-cta{display:none}.login-premium-page .login-form-area{display:block;min-height:calc(100dvh - 177px);padding:26px 16px 30px}.login-premium-page .login-form-area::before{display:none}.login-premium-page .login-security-badge{position:static;width:max-content;max-width:100%;margin:0 0 16px auto;padding:8px 12px;font-size:.76rem}.login-premium-page .login-card-modern{width:100%;padding:28px 21px;border-radius:22px}.login-premium-page .login-intro{gap:14px;margin-bottom:27px}.login-premium-page .login-intro-icon{width:56px;height:56px;flex-basis:56px;border-radius:15px}.login-premium-page .login-intro-icon svg{width:28px;height:28px}.login-premium-page .login-intro h2{font-size:1.52rem}.login-premium-page .login-intro p{font-size:.9rem}.login-premium-page .login-input-wrap input{height:56px}.login-premium-page .login-options{align-items:flex-start;flex-direction:column;gap:12px}.login-premium-page .login-submit{height:57px}.login-premium-page .login-help{margin-top:21px;padding-top:17px;font-size:.76rem}.login-premium-page .login-support{font-size:.78rem}.login-premium-page .login-footer{margin:21px 0 0;font-size:.72rem;flex-wrap:wrap}.login-premium-page .login-footer img{width:66px;height:20px}}
@media(max-width:380px){.login-premium-page .login-showcase{min-height:160px;padding:20px}.login-premium-page .login-showcase-logo{width:164px;margin-bottom:14px}.login-premium-page .login-showcase h1{font-size:1.42rem}.login-premium-page .login-form-area{min-height:calc(100dvh - 160px);padding:18px 12px 24px}.login-premium-page .login-card-modern{padding:23px 17px}.login-premium-page .login-intro{gap:11px}.login-premium-page .login-intro-icon{width:48px;height:48px;flex-basis:48px}.login-premium-page .login-intro h2{font-size:1.3rem}.login-premium-page .login-security-badge{margin-bottom:12px}.login-premium-page .login-footer{font-size:.67rem}}

/* Mantém todo o conteúdo visível em notebooks com altura reduzida. */
@media (min-width:721px) and (max-height:820px){
  body.login-premium-page .content{padding:14px!important}
  .login-premium-page .login-layout{height:calc(100dvh - 28px);min-height:calc(100dvh - 28px)}
  .login-premium-page .login-showcase{padding:26px clamp(30px,4vw,52px)}
  .login-premium-page .login-showcase-logo{width:300px;margin-bottom:24px}
  .login-premium-page .login-showcase h1{font-size:clamp(2rem,3.2vw,2.8rem);margin-bottom:13px}
  .login-premium-page .login-showcase-description{font-size:.88rem;line-height:1.45}
  .login-premium-page .login-showcase-features{margin-top:18px}
  .login-premium-page .login-showcase-features li{grid-template-columns:40px 1fr;gap:12px;padding:7px 0}
  .login-premium-page .login-feature-icon{width:40px;height:40px}
  .login-premium-page .login-feature-icon svg{width:19px;height:19px}
  .login-premium-page .login-showcase-features strong{font-size:.9rem}
  .login-premium-page .login-showcase-features small{font-size:.71rem;line-height:1.25}
  .login-premium-page .login-showcase-cta{margin-top:17px;padding:10px 16px;font-size:.84rem}
  .login-premium-page .login-form-area{padding:58px 28px 25px}
  .login-premium-page .login-security-badge{top:18px;right:28px;padding:7px 12px;font-size:.72rem}
  .login-premium-page .login-card-modern{padding:26px 34px;border-radius:23px}
  .login-premium-page .login-intro{margin-bottom:20px}
  .login-premium-page .login-intro-icon{width:54px;height:54px;flex-basis:54px;border-radius:14px}
  .login-premium-page .login-intro-icon svg{width:27px;height:27px}
  .login-premium-page .login-intro h2{font-size:1.55rem}
  .login-premium-page .login-intro p{font-size:.84rem}
  .login-premium-page .login-form{gap:7px}
  .login-premium-page .login-form>label{font-size:.81rem}
  .login-premium-page .login-input-wrap input{height:49px;font-size:.9rem}
  .login-premium-page .login-options{margin:4px 0 7px;font-size:.79rem}
  .login-premium-page .login-remember,.login-premium-page .login-forgot{font-size:.79rem}
  .login-premium-page .login-submit{height:49px}
  .login-premium-page .login-help{margin-top:15px;padding-top:13px;font-size:.7rem}
  .login-premium-page .login-support{margin-top:11px;font-size:.72rem}
  .login-premium-page .login-footer{margin-top:12px;font-size:.68rem}
}

/* Refinamentos de densidade: preservam a estrutura e a autenticação existentes. */
.login-premium-page .login-spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:loginSpin .7s linear infinite}
.login-premium-page .login-submit.is-loading .login-submit-icon{display:none}
.login-premium-page .login-submit.is-loading .login-spinner{display:block}
@keyframes loginSpin{to{transform:rotate(360deg)}}

@media(min-width:721px) and (min-height:821px){
  .login-premium-page .login-layout{grid-template-columns:minmax(0,49fr) minmax(0,51fr)}
  .login-premium-page .login-showcase{padding:clamp(38px,4.6vw,70px)}
  .login-premium-page .login-showcase-content{width:min(100%,520px)}
  .login-premium-page .login-showcase-logo{width:min(100%,380px);margin-bottom:clamp(36px,5vh,64px)}
  .login-premium-page .login-showcase-features{margin-top:30px}
  .login-premium-page .login-showcase-features li{grid-template-columns:46px 1fr;gap:14px;padding:10px 0}
  .login-premium-page .login-feature-icon{width:46px;height:46px}
  .login-premium-page .login-feature-icon svg{width:22px;height:22px}
  .login-premium-page .login-showcase-features strong{font-size:.98rem}
  .login-premium-page .login-showcase-features small{margin-top:2px;font-size:.8rem}
  .login-premium-page .login-showcase-cta{gap:10px;margin-top:30px;padding:12px 19px;font-size:.9rem}
  .login-premium-page .login-showcase-cta svg{width:20px;height:20px}
  .login-premium-page .login-form-area{padding:66px clamp(28px,4vw,76px) 46px}
  .login-premium-page .login-card-modern{width:min(100%,540px);padding:clamp(32px,3.2vw,46px);border-radius:25px}
  .login-premium-page .login-intro{gap:16px;margin-bottom:28px}
  .login-premium-page .login-intro-icon{width:60px;height:60px;flex-basis:60px;border-radius:16px}
  .login-premium-page .login-intro-icon svg{width:30px;height:30px}
  .login-premium-page .login-intro h2{margin-bottom:5px;font-size:clamp(1.55rem,1.8vw,2rem)}
  .login-premium-page .login-intro p{font-size:.94rem}
  .login-premium-page .login-form{gap:9px}
  .login-premium-page .login-form>label{margin-bottom:1px;font-size:.88rem}
  .login-premium-page .login-input-wrap>svg{left:16px;width:21px;height:21px}
  .login-premium-page .login-input-wrap input{height:56px;padding:11px 50px;font-size:.96rem}
  .login-premium-page .password-toggle{right:10px;width:36px;height:36px}
  .login-premium-page .password-toggle svg{width:21px;height:21px}
  .login-premium-page .login-options{gap:14px;margin:6px 0 11px}
  .login-premium-page .login-remember,.login-premium-page .login-forgot{font-size:.86rem}
  .login-premium-page .login-remember input{width:19px;height:19px}
  .login-premium-page .login-submit{height:58px;font-size:.96rem}
  .login-premium-page .login-submit svg{width:21px;height:21px}
  .login-premium-page .login-help{margin-top:21px;padding-top:17px;font-size:.77rem}
  .login-premium-page .login-support{margin-top:15px;font-size:.8rem}
  .login-premium-page .login-footer{gap:9px;margin-top:20px;font-size:.74rem}
  .login-premium-page .login-footer img{width:65px;height:20px}
}

/* Foco consistente com a marca em vez do contorno padrao do navegador -
   afeta so quem navega por teclado (:focus-visible ignora clique de mouse). */
.login-premium-page .password-toggle:focus-visible,
.login-premium-page .login-forgot:focus-visible,
.login-premium-page .login-showcase-cta:focus-visible,
.login-premium-page .login-remember input:focus-visible{
  outline:2px solid #1976ee;
  outline-offset:2px;
  border-radius:8px;
}
.login-premium-page .login-submit:focus-visible{
  outline:2px solid #fff;
  outline-offset:-4px;
  box-shadow:0 0 0 4px rgba(25,118,238,.35);
}

/* Checkbox nativo: consistente no desktop e no celular, sem o pseudo-ícone legado. */
.login-premium-page .login-remember input{
  -webkit-appearance:checkbox;
  appearance:auto;
  width:16px;
  height:16px;
  min-width:16px;
  min-height:16px;
  flex:0 0 16px;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  accent-color:#1269e8;
}
.login-premium-page .login-remember input:checked::after{content:none}

@media(max-width:720px){
  .login-premium-page .login-showcase{min-height:160px;padding:21px 22px 23px}
  .login-premium-page .login-showcase-logo{width:170px;margin-bottom:14px}
  .login-premium-page .login-showcase h1{font-size:1.48rem}
  .login-premium-page .login-form-area{min-height:calc(100dvh - 160px);padding:22px 16px 28px}
  .login-premium-page .login-security-badge{margin-bottom:14px}
  .login-premium-page .login-card-modern{padding:26px 20px}
  .login-premium-page .login-intro{gap:13px;margin-bottom:24px}
  .login-premium-page .login-intro-icon{width:54px;height:54px;flex-basis:54px}
  .login-premium-page .login-intro-icon svg{width:27px;height:27px}
  .login-premium-page .login-intro h2{font-size:1.46rem}
  .login-premium-page .login-intro p{font-size:.87rem}
  .login-premium-page .login-input-wrap input{height:54px}
  .login-premium-page .login-options{gap:11px}
  .login-premium-page .login-submit{height:55px}
  .login-premium-page .login-help{margin-top:19px;padding-top:15px;font-size:.74rem}
  .login-premium-page .login-support{font-size:.76rem}
  .login-premium-page .login-footer{margin-top:18px;font-size:.7rem}
  .login-premium-page .login-footer img{width:62px;height:19px}
}

/* Versão ainda mais direta: mantém a identidade, mas reduz a área ocupada. */
@media(min-width:721px) and (min-height:821px){
  .login-premium-page .login-layout{grid-template-columns:minmax(0,46fr) minmax(0,54fr)}
  .login-premium-page .login-showcase{padding:clamp(30px,3.8vw,56px)}
  .login-premium-page .login-showcase-content{width:min(100%,470px)}
  .login-premium-page .login-showcase-logo{width:min(100%,340px);margin-bottom:clamp(26px,3.8vh,46px)}
  .login-premium-page .login-showcase h1{max-width:450px;margin-bottom:16px;font-size:clamp(2rem,2.8vw,3.2rem)}
  .login-premium-page .login-showcase-description{font-size:clamp(.86rem,1vw,1rem);line-height:1.45}
  .login-premium-page .login-showcase-features{margin-top:24px}
  .login-premium-page .login-showcase-features li{grid-template-columns:42px 1fr;gap:12px;padding:8px 0}
  .login-premium-page .login-feature-icon{width:42px;height:42px}
  .login-premium-page .login-feature-icon svg{width:20px;height:20px}
  .login-premium-page .login-showcase-features strong{font-size:.9rem}
  .login-premium-page .login-showcase-features small{font-size:.74rem}
  .login-premium-page .login-showcase-cta{margin-top:24px;padding:10px 16px;font-size:.84rem}
  .login-premium-page .login-form-area{padding:54px clamp(24px,3.4vw,60px) 36px}
  .login-premium-page .login-security-badge{top:24px;padding:8px 13px;font-size:.78rem}
  .login-premium-page .login-card-modern{width:min(100%,500px);padding:30px 34px;border-radius:23px}
  .login-premium-page .login-intro{gap:14px;margin-bottom:23px}
  .login-premium-page .login-intro-icon{width:54px;height:54px;flex-basis:54px;border-radius:14px}
  .login-premium-page .login-intro-icon svg{width:27px;height:27px}
  .login-premium-page .login-intro h2{font-size:clamp(1.42rem,1.6vw,1.78rem)}
  .login-premium-page .login-intro p{font-size:.88rem}
  .login-premium-page .login-form{gap:7px}
  .login-premium-page .login-form>label{font-size:.82rem}
  .login-premium-page .login-input-wrap input{height:52px;font-size:.9rem}
  .login-premium-page .login-input-wrap>svg{width:20px;height:20px}
  .login-premium-page .login-options{margin:5px 0 8px}
  .login-premium-page .login-remember,.login-premium-page .login-forgot{font-size:.8rem}
  .login-premium-page .login-submit{height:54px;font-size:.91rem}
  .login-premium-page .login-help{margin-top:17px;padding-top:14px;font-size:.73rem}
  .login-premium-page .login-support{margin-top:12px;font-size:.76rem}
  .login-premium-page .login-footer{margin-top:15px;font-size:.69rem}
}

@media(max-width:720px){
  .login-premium-page .login-showcase{min-height:142px;padding:18px 20px}
  .login-premium-page .login-showcase-logo{width:155px;margin-bottom:11px}
  .login-premium-page .login-showcase h1{font-size:1.3rem}
  .login-premium-page .login-form-area{min-height:calc(100dvh - 142px);padding:18px 14px 24px}
  .login-premium-page .login-card-modern{padding:23px 18px}
  .login-premium-page .login-intro{margin-bottom:20px}
  .login-premium-page .login-intro-icon{width:50px;height:50px;flex-basis:50px}
  .login-premium-page .login-intro h2{font-size:1.34rem}
  .login-premium-page .login-input-wrap input{height:50px}
  .login-premium-page .login-submit{height:52px}
}

/* Em telas grandes, o acesso fica centralizado e sem ocupar toda a viewport. */
@media(min-width:721px) and (min-height:821px){
  body.login-premium-page .content{padding:48px clamp(24px,5vw,80px)!important}
  .login-premium-page .login-layout{width:min(1280px,100%);min-height:0;height:min(690px,calc(100dvh - 120px));grid-template-columns:minmax(0,47fr) minmax(0,53fr)}
  .login-premium-page .login-showcase{padding:clamp(28px,3.2vw,46px)}
  .login-premium-page .login-showcase-content{width:min(100%,440px)}
  .login-premium-page .login-showcase-logo{width:min(100%,300px);margin-bottom:24px}
  .login-premium-page .login-showcase h1{max-width:410px;margin-bottom:13px;font-size:clamp(1.8rem,2.45vw,2.7rem)}
  .login-premium-page .login-showcase-description{font-size:.84rem;line-height:1.42}
  .login-premium-page .login-showcase-features{margin-top:18px}
  .login-premium-page .login-showcase-features li{grid-template-columns:38px 1fr;gap:10px;padding:6px 0}
  .login-premium-page .login-feature-icon{width:38px;height:38px}
  .login-premium-page .login-feature-icon svg{width:18px;height:18px}
  .login-premium-page .login-showcase-features strong{font-size:.84rem}
  .login-premium-page .login-showcase-features small{font-size:.68rem;line-height:1.25}
  .login-premium-page .login-showcase-cta{margin-top:18px;padding:9px 14px;font-size:.79rem}
  .login-premium-page .login-form-area{padding:46px 28px 28px}
  .login-premium-page .login-security-badge{top:18px;right:28px;padding:7px 11px;font-size:.72rem}
  .login-premium-page .login-card-modern{width:min(100%,460px);padding:26px 29px;border-radius:22px}
  .login-premium-page .login-intro{gap:12px;margin-bottom:18px}
  .login-premium-page .login-intro-icon{width:48px;height:48px;flex-basis:48px;border-radius:13px}
  .login-premium-page .login-intro-icon svg{width:24px;height:24px}
  .login-premium-page .login-intro h2{font-size:1.42rem}
  .login-premium-page .login-intro p{font-size:.82rem}
  .login-premium-page .login-form{gap:6px}
  .login-premium-page .login-form>label{font-size:.78rem}
  .login-premium-page .login-input-wrap input{height:48px;font-size:.86rem}
  .login-premium-page .login-options{margin:4px 0 6px}
  .login-premium-page .login-remember,.login-premium-page .login-forgot{font-size:.75rem}
  .login-premium-page .login-submit{height:50px;font-size:.86rem}
  .login-premium-page .login-help{margin-top:14px;padding-top:11px;font-size:.67rem}
  .login-premium-page .login-support{margin-top:9px;font-size:.7rem}
  .login-premium-page .login-footer{margin-top:11px;font-size:.64rem}
  .login-premium-page .login-footer img{width:56px;height:17px}
}

/* Escala intermediária, equivalente à composição anterior aprovada. */
@media(min-width:721px) and (min-height:821px){
  body.login-premium-page .content{padding:38px clamp(24px,4vw,64px)!important}
  .login-premium-page .login-layout{width:min(1320px,100%);height:min(745px,calc(100dvh - 76px));grid-template-columns:minmax(0,48fr) minmax(0,52fr)}
  .login-premium-page .login-showcase{padding:clamp(34px,3.8vw,54px)}
  .login-premium-page .login-showcase-content{width:min(100%,470px)}
  .login-premium-page .login-showcase-logo{width:min(100%,320px);margin-bottom:30px}
  .login-premium-page .login-showcase h1{max-width:440px;margin-bottom:15px;font-size:clamp(1.95rem,2.7vw,3rem)}
  .login-premium-page .login-showcase-description{font-size:.9rem;line-height:1.45}
  .login-premium-page .login-showcase-features{margin-top:22px}
  .login-premium-page .login-showcase-features li{grid-template-columns:42px 1fr;gap:12px;padding:8px 0}
  .login-premium-page .login-feature-icon{width:42px;height:42px}
  .login-premium-page .login-feature-icon svg{width:20px;height:20px}
  .login-premium-page .login-showcase-features strong{font-size:.9rem}
  .login-premium-page .login-showcase-features small{font-size:.73rem;line-height:1.3}
  .login-premium-page .login-showcase-cta{margin-top:22px;padding:10px 16px;font-size:.83rem}
  .login-premium-page .login-form-area{padding:52px 30px 34px}
  .login-premium-page .login-security-badge{top:22px;right:30px;padding:8px 12px;font-size:.75rem}
  .login-premium-page .login-card-modern{width:min(100%,540px);padding:31px 34px;border-radius:24px}
  .login-premium-page .login-intro{gap:14px;margin-bottom:22px}
  .login-premium-page .login-intro-icon{width:54px;height:54px;flex-basis:54px;border-radius:15px}
  .login-premium-page .login-intro-icon svg{width:27px;height:27px}
  .login-premium-page .login-intro h2{font-size:1.55rem}
  .login-premium-page .login-intro p{font-size:.88rem}
  .login-premium-page .login-form{gap:7px}
  .login-premium-page .login-form>label{font-size:.81rem}
  .login-premium-page .login-input-wrap input{height:51px;font-size:.9rem}
  .login-premium-page .login-options{margin:5px 0 8px}
  .login-premium-page .login-remember,.login-premium-page .login-forgot{font-size:.79rem}
  .login-premium-page .login-submit{height:53px;font-size:.9rem}
  .login-premium-page .login-help{margin-top:17px;padding-top:13px;font-size:.71rem}
  .login-premium-page .login-support{margin-top:11px;font-size:.74rem}
  .login-premium-page .login-footer{margin-top:14px;font-size:.68rem}
  .login-premium-page .login-footer img{width:60px;height:18px}
}

/* Mobile: mais respiro para a textura, a logo e o título do painel superior. */
@media(max-width:720px){
  .login-premium-page .login-showcase{min-height:170px;padding:22px 22px 24px}
  .login-premium-page .login-form-area{min-height:calc(100dvh - 170px);padding-top:14px}
  .login-premium-page .password-toggle{right:4px;width:44px;height:44px}
  .login-premium-page .login-submit:not(:disabled){background:#075fd8!important;box-shadow:0 10px 21px rgba(7,95,216,.25)}
  .login-premium-page .login-support{font-size:.68rem;line-height:1.35}
}

@media(min-width:430px) and (max-width:720px){
  .login-premium-page .login-options{flex-direction:row;align-items:center;gap:12px}
  .login-premium-page .login-forgot{margin-left:auto}
}

/* Composição mobile inspirada no painel de acesso: transição curva e selo integrado. */
@media(max-width:720px){
  .login-premium-page .login-showcase{
    min-height:205px;
    padding:28px 24px 48px;
    border-radius:0 0 46% 46% / 0 0 32px 32px;
  }
  .login-premium-page .login-form-area{
    margin-top:-25px;
    min-height:calc(100dvh - 180px);
    padding:56px 14px 28px;
  }
  .login-premium-page .login-security-badge{
    position:absolute;
    z-index:3;
    top:0;
    left:50%;
    margin:0;
    transform:translate(-50%,-50%);
    white-space:nowrap;
    box-shadow:0 8px 18px rgba(20,55,104,.14);
  }
  .login-premium-page .login-card-modern{
    padding:28px 24px;
    border-radius:26px;
    box-shadow:0 16px 34px rgba(27,62,109,.12);
  }
  .login-premium-page .login-submit{height:58px}
}

@media(min-width:370px) and (max-width:429px){
  .login-premium-page .login-options{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:6px}
  .login-premium-page .login-remember{flex:0 0 auto;gap:6px;font-size:.67rem;white-space:nowrap}
  .login-premium-page .login-remember span{white-space:nowrap}
  .login-premium-page .login-forgot{margin-left:auto;font-size:.68rem;white-space:nowrap}
}

/* A referência mobile usa o painel institucional de ponta a ponta. */
@media(max-width:720px){
  body.login-premium-page .content{padding:0!important}
  .login-premium-page .login-layout{width:100%!important}
  .login-premium-page .login-form-area{padding-left:26px;padding-right:26px}
}

/* No celular, o painel de marca forma um cabeçalho alto e curvo, como na referência. */
@media(max-width:720px){
  .login-premium-page .login-showcase{
    min-height:255px;
    padding:42px 42px 64px;
    border-radius:0 0 48% 48% / 0 0 48px 48px;
  }
  .login-premium-page .login-showcase-logo{width:185px;margin-bottom:24px}
  .login-premium-page .login-showcase h1{font-size:1rem;line-height:1.25;letter-spacing:-.025em}
  .login-premium-page .login-form-area{min-height:calc(100dvh - 230px)}
}

@media(max-width:380px){
  .login-premium-page .login-showcase{min-height:228px;padding:34px 28px 56px}
  .login-premium-page .login-showcase-logo{width:170px;margin-bottom:19px}
  .login-premium-page .login-showcase h1{font-size:.93rem}
}

/* Selo encaixado no encontro entre a curva do painel e o cartão. */
@media(max-width:720px){
  .login-premium-page .login-layout{position:relative}
  .login-premium-page .login-form-area{position:static}
  .login-premium-page .login-security-badge{top:283px}
}

/* Login compacto: toda a autenticação cabe na altura comum de celulares. */
@media(max-width:720px){
  html:has(body.login-premium-page),body.login-premium-page,
  body.login-premium-page .main,body.login-premium-page .content,
  .login-premium-page .login-layout{height:100dvh;min-height:0;overflow:hidden}
  .login-premium-page .login-showcase{
    min-height:220px;
    height:220px;
    padding:27px 34px 50px;
    border-radius:0 0 48% 48% / 0 0 40px 40px;
  }
  .login-premium-page .login-showcase-logo{width:170px;margin-bottom:17px}
  .login-premium-page .login-showcase h1{font-size:.94rem;line-height:1.2}
  .login-premium-page .login-form-area{margin-top:-25px;padding:50px 26px 0}
  .login-premium-page .login-security-badge{top:247px}
  .login-premium-page .login-card-modern{padding:20px 23px;border-radius:24px}
  .login-premium-page .login-intro{gap:12px;margin-bottom:15px}
  .login-premium-page .login-intro-icon{width:46px;height:46px;flex-basis:46px;border-radius:13px}
  .login-premium-page .login-intro-icon svg{width:24px;height:24px}
  .login-premium-page .login-intro h2{font-size:1.32rem}
  .login-premium-page .login-intro p{font-size:.82rem}
  .login-premium-page .login-form{gap:5px}
  .login-premium-page .login-form>label{font-size:.78rem}
  .login-premium-page .login-input-wrap input{height:50px;font-size:.88rem}
  .login-premium-page .login-options{margin:4px 0 7px}
  .login-premium-page .login-submit{height:52px;font-size:.9rem}
  .login-premium-page .login-help{margin-top:14px;padding-top:11px;font-size:.69rem}
  .login-premium-page .login-support{margin-top:10px;font-size:.67rem}
  .login-premium-page .login-footer{
    position:absolute;
    z-index:2;
    right:12px;
    bottom:9px;
    left:12px;
    display:flex;
    gap:6px;
    margin:0;
    color:#5d7192;
    font-size:.58rem;
    line-height:1.1;
  }
  .login-premium-page .login-footer img{width:47px;height:14px}
}

@media(max-width:380px){
  .login-premium-page .login-showcase{min-height:198px;height:198px;padding:22px 28px 42px}
  .login-premium-page .login-showcase-logo{width:155px;margin-bottom:13px}
  .login-premium-page .login-showcase h1{font-size:.86rem}
  .login-premium-page .login-form-area{padding-top:43px}
  .login-premium-page .login-security-badge{top:222px}
  .login-premium-page .login-card-modern{padding:17px 20px}
  .login-premium-page .login-intro{margin-bottom:11px}
  .login-premium-page .login-input-wrap input{height:47px}
  .login-premium-page .login-submit{height:49px}
  .login-premium-page .login-help{margin-top:10px;padding-top:9px}
  .login-premium-page .login-support{margin-top:7px}
  .login-premium-page .login-footer{font-size:.53rem}
}

/* Contraste e ação principal mais claros em telas pequenas. */
@media(max-width:720px){
  .login-premium-page .login-help{color:#526887}
  .login-premium-page .login-help svg{stroke:#5274a5}
  .login-premium-page .login-support{color:#536b8c}
  .login-premium-page .login-support b{color:#245d9f}
  .login-premium-page .login-submit:not(:disabled){
    background:#0968e8!important;
    box-shadow:0 9px 18px rgba(9,104,232,.28);
  }
  .login-premium-page .login-submit:not(:disabled):hover{background:#075ac9!important}
}

/* Desktop institucional: composição oficial NEPO+ fornecida para a tela de acesso.
   O layout mobile acima continua independente para preservar a experiência compacta. */
@media(min-width:721px){
  html:has(body.login-premium-page),
  body.login-premium-page,
  body.login-premium-page .main,
  body.login-premium-page .content{
    min-height:100dvh;
  }

  body.login-premium-page .content{
    display:block;
    padding:0!important;
    background:#eaf2fc;
  }

  .login-premium-page .login-layout{
    width:100%;
    min-height:100dvh;
    height:100dvh;
    grid-template-columns:minmax(0,48fr) minmax(0,52fr);
    overflow:hidden;
    border:0;
    border-radius:0;
    background:#edf5ff url('../img/login-desktop-nepo.png') center/cover no-repeat;
    box-shadow:none;
  }

  .login-premium-page .login-showcase{
    min-height:0;
    padding:0;
    background:transparent!important;
  }

  .login-premium-page .login-showcase::before,
  .login-premium-page .login-showcase::after,
  .login-premium-page .login-showcase-graphic,
  .login-premium-page .login-showcase-content{
    display:none;
  }

  .login-premium-page .login-desktop-info{
    position:absolute;
    z-index:1;
    top:53%;
    left:clamp(68px,7.4vw,145px);
    width:min(380px,32vw);
    color:#c5d4e9;
  }

  .login-premium-page .login-desktop-kicker{
    margin:0;
    color:#e4eefb;
    max-width:340px;
    font-size:.94rem;
    font-weight:550;
    letter-spacing:-.012em;
    line-height:1.42;
  }

  .login-premium-page .login-desktop-kicker span{color:#ff9d20;font-weight:750}

  .login-premium-page .login-desktop-modules{
    margin:13px 0 0;
    color:#c7d8ee;
    font-size:.96rem;
    font-weight:600;
    letter-spacing:.01em;
    line-height:1.65;
  }

  .login-premium-page .login-desktop-modules span{color:#37a4ff;padding:0 3px}

  .login-premium-page .login-desktop-info a{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    margin-top:24px;
    padding:0 17px;
    border:1px solid rgba(189,214,245,.7);
    border-radius:11px;
    color:#f7fbff;
    font-size:.84rem;
    font-weight:750;
    text-decoration:none;
    transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;
  }

  .login-premium-page .login-desktop-info a:hover{
    border-color:#5cb5ff;
    background:rgba(27,124,232,.16);
    box-shadow:0 8px 18px rgba(8,65,145,.2);
    transform:translateY(-1px);
  }

  .login-premium-page .login-form-area{
    min-height:100dvh;
    padding:88px clamp(36px,5.5vw,106px) 82px;
    background:transparent;
  }

  .login-premium-page .login-form-area::before{display:none}

  .login-premium-page .login-security-badge{
    top:22px;
    right:clamp(34px,4.5vw,84px);
    padding:11px 18px;
    border-color:rgba(155,177,210,.6);
    background:rgba(255,255,255,.78);
    box-shadow:0 5px 14px rgba(27,58,103,.1);
    font-weight:700;
  }

  .login-premium-page .login-card-modern{
    width:min(100%,690px);
    padding:44px 54px 38px;
    border:1px solid rgba(207,220,238,.9);
    border-radius:28px;
    background:rgba(255,255,255,.9);
    box-shadow:0 24px 56px rgba(32,64,110,.16);
    backdrop-filter:blur(4px);
  }

  .login-premium-page .login-intro{gap:22px;margin-bottom:30px}
  .login-premium-page .login-intro-icon{
    width:100px;
    height:100px;
    flex-basis:100px;
    border-radius:25px;
    font-size:2.65rem;
    box-shadow:0 14px 28px rgba(11,72,176,.25);
  }
  .login-premium-page .login-intro h2{font-size:2rem;letter-spacing:-.045em}
  .login-premium-page .login-intro p{font-size:1.02rem}
  .login-premium-page .login-form{gap:12px}
  .login-premium-page .login-form>label{font-size:.96rem}
  .login-premium-page .login-input-wrap input{height:64px;font-size:1rem}
  .login-premium-page .login-submit{height:66px;margin-top:4px;font-size:1.05rem}
  .login-premium-page .login-options{margin:2px 0 8px}
  .login-premium-page .login-help{margin-top:26px;padding-top:20px}
  .login-premium-page .login-support{margin-top:14px}

  .login-premium-page .login-footer{
    position:absolute;
    right:24px;
    bottom:28px;
    left:24px;
    justify-content:center;
    margin:0;
    color:#617493;
  }
}

@media(min-width:721px) and (max-height:820px){
  .login-premium-page .login-form-area{padding-top:64px;padding-bottom:58px}
  .login-premium-page .login-card-modern{width:min(100%,610px);padding:31px 42px 29px}
  .login-premium-page .login-intro{gap:16px;margin-bottom:20px}
  .login-premium-page .login-intro-icon{width:76px;height:76px;flex-basis:76px;border-radius:21px;font-size:2.1rem}
  .login-premium-page .login-intro h2{font-size:1.7rem}
  .login-premium-page .login-input-wrap input{height:56px}
  .login-premium-page .login-submit{height:58px}
  .login-premium-page .login-help{margin-top:18px;padding-top:15px}
  .login-premium-page .login-footer{bottom:18px}
  .login-premium-page .login-desktop-info{top:53%;}
  .login-premium-page .login-desktop-kicker{max-width:300px;font-size:.78rem}
  .login-premium-page .login-desktop-modules{font-size:.82rem}
  .login-premium-page .login-desktop-info a{min-height:35px;margin-top:16px;font-size:.76rem}
}

/* Ajustes finais de acesso: ação evidente, animação curta e folga em notebooks baixos. */
@media(min-width:721px){
  .login-premium-page .login-card-modern{
    width:min(100%,540px);
    padding:38px 44px 33px;
    animation:loginCardIn .36s cubic-bezier(.16,1,.3,1) both;
  }

  .login-premium-page .login-submit:not(:disabled){
    background:linear-gradient(100deg,#0873ec,#0756d7)!important;
    box-shadow:0 12px 24px rgba(6,91,219,.27);
  }

  .login-premium-page .login-submit:not(:disabled):hover{
    background:linear-gradient(100deg,#0968db,#064abd)!important;
    box-shadow:0 15px 28px rgba(6,77,190,.31);
  }
}

@media(min-width:721px) and (max-height:760px){
  .login-premium-page .login-form-area{padding-top:48px;padding-bottom:46px}
  .login-premium-page .login-card-modern{width:min(100%,570px);padding:25px 36px 23px}
  .login-premium-page .login-intro{margin-bottom:15px}
  .login-premium-page .login-intro-icon{width:66px;height:66px;flex-basis:66px;border-radius:18px;font-size:1.85rem}
  .login-premium-page .login-input-wrap input{height:52px}
  .login-premium-page .login-submit{height:55px}
  .login-premium-page .login-help{margin-top:13px;padding-top:12px}
  .login-premium-page .login-support{margin-top:9px}
  .login-premium-page .login-footer{bottom:12px}
  .login-premium-page .login-desktop-info{top:50%}
}

@media(max-width:720px){
  .login-premium-page .login-desktop-info{display:none}
}

/* Acessibilidade: foco de teclado evidente e sem excesso de movimento. */
.login-premium-page .login-forgot:focus-visible,
.login-premium-page .login-support:focus-visible,
.login-premium-page .login-desktop-info a:focus-visible,
.login-premium-page .password-toggle:focus-visible,
.login-premium-page .login-submit:focus-visible,
.login-premium-page .login-remember input:focus-visible{
  outline:3px solid rgba(49,143,255,.45);
  outline-offset:3px;
}

@media(prefers-reduced-motion:reduce){
  .login-premium-page *,
  .login-premium-page *::before,
  .login-premium-page *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}

/* Mobile final: mesma linguagem visual do acesso desktop, sem depender da
   composição institucional de telas largas. O painel de marca cria a transição
   para o cartão, enquanto a área de autenticação mantém alvos confortáveis ao toque. */
@media(max-width:720px){
  html:has(body.login-premium-page),
  body.login-premium-page,
  body.login-premium-page .main,
  body.login-premium-page .content,
  .login-premium-page .login-layout{
    min-height:100dvh;
    height:100dvh;
    overflow:hidden;
  }

  body.login-premium-page .content{
    display:block;
    padding:0!important;
    background:#f4f8ff;
  }

  .login-premium-page .login-layout{
    display:block;
    width:100%;
    border:0;
    border-radius:0;
    background:#f4f8ff;
    box-shadow:none;
  }

  .login-premium-page .login-showcase{
    min-height:214px;
    height:214px;
    padding:28px 28px 54px;
    align-items:flex-start;
    border-radius:0 0 48% 48% / 0 0 42px 42px;
    background-position:center;
  }

  .login-premium-page .login-showcase-logo{
    width:176px;
    margin-bottom:16px;
  }

  .login-premium-page .login-showcase h1{
    max-width:272px;
    margin:0;
    color:#edf5ff;
    font-size:1rem;
    font-weight:700;
    letter-spacing:-.025em;
    line-height:1.25;
  }

  .login-premium-page .login-showcase h1 strong{color:#39a0ff}
  .login-premium-page .login-showcase-description,
  .login-premium-page .login-showcase-features,
  .login-premium-page .login-showcase-cta,
  .login-premium-page .login-desktop-info{display:none}

  .login-premium-page .login-form-area{
    display:block;
    min-height:0;
    margin-top:-28px;
    padding:52px 20px 0;
    background:transparent;
  }

  .login-premium-page .login-security-badge{
    position:absolute;
    z-index:4;
    top:214px;
    left:50%;
    right:auto;
    margin:0;
    padding:9px 14px;
    transform:translate(-50%,-50%);
    border-color:#d5e1ef;
    background:rgba(255,255,255,.96);
    color:#294362;
    font-size:.76rem;
    box-shadow:0 8px 20px rgba(24,56,101,.13);
    white-space:nowrap;
  }

  .login-premium-page .login-card-modern{
    width:100%;
    padding:20px 21px 18px;
    border-color:#dfe8f4;
    border-radius:25px;
    box-shadow:0 16px 35px rgba(25,60,108,.12);
  }

  .login-premium-page .login-intro{gap:13px;margin-bottom:16px}
  .login-premium-page .login-intro-icon{
    width:48px;
    height:48px;
    flex-basis:48px;
    border-radius:14px;
    font-size:1.28rem;
  }
  .login-premium-page .login-intro h2{margin-bottom:3px;font-size:1.34rem;letter-spacing:-.04em}
  .login-premium-page .login-intro p{font-size:.8rem}
  .login-premium-page .login-form{gap:5px}
  .login-premium-page .login-form>label{font-size:.78rem}
  .login-premium-page .login-input-wrap input{height:50px;font-size:.88rem}
  .login-premium-page .password-toggle{right:4px;width:44px;height:44px}
  .login-premium-page .login-options{flex-direction:row;align-items:center;gap:8px;margin:5px 0 7px}
  .login-premium-page .login-remember{gap:6px;font-size:.7rem;white-space:nowrap}
  .login-premium-page .login-forgot{margin-left:auto;font-size:.71rem;white-space:nowrap}
  .login-premium-page .login-submit{height:52px;font-size:.9rem}
  .login-premium-page .login-help{margin-top:13px;padding-top:11px;font-size:.68rem;line-height:1.3}
  .login-premium-page .login-support{margin-top:8px;font-size:.67rem;line-height:1.35}

  .login-premium-page .login-footer{
    position:absolute;
    z-index:2;
    right:12px;
    bottom:max(8px,env(safe-area-inset-bottom));
    left:12px;
    gap:6px;
    margin:0;
    color:#5d7192;
    font-size:.57rem;
    line-height:1.1;
  }
  .login-premium-page .login-footer img{width:47px;height:14px}
}

/* Alturas reduzidas preservam a ação, suporte e rodapé sem rolagem. */
@media(max-width:720px) and (max-height:720px){
  .login-premium-page .login-showcase{min-height:194px;height:194px;padding:23px 24px 46px}
  .login-premium-page .login-showcase-logo{width:162px;margin-bottom:13px}
  .login-premium-page .login-showcase h1{font-size:.9rem}
  .login-premium-page .login-form-area{margin-top:-24px;padding:44px 16px 0}
  .login-premium-page .login-security-badge{top:194px;padding:7px 12px;font-size:.7rem}
  .login-premium-page .login-card-modern{padding:16px 18px 14px;border-radius:22px}
  .login-premium-page .login-intro{margin-bottom:11px}
  .login-premium-page .login-intro-icon{width:43px;height:43px;flex-basis:43px;border-radius:12px;font-size:1.14rem}
  .login-premium-page .login-intro h2{font-size:1.18rem}
  .login-premium-page .login-intro p{font-size:.74rem}
  .login-premium-page .login-input-wrap input{height:46px}
  .login-premium-page .login-submit{height:48px}
  .login-premium-page .login-help{margin-top:9px;padding-top:8px;font-size:.62rem}
  .login-premium-page .login-support{margin-top:6px;font-size:.61rem}
  .login-premium-page .login-footer{font-size:.51rem}
}

@media(max-width:369px){
  .login-premium-page .login-options{align-items:flex-start;flex-direction:column;gap:5px}
  .login-premium-page .login-forgot{margin-left:0}
}

/* Mobile v2: composição própria, com hierarquia reduzida e rodapé sempre
   presente. Estas regras ficam no fim para prevalecer sobre os refinamentos
   históricos do login sem alterar sua estrutura ou seus eventos. */
@media(max-width:720px){
  .login-premium-page .login-showcase{
    min-height:210px!important;
    height:210px!important;
    padding:27px 28px 50px!important;
    border-radius:0 0 48% 48% / 0 0 46px 46px!important;
  }

  .login-premium-page .login-showcase-logo{
    width:174px!important;
    margin-bottom:15px!important;
  }

  .login-premium-page .login-showcase h1{
    max-width:270px!important;
    font-size:1rem!important;
    line-height:1.28!important;
    letter-spacing:-.025em!important;
  }
  .login-premium-page .login-showcase h1 strong{display:inline!important;color:#39a0ff!important}

  .login-premium-page .login-form-area{
    margin-top:-18px!important;
    padding:70px 20px 0!important;
  }

  .login-premium-page .login-security-badge{
    top:210px!important;
    padding:9px 15px!important;
    border-color:#d5e1ef!important;
    background:#fff!important;
    box-shadow:0 9px 22px rgba(24,56,101,.14)!important;
  }

  .login-premium-page .login-card-modern{
    padding:22px 21px 19px!important;
    border-radius:26px!important;
    box-shadow:0 17px 38px rgba(25,60,108,.13)!important;
  }

  .login-premium-page .login-intro{margin-bottom:17px!important}
  .login-premium-page .login-intro-icon{width:50px!important;height:50px!important;flex-basis:50px!important}
  .login-premium-page .login-intro h2{font-size:1.36rem!important}
  .login-premium-page .login-intro p{font-size:.81rem!important}
  .login-premium-page .login-input-wrap input{height:51px!important}
  .login-premium-page .login-submit{height:53px!important}

  .login-premium-page .login-help{
    display:flex!important;
    margin-top:14px!important;
    padding-top:11px!important;
  }

  .login-premium-page .login-footer{
    position:fixed!important;
    z-index:8!important;
    right:12px!important;
    bottom:max(9px,env(safe-area-inset-bottom))!important;
    left:12px!important;
    display:flex!important;
    color:#5d7192!important;
  }
}

@media(max-width:720px) and (max-height:720px){
  .login-premium-page .login-showcase{min-height:192px!important;height:192px!important;padding:22px 24px 43px!important}
  .login-premium-page .login-showcase-logo{width:160px!important;margin-bottom:12px!important}
  .login-premium-page .login-showcase h1{font-size:.9rem!important}
  .login-premium-page .login-form-area{margin-top:-16px!important;padding:60px 16px 0!important}
  .login-premium-page .login-security-badge{top:192px!important;padding:7px 12px!important}
  .login-premium-page .login-card-modern{padding:17px 18px 14px!important;border-radius:23px!important}
  .login-premium-page .login-intro{margin-bottom:12px!important}
  .login-premium-page .login-intro-icon{width:44px!important;height:44px!important;flex-basis:44px!important}
  .login-premium-page .login-intro h2{font-size:1.2rem!important}
  .login-premium-page .login-input-wrap input{height:47px!important}
  .login-premium-page .login-submit{height:49px!important}
  .login-premium-page .login-help{margin-top:10px!important;padding-top:8px!important;font-size:.62rem!important}
  .login-premium-page .login-support{font-size:.61rem!important}
}

/* Card de acesso desktop: a referência é aplicada somente ao formulário da
   direita; o fundo institucional e o painel de marca existentes permanecem
   intocados. */
.login-premium-page .login-card-brand,
.login-premium-page .login-card-security-badge{display:none}

@media(min-width:721px){
  .login-premium-page .login-security-badge{display:none}

  .login-premium-page .login-card-modern{
    position:relative;
    width:min(100%,650px);
    padding:0;
    overflow:hidden;
    border:1px solid #d9e3f1;
    border-radius:29px;
    background:#fff;
    box-shadow:0 24px 54px rgba(23,55,105,.16);
  }

  .login-premium-page .login-intro{
    position:relative;
    display:grid;
    grid-template-columns:minmax(210px,1fr) minmax(245px,1.15fr);
    align-items:center;
    gap:34px;
    min-height:193px;
    margin:0;
    padding:35px 42px 37px;
    overflow:hidden;
    border-bottom:3px solid #ff7a12;
    background:
      linear-gradient(116deg,rgba(1,22,75,.94),rgba(6,74,195,.88)),
      url('../img/login-painel.jpg') center/cover no-repeat;
  }

  .login-premium-page .login-intro::after{
    position:absolute;
    right:-1px;
    bottom:-3px;
    width:28%;
    height:49px;
    content:"";
    border-top:3px solid #ff7a12;
    border-radius:86% 0 0 0;
    background:#fff;
  }

  .login-premium-page .login-card-brand{
    position:relative;
    z-index:1;
    display:block;
    width:min(100%,250px);
    height:auto;
    filter:drop-shadow(0 8px 14px rgba(0,0,0,.15));
  }

  .login-premium-page .login-card-security-badge{
    position:absolute;
    z-index:2;
    top:22px;
    right:26px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border:1px solid rgba(255,255,255,.76);
    border-radius:999px;
    color:#fff;
    font-size:.76rem;
    font-style:normal;
    font-weight:700;
    white-space:nowrap;
  }
  .login-premium-page .login-card-security-badge svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .login-premium-page .login-card-security-badge i{
    width:7px;
    height:7px;
    margin-left:1px;
    border-radius:50%;
    background:#93d545;
    box-shadow:0 0 0 3px rgba(147,213,69,.16);
  }

  .login-premium-page .login-intro-icon{display:none}
  .login-premium-page .login-intro>div{
    position:relative;
    z-index:1;
    padding-left:28px;
    border-left:2px solid #ff8a16;
  }
  .login-premium-page .login-intro h2{
    margin:0 0 8px;
    color:#fff;
    font-size:1.82rem;
    font-weight:800;
    letter-spacing:-.04em;
    line-height:1.08;
  }
  .login-premium-page .login-intro p{color:#e7f0ff;font-size:.98rem}

  .login-premium-page .login-feedback{margin:22px 50px 0}
  .login-premium-page .login-form{gap:10px;padding:34px 50px 0}
  .login-premium-page .login-form>label{font-size:.94rem}
  .login-premium-page .login-input-wrap>svg{left:18px;width:22px;height:22px;color:#234999}
  .login-premium-page .login-input-wrap input{
    height:59px;
    padding-right:58px;
    padding-left:58px;
    border-radius:13px;
    font-size:.98rem;
  }
  .login-premium-page .login-input-wrap input:focus{box-shadow:0 0 0 4px rgba(25,96,238,.12)}
  .login-premium-page .password-toggle{right:10px;width:40px;height:40px}
  .login-premium-page .login-options{margin:9px 0 13px}
  .login-premium-page .login-remember,
  .login-premium-page .login-forgot{font-size:.89rem}
  .login-premium-page .login-submit{height:60px;border-radius:13px!important;font-size:1rem}
  .login-premium-page .login-help{
    justify-content:flex-start;
    margin:38px -50px 0;
    padding:22px 50px;
    border-top:1px solid #e2e8f2;
    color:#163b8c;
    font-size:.88rem;
    text-align:left;
  }
  .login-premium-page .login-help svg{width:23px;height:23px;stroke:#1269e8}
  .login-premium-page .login-support{
    justify-content:flex-start;
    margin:0;
    padding:0 50px 29px;
    color:#163b8c;
    font-size:.88rem;
    text-align:left;
  }
  .login-premium-page .login-support-icon{width:23px;height:23px;stroke:#f47c19}
  .login-premium-page .login-support b{color:#075fe1}
}

@media(min-width:721px) and (max-height:800px){
  .login-premium-page .login-card-modern{width:min(100%,570px)}
  .login-premium-page .login-intro{min-height:155px;padding:28px 36px 29px}
  .login-premium-page .login-card-brand{width:205px}
  .login-premium-page .login-intro h2{font-size:1.52rem}
  .login-premium-page .login-form{padding:24px 40px 0}
  .login-premium-page .login-input-wrap input{height:52px}
  .login-premium-page .login-submit{height:53px}
  .login-premium-page .login-help{margin:24px -40px 0;padding:16px 40px}
  .login-premium-page .login-support{padding:0 40px 21px}
}

/* Larguras intermediárias: impede que o selo e a curva disputem espaço com o
   título. A composição ampla da referência permanece em monitores grandes. */
@media(min-width:721px) and (max-width:1100px){
  .login-premium-page .login-card-modern{width:min(100%,570px)}
  .login-premium-page .login-intro{
    grid-template-columns:minmax(166px,.9fr) minmax(195px,1.1fr);
    gap:20px;
    min-height:190px;
    padding:42px 38px 28px;
  }
  .login-premium-page .login-card-brand{width:190px}
  .login-premium-page .login-card-security-badge{top:16px;right:18px;font-size:.68rem}
  .login-premium-page .login-intro>div{padding-top:23px;padding-left:20px}
  .login-premium-page .login-intro h2{font-size:1.35rem;line-height:1.14}
  .login-premium-page .login-intro p{font-size:.83rem;line-height:1.32}
  .login-premium-page .login-intro::after{display:none!important}
  .login-premium-page .login-form{padding:28px 40px 0}
  .login-premium-page .login-help{margin-right:-40px;margin-left:-40px;padding-right:40px;padding-left:40px}
  .login-premium-page .login-support{padding-right:40px;padding-left:40px}
}

/* Correção estrutural do cabeçalho do card: o selo ocupa uma faixa própria e
   nunca mais concorre com o texto de boas-vindas. */
@media(min-width:721px){
  .login-premium-page .login-intro{
    grid-template-columns:minmax(175px,.92fr) minmax(0,1.08fr);
    align-items:end;
    min-height:205px;
    padding-top:54px;
  }
  .login-premium-page .login-intro>div{
    min-width:0;
    padding-top:0;
  }
  .login-premium-page .login-card-security-badge{top:17px;right:24px}
  .login-premium-page .login-intro::after{display:none!important}
}

/* Card desktop compacto: preserva a hierarquia da referência sem competir com
   o painel institucional ao redor. */
@media(min-width:721px){
  .login-premium-page .login-card-modern{width:min(100%,570px)}
  .login-premium-page .login-intro{
    min-height:170px;
    gap:24px;
    padding:47px 34px 26px;
  }
  .login-premium-page .login-card-brand{width:200px}
  .login-premium-page .login-card-security-badge{top:14px;right:18px;padding:7px 10px;font-size:.66rem}
  .login-premium-page .login-intro>div{padding-left:20px}
  .login-premium-page .login-intro h2{margin-bottom:5px;font-size:1.42rem}
  .login-premium-page .login-intro p{font-size:.82rem}
  .login-premium-page .login-feedback{margin:16px 36px 0}
  .login-premium-page .login-form{gap:8px;padding:24px 36px 0}
  .login-premium-page .login-form>label{font-size:.84rem}
  .login-premium-page .login-input-wrap input{height:52px;font-size:.9rem}
  .login-premium-page .login-input-wrap>svg{left:16px;width:20px;height:20px}
  .login-premium-page .password-toggle{width:38px;height:38px}
  .login-premium-page .login-options{margin:6px 0 9px}
  .login-premium-page .login-remember,
  .login-premium-page .login-forgot{font-size:.8rem}
  .login-premium-page .login-submit{height:53px;font-size:.91rem}
  .login-premium-page .login-help{
    margin:25px -36px 0;
    padding:15px 36px;
    font-size:.76rem;
  }
  .login-premium-page .login-help svg{width:20px;height:20px}
  .login-premium-page .login-support{padding:0 36px 20px;font-size:.76rem}
  .login-premium-page .login-support-icon{width:20px;height:20px}
}

/* Densidade final do card desktop: mais compacto sem reduzir os alvos de clique. */
@media(min-width:721px){
  .login-premium-page .login-card-modern{width:min(100%,525px)}
  .login-premium-page .login-intro{min-height:155px;gap:19px;padding:43px 30px 22px}
  .login-premium-page .login-card-brand{width:180px}
  .login-premium-page .login-card-security-badge{top:12px;right:15px;padding:6px 9px;font-size:.62rem}
  .login-premium-page .login-intro>div{padding-left:17px}
  .login-premium-page .login-intro h2{font-size:1.3rem}
  .login-premium-page .login-intro p{font-size:.76rem}
  .login-premium-page .login-feedback{margin:14px 31px 0}
  .login-premium-page .login-form{gap:7px;padding:20px 31px 0}
  .login-premium-page .login-form>label{font-size:.8rem}
  .login-premium-page .login-input-wrap input{height:48px;padding-right:52px;padding-left:52px;font-size:.86rem}
  .login-premium-page .login-input-wrap>svg{left:15px;width:19px;height:19px}
  .login-premium-page .password-toggle{right:8px;width:36px;height:36px}
  .login-premium-page .login-options{margin:5px 0 8px}
  .login-premium-page .login-remember,
  .login-premium-page .login-forgot{font-size:.76rem}
  .login-premium-page .login-submit{height:49px;font-size:.88rem}
  .login-premium-page .login-help{margin:22px -31px 0;padding:13px 31px;font-size:.72rem}
  .login-premium-page .login-help svg,
  .login-premium-page .login-support-icon{width:19px;height:19px}
  .login-premium-page .login-support{padding:0 31px 17px;font-size:.72rem}
}

/* Refinos de leitura: ação principal ligeiramente mais presente e rodapé mais leve. */
@media(min-width:721px){
  .login-premium-page .login-submit{
    height:53px;
    font-size:.9rem;
  }

  .login-premium-page .login-help{
    margin-top:20px;
    padding-top:12px;
    padding-bottom:10px;
    border-top-color:#eaf0f8;
    line-height:1.35;
  }

  .login-premium-page .login-support{
    padding-bottom:15px;
    line-height:1.35;
  }
}

/* Mobile: replica a linguagem do card novo sem forçar a composição desktop. */
@media(max-width:720px){
  .login-premium-page .login-card-modern{
    overflow:hidden;
    padding:0!important;
    border-radius:24px!important;
    background:#fff;
    box-shadow:0 18px 38px rgba(24,59,106,.14)!important;
  }

  .login-premium-page .login-intro{
    position:relative;
    display:flex;
    min-height:94px;
    margin:0!important;
    padding:20px 20px 18px;
    overflow:hidden;
    color:#fff;
    background:
      linear-gradient(118deg,rgba(2,25,82,.97),rgba(7,91,213,.92)),
      url('../img/login-painel.jpg') center/cover no-repeat;
  }

  .login-premium-page .login-intro::after{
    position:absolute;
    right:-24px;
    bottom:-35px;
    width:120px;
    height:82px;
    content:"";
    border:2px solid rgba(255,130,20,.9);
    border-radius:50%;
  }

  .login-premium-page .login-intro-icon{
    position:relative;
    z-index:1;
    width:46px!important;
    height:46px!important;
    flex-basis:46px!important;
    border:1px solid rgba(255,255,255,.34);
    border-radius:13px;
    background:rgba(255,255,255,.13);
    box-shadow:none;
    font-size:1.18rem;
  }

  .login-premium-page .login-intro-icon b{color:#ff9a3d}
  .login-premium-page .login-intro > div{position:relative;z-index:1}
  .login-premium-page .login-intro h2{margin:0 0 3px;color:#fff;font-size:1.28rem!important;letter-spacing:-.035em}
  .login-premium-page .login-intro p{color:#dceaff;font-size:.78rem!important}

  .login-premium-page .login-feedback{margin:14px 20px 0}
  .login-premium-page .login-form{gap:6px;padding:18px 20px 0}
  .login-premium-page .login-form > label{font-size:.8rem}
  .login-premium-page .login-input-wrap input{height:50px!important;font-size:.9rem}
  .login-premium-page .login-options{margin:6px 0 9px}
  .login-premium-page .login-remember,.login-premium-page .login-forgot{font-size:.72rem}
  .login-premium-page .login-submit{height:53px!important;font-size:.91rem}
  .login-premium-page .login-help{
    margin:17px -20px 0!important;
    padding:12px 20px!important;
    border-top-color:#e9f0f8;
    color:#526b8d;
    font-size:.69rem!important;
  }
  .login-premium-page .login-support{
    margin:0!important;
    padding:0 20px 16px;
    color:#526b8d;
    font-size:.68rem!important;
  }

  .login-premium-page .login-card-brand,
  .login-premium-page .login-card-security-badge{display:none}
}

@media(max-width:720px) and (max-height:720px){
  .login-premium-page .login-intro{min-height:78px;padding:15px 18px 14px}
  .login-premium-page .login-intro-icon{width:40px!important;height:40px!important;flex-basis:40px!important;font-size:1rem}
  .login-premium-page .login-intro h2{font-size:1.1rem!important}
  .login-premium-page .login-intro p{font-size:.69rem!important}
  .login-premium-page .login-form{padding:13px 18px 0}
  .login-premium-page .login-input-wrap input{height:46px!important}
  .login-premium-page .login-submit{height:49px!important}
  .login-premium-page .login-help{margin:11px -18px 0!important;padding:8px 18px!important;font-size:.61rem!important}
  .login-premium-page .login-support{padding:0 18px 11px;font-size:.61rem!important}
}

/* Mobile dark: versão de acesso preparada para a biometria futura. */
.login-biometric-divider,.login-biometric{display:none}
.login-biometric-divider[hidden],.login-biometric[hidden]{display:none!important}

@media(max-width:720px){
  html:has(body.login-premium-page),body.login-premium-page,body.login-premium-page .main,body.login-premium-page .content,.login-premium-page .login-layout{min-height:100dvh;height:auto;overflow-x:hidden;overflow-y:visible}
  body.login-premium-page,body.login-premium-page .content,.login-premium-page .login-layout{background:#020a18!important}
  .login-premium-page .login-showcase{display:flex;min-height:278px!important;height:278px!important;padding:54px 28px 62px!important;align-items:center;justify-content:center;border-radius:0 0 20% 20% / 0 0 34px 34px!important;background-image:linear-gradient(150deg,rgba(0,6,18,.64),rgba(1,17,45,.3)),url('../img/login-painel.jpg');background-position:center}
  .login-premium-page .login-showcase-content{width:100%;text-align:center}
  .login-premium-page .login-showcase-logo{width:min(100%,260px)!important;margin:0!important}
  .login-premium-page .login-showcase h1,.login-premium-page .login-showcase-description,.login-premium-page .login-showcase-features,.login-premium-page .login-showcase-cta,.login-premium-page .login-desktop-info{display:none!important}
  .login-premium-page .login-form-area{position:relative!important;display:block;min-height:0!important;margin-top:-32px!important;padding:66px 30px 34px!important;background:transparent!important}
  .login-premium-page .login-security-badge{position:absolute!important;z-index:5;top:0!important;left:50%;right:auto!important;margin:0!important;padding:10px 17px!important;transform:translate(-50%,-50%)!important;border-color:rgba(112,155,230,.34)!important;background:rgba(5,19,42,.92)!important;color:#c7d7ef!important;box-shadow:0 10px 24px rgba(0,0,0,.25)!important}
  .login-premium-page .login-security-badge svg{stroke:#4e8cff!important}
  .login-premium-page .login-card-modern{overflow:hidden;padding:0!important;border:1px solid rgba(112,157,230,.5)!important;border-radius:26px!important;background:linear-gradient(145deg,rgba(5,22,48,.96),rgba(2,13,31,.98))!important;box-shadow:0 20px 44px rgba(0,0,0,.36)!important}
  .login-premium-page .login-intro{min-height:auto;margin:0 22px!important;padding:24px 0 22px;border-bottom:1px solid rgba(120,153,205,.2);background:none!important}
  .login-premium-page .login-intro::after{display:none}
  .login-premium-page .login-intro-icon{width:52px!important;height:52px!important;flex-basis:52px!important;border:1px solid rgba(124,162,222,.36);border-radius:14px;background:linear-gradient(145deg,#102c59,#07172f)!important;box-shadow:none}
  .login-premium-page .login-intro h2{color:#f5f8ff!important;font-size:1.35rem!important}
  .login-premium-page .login-intro p{color:#aebed6!important;font-size:.82rem!important}
  .login-premium-page .login-intro-icon b{color:#ff942f}
  .login-premium-page .login-feedback{margin:14px 22px 0}
  .login-premium-page .login-form{gap:7px;padding:22px 22px 0}
  .login-premium-page .login-form>label{color:#aebbd1;font-size:.68rem;font-weight:750;letter-spacing:.12em}
  .login-premium-page .login-input-wrap>svg{color:#6f8fbe;stroke:currentColor}
  .login-premium-page .login-input-wrap input{height:55px!important;border-color:rgba(111,148,205,.36)!important;background:rgba(1,11,27,.62)!important;color:#f4f7ff!important;font-size:.9rem}
  .login-premium-page .login-input-wrap input::placeholder{color:#8295b2}
  .login-premium-page .login-input-wrap input:focus{border-color:#4189ff!important;box-shadow:0 0 0 3px rgba(40,111,245,.17)!important}
  .login-premium-page .password-toggle{color:#a9bad6}
  .login-premium-page .login-options{margin:9px 0 11px}
  .login-premium-page .login-remember{color:#d4dfef;font-size:.75rem}
  .login-premium-page .login-remember input{accent-color:#4489ff}
  .login-premium-page .login-forgot{color:#ff9b35;font-size:.75rem}
  .login-premium-page .login-submit{height:57px!important;border:1px solid rgba(86,154,255,.85)!important;background:linear-gradient(102deg,#09388f 0%,#176de7 62%,#bd5c25 100%)!important;box-shadow:0 11px 23px rgba(24,93,220,.23)!important}
  .login-biometric-divider{display:flex;align-items:center;gap:14px;margin:17px 0;color:#7386a4;font-size:.72rem}
  .login-biometric-divider::before,.login-biometric-divider::after{height:1px;flex:1;content:"";background:rgba(119,151,202,.23)}
  .login-biometric{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:55px;border:1px solid rgba(66,133,242,.62);border-radius:13px;background:rgba(4,18,43,.62);color:#d8e5f9;font:inherit;font-size:.88rem;font-weight:750;opacity:1;cursor:not-allowed}
  .login-biometric svg{width:26px;height:26px;fill:none;stroke:#4d8fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .login-premium-page .login-help{margin:23px 0 0!important;padding:0!important;border:0!important;color:#9cacc3!important;font-size:.7rem!important}
  .login-premium-page .login-help svg{stroke:#4e8cff!important}
  .login-premium-page .login-support{display:none!important}
  .login-premium-page .login-footer{position:static!important;display:flex!important;margin:25px 0 0!important;color:#8394ae!important;font-size:.62rem!important}
  .login-premium-page .login-footer img{width:56px!important;height:17px!important;filter:brightness(0) invert(1) grayscale(1) opacity(.86)}
}

@media(max-width:380px){
  .login-premium-page .login-showcase{min-height:236px!important;height:236px!important;padding:43px 22px 54px!important}
  .login-premium-page .login-showcase-logo{width:225px!important}
  .login-premium-page .login-form-area{padding-right:22px!important;padding-left:22px!important}
  .login-premium-page .login-intro{margin-right:18px!important;margin-left:18px!important}
  .login-premium-page .login-form{padding-right:18px;padding-left:18px}
  .login-premium-page .login-input-wrap input{height:51px!important}
  .login-premium-page .login-submit,.login-biometric{height:52px!important}
}

/* Neutraliza somente as declarações !important do mobile-first atual no desktop. */
@media(min-width:721px){
  body.login-premium-page .content{display:block!important;max-width:none!important;min-height:100dvh!important;width:100%!important;margin:0!important;padding:0!important;background:#eaf2fc!important}
  .login-premium-page .login-layout{display:grid!important;grid-template-columns:minmax(0,48fr) minmax(0,52fr)!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:100dvh!important;height:100dvh!important;margin:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;background:#edf5ff url('../img/login-desktop-nepo.png') center/cover no-repeat!important;box-shadow:none!important}
  .login-premium-page .login-form-area{display:grid!important;place-items:center!important;align-content:center!important;width:auto!important;min-width:0!important;min-height:100dvh!important;padding:88px clamp(36px,5.5vw,106px) 82px!important;background:transparent!important}
}
@media(min-width:721px) and (max-height:820px){.login-premium-page .login-form-area{padding-top:64px!important;padding-bottom:58px!important}}
@media(min-width:721px) and (max-height:760px){.login-premium-page .login-form-area{padding-top:48px!important;padding-bottom:46px!important}}