/* ====================================================================
   web/css/legal.css — Termos de Uso e Política de Privacidade
   (spec de acesso seguro 19/10/2026, §4.2). Páginas estáticas e públicas,
   no mesmo visual do login (fundo branco, fonte do sistema, azul do
   produto). Tokens com os valores de web/css/visual-a.css.
   ==================================================================== */
:root {
  --lg-ink: #0a1628; --lg-dim: #5b6472; --lg-line: #e6e8ec; --lg-fill: #f3f4f6;
  --lg-azul: #152848; --lg-azul-10: #e6ecf6; --lg-gold: #c9a040;
  --lg-alerta: #7d5e10; --lg-alerta-fundo: #fbf4e2; --lg-alerta-linha: #ecd9a6;
  --lg-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 16px; }
body.lg {
  margin: 0; background: #fff; color: var(--lg-ink); font-family: var(--lg-font);
  font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-wrap: anywhere;
}
.lg a { color: var(--lg-azul); }
.lg a:focus-visible { outline: 3px solid var(--lg-azul-10); outline-offset: 2px; border-radius: 4px; }

/* faixa de rascunho: sai quando o board aprovar o texto */
.lg-faixa {
  background: var(--lg-alerta-fundo); border-bottom: 1px solid var(--lg-alerta-linha); color: var(--lg-alerta);
  padding: 12px 16px; font-size: 14px; line-height: 1.5; text-align: center;
}
.lg-faixa strong { display: block; font-size: 15px; }
.lg-faixa-conv { display: block; margin-top: 4px; font-size: 13px; }

.lg-topo {
  max-width: 760px; margin: 0 auto; padding: 20px 16px 0;
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
}
.lg-marca { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--lg-ink) !important; font-weight: 600; font-size: 16px; min-height: 44px; }
.lg-marca img { display: block; }
.lg-nav { display: flex; gap: 2px; background: var(--lg-fill); border-radius: 12px; padding: 3px; }
.lg-nav a {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 9px;
  font-size: 14px; font-weight: 500; color: var(--lg-dim) !important; text-decoration: none;
}
.lg-nav a[aria-current="page"] { background: #fff; color: var(--lg-ink) !important; font-weight: 600; box-shadow: 0 1px 2px rgba(10,22,40,.08); }

.lg-doc { max-width: 760px; margin: 0 auto; padding: 24px 16px 32px; }
.lg-doc h1 { font-size: 28px; line-height: 1.25; font-weight: 600; letter-spacing: -.02em; margin: 8px 0 8px; }
.lg-versao { color: var(--lg-dim); font-size: 14px; margin: 0 0 28px; }
.lg-secao { border-top: 1px solid var(--lg-line); padding-top: 8px; margin-top: 24px; }
.lg-doc h2 { font-size: 19px; line-height: 1.35; font-weight: 600; margin: 16px 0 8px; }
.lg-ancora { margin-left: 6px; color: var(--lg-dim) !important; text-decoration: none; font-weight: 400; opacity: 0; }
.lg-doc h2:hover .lg-ancora, .lg-ancora:focus { opacity: 1; }
.lg-doc p { margin: 0 0 12px; }
.lg-doc ul { margin: 0 0 12px; padding-left: 22px; }
.lg-doc li { margin-bottom: 6px; }
.lg-historico { margin-top: 32px !important; color: var(--lg-dim); font-size: 14px; }

.lg-tabela { overflow-x: auto; margin: 4px 0 16px; border: 1px solid var(--lg-line); border-radius: 12px; }
.lg-tabela table { border-collapse: collapse; width: 100%; font-size: 14.5px; line-height: 1.5; }
.lg-tabela th, .lg-tabela td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--lg-line); }
.lg-tabela th { background: var(--lg-fill); font-weight: 600; }
.lg-tabela tr:last-child td { border-bottom: 0; }
@media (max-width: 520px) {
  .lg-tabela table { min-width: 520px; }
  .lg-doc h1 { font-size: 24px; }
}

/* marcadores do rascunho: ficam visíveis até a versão final */
.marca-juridica {
  background: var(--lg-alerta-fundo); color: var(--lg-alerta); border: 1px solid var(--lg-alerta-linha);
  border-radius: 6px; padding: 0 5px; font-size: .92em;
}
.marca-preencher { background: var(--lg-azul-10); color: var(--lg-azul); border-radius: 6px; padding: 0 4px; font-size: .95em; }

.lg-pe {
  max-width: 760px; margin: 0 auto; padding: 16px 16px 40px; border-top: 1px solid var(--lg-line);
  display: flex; gap: 10px; align-items: center; font-size: 14px; color: var(--lg-dim);
}
.lg-pe a { display: inline-flex; align-items: center; min-height: 44px; }
@media print { .lg-nav, .lg-pe, .lg-ancora { display: none; } }
