/* Auditoria 2º turno 2026 — folha única. Tokens claros em :root, escuros só redefinem. */
:root {
  color-scheme: light;
  --fundo: #f6f5f1;
  --superficie: #fcfcfb;
  --superficie-2: #efede6;
  --borda: #dcd9cf;
  --texto: #15140f;
  --texto-2: #52514e;
  --texto-3: #77756e;
  --marca: #0b4a3f;
  --marca-texto: #ffffff;
  --link: #0f5c9e;
  --ok: #17703a;
  --ok-fundo: #e3f2e7;
  --erro: #b3261e;
  --erro-fundo: #fbe7e5;
  --aviso: #8a5a00;
  --aviso-fundo: #fdf1d8;
  --serie-1: #2a78d6;
  --serie-2: #eb6834;
  --grade: #e4e2da;
  --raio: 10px;
  --fonte: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --fundo: #121210;
    --superficie: #1a1a19;
    --superficie-2: #23231f;
    --borda: #34332e;
    --texto: #f0efec;
    --texto-2: #c3c2b7;
    --texto-3: #9a988f;
    --marca: #7fd1bd;
    --marca-texto: #0b1f1a;
    --link: #8cc3ff;
    --ok: #6fd08f;
    --ok-fundo: #16301f;
    --erro: #ff8a80;
    --erro-fundo: #3a1714;
    --aviso: #f3c46b;
    --aviso-fundo: #36290e;
    --serie-1: #3987e5;
    --serie-2: #d95926;
    --grade: #2b2a26;
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --fundo: #121210; --superficie: #1a1a19; --superficie-2: #23231f; --borda: #34332e;
  --texto: #f0efec; --texto-2: #c3c2b7; --texto-3: #9a988f; --marca: #7fd1bd; --marca-texto: #0b1f1a;
  --link: #8cc3ff; --ok: #6fd08f; --ok-fundo: #16301f; --erro: #ff8a80; --erro-fundo: #3a1714;
  --aviso: #f3c46b; --aviso-fundo: #36290e; --serie-1: #3987e5; --serie-2: #d95926; --grade: #2b2a26;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--fundo); color: var(--texto); font: 16px/1.55 var(--fonte); }
a { color: var(--link); }
h1 { font-size: clamp(1.6rem, 4vw, 2.4rem); line-height: 1.15; margin: 0 0 .6rem; letter-spacing: -.01em; }
h2 { font-size: 1.25rem; margin: 2rem 0 .6rem; }
small { color: var(--texto-3); }
code, .mono { font-family: var(--mono); font-size: .92em; }
.largura { max-width: 1120px; margin: 0 auto; padding-inline: 16px; }
main.largura { padding-block: 1.5rem 3rem; }

/* topo */
.topo { background: var(--marca); color: var(--marca-texto); }
.topo-linha { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; padding-block: .7rem; }
.marca { color: inherit; text-decoration: none; font-weight: 700; }
.marca span { font-weight: 400; opacity: .8; margin-left: .4rem; font-size: .9em; }
.topo nav { display: flex; flex-wrap: wrap; gap: .2rem; margin-left: auto; }
.topo nav a { color: inherit; text-decoration: none; padding: .35rem .65rem; border-radius: 999px; font-size: .93rem; opacity: .88; }
.topo nav a:hover { opacity: 1; background: rgb(255 255 255 / .12); }
.topo nav a[aria-current="page"] { opacity: 1; background: rgb(255 255 255 / .2); }
.topo nav a.destaque { background: var(--marca-texto); color: var(--marca); opacity: 1; font-weight: 600; }

.rodape { color: var(--texto-3); font-size: .85rem; padding-block: 1.5rem 2.5rem; border-top: 1px solid var(--borda); }

/* abertura e números */
.abertura { padding-block: 1rem 1.5rem; max-width: 50rem; }
.sobretitulo { text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; color: var(--texto-3); margin: 0 0 .4rem; }
.lead { font-size: 1.08rem; color: var(--texto-2); max-width: 50rem; }
.numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.numero { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1rem 1.1rem; }
.numero h2 { font-size: .95rem; margin: 0; color: var(--texto-2); font-weight: 600; }
.numero .valor { font-size: 2rem; font-weight: 700; margin: .25rem 0; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.numero .nota { margin: 0; font-size: .88rem; color: var(--texto-2); }
.numero.alerta { border-color: var(--aviso); background: var(--aviso-fundo); }
.dois { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem 2.5rem; margin-top: 1rem; }
.checagens { padding-left: 1.1rem; }
.checagens li { margin-bottom: .45rem; }
.cartao-destaque { background: var(--superficie); border: 1px solid var(--borda); border-left: 4px solid var(--marca); border-radius: var(--raio); padding: .2rem 1.3rem 1rem; }

/* status (sempre com texto, nunca só cor) */
.ok { color: var(--ok); }
.erro { color: var(--erro); }
.selo { display: inline-block; padding: .1rem .55rem; border-radius: 999px; font-size: .8rem; font-weight: 600; white-space: nowrap; }
.selo.ok { background: var(--ok-fundo); }
.selo.erro, .selo.divergente { background: var(--erro-fundo); color: var(--erro); }
.selo.inconclusivo, .selo.aviso { background: var(--aviso-fundo); color: var(--aviso); }
.selo.neutro { background: var(--superficie-2); color: var(--texto-2); }

/* botões e formulários */
.botao { display: inline-block; padding: .55rem 1rem; border-radius: 8px; border: 1px solid var(--borda); background: var(--superficie);
  color: var(--texto); text-decoration: none; font: inherit; font-weight: 600; cursor: pointer; }
.botao:hover { border-color: var(--texto-3); }
.botao.primario { background: var(--marca); border-color: var(--marca); color: var(--marca-texto); }
.botao:disabled { opacity: .5; cursor: not-allowed; }
input, select, textarea { font: inherit; color: var(--texto); background: var(--superficie); border: 1px solid var(--borda);
  border-radius: 8px; padding: .5rem .65rem; max-width: 100%; }
input:focus, select:focus, textarea:focus, .botao:focus-visible { outline: 2px solid var(--link); outline-offset: 1px; }
label { font-weight: 600; font-size: .92rem; }
.filtros { display: flex; flex-wrap: wrap; gap: .6rem; align-items: end; margin: 1rem 0; }
.filtros > div { display: flex; flex-direction: column; gap: .25rem; }

/* tabelas */
.tabela-rolagem { overflow-x: auto; border: 1px solid var(--borda); border-radius: var(--raio); background: var(--superficie); }
table { border-collapse: collapse; width: 100%; font-size: .93rem; }
th, td { padding: .5rem .75rem; text-align: left; border-bottom: 1px solid var(--grade); vertical-align: top; }
th { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--texto-3); background: var(--superficie-2); font-weight: 600; }
tr:last-child td { border-bottom: 0; }
td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
tr.total td { font-weight: 700; background: var(--superficie-2); }
.paginacao { display: flex; gap: .5rem; align-items: center; margin: 1rem 0; flex-wrap: wrap; }

.caixa { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1rem 1.2rem; margin: 1rem 0; }
.caixa.aviso { background: var(--aviso-fundo); border-color: var(--aviso); }
.resultado-busca { margin-top: .8rem; }

/* gráfico */
.grafico { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1rem; position: relative; }
.grafico svg { display: block; width: 100%; height: auto; }
.grafico .legenda { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .85rem; color: var(--texto-2); margin-bottom: .5rem; }
.grafico .legenda i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: .35rem; vertical-align: -1px; }
.dica { position: absolute; pointer-events: none; background: var(--texto); color: var(--fundo); font-size: .82rem; padding: .35rem .55rem;
  border-radius: 6px; white-space: nowrap; transform: translate(-50%, -110%); }

/* conferência */
.etapas { counter-reset: etapa; display: grid; gap: 1rem; }
.etapas > * { min-width: 0; }   /* item de grade não encolhe abaixo do conteúdo: a tabela rola dentro da moldura */
.etapa { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1rem 1.2rem; }
.etapa h2 { margin-top: 0; font-size: 1.1rem; }
.etapa h2::before { counter-increment: etapa; content: counter(etapa) ". "; color: var(--texto-3); }
.fotos { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: .6rem; }
.fotos figure { margin: 0; width: 140px; }
.fotos canvas, .fotos img { width: 140px; height: auto; border: 1px solid var(--borda); border-radius: 6px; display: block; }
.fotos figcaption { font-size: .78rem; color: var(--texto-3); display: flex; gap: .3rem; justify-content: space-between; align-items: center; }
.fotos button { font-size: .75rem; padding: .1rem .4rem; }
.progresso { height: 6px; background: var(--superficie-2); border-radius: 3px; overflow: hidden; margin: .6rem 0; }
.progresso > div { height: 100%; width: 0; background: var(--marca); transition: width .2s; }
.revisao td input { width: 7.5rem; text-align: right; font-variant-numeric: tabular-nums; padding: .3rem .45rem; }
.revisao td.difere { background: var(--erro-fundo); }
.revisao td.baixa { background: var(--aviso-fundo); }
.revisao input.editado { border-color: var(--aviso); border-width: 2px; }
details.texto-ocr pre { white-space: pre-wrap; font-family: var(--mono); font-size: .8rem; max-height: 22rem; overflow: auto;
  background: var(--superficie-2); padding: .7rem; border-radius: 6px; }
.veredito { font-size: 1.15rem; font-weight: 700; }
.tse-ao-vivo { border-top: 1px solid var(--borda); margin-top: 1rem; padding-top: .5rem; }
.tse-ao-vivo .veredito { font-size: 1rem; }
.lista-div { margin: .4rem 0 0; padding-left: 1.1rem; font-size: .9rem; }

@media (max-width: 640px) {
  .topo nav { margin-left: 0; }
  .numero .valor { font-size: 1.6rem; }
}
.cor-1 { background: var(--serie-1); }
.cor-2 { background: var(--serie-2); }

/* ---------- evolução 13 × 22 ---------- */
/* 13 vermelho, 22 verde (pedido do usuário); tons validados com o validador de paleta.
   Claro: ΔE daltonismo 8,0 (limite) → identidade também pelo traço (22 tracejado) e rótulos. */
:root { --cor-13: #ec5a4f; --cor-22: #0a6a52; --barra: #8d8a80; --plot-fundo: #e5ecf6; --plot-grade: #ffffff; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --cor-13: #cc3a33; --cor-22: #30a97b; --barra: #77756e;
  --plot-fundo: #20252d; --plot-grade: #333b47; } }
:root[data-theme="dark"] { --cor-13: #cc3a33; --cor-22: #30a97b; --barra: #77756e; --plot-fundo: #20252d; --plot-grade: #333b47; }

.evo-controles { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: end; justify-content: space-between; margin-block: 1rem; }
.abas { display: flex; gap: .25rem; background: var(--superficie-2); padding: .25rem; border-radius: 10px; flex-wrap: wrap; }
.abas button { border: 0; background: transparent; color: var(--texto-2); padding: .5rem .9rem; border-radius: 8px; font: inherit; cursor: pointer; }
.abas button[aria-selected="true"] { background: var(--superficie); color: var(--texto); box-shadow: 0 1px 2px rgb(0 0 0 / .12); font-weight: 600; }
.evo-filtros { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.evo-filtros label { font-size: .85rem; color: var(--texto-2); }
.evo-trechos { display: flex; flex-wrap: wrap; gap: .35rem; }
.evo-trechos .botao, .evo-filtros > .botao { padding: .35rem .7rem; font-size: .85rem; }
.evo-legenda { list-style: none; padding: 0; margin: .25rem 0 .5rem; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; font-size: .92rem; }
.evo-legenda li { display: flex; align-items: center; gap: .5rem; }
.traco { display: inline-block; width: 28px; height: 0; border-top: 3px solid; }
.traco-13 { border-color: var(--cor-13); }
.traco-22 { border-color: var(--cor-22); }
.titulo-grafico { font-size: 1rem; margin: 1.25rem 0 .35rem; }
.nota-grafico { color: var(--texto-2); font-size: .9rem; }
.grafico-evo { position: relative; width: 100%; min-height: 320px; background: var(--superficie); border: 1px solid var(--borda);
  border-radius: var(--raio); padding: .5rem 26px 22px .25rem; box-sizing: border-box; touch-action: pan-y; }
.grafico-evo.baixo { min-height: 200px; }
/* leitura do ponto: barra fixa no rodapé da tela enquanto se passa o mouse */
.evo-tooltip { position: sticky; bottom: env(safe-area-inset-bottom, 0px); z-index: 20; display: flex; flex-wrap: wrap; gap: .25rem 1.25rem;
  align-items: center; background: var(--superficie); color: var(--texto); border: 1px solid var(--borda); border-radius: 10px;
  padding: .5rem .8rem; margin-top: .75rem; font-size: .85rem; box-shadow: 0 -2px 14px rgb(0 0 0 / .12); font-variant-numeric: tabular-nums; }
.evo-tooltip .t-hora { font-weight: 600; }
.evo-tooltip .t-linha { display: inline-flex; gap: .4rem; align-items: center; }
.evo-tooltip .t-sub { color: var(--texto-3); }
/* etiqueta compacta colada no ponto (como no Plotly) */
.evo-etiqueta { position: absolute; z-index: 5; pointer-events: none; padding: .15rem .45rem; border-radius: 4px; font-size: .78rem;
  font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; box-shadow: 0 1px 4px rgb(0 0 0 / .25); }
.evo-tooltip .t-marca { display: inline-block; width: 14px; border-top: 3px solid; vertical-align: middle; margin-right: .35rem; }
/* uPlot: cores do tema */
.uplot { font-family: var(--fonte); color: var(--texto-2); }
/* zoom em caixa: o retângulo fica claro e o resto escurece, como no Plotly */
.u-over { overflow: hidden; }
.u-select { background: rgb(255 255 255 / .25); outline: 1px solid var(--texto-2); }
.uplot.arrastando .u-select { box-shadow: 0 0 0 9999px rgb(0 0 0 / .18); }
.uplot:not(.arrastando) .u-select { outline: 0; }
.u-legend { display: none; }

/* barras de rolagem do zoom: embaixo = tempo, ao lado = valores */
.evo-ajuda { color: var(--texto-2); font-size: .9rem; padding-left: 1.1rem; margin: .25rem 0 .5rem; }
.evo-ajuda kbd { font: .8rem var(--mono); border: 1px solid var(--borda); border-radius: 4px; padding: 0 .3rem; background: var(--superficie-2); }
.rolagem { position: absolute; background: var(--superficie-2); border: 1px solid var(--borda); border-radius: 999px; touch-action: none; cursor: pointer; }
.rolagem-x { height: 14px; }
.rolagem-y { right: 6px; width: 14px; }
.rolagem .polegar { position: absolute; background: var(--texto-3); border-radius: 999px; cursor: grab; }
.rolagem-x .polegar { top: 2px; bottom: 2px; }
.rolagem-y .polegar { left: 2px; right: 2px; }
.rolagem .polegar:active { cursor: grabbing; background: var(--texto-2); }
.rolagem.inteira .polegar { opacity: .35; }
.evo-legenda button { display: inline-flex; align-items: center; gap: .5rem; font: inherit; color: var(--texto); background: var(--superficie);
  border: 1px solid var(--borda); border-radius: 999px; padding: .3rem .8rem; cursor: pointer; }
.evo-legenda button[aria-pressed="false"] { opacity: .45; text-decoration: line-through; }
.evo-legenda button:focus-visible { outline: 2px solid var(--link); outline-offset: 1px; }
td.acoes { white-space: nowrap; }
td.acoes a + a { margin-left: .75rem; }
tr.destaque td { background: var(--aviso-fundo); font-weight: 600; }
/* tabela compacta: cabe na largura da página sem rolagem lateral */
table.compacta { font-size: .86rem; }
table.compacta th, table.compacta td { padding: .45rem .45rem; }
table.compacta th { letter-spacing: .02em; font-size: .72rem; }
table.compacta td.acoes a + a { margin-left: .55rem; }

/* ---------- alegações × dados ---------- */
.legenda-vereditos { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem .6rem; margin: .5rem 0 1.25rem; }
.alegacoes { display: grid; gap: 1rem; }
.alegacao { background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1rem 1.25rem; }
.alegacao header h2 { margin: .45rem 0 .2rem; font-size: 1.12rem; }
.alegacao .origem { color: var(--texto-3); font-size: .85rem; margin: 0 0 .5rem; }
.alegacao h3 { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--texto-3); margin: .75rem 0 .25rem; }
.alegacao .o-que-mostram p, .alegacao .o-que-mostram ul { margin: .35rem 0; }
.alegacao .ver { margin-top: .6rem; font-weight: 600; }

/* 1º × 2º turno: gráfico de halteres por estado */
td .traco { margin-right: .5rem; vertical-align: middle; }
.haltere text { font-family: var(--fonte); }
.haltere .eixo { font-size: 12px; fill: var(--texto-3); }
.haltere .uf { font-size: 12px; fill: var(--texto-2); }
.haltere .grade { stroke: var(--grade); stroke-width: 1; }
.haltere .meio { stroke: var(--texto-2); stroke-width: 1.5; stroke-dasharray: 4 4; }
.haltere .alvo { fill: transparent; }
.haltere .linha:hover .alvo { fill: var(--superficie-2); }
.haltere .liga { stroke: var(--texto-3); stroke-width: 2; }
.haltere .t1 { fill: var(--superficie); stroke: var(--texto-2); stroke-width: 2; }
.haltere .t2 { fill: var(--cor-13); stroke: var(--superficie); stroke-width: 2; }
.grafico .legenda i.leg-t1 { background: var(--superficie); border: 2px solid var(--texto-2); border-radius: 50%; }
.grafico .legenda i.leg-t2 { background: var(--cor-13); border-radius: 50%; }
.grafico .legenda i.leg-50 { width: 0; height: 12px; border-left: 2px dashed var(--texto-2); border-radius: 0; }

/* ---------- celular ---------- */
.menu-botao { display: none; }
@media (max-width: 760px) {
  /* menu recolhido atrás de um botão (só com JS; sem JS ele continua aberto) */
  .topo-linha { justify-content: space-between; gap: .5rem .75rem; padding-block: .55rem; }
  .marca { font-size: .95rem; line-height: 1.25; }
  .marca span { display: block; margin-left: 0; font-size: .8rem; }
  .com-js .menu-botao { display: inline-flex; align-items: center; gap: .5rem; margin-left: auto; min-height: 40px; padding: .4rem .85rem;
    font: inherit; font-weight: 600; font-size: .92rem; color: inherit; background: rgb(255 255 255 / .14);
    border: 1px solid rgb(255 255 255 / .35); border-radius: 8px; cursor: pointer; }
  .menu-icone, .menu-icone::before, .menu-icone::after { display: block; width: 16px; height: 2px; background: currentColor; border-radius: 1px; }
  .menu-icone { position: relative; }
  .menu-icone::before, .menu-icone::after { content: ""; position: absolute; left: 0; }
  .menu-icone::before { top: -5px; }
  .menu-icone::after { top: 5px; }
  .menu-botao[aria-expanded="true"] .menu-icone { background: transparent; }
  .menu-botao[aria-expanded="true"] .menu-icone::before { top: 0; transform: rotate(45deg); }
  .menu-botao[aria-expanded="true"] .menu-icone::after { top: 0; transform: rotate(-45deg); }
  .com-js .topo nav { display: none; }
  .com-js .topo nav.aberto { display: grid; grid-template-columns: 1fr 1fr; gap: .25rem; width: 100%; margin: .25rem 0 .35rem; }
  .com-js .topo nav.aberto a { padding: .6rem .75rem; border-radius: 8px; background: rgb(255 255 255 / .08); text-align: left; }
  .com-js .topo nav.aberto a.destaque { grid-column: 1 / -1; text-align: center; background: var(--marca-texto); }

  main.largura { padding-block: 1rem 2.5rem; }
  h2 { font-size: 1.12rem; margin-top: 1.6rem; }
  .lead { font-size: 1rem; }
  .numeros { grid-template-columns: 1fr 1fr; gap: 8px; }
  .numero { padding: .75rem .8rem; }
  .numero h2 { font-size: .82rem; }
  .numero .valor { font-size: 1.35rem; }
  .numero .nota { font-size: .8rem; }
  .dois { grid-template-columns: 1fr; gap: 1rem; }
  .caixa, .alegacao, .etapa { padding: .85rem .9rem; }
  .cartao-destaque { padding: .1rem .9rem .8rem; }

  /* tabelas: letra menor e células justas para caber na tela */
  table, table.compacta { font-size: .72rem; }
  th, td, table.compacta th, table.compacta td { padding: .4rem .3rem; }
  th, table.compacta th { font-size: .6rem; letter-spacing: 0; }
  th:first-child, td:first-child { padding-left: .55rem; }
  th:last-child, td:last-child { padding-right: .55rem; }
  .selo { font-size: .68rem; padding: .05rem .4rem; }
  td .traco { width: 18px; margin-right: .3rem; }
  table.compacta td.acoes a + a, td.acoes a + a { margin-left: .4rem; }
  th.num { white-space: normal; }
  th { line-height: 1.25; vertical-align: bottom; }
  td.acoes { white-space: normal; }
  td.acoes a { display: block; }
  table.compacta td.acoes a + a, td.acoes a + a { margin-left: 0; margin-top: .25rem; }
  td.data-hora { white-space: normal; min-width: 4.6em; }
  /* o que não couber rola de lado, com a 1ª coluna fixa para não perder a referência */
  .tabela-rolagem { -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
  .tabela-rolagem.larga th:first-child, .tabela-rolagem.larga td:first-child { position: sticky; left: 0; z-index: 1; background: var(--superficie);
    box-shadow: 1px 0 0 var(--grade); }
  .tabela-rolagem.larga th:first-child { background: var(--superficie-2); }
  .tabela-rolagem.larga tr.total td:first-child { background: var(--superficie-2); }
  .tabela-rolagem.larga tr.destaque td:first-child { background: var(--aviso-fundo); }
  .abas { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .abas button { padding: .5rem .4rem; font-size: .86rem; line-height: 1.25; }
  .evo-controles { gap: .6rem; }
  .evo-trechos .botao, .evo-filtros > .botao { padding: .4rem .6rem; font-size: .82rem; }
  /* sumário de seções: um link por linha */
  .sumario-sep { display: none; }
  .sumario-sep + a { display: block; margin-top: .4rem; }
  /* tabela em cartões (classe posta pelo site.js quando a tabela não cabe) */
  .tabela-rolagem.cartoes { border: 0; background: transparent; overflow: visible; border-radius: 0; }
  .cartoes table, .cartoes tbody, .cartoes tfoot { display: block; font-size: .86rem; }
  .cartoes thead { display: none; }
  .cartoes tr { display: flex; flex-wrap: wrap; gap: .5rem .9rem; background: var(--superficie); border: 1px solid var(--borda);
    border-radius: var(--raio); padding: .7rem .85rem .8rem; margin-bottom: .6rem; }
  .cartoes tr.total { background: var(--superficie-2); }
  .cartoes tr.destaque { background: var(--aviso-fundo); border-color: var(--aviso); }
  .cartoes td, .cartoes th, .cartoes td:first-child, .cartoes td:last-child, .cartoes table.compacta td {
    display: block; padding: 0; border: 0; background: transparent; text-align: left; white-space: normal; font-size: inherit; }
  .cartoes td { flex: 0 0 calc(50% - .45rem); min-width: 0; font-variant-numeric: tabular-nums; }
  .cartoes td[data-rotulo]::before { content: attr(data-rotulo); display: block; font-size: .68rem; font-weight: 600; text-transform: uppercase;
    letter-spacing: .03em; color: var(--texto-3); margin-bottom: .05rem; }
  .cartoes td.c-largo { flex-basis: 100%; }
  .cartoes td:empty:not(.c-quebra) { display: none; }
  /* título do cartão: UF · Município · zona N · seção N numa linha só (quebra se precisar) */
  .cartoes td.c-titulo { flex: 0 0 auto; font-weight: 700; font-size: .95rem; }
  .cartoes td.c-titulo:not(.c-ultimo)::after { content: "·"; margin-left: .45rem; color: var(--texto-3); font-weight: 400; }
  .cartoes td.c-titulo[data-prefixo]::before { content: attr(data-prefixo); font-weight: 400; color: var(--texto-2); }
  .cartoes td.c-ultimo { flex-grow: 1; }
  .cartoes td.c-titulo:not(.c-ultimo) { margin-right: -.45rem; }
  .cartoes td.acoes a { display: inline-block; }
  .cartoes td.c-quebra { flex-basis: 100%; height: 0; margin-top: -.5rem; }
  .cartoes table td.acoes a + a { margin: 0 0 0 1.25rem; }
  .cartoes td .traco { width: 22px; }
  /* gráficos da evolução: sem a barra vertical (zoom por pinça) e com menos recuo */
  .grafico-evo, .grafico-evo.baixo { padding: .4rem 3px 22px 3px; min-height: 0; }
  .rolagem-y { display: none; }
  .aviso-rolagem { font-size: .78rem; color: var(--texto-3); margin: .2rem 0 .3rem; }
}
@media (max-width: 380px) {
  .numeros { grid-template-columns: 1fr; }
}
