/* ENGINE DE PRODUCAO · Operating Data — SÓ O DELTA (v4, portado 16/08).
   O resto vem de /assets/data/overview.v{N}.css, a folha REAL do site,
   linkada pela casca (versao lida do gerar_data_pub.py). Nada de cópia
   congelada: foi assim que os seis modelos v1 derivaram sem ninguém perceber. */

/* ---- seletor de empresa (bancada das 5 chaves saiu: elas estão cravadas) -- */
.tk-sel{display:flex;gap:5px;padding:10px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}

/* ---- barra global: janela · Trim/LTM · overlay de crescimento ------------- */
.gbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0 16px;
 border-bottom:1px solid var(--border);margin-bottom:20px}
.gbar .sep{width:1px;height:16px;background:var(--border-light,#333);margin:0 4px}
.gbar .rng{font-family:var(--font-mono);font-size:10.5px;color:var(--muted-4,#6a6a6a);margin-left:auto}
.glab{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.9px;text-transform:uppercase;
 color:var(--muted-4,#6a6a6a)}

/* ---- bloco panorâmico: nome | sparkline | q/q | y/y | último -------------- */
.pano-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px}
.pano-solo{margin-bottom:18px}
.ov-card.pano{padding:16px 18px 10px;background:var(--surface);border:1px solid var(--border);
 border-radius:var(--r-card,10px)}
.ov-card.pano .ov-dt{width:100%}
.ov-card.pano .ov-dt th{font-family:var(--font-mono);font-size:9px;letter-spacing:.7px;
 text-transform:uppercase;color:var(--muted-4);text-align:right;padding:0 0 7px;font-weight:500}
.ov-card.pano .ov-dt th:first-child{text-align:left}
.ov-card.pano .ov-dt td{padding:6px 0;border-bottom:1px solid var(--border-faint,#1c1c1c);
 text-align:right;white-space:nowrap}
.ov-card.pano .ov-dt td:first-child{text-align:left;white-space:normal;padding-right:10px}
.ov-card.pano .ov-dt td.sp{width:64px;padding:6px 8px 0}
.ov-card.pano .ov-dt td.vv{font-family:var(--font-mono);font-weight:700;color:var(--tx);
 font-variant-numeric:tabular-nums;padding-left:12px}
.ov-card.pano .ov-dt tbody tr{cursor:pointer}
.ov-card.pano .ov-dt tbody tr:hover td{background:rgba(255,255,255,.03)}

/* ---- ponte / identidade contábil ----------------------------------------- */
.bridge{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;margin-bottom:18px}
@media(max-width:1080px){.bridge{grid-template-columns:1fr}}
.bridge .chart-wrap{height:300px}
.ident h4{margin:0 0 12px;font-family:var(--font-mono);font-size:11px;letter-spacing:1.2px;
 text-transform:uppercase;color:var(--muted-3)}
.ln{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;
 border-bottom:1px solid var(--border-faint,#1c1c1c);font-size:12.5px;color:var(--tx-2)}
.ln b{font-family:var(--font-mono);font-size:14px;font-variant-numeric:tabular-nums;color:var(--tx)}
.ln.plus b{color:var(--accent)}
.ln.minus b{color:var(--clay-soft,#c89a86)}
.ln.tot{border-bottom:none;border-top:1px solid var(--ctrl-border);margin-top:4px;padding-top:11px}
.ln.tot b{font-size:17px;font-weight:800}
.ln small{display:block;color:var(--muted-4);font-size:10px;margin-top:2px}
.foot-note{margin-top:12px;font-family:var(--font-mono);font-size:10px;color:var(--muted-4);line-height:1.7}

/* ---- fita de trimestres + o que mudou ------------------------------------ */
.tape{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 16px}
.tcard{flex:0 0 88px;background:var(--surface);border:1px solid var(--border);border-radius:8px;
 padding:9px 10px;cursor:pointer;transition:all .15s}
.tcard:hover{border-color:var(--accent-45)}
.tcard.on{border-color:var(--accent);background:var(--accent-16)}
.tcard .q{font-family:var(--font-mono);font-size:11px;color:var(--tx-2);font-weight:600}
.tcard .bars{display:flex;align-items:flex-end;gap:2px;height:18px;margin:7px 0 5px}
.tcard .bars i{flex:1;background:var(--accent);border-radius:1px;min-height:2px;opacity:.75}
.tcard .d{font-family:var(--font-mono);font-size:9.5px;color:var(--muted-3)}
.tape-grid{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
@media(max-width:1000px){.tape-grid{grid-template-columns:1fr}}
.moves{display:grid;gap:7px}
.mv{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;cursor:pointer;
 background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:8px 12px}
.mv:hover{border-color:var(--accent-45)}
.mv .n{font-size:12px;color:var(--tx-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mv .v{font-family:var(--font-mono);font-size:12px;color:var(--tx);font-variant-numeric:tabular-nums}
.side{display:flex;flex-direction:column;gap:10px}
.readout{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}
.readout .rl{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.7px;text-transform:uppercase;
 color:var(--muted-4);margin-bottom:6px}
.readout .rv{font-size:19px;font-weight:800;color:var(--tx);font-variant-numeric:tabular-nums;margin-bottom:7px}
.pill{font-family:var(--font-mono);font-size:9.5px;padding:2px 6px;border-radius:4px;
 border:1px solid var(--ctrl-border);color:var(--muted-3);white-space:nowrap}
.pill.up{color:var(--accent);border-color:var(--accent-45);background:var(--accent-16)}
.pill.dn{color:var(--clay-soft);border-color:rgba(200,154,134,.4);background:rgba(200,154,134,.12)}

/* ---- heat da matriz: 6 passos, flame × clay — nunca vermelho/verde -------- */
.h1{background:rgba(226,88,34,.30)}.h2{background:rgba(226,88,34,.18)}.h3{background:rgba(226,88,34,.08)}
.n1{background:rgba(200,154,134,.26)}.n2{background:rgba(200,154,134,.15)}.n3{background:rgba(200,154,134,.07)}

/* ---- etiquetas e o ⓘ dos indicadores calculados por nós ------------------- */
.tag{display:inline-block;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.5px;
 padding:1px 5px;border-radius:3px;border:1px solid var(--ctrl-border);color:var(--muted-4);
 margin-left:6px;vertical-align:middle}
.tag.oak{color:var(--accent);border-color:var(--accent-45);background:var(--accent-16)}
.tag.esp{color:var(--clay-soft);border-color:rgba(200,154,134,.35)}
.info{margin-left:5px;color:var(--muted-4);cursor:help;font-size:11px;vertical-align:middle}
.info:hover{color:var(--accent)}
.locked{border:1px dashed var(--ctrl-border);border-radius:8px;padding:13px 16px;
 font-family:var(--font-mono);font-size:10.5px;color:var(--muted-3);line-height:1.8}

/* ---- gráfico: tela cheia ------------------------------------------------- */
.chart-box{position:relative}
.zoom{position:absolute;top:14px;right:14px;border:none;background:none;color:var(--muted-4);
 cursor:pointer;font-size:13px;line-height:1;padding:0}
.zoom:hover{color:var(--accent)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:200;display:none;
 align-items:center;justify-content:center;padding:34px}
.modal.on{display:flex}
.modal .in{background:var(--surface);border:1px solid var(--ctrl-border);border-radius:10px;
 width:min(1240px,96vw);height:min(760px,92vh);padding:20px 24px;display:flex;flex-direction:column}
.modal .in h3{margin:0 0 4px;font-size:14px;color:var(--tx)}
.modal .in .sub{font-size:11px;color:var(--muted-3);margin-bottom:12px}
.modal .in .chart-wrap{flex:1;height:auto;min-height:220px}
.modal .saz{height:190px;margin-top:14px;border-top:1px solid var(--border);padding-top:12px}

/* ---- tabela: nome fixo, coluna trend fixa (geometria do site) ------------- */
.heatmap-table td.m,.heatmap-table th.m{text-align:left;white-space:normal}

/* ---- B2 (16/08): flag de reapresentacao (so aparece quando o vintage acusa) */
.restated{margin:0 0 12px;padding:8px 12px;border:1px solid var(--ctrl-border);
 border-left:2px solid var(--accent);border-radius:6px;font-family:var(--font-mono);
 font-size:10.5px;color:var(--muted);line-height:1.7}
.tk-sel a.metric-chip{text-decoration:none}
#btnXlsx{margin-left:2px}
