/* Identidade compartilhada: navegação, consultas e páginas de atendimento. */
:root {
  --bg:#f3f6f5; --surface:#fff; --surfaceAlt:#edf2ef; --border:#cfdcd6;
  --text:#182f28; --muted:#52665c; --primary:#075c43; --primaryDark:#043e2e;
  --primaryLight:#e6f2ec; --accent:#8a5710;
  --sans:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  font-family:var(--sans); color:var(--text); background:var(--bg);
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--sans);line-height:1.6}
:focus-visible{outline:3px solid #b46e00!important;outline-offset:3px!important}
::selection{background:#cce7d9;color:#043e2e}
button,input,select,textarea{font-family:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
a{text-underline-offset:3px}
/* Páginas estáticas; os componentes do protótipo mantêm seu modo de contraste. */
body>.wrap,body>main#conteudo{max-width:1240px;padding:32px clamp(18px,3vw,44px) 64px;margin:auto}
h1{font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.16;letter-spacing:-.035em;margin:0 0 12px;font-weight:750}
h2{line-height:1.3;letter-spacing:-.015em}
.sub,.intro{font-size:1rem;line-height:1.65;max-width:78ch;color:var(--muted)}
.kpis{gap:14px;margin:24px 0}
.kpi{border-radius:8px;padding:20px;border-top:3px solid var(--primary);box-shadow:0 2px 3px #163e2805}
.kpi .lbl{font-size:.75rem;letter-spacing:.07em;line-height:1.5}
.kpi .val{font-size:clamp(1.1rem,2vw,1.65rem);line-height:1.4;font-variant-numeric:tabular-nums}
.filtros{padding:18px;gap:12px;border-radius:8px;margin-bottom:20px}
.filtros input,.filtros select,input[type=search],select{min-height:44px;font-size:.875rem}
.filtros input,.filtros select{background:var(--surface);border-color:#98afa3;border-radius:5px}
.item{border-radius:8px;padding:20px;margin-bottom:4px;transition:border-color .15s,box-shadow .15s}
.item:hover{box-shadow:0 3px 12px #163e280a}
.item .obj{font-size:.9375rem;line-height:1.65}
.item .pe,.rodape,.mov li{font-size:.875rem}
.item .valor{font-size:1.125rem}
.abas{gap:4px;margin-top:20px;margin-bottom:24px;overflow-x:auto}
.abas button{min-height:44px;font-size:.875rem;white-space:nowrap}
.paginacao button{min-height:44px;min-width:44px;border-radius:5px}
.selo,.tag{font-size:.75rem;letter-spacing:.02em}
article,.passos{border-radius:8px;border-color:var(--border)}
.marca{color:var(--primary);font-size:.75rem;letter-spacing:.09em}
.botao{border-radius:5px;background:var(--primary)}
.busca input{border-radius:5px;border-color:#98afa3}
table{border-collapse:collapse;font-variant-numeric:tabular-nums}
th{font-size:.8125rem;line-height:1.4}
td{font-size:.875rem;line-height:1.55}
tbody tr:hover{background:#075c4306}
@media(max-width:640px){
 body>.wrap,body>main#conteudo{padding:24px 16px 48px}
 .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .kpi{padding:14px;min-width:0}.kpi .val{white-space:normal;overflow-wrap:anywhere}
 .filtros{padding:14px}.filtros input[type=search]{min-width:0;width:100%;flex-basis:100%}
 .filtros select{max-width:100%}.filtros .conta{white-space:normal}
 .item{padding:16px}.selo{margin-bottom:6px;max-width:100%;white-space:normal}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Mantém a rolagem de tabelas extensas dentro do painel de quantitativos. */
.quant-panel{overflow-x:auto}
h1{white-space:normal;overflow-wrap:break-word}
/* Resumos numéricos compactos: a versão móvel usa linhas, não cartões grandes. */
@media(max-width:700px){
 .kpis{display:block;margin:18px 0;padding:4px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}
 .kpis .kpi{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;min-width:0;border:0;border-radius:0;background:none;box-shadow:none}
 .kpis .kpi + .kpi{border-top:1px solid var(--border)}
 .kpis .kpi .lbl{font-size:.6875rem;font-weight:600;letter-spacing:.035em;line-height:1.45}
 .kpis .kpi .val{font-size:.875rem;font-weight:650;line-height:1.45;margin-top:0;white-space:nowrap;flex-shrink:0}
}
/* No celular, cada registro mantém todos os campos visíveis em uma ficha. */
@media(max-width:700px){
 .abas{flex-wrap:wrap;overflow:visible;gap:6px;border:0}
 .abas button{flex:1 1 130px;white-space:normal;line-height:1.4;margin:0;border:1px solid var(--border);border-radius:5px;padding:10px;font-size:.8125rem}
 .abas button[aria-selected="true"]{background:var(--primaryLight);border-color:var(--primary)}
 .rolatab,.quant-panel{overflow:visible;min-width:0}
 table.mobile-table{display:block;width:100%;min-width:0!important;border:0;background:none;overflow:visible}
 table.mobile-table>thead{display:none}
 table.mobile-table>tbody{display:block}
 table.mobile-table>tbody>tr{display:block;background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:12px;margin-bottom:12px}
 table.mobile-table>tbody>tr>td{display:block;width:auto;min-width:0;max-width:100%;text-align:left;white-space:normal!important;overflow-wrap:anywhere;padding:8px 0;border:0;border-top:1px solid var(--border);font-size:.8125rem}
 table.mobile-table>tbody>tr>td:first-child{border-top:0;padding-top:0;font-weight:650}
 table.mobile-table>tbody>tr>td[data-mobile-label]::before{content:attr(data-mobile-label);display:block;font-family:var(--sans);font-size:.6875rem;line-height:1.5;font-weight:600;letter-spacing:.025em;color:var(--muted);margin-bottom:3px}
 .colunas{display:flex;flex-direction:column;align-items:stretch;height:auto!important;overflow:visible;gap:16px}
 .colunas .col{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'month value' 'bar bar' 'detail detail';gap:4px 12px;flex:none;min-width:0;width:100%;height:auto}
 .colunas .col .rot{grid-area:month;text-align:left;font-size:.75rem;margin:0}
 .colunas .col .topo{grid-area:value;text-align:right;white-space:normal;font-size:.75rem;margin:0}
 .colunas .col .haste{grid-area:bar;height:6px!important;width:var(--mobile-bar);max-width:100%;border-radius:3px}
 .colunas .col .dica{grid-area:detail;position:static;transform:none;white-space:normal;opacity:1;pointer-events:auto;margin:0;padding:0;background:none;color:var(--muted);font-size:.6875rem}
 .filtros>*{min-width:0;max-width:100%}
}
@media(max-width:700px){
 .idbar-inner,.mobile-nav{white-space:normal!important;flex-wrap:wrap!important;overflow:visible!important}
 .mobile-nav>*{min-width:0!important;max-width:100%;white-space:normal!important;flex:1 1 130px;text-align:center}
 .mobile-code{white-space:normal!important;overflow-wrap:anywhere;overflow:visible!important;min-width:0}
 .mobile-flow{flex-direction:column!important;overflow:visible!important}
 .mobile-flow>div{flex-direction:column!important;align-items:stretch!important;min-width:0;max-width:100%}
 .mobile-flow>div>div:first-child{width:100%!important;min-height:0!important}
 .mobile-flow>div>div:nth-child(2){align-self:center;transform:rotate(90deg);padding:10px!important}
}
@media(max-width:700px){
 .tag{white-space:normal;max-width:100%;overflow-wrap:anywhere}
 span[style*="white-space: nowrap"]{white-space:normal!important;overflow-wrap:anywhere;min-width:0}
 h1{white-space:normal!important;overflow-wrap:anywhere}
}
/* Fichas de indicadores: título em cima e pares rótulo/valor na mesma linha. */
@media(max-width:700px){
 .tab.mobile-table>tbody>tr>td.n:not(:first-child){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:baseline;gap:10px;padding:7px 0;text-align:right;line-height:1.45}
 .tab.mobile-table>tbody>tr>td.n[data-mobile-label]::before{text-align:left;margin:0;letter-spacing:0}
}
