/* Tela de entrada: simples, padrão e segura. Não mostra nenhum dado nem estrutura do sistema. */
*,*::before,*::after{box-sizing:border-box}
body{margin:0}
.lv{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 18px;overflow:auto;color:var(--ink);background:var(--bg)}
.lv[hidden]{display:none}
.lv-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.lv-bg::before{content:"";position:absolute;inset:0;background:
  radial-gradient(60% 50% at 12% 8%,color-mix(in srgb,var(--brand) 18%,transparent),transparent 70%),
  radial-gradient(55% 55% at 92% 92%,color-mix(in srgb,#2260c9 14%,transparent),transparent 70%)}
.lv-bg::after{content:"";position:absolute;inset:0;opacity:.5;background-image:radial-gradient(color-mix(in srgb,var(--ink) 16%,transparent) 1px,transparent 1.4px);background-size:26px 26px;
  mask-image:radial-gradient(70% 60% at 50% 45%,#000 10%,transparent 78%);-webkit-mask-image:radial-gradient(70% 60% at 50% 45%,#000 10%,transparent 78%)}
.lv-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;animation:lvdrift 18s ease-in-out infinite alternate}
.lv-orb.o1{width:380px;height:380px;background:var(--brand-bright);left:-110px;top:-120px;opacity:.28}
.lv-orb.o2{width:340px;height:340px;background:#2260c9;right:-110px;bottom:-130px;opacity:.2;animation-delay:-7s}
@keyframes lvdrift{to{transform:translate(36px,26px) scale(1.1)}}

.lv-card{position:relative;width:min(410px,100%);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid var(--line);border-radius:24px;padding:40px 36px 30px;text-align:center;box-shadow:var(--sh2);animation:lvin .5s cubic-bezier(.2,.8,.2,1)}
@keyframes lvin{from{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}
.lv-mark{width:62px;height:62px;margin:0 auto 18px;border-radius:19px;background:linear-gradient(140deg,var(--brand-bright),var(--brand-btn) 55%,#0a2a72);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:30px;color:#fff;
  box-shadow:0 14px 34px rgba(10,42,114,.38),inset 0 1px 0 rgba(255,255,255,.28)}
.lv-mark svg{width:30px;height:30px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lv-card.denied .lv-mark{background:linear-gradient(140deg,#f3b24d,#c8791a);box-shadow:0 14px 34px rgba(200,121,26,.35),inset 0 1px 0 rgba(255,255,255,.28)}
.lv-card.expired .lv-mark{background:linear-gradient(140deg,#7aa8ff,#2260c9);box-shadow:0 14px 34px rgba(34,96,201,.35),inset 0 1px 0 rgba(255,255,255,.28)}
.lv-brand{font-size:12px;font-weight:800;letter-spacing:.26em;color:var(--brand-ink);margin:0 0 20px}
.lv-card h1{margin:0 0 8px;font-size:26px;line-height:1.15;font-weight:780;letter-spacing:-.025em}
.lv-card p{margin:0 0 26px;color:var(--muted);font-size:14.5px;line-height:1.6}
.lv-ms{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;border-radius:13px;border:1px solid #8c8c8c;background:#fff;color:#4b4b4b;font-size:15px;font-weight:650;text-decoration:none;cursor:pointer;transition:box-shadow .15s,transform .1s,background .15s}
.lv-ms:hover{background:#f5f5f5;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.lv-ms:active{transform:translateY(1px)}
.lv-ms svg{width:21px;height:21px;flex:none}
.lv-alt{display:block;margin-top:12px;font-size:13.5px;font-weight:650;color:var(--brand-ink);text-decoration:none;padding:12px;border-radius:12px;border:1px solid var(--line-2)}
.lv-alt:hover{background:var(--brand-soft)}
.lv-note{display:flex;align-items:flex-start;gap:10px;margin-top:26px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:12.5px;line-height:1.55;text-align:left}
.lv-note svg{flex:none;width:17px;height:17px;stroke:var(--brand);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.lv-foot{position:relative;margin-top:22px;color:var(--muted);font-size:12px;text-align:center}
.lv-msg{display:none}
.lv-card.login .m-login,.lv-card.expired .m-expired,.lv-card.denied .m-denied,.lv-card.loggedout .m-loggedout{display:block}
.lv-card.denied .lv-ms{display:none}
.lv-card:not(.denied) .lv-alt{display:none}
.lv-theme{position:absolute;top:16px;right:16px;min-height:42px;width:42px;padding:0;border-radius:13px;display:flex;align-items:center;justify-content:center}
.lv-theme svg{width:18px;height:18px}
@media(max-width:480px){.lv-card{padding:32px 22px 24px;border-radius:22px}.lv-card h1{font-size:24px}}
@media(prefers-reduced-motion:reduce){.lv-orb,.lv-card{animation:none}}

.lv-acct{margin:-10px 0 18px!important;font-size:12.5px!important;font-family:ui-monospace,Consolas,monospace;word-break:break-all;color:var(--ink-2)!important}

/* logotipo no lugar do quadrado "O" (entrar / saiu); ícones continuam nos avisos de sessão expirada e acesso negado */
.lv-card.login .lv-mark,.lv-card.loggedout .lv-mark{width:auto;height:auto;border-radius:0;background:none;box-shadow:none;margin:0 auto 14px}
.lv-mark .bl{display:block;height:68px;width:auto;margin:0 auto}
.lv-mark .bl-white{display:none}
:root[data-theme=dark] .lv-mark .bl-color{display:none}
:root[data-theme=dark] .lv-mark .bl-white{display:block}
.lv-brand{font-size:11px;letter-spacing:.2em}
