/* OS-079 — hand-written, local stylesheet for the explorer. No CDN, no external font. */
:root { color-scheme: light; }
* { box-sizing: border-box; }
body { margin: 0; padding: 0; background: #f6f4ef; color: #1a1a1a;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
header.topo { background: #1a3a52; color: #fff; padding: 16px 24px; }
header.topo a { color: #cfe0ee; text-decoration: none; font-size: 13px; }
header.topo nav.nav-topo a + a { margin-left: 12px; }
header.topo h1 { margin: 4px 0 0 0; font-size: 20px; }
main { max-width: 1100px; margin: 0 auto; padding: 20px 24px 60px 24px; }
.rodape { font-size: 12px; color: #888; margin: 0 24px 40px 24px; }
.cartao { background: #fff; border: 1px solid #ddd6c8; border-radius: 6px;
  padding: 16px 20px; margin: 16px 0; }
select, input, button { font: inherit; padding: 4px 8px; border: 1px solid #ccc;
  border-radius: 4px; background: #fff; }
button { cursor: pointer; background: #1a3a52; color: #fff; border-color: #1a3a52; }
button:hover { background: #234a68; }
button.secundario { background: #fff; color: #1a3a52; }
table.explorador { border-collapse: collapse; width: 100%; font-size: 13px; }
table.explorador th, table.explorador td { border: 1px solid #ddd6c8; padding: 4px 8px;
  text-align: left; white-space: nowrap; }
table.explorador th { background: #efe9dc; position: sticky; top: 0; }
.tabela-scroll { overflow-x: auto; max-width: 100%; }
.linha-filtro { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  margin: 8px 0; }
.aviso { background: #fdf3e7; border: 1px solid #e6c99a; border-radius: 6px;
  padding: 10px 14px; margin: 12px 0; font-size: 13px; }
.aviso.erro { background: #fbe6e6; border-color: #e6a3a3; }
.janela { background: #eaf1f6; border: 1px solid #b7cbd9; border-radius: 6px;
  padding: 10px 16px; margin: 16px 0; font-size: 14px; color: #1a3a52; }
.rotulo { font-size: 12px; color: #666; margin-right: 4px; }
.grupo-campo { display: flex; flex-direction: column; gap: 2px; }
a.ver-perfil { font-size: 12px; }
.reportar { border: 1px solid #ddd6c8; border-radius: 6px; background: #fbf9f4;
  padding: 16px; margin: 32px 0 8px; }
.reportar h2 { font-size: 16px; margin: 0 0 8px; }
.reportar p { font-size: 13px; color: #555; margin: 0 0 12px; }
.reportar label { display: block; font-size: 12px; color: #444; margin: 10px 0 2px; }
.reportar input, .reportar textarea { width: 100%; box-sizing: border-box; font: inherit;
  font-size: 13px; padding: 6px 8px; border: 1px solid #ccc4b4; border-radius: 4px;
  background: #fff; }
.reportar button { margin-top: 12px; font: inherit; font-size: 13px; padding: 7px 14px;
  border: 1px solid #1a3a52; border-radius: 4px; background: #1a3a52; color: #fff;
  cursor: pointer; }
.aviso-reportar { color: #a3612f; font-size: 12px; margin: 8px 0 0; }
a.reportar-link { font-weight: 600; }
header.topo nav.nav-topo { display: flex; align-items: center; flex-wrap: wrap; }
header.topo a.reportar-link.destaque { margin-left: auto; background: #fff; color: #c1121f;
  font-weight: 700; font-size: 17px; padding: 8px 16px; border: 2px solid #c1121f;
  border-radius: 4px; }

/* OS-092 (cldf-painel#3, itens 1 e 2) — o menu de traços e o ícone HOME, mãos
   espelhadas de `MENU_CSS` em src/cldf/painel_estatico/build.py, exatamente como as
   regras de `.reportar` acima já são mãos espelhadas de `REPORTAR_CSS`: esta é a única
   página que carrega uma folha de estilo externa em vez de CSS embutido. */
header.topo nav.nav-topo { position: relative; }
a.icone-home { font-size: 19px; line-height: 1; text-decoration: none; margin-right: 10px; }
input.menu-alterna { position: absolute; width: 1px; height: 1px; opacity: 0;
  pointer-events: none; }
label.menu-hamburguer { cursor: pointer; font-size: 19px; line-height: 1;
  margin-right: 12px; user-select: none; }
nav.menu-principal { display: none; flex-direction: column; position: absolute;
  top: 100%; left: 0; background: #14293a; border: 1px solid #2d5a7a; border-radius: 4px;
  min-width: 210px; padding: 4px 0; z-index: 30; }
nav.menu-principal a { display: block; padding: 8px 16px; white-space: nowrap; }
input.menu-alterna:checked ~ nav.menu-principal { display: flex; }
/* OS-082 — sinal 35m: o invariante de `render.js`, o mesmo par de classes que
   `painel_estatico/build.py`'s BASE_CSS já usa para o painel estático, repetido aqui porque
   o explorador tem a sua própria folha de estilo. */
.taxa, .numero { font-weight: 700; color: #1a3a52; }
.taxa-vazia { color: #8a8378; font-weight: 400; }
.nota-vazia { font-size: 12px; font-weight: 400; }

/* OS-082 — entrega (2): os filtros por linha (OS-093 achado A) e o resumo recalculado. */
.filtros-lista { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.filtro-linha { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.filtro-valor { min-width: 140px; }

/* OS-082 — RISCO 1: o aviso de tabela pesada, anunciado antes da busca e nunca uma recusa. */
.aviso.tabela-pesada { display: flex; flex-direction: column; gap: 8px;
  align-items: flex-start; }

/* OS-082 — entrega (1): as catorze perguntas fundadoras, cada uma já servida por uma tela
   de canvas ou (se algum dia deixar de ser) nomeada como ainda não. */
ol.catorze { padding-left: 20px; margin: 8px 0 0; }
ol.catorze li { margin: 6px 0; }
.pergunta-origem-mini { font-size: 12px; color: #666; font-style: italic; }

/* OS-169 — as notas numeradas, as mesmas regras que `build.BASE_CSS` carrega nas páginas
   construídas; aqui porque o explorador e o construtor usam esta folha e não aquela. */
sup.ref-nota { font-size: 11px; line-height: 0; }
sup.ref-nota a { text-decoration: none; font-weight: 700; }
h2.notas-titulo { font-size: 15px; margin: 40px 0 4px; color: #555;
  border-top: 1px solid #ddd6c8; padding-top: 14px; }
ol.notas { font-size: 12px; color: #555; line-height: 1.55; padding-left: 22px;
  margin: 0 0 8px; }
ol.notas li { margin: 6px 0; }
ol.notas a.volta { text-decoration: none; }
