/* Tela de entrada (v1.19.8). Marca: marinho #0b2852, fibra #19b9ee, fonte Inter (local). */
body:has(.lg-tela){background:#071a35;overflow:hidden}
.wrap:has(.lg-tela){max-width:none;width:100%;margin:0;padding:0}
.wrap:has(.lg-tela)+.footer,body:has(.lg-tela) .bt-rodape{display:none}

.lg-tela{position:fixed;inset:0;overflow:auto;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);font-family:Inter,system-ui,sans-serif;color:#fff;
  background:linear-gradient(160deg,#0b2852 0%,#08203f 55%,#061830 100%)}
.lg-com-faixa{padding-top:34px}
.lg-tela .lg-faixa{position:absolute;top:0;left:0;right:0;z-index:5}

/* Lado da marca: a linha de fibra é o único enfeite (um pulso de luz percorre uma vez ao abrir). */
.lg-tela .lg-marca{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:8vh 7vw}
.lg-tela .lg-fibra{position:absolute;inset:0;width:100%;height:100%}
.lg-tela .lg-fibra path{stroke:#19b9ee;stroke-width:1.4;opacity:.28}
.lg-tela .lg-fibra .lg-fibra-luz{opacity:1;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:6 100;stroke-dashoffset:6;filter:drop-shadow(0 0 6px #19b9ee);animation:lg-pulso 2.6s cubic-bezier(.5,0,.3,1) .3s 1 forwards}
@keyframes lg-pulso{to{stroke-dashoffset:-100}}
.lg-tela .lg-logo{position:relative;width:min(340px,62%);height:auto}
.lg-tela .lg-texto{position:relative;margin-top:44px;max-width:34rem}
.lg-tela .lg-texto h1{color:#fff;font-size:clamp(28px,2.6vw,42px);line-height:1.12;font-weight:700;letter-spacing:-.01em;margin:0 0 14px}
.lg-tela .lg-texto p{font-size:clamp(15px,1.1vw,18px);line-height:1.6;color:#c3d4e6;margin:0 0 26px;max-width:30rem}
.lg-tela .lg-modulos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.lg-tela .lg-modulos li{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;border:1px solid #ffffff1f;border-radius:999px;background:#ffffff0a;font-size:14px;font-weight:500;color:#e3edf7}
.lg-tela .lg-modulos li:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}

/* Lado do formulário: cartão claro, alto contraste. */
.lg-tela .lg-lado-form{display:flex;align-items:center;justify-content:center;padding:6vh 5vw;background:#f4f7fb}
.lg-tela .lg-cartao{width:100%;max-width:400px;min-width:0;color:#0b2852}
.lg-tela .lg-logo-mini{display:none;height:40px;width:auto;margin-bottom:22px}
.lg-tela .lg-cartao h2{font-size:30px;line-height:1.15;font-weight:700;margin:0 0 6px;display:flex;align-items:center;gap:10px}
.lg-tela .lg-tag-teste{font-size:12px;font-weight:600;background:#ffd43b;color:#3d2c00;border-radius:6px;padding:3px 8px}
.lg-tela .lg-sub{margin:0 0 24px;color:#5b7083;font-size:15px}
.lg-tela .lg-msg{border-radius:10px;padding:11px 14px;margin:0 0 16px;font-size:14px;font-weight:500;background:#fdecea;color:#8f1f1a;border:1px solid #f4c7c2}
.lg-tela .lg-msg.flash-ok,.lg-tela .lg-msg.flash-sucesso{background:#e8f6ee;color:#13653b;border-color:#b6e2c8}
.lg-tela .lg-form{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.lg-tela .lg-campo{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin:0}
.lg-tela .lg-campo>span:first-child{font-size:14px;font-weight:600;color:#0b2852}
.lg-tela .lg-entrada{position:relative;display:flex;align-items:center;background:#fff;border:1.5px solid #cfdbe7;border-radius:11px;transition:border-color .15s,box-shadow .15s}
.lg-tela .lg-entrada:focus-within{border-color:#19b9ee;box-shadow:0 0 0 4px #19b9ee2b}
.lg-tela .lg-entrada svg{width:20px;height:20px;margin-left:14px;flex-shrink:0;fill:none;stroke:#6b8299;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lg-tela .lg-entrada input{flex:1;min-width:0;width:auto;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;padding:14px 12px;font:500 16px Inter,system-ui,sans-serif;color:#0b2852;min-height:0;margin:0}
.lg-tela .lg-entrada input::placeholder{color:#9aabbc;font-weight:400}
.lg-tela .lg-olho{border:0;background:transparent;color:#0f6cbd;font:600 13px Inter,system-ui,sans-serif;padding:8px 14px;cursor:pointer;width:auto;min-height:0;box-shadow:none}
.lg-tela .lg-olho:hover{text-decoration:underline;background:transparent}
.lg-tela .lg-caps{color:#9a5b00;font-size:13px}
.lg-tela .lg-lembrar{display:flex;align-items:center;gap:8px;font-size:14px;color:#46647c;cursor:pointer;margin:0;font-weight:500}
.lg-tela .lg-lembrar input{width:16px;height:16px;margin:0;accent-color:#0b2852}
.lg-tela .lg-entrar{margin-top:4px;width:100%;border:0;border-radius:11px;padding:15px;background:#0b2852;color:#fff;font:600 16px Inter,system-ui,sans-serif;cursor:pointer;transition:background .15s}
.lg-tela .lg-entrar:hover{background:#123766}
.lg-tela .lg-entrar:focus-visible,.lg-tela .lg-olho:focus-visible{outline:3px solid #19b9ee;outline-offset:2px}
.lg-tela .lg-entrar[aria-busy=true]{opacity:.8;cursor:progress}
.lg-tela .lg-ajuda{margin:22px 0 0;font-size:13.5px;line-height:1.5;color:#5b7083}
.lg-tela .lg-versao{margin:28px 0 0;padding-top:16px;border-top:1px solid #dbe5ee;font-size:12px;color:#8296aa}

@media (max-width:860px){
  .lg-tela{grid-template-columns:minmax(0,1fr)}
  .lg-tela .lg-marca{display:none}
  .lg-tela .lg-lado-form{min-height:100vh;align-items:flex-start;padding:10vh 22px 40px}
  .lg-com-faixa .lg-lado-form{min-height:calc(100vh - 34px)}
  .lg-tela .lg-logo-mini{display:block}
}
@media (prefers-reduced-motion:reduce){.lg-tela .lg-fibra .lg-fibra-luz{animation:none;opacity:0}}
