/* Telas públicas de entrada (UTIL/AUTH/templates/login.html e definir_senha.html) */
.lg-body { background: var(--ms-surface); min-height: 100vh; }
.lg-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 100vh; }
.lg-coluna { display: flex; flex-direction: column; padding: var(--ms-space-6) var(--ms-space-8); position: relative; overflow: hidden; }
.lg-marca-dagua { position: absolute; top: -12%; left: -12%; width: 60%; max-width: 460px; opacity: 0.06; pointer-events: none; z-index: 0; }
.lg-marca-dagua img { width: 100%; height: auto; display: block; }
.lg-icone { display: inline-block; align-self: flex-start; position: relative; z-index: 1; }
.lg-icone img { height: 100px; width: 100px; display: block; }
.lg-caixa { margin: auto 0; width: 100%; max-width: 380px; align-self: center; padding: var(--ms-space-8) 0; position: relative; z-index: 1; }
.lg-titulo { margin: 0 0 var(--ms-space-1); font-size: var(--ms-text-xl); font-weight: 700; color: var(--ms-text); }
.lg-sub { margin: 0 0 var(--ms-space-6); font-size: var(--ms-text-base); color: var(--ms-muted); }
.lg-caixa .ms-field { margin-bottom: var(--ms-space-3); }
.lg-botao { width: 100%; justify-content: center; margin-top: var(--ms-space-4); }
.lg-caixa .ms-alert { margin-top: var(--ms-space-3); }
.lg-sessao { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ms-space-2); margin: 0 0 var(--ms-space-4); }
.lg-links { display: flex; justify-content: space-between; gap: var(--ms-space-2); margin-top: var(--ms-space-3); }
.lg-painel { background: var(--ms-accent-soft); position: relative; overflow: hidden; }
.lg-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.lg-requisitos { list-style: none; margin: var(--ms-space-3) 0 0; padding: 0; display: grid; gap: var(--ms-space-1); }
.lg-requisito { display: flex; align-items: center; gap: var(--ms-space-2); font-size: var(--ms-text-sm); color: var(--ms-muted); }
.lg-requisito::before { content: "○"; width: 16px; text-align: center; flex-shrink: 0; }
.lg-requisito.is-ok { color: var(--ms-green-deep); font-weight: 600; }
.lg-requisito.is-ok::before { content: "✓"; }

@media (max-width: 860px) {
  .lg-split { grid-template-columns: minmax(0, 1fr); }
  .lg-painel { display: none; }
  .lg-coluna { padding: var(--ms-space-5) var(--ms-space-4); }
}
