
:root {
  --plane:#f9f9f7; --surface:#fcfcfb; --ink:#0b0b0b; --ink-secondary:#52514e; --ink-muted-texto:#6f6e68;
  --hairline:#e1e0d9; --acento-ativo:#1c5cab; --div-pos-3:#184f95; --div-neg-3:#8c2828; --font: system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root { --plane:#0d0d0d; --surface:#1a1a19; --ink:#ffffff; --ink-secondary:#c3c2b7; --ink-muted-texto:#9c9a93;
          --hairline:#2c2c2a; --acento-ativo:#3987e5; --div-pos-3:#256abf; --div-neg-3:#b43b3a; }
}
* { box-sizing: border-box; }
html { background: var(--plane); }
body { font-family: var(--font); background: var(--plane); color: var(--ink); margin:0; line-height:1.5; font-size:15px; }
.pular { position:absolute; left:-9999px; top:0; background:var(--surface); color:var(--ink); padding:8px 12px; z-index:10; }
.pular:focus { left:8px; top:8px; }
a { color: var(--acento-ativo); }
.cab { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px;
       padding:12px 20px; border-bottom:1px solid var(--hairline); background:var(--surface); }
.cab .marca a { font-weight:700; text-decoration:none; color:var(--ink); font-size:1.05em; }
.cab .sub { color:var(--ink-muted-texto); font-size:0.85em; }
.nav-topo { display:flex; flex-wrap:wrap; gap:4px 14px; font-size:0.92em; }
.nav-topo a.app { font-weight:600; }
.migalhas { padding:8px 20px; font-size:0.85em; color:var(--ink-muted-texto); }
.migalhas ol { list-style:none; display:flex; flex-wrap:wrap; gap:4px; padding:0; margin:0; }
.migalhas li:not(:last-child)::after { content:"›"; margin-left:6px; }
main { max-width: 920px; margin: 0 auto; padding: 20px; }
h1 { font-size:1.6em; margin-top:0; }
h2 { font-size:1.25em; border-top:1px solid var(--hairline); padding-top:16px; margin-top:28px; }
h3 { font-size:1.05em; }
.abertura { font-size:1.05em; }
.nota, .muted, .nota-caption { color: var(--ink-muted-texto); font-size:0.9em; }
table { border-collapse:collapse; width:100%; margin:12px 0 20px; font-size:0.93em; }
caption { text-align:left; font-weight:600; margin-bottom:6px; }
th, td { text-align:left; padding:5px 8px; border-bottom:1px solid var(--hairline); overflow-wrap:anywhere; }
th[scope="col"] { border-bottom:2px solid var(--hairline); }
/* números nunca quebram no meio (overflow-wrap: anywhere nas células acima faria "1.234.567" virar
   uma coluna de dígitos no celular) */
.num { text-align:right; white-space:nowrap; }
/* cada <table> vem dentro de .rolagem (envolver_tabelas): se mesmo com a quebra de linha a tabela
   ainda for mais larga que a tela, ela rola dentro do contêiner em vez de alargar a página */
.rolagem { overflow-x:auto; margin:12px 0 20px; }
.rolagem > table { margin:0; }
.tabular { font-variant-numeric: tabular-nums; }
.colunas-2 { display:grid; grid-template-columns:1fr; gap:0 24px; }
@media (min-width:760px) { .colunas-2 { grid-template-columns:1fr 1fr; } }
.lista-municipios { columns: 2; column-gap: 24px; font-size:0.92em; }
@media (min-width:640px) { .lista-municipios { columns: 3; } }
.cta { margin: 20px 0; }
.cta a { display:inline-block; padding:8px 14px; border:1px solid var(--acento-ativo); border-radius:6px; text-decoration:none; }
.citacao { font-family: Georgia, serif; font-size:0.95em; }
.achado { border-left:3px solid var(--acento-ativo); padding-left:14px; margin-bottom:16px; }
.rod { padding: 16px 20px 32px; font-size:0.82em; color: var(--ink-muted-texto); border-top:1px solid var(--hairline); }
.rod a { color: inherit; }
.glossario dt { font-weight:700; margin-top:14px; }
.glossario dd { margin-left:0; color: var(--ink-secondary); }
details summary { cursor:pointer; font-weight:600; margin:8px 0; }
.idiomas { display:inline-flex; flex-wrap:wrap; gap:0 4px; align-items:center; }
.idiomas [aria-current] { font-weight:700; color:var(--ink); }
.lista-termos { columns: 2; column-gap: 24px; font-size:0.92em; }
.traducao { font-style:italic; }
