/* public/dados.css: dono = frente E2 (dados, tabelas e gráficos), redesenho 30/09.
   Cartões de número, gráficos SVG, tabelas de dados, abas e cartões de painel.
   Lê os tokens de tema.css. As únicas cores literais deste arquivo são as três cores de SÉRIE
   do gráfico, abaixo, validadas com o validador da skill dataviz (o tema não tem cor de série;
   o índigo da ação e o bronze de atenção reprovam na faixa de luminosidade). Se a frente E1 criar
   --serie-1..3 em tema.css, apague este bloco: o resto já lê só os tokens. */

/* altura do topo compacto (E1: 3.5rem ao rolar), para tudo que gruda embaixo dele */
:root { --dados-topo: 3.5rem; }

/* ── tokens de gráfico (validados: claro sobre #ffffff, escuro sobre #131e2f) ─────────────────── */
:root,
[data-tema="bussola"] {
  --serie-1: #2a78d6;  /* azul: primeira série */
  --serie-2: #eb6834;  /* laranja: segunda série */
  --serie-3: #1baf7a;  /* água: terceira série (abaixo de 3:1 no claro: sempre com rótulo e tabela) */
}
@media (prefers-color-scheme: dark) {
  :root,
  [data-tema="bussola"] {
    --serie-1: #3987e5;
    --serie-2: #d95926;
    --serie-3: #199e70;
  }
}

/* ── cartões de número ────────────────────────────────────────────────────────────────────────── */
.kpis { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14.5rem), 1fr)); margin: 0 0 1rem; }
.kpi { margin: 0; padding: 1rem 1.15rem 1.05rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); min-width: 0; }
.kpi-rotulo { color: var(--text2); font-size: 1rem; line-height: 1.35; margin: 0 0 .3rem; }
.kpi-valor { margin: 0; font: 700 clamp(1.75rem, 1.45rem + 1.3vw, 2.3rem)/1.1 var(--serif); color: var(--text); overflow-wrap: anywhere; }
.kpi-compl { margin: .35rem 0 0; color: var(--text2); font-size: 1rem; line-height: 1.4; }
.kpi-var { display: flex; align-items: flex-start; gap: .4rem; margin: .6rem 0 0; padding-top: .55rem; border-top: 1px solid var(--line); color: var(--text); font-size: 1rem; line-height: 1.35; }
.kpi-var svg { flex: none; margin-top: .2rem; fill: var(--accent); color: var(--accent); }
.selo-linha { margin: 0 0 .75rem; }
@media (min-width: 40rem) { .kpi-larga { grid-column: span 2; } }

/* ── gráfico ─────────────────────────────────────────────────────────────────────────────────── */
.grafico { margin: 0 0 1.5rem; padding: 1.1rem 1rem 1rem; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.g-titulo { margin: 0 0 .25rem; font: 700 1.3rem/1.25 var(--serif); }
.g-sub { margin: 0 0 .85rem; max-width: 60ch; color: var(--text2); font-size: 1rem; line-height: 1.45; }
.g-legenda { display: flex; flex-wrap: wrap; gap: .35rem 1.4rem; margin: 0 0 .5rem; padding: 0; list-style: none; }
.g-legenda li { display: inline-flex; align-items: center; gap: .5rem; margin: 0; font-weight: 600; font-size: 1rem; }
.g-chave { display: inline-flex; --c: var(--serie-1); }
.g-chave line { stroke: var(--c); stroke-width: 2.4; stroke-linecap: round; }
.g-chave circle { fill: var(--c); stroke: var(--surface); stroke-width: 2; }
.g-chave.g-traco line { stroke-dasharray: 5 4; }
.g-s1 { --c: var(--serie-1); }
.g-s2 { --c: var(--serie-2); }
.g-s3 { --c: var(--serie-3); }
.g-neutra { --c: var(--muted); }

.g-quadro { position: relative; }
.g-corpo { display: flex; align-items: flex-start; touch-action: pan-y; }
.g-eixo-y { flex: none; display: block; overflow: visible; }
.g-plot { display: block; flex: 1 1 0; width: 0; min-width: 0; height: 300px; overflow: visible; }
.g-y, .g-x { font: 500 .875rem var(--sans); fill: var(--text2); }
.g-ano { font: 600 .875rem var(--sans); fill: var(--muted); }
.g-unid { font: 600 .875rem var(--sans); fill: var(--muted); }
.g-grade { stroke: var(--line); stroke-width: 1; }
.g-base { stroke: var(--line2); stroke-width: 1; }
.g-ref { stroke: var(--text2); stroke-width: 1.5; stroke-dasharray: 6 5; }
.g-ref-t, .g-final {
  fill: var(--text); paint-order: stroke; stroke: var(--surface); stroke-width: 4px; stroke-linejoin: round;
}
.g-ref-t { font: 600 .9375rem var(--sans); fill: var(--text2); }
.g-final { font: 700 1rem var(--sans); }
.g-linha { fill: none; stroke: var(--c); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.g-linha.g-traco { stroke-dasharray: 6 5; stroke-width: 2; }
.g-area { fill: var(--c); opacity: .1; stroke: none; }
.g-pt { fill: var(--c); stroke: var(--surface); stroke-width: 2; transform-box: fill-box; transform-origin: center; transition: transform .12s ease-out; }
.g-ponto { outline: none; cursor: crosshair; }
.g-hit { fill: transparent; }
.g-foco { fill: var(--accent-soft); opacity: 0; }
.g-mira { stroke: var(--text2); stroke-width: 1; opacity: 0; pointer-events: none; }
.g-ponto:hover .g-mira, .g-ponto.ativo .g-mira, .g-ponto:focus-visible .g-mira { opacity: .7; }
.g-ponto:hover .g-pt, .g-ponto.ativo .g-pt, .g-ponto:focus-visible .g-pt { transform: scale(1.35); }
.g-ponto:focus-visible .g-foco { opacity: 1; stroke: var(--accent); stroke-width: 2; }
.g-ponto:focus-visible { outline: none; }
@media (max-width: 34rem) {
  .g-opc, .g-so-tela { display: none; }
}
@media (min-width: 34.0625rem) {
  .g-so-cel { display: none; }
}

.g-dica {
  position: absolute; left: var(--x, 0); top: var(--y, 0); z-index: 5; min-width: 11rem; max-width: 16rem; padding: .65rem .8rem;
  transform: translate(var(--tx, -50%), var(--ty, -100%)); pointer-events: none;
  background: var(--surface); color: var(--text); border: 1px solid var(--line2); border-radius: var(--radius); box-shadow: var(--shadow);
  font-size: 1rem; line-height: 1.35;
}
.g-dica[hidden] { display: none; }
.gd-mes { margin: 0 0 .35rem; color: var(--text2); font-weight: 600; }
.gd-linha { display: flex; align-items: baseline; gap: .55rem; margin: 0; }
.gd-linha + .gd-linha { margin-top: .2rem; }
.gd-chave { flex: none; align-self: center; width: 1.1rem; height: .2rem; border-radius: .1rem; background: var(--c); }
.gd-chave.g-neutra { background: none; border-top: .2rem dashed var(--c); height: 0; }
.gd-v { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gd-n { color: var(--text2); font-size: .9375rem; white-space: nowrap; }

.g-leitura { margin: .9rem 0 0; max-width: 62ch; color: var(--text2); font-size: 1rem; line-height: 1.5; }
.g-det { margin: .75rem 0 0; }
.g-det .tbl { margin-top: .25rem; }

/* miniatura de tendência dos cartões de painel */
.spark { display: block; overflow: visible; }
.spark-linha { fill: none; stroke: var(--serie-1); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.spark-ponto { fill: var(--serie-1); stroke: var(--surface); stroke-width: 2; }

/* ── tabela de dados ─────────────────────────────────────────────────────────────────────────── */
.tbl { margin: 0 0 1rem; }
.tbl-barra { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: flex-end; margin: 0 0 1rem; }
html:not(.dados-js) .tbl-barra, html:not(.dados-js) .tbl-leitura, html:not(.dados-js) .tbl-mais { display: none; }
.tbl-campo { display: grid; gap: .3rem; min-width: min(100%, 15rem); }
.tbl-campo span { font-weight: 700; font-size: 1rem; }
.tbl-campo select {
  width: 100%; min-height: var(--campo); padding: .4rem .8rem; font: 400 1.125rem/1.3 var(--sans); color: var(--text);
  background: var(--surface); border: 2px solid var(--line2); border-radius: var(--radius); cursor: pointer;
}
.tbl-campo select:hover { border-color: var(--accent); }
.tbl-campo select:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-color: var(--accent); }
@media (min-width: 40rem) { .tbl-ordem { display: none; } }

.tbl-leitura { margin: 0 0 1rem; padding: 1rem 1.15rem; background: var(--surface); border: 1px solid var(--line); border-left: .35rem solid var(--accent); border-radius: var(--radius); }
.tbl-leitura[hidden] { display: none; }
.tl-cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .25rem 1rem; margin: 0 0 .6rem; }
.tl-nome { margin: 0; font: 700 1.5rem/1.2 var(--serif); }
.tl-limpar { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; min-height: var(--alvo); cursor: pointer; color: var(--accent); font-weight: 700; text-decoration: underline; text-underline-offset: .18em; }
.tl-limpar:hover { color: var(--accent-hover); }
.tl-limpar:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.tl-lista { display: grid; gap: .5rem 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); margin: 0; }
.tl-lista div { min-width: 0; }
.tl-lista dt { color: var(--text2); font-size: 1rem; }
.tl-lista dd { margin: 0; font: 700 1.3rem/1.25 var(--serif); font-variant-numeric: tabular-nums; }

.tbl-rolo { overflow-x: clip; }
.tbl-t { width: 100%; min-width: 0; border-collapse: collapse; font-size: 1.0625rem; }
.tbl-t caption { padding: 0 0 .7rem; color: var(--text2); font-weight: 600; font-size: 1rem; text-align: left; }
.tbl-t th, .tbl-t td { padding: .8rem .85rem; border-bottom: 1px solid var(--line); vertical-align: middle; text-align: left; }
.tbl-t th:first-child, .tbl-t td:first-child { padding-left: .5rem; }
.tbl-uf .tbl-t th:first-child { min-width: 8.5rem; }
.tbl-t th:last-child, .tbl-t td:last-child { padding-right: .5rem; }
.tbl-t thead th {
  position: sticky; top: var(--dados-topo); z-index: 2; background: var(--bg); color: var(--text); font-weight: 700; font-size: 1rem; line-height: 1.3;
  border-bottom: 2px solid var(--line2); vertical-align: bottom;
}
.tbl-t tbody th { font-weight: 700; color: var(--text); }
.tbl-t .num { text-align: right; font-variant-numeric: tabular-nums; }
.tbl-t .nowrap { white-space: nowrap; }
.tbl-t tbody tr:hover > * { background: var(--accent-soft); }
.tbl-t tbody tr.destaque > * { background: var(--accent-soft); }
.tbl-t tbody tr.destaque > :first-child { box-shadow: inset .3rem 0 0 var(--accent); }
.uf-sigla { margin-left: .35rem; white-space: nowrap; color: var(--muted); font-size: .9375rem; font-weight: 600; }

.tbl-ord {
  all: unset; box-sizing: border-box; display: inline-flex; align-items: flex-end; gap: .4rem; min-height: var(--alvo); padding: .15rem 0;
  cursor: pointer; font: inherit; color: var(--text); text-align: left;
}
.num .tbl-ord { justify-content: flex-end; text-align: right; }
.tbl-ord:hover { color: var(--accent); }
.tbl-ord:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 3px; }
.tbl-seta { flex: none; width: .7rem; height: .95rem; margin-bottom: .2rem; fill: currentColor; }
.tbl-seta path { opacity: .3; }
[aria-sort="ascending"] .s-cima, [aria-sort="descending"] .s-baixo { opacity: 1; }
[aria-sort="ascending"] .tbl-ord, [aria-sort="descending"] .tbl-ord { color: var(--accent); }

.cel-barra { display: inline-flex; align-items: center; justify-content: flex-end; gap: .65rem; }
.cel-barra-svg { flex: none; width: 4.5rem; height: .65rem; border-radius: .33rem; overflow: hidden; }
.cel-barra-svg .fundo { fill: var(--surface2); }
.cel-barra-svg .cheio { fill: var(--serie-1); }
.cel-valor { min-width: 3.5rem; text-align: right; font-variant-numeric: tabular-nums; }
.tbl-mais { margin-top: .9rem; }
.dados-js .tbl-t tr.tbl-extra { display: none; }

/* selo compacto: uma linha, pílula pequena (o detalhe fica para o leitor de tela) */
.selo-mini {
  display: inline-flex; align-items: center; gap: .3rem; min-height: 1.75rem; padding: .1rem .65rem .1rem .5rem; border-radius: 1rem;
  font-size: .9375rem; line-height: 1.2; font-weight: 700; white-space: nowrap; border: 1.5px solid currentColor; background: var(--neutral-soft); color: var(--muted);
}
.selo-mini .sm-ic { flex: none; width: .95rem; height: .95rem; }
.selo-mini.ok { color: var(--good); background: var(--good-soft); }
.selo-mini.pend { color: var(--muted); background: none; border-color: var(--line2); font-weight: 600; }
.selo-mini.prev { color: var(--info); background: var(--info-soft); border-style: dashed; }

/* tabela sem cartões (dentro do gráfico): rola de lado se faltar espaço */
.tbl:not([data-cartoes]) .tbl-rolo { overflow-x: auto; }
.tbl:not([data-cartoes]) .tbl-t { min-width: 20rem; }
.tbl:not([data-cartoes]) .tbl-t thead th { position: static; }

/* celular: cada linha vira um cartão "rótulo: valor" */
@media (max-width: 39.99rem) {
  .tbl[data-cartoes] .tbl-t, .tbl[data-cartoes] .tbl-t tbody { display: block; }
  /* cabeçalho só para leitor de tela; display:block é o que faz o overflow:hidden valer (grupo de tabela ignora) */
  .tbl[data-cartoes] .tbl-t thead { display: block; position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .tbl[data-cartoes] .tbl-t tbody tr {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin: 0 0 .8rem; padding: 0 0 .35rem;
    background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
  }
  .tbl[data-cartoes] .tbl-t tbody tr:hover > * { background: none; }
  .tbl[data-cartoes] .tbl-t tbody tr.destaque { border-color: var(--accent); box-shadow: inset .3rem 0 0 var(--accent); }
  .tbl[data-cartoes] .tbl-t tbody tr.destaque > * { background: none; box-shadow: none; }
  .tbl[data-cartoes] .tbl-t tbody th {
    grid-column: 1 / -1; display: block; padding: .75rem 1rem .55rem; border-bottom: 1px solid var(--line); font: 700 1.3rem/1.2 var(--serif);
  }
  .tbl[data-cartoes] .tbl-t td { display: block; padding: .55rem 1rem 0; border: 0; text-align: left; min-width: 0; }
  .tbl[data-cartoes] .tbl-t td::before { white-space: normal; content: attr(data-label); display: block; color: var(--text2); font-size: .9375rem; font-weight: 400; line-height: 1.3; }
  .tbl[data-cartoes] .tbl-t td.num { text-align: left; }
  .tbl[data-cartoes] .tbl-t td[colspan], .tbl[data-cartoes] .tbl-t td[data-longo], .tbl[data-cartoes] .tbl-anos td[data-label="Norma"] { grid-column: 1 / -1; }
  .tbl[data-cartoes] .cel-barra { justify-content: flex-start; }
  .tbl[data-cartoes] .tbl-t caption { display: block; }
}

/* ── abas entre os painéis (dentro de cada painel) ───────────────────────────────────────────── */
.painel-abas { flex: 1 0 100%; margin: 0 0 .25rem; scroll-margin-top: calc(var(--dados-topo) + .75rem); view-transition-name: painel-abas; }
.painel-abas ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .3rem; max-width: 34rem; margin: 0; padding: .3rem; list-style: none; background: var(--surface2); border-radius: calc(var(--radius) + 4px); }
.painel-abas li { margin: 0; }
.aba {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; min-height: 4.25rem; padding: .4rem .35rem;
  border-radius: var(--radius); color: var(--text2); font: 700 1rem/1.15 var(--sans); text-decoration: none; text-align: center;
  transition: background-color .16s ease-out, color .16s ease-out;
}
.aba .ic { width: 1.5rem; height: 1.5rem; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.aba:hover { background: var(--surface); color: var(--text); }
.aba[aria-current="page"] { background: var(--accent); color: var(--accent-ink); }
.aba[aria-current="page"]:hover { background: var(--accent-hover); color: var(--accent-ink); }
@media (min-width: 34rem) {
  .aba { flex-direction: row; gap: .55rem; min-height: 3.5rem; }
}

/* ── cartões de painel (índice e rodapé de cada painel): a área inteira é o link ─────────────── */
.painel-ajuda { margin: 0 0 1rem; color: var(--text2); }
.painel-grade { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14.5rem), 1fr)); margin: 0 0 1rem; padding: 0; list-style: none; }
.painel-item { display: flex; margin: 0; }
.painel-card {
  position: relative; display: flex; flex-direction: column; gap: .8rem; width: 100%; padding: 1.15rem 1.15rem 1rem; color: var(--text); text-decoration: none;
  background: var(--surface); border: 2px solid var(--line); border-radius: var(--radius);
  transition: transform .16s ease-out, box-shadow .16s ease-out, border-color .16s ease-out;
}
.painel-card:hover { color: var(--text); border-color: var(--accent); box-shadow: var(--shadow); transform: translateY(-2px); }
.painel-card:active { transform: translateY(0); }
.painel-card:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; border-radius: var(--radius); }
.pc-topo { display: flex; align-items: center; gap: .75rem; }
.pc-ic { flex: none; width: 2.9rem; height: 2.9rem; padding: .62rem; border-radius: 50%; background: var(--accent-soft); color: var(--accent); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pc-titulo { font: 700 1.15rem/1.25 var(--serif); }
.pc-num b { display: block; font: 700 clamp(2rem, 1.6rem + 1.5vw, 2.6rem)/1.1 var(--serif); color: var(--text); }
.pc-num span { display: block; margin-top: .3rem; color: var(--text2); font-size: 1rem; line-height: 1.4; }
.pc-spark { display: block; }
.pc-pe { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .3rem .75rem; margin-top: auto; padding-top: .8rem; border-top: 1px solid var(--line); color: var(--text2); font-size: 1rem; }
.pc-abrir { display: inline-flex; align-items: center; gap: .3rem; color: var(--accent); font-weight: 700; }
.painel-card:hover .pc-abrir { color: var(--accent-hover); text-decoration: underline; text-underline-offset: .18em; }
.ic-seta { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform .16s ease-out; }
.painel-card:hover .ic-seta { transform: translateX(3px); }

/* ── listas das páginas vivas ────────────────────────────────────────────────────────────────── */
.lista-mudou { padding: 0; margin: 0 0 1rem; list-style: none; max-width: var(--medida); }
.lista-mudou li { position: relative; margin: 0; padding: .8rem .5rem .8rem 1.9rem; border-bottom: 1px solid var(--line); }
.lista-mudou li:first-child { border-top: 1px solid var(--line); }
.lista-mudou li::before { content: ""; position: absolute; left: .5rem; top: 1.3rem; width: .6rem; height: .6rem; border-radius: 50%; background: var(--accent); }
.lista-links { padding-left: 1.2em; }

/* ── índice das seções no celular: fixo no alto, rola de lado, esmaece nas pontas ────────────── */
@media (max-width: 61.99rem) {
  html[data-page-type="viva"] .lado-indice, html[data-page-type="indice"] .lado-indice {
    position: sticky; top: var(--dados-topo); z-index: 20; margin: 0 -1rem 1rem; padding: .35rem 1rem .1rem; background: var(--bg); border-bottom: 1px solid var(--line);
  }
  html[data-page-type="viva"] .indice ul, html[data-page-type="indice"] .indice ul {
    padding-bottom: .4rem; scroll-padding: 0 1.5rem; scrollbar-width: none;
    -webkit-mask-image: linear-gradient(90deg, transparent, CanvasText 1rem, CanvasText calc(100% - 2rem), transparent);
    mask-image: linear-gradient(90deg, transparent, CanvasText 1rem, CanvasText calc(100% - 2rem), transparent);
  }
  html[data-page-type="viva"] .indice ul::-webkit-scrollbar, html[data-page-type="indice"] .indice ul::-webkit-scrollbar { display: none; }
}
html[data-page-type="viva"] .secao, html[data-page-type="indice"] .secao { scroll-margin-top: calc(var(--dados-topo) + 4.5rem); }

/* troca suave entre páginas do mesmo site (navegadores que sabem; o resto navega normal) */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .painel-card, .painel-card:hover, .ic-seta, .g-pt, .aba { transition: none; transform: none; }
  .painel-card:hover .ic-seta { transform: none; }
}
@media print {
  .tbl-barra, .tbl-leitura, .tbl-mais, .g-dica { display: none; }
  .tbl-t thead th { position: static; }
}

/* índice de painéis: um cartão por linha, número à direita quando há largura */
.painel-grade:not(.painel-grade-rodape) { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 40rem) {
  .painel-grade:not(.painel-grade-rodape) .painel-card { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); column-gap: 1.75rem; row-gap: .6rem; align-items: start; }
  .painel-grade:not(.painel-grade-rodape) .pc-topo { grid-column: 1; grid-row: 1; }
  .painel-grade:not(.painel-grade-rodape) .pc-num { grid-column: 2; grid-row: 1 / span 2; }
  .painel-grade:not(.painel-grade-rodape) .pc-spark { grid-column: 1; grid-row: 2; align-self: end; }
  .painel-grade:not(.painel-grade-rodape) .pc-pe { grid-column: 1 / -1; grid-row: 3; }
}

/* endereço longo dentro de parágrafo (ex.: URL da portaria na metodologia) quebra em vez de alargar a página */
.secao > p, .secao li, .kpi-compl, .tl-lista dd { overflow-wrap: anywhere; }
/* o aria-sort já diz a ordem e a seta mostra; o "(crescente)" herdado de app.css fica de fora */
.tbl-t th[aria-sort] button.tbl-ord::after { content: none; }

/* tabelas simples (markdown da copy, calc.js) ainda sem JS: divisores discretos, hover, números alinhados */
.rolo > table:not(.tbl-t) tbody tr:hover > * { background: var(--accent-soft); }
.rolo > table:not(.tbl-t) td.num, .rolo > table:not(.tbl-t) th.num { font-variant-numeric: tabular-nums; }
.rolo > table:not(.tbl-t) tbody tr > :first-child { font-weight: 700; color: var(--text); }
