/* ═══════════════════════════════════════════════════════════════════════
   overlay-terminal.css · DIAGRAMAÇÃO de PRODUÇÃO "Terminal" (rail + leitura)
   Armada por html[data-ui="terminal"], escrito por overlay.js (alvo:
   PandaOverlay.applyLayout; hoje o parâmetro ?ui= do viewer), sobre a base
   html[data-layout="2col"]; sem o atributo nenhuma regra liga. Carregada em
   LOCKSTEP por index.html e overlay.html, DEPOIS de overlay-2col.css: mesma
   especificidade vence por ordem. Aditiva, DOM congelado, tokens ONLY (zero
   hex). Abaixo de 640px a COLUNA ÚNICA de produção segue intacta.

   CONCEITO (PT-BR): a página vira uma PÁGINA DE LEITURA com um RAIL DE NÚMEROS
   estreito à esquerda (30%, piso 210px). No rail nada é card: cada fato é uma
   linha de 22px "RÓTULO ……… valor" (rótulo caixa-alta muda, guia pontilhada,
   valor bold tabular) — métricas, risco, financeiro, instrumentos e filings
   viram UMA lista contínua que se lê de cima a baixo como um extrato. A coluna
   direita (≈68%) é O TEXTO: a manchete do WHY é o lead (1.25em), os bullets
   viram parágrafo, o PANDA EDGE é uma citação destacada com filete âmbar e as
   notícias viram uma TIMELINE (data à esquerda, linha vertical com um ponto por
   item na cor da zona, manchete → "TAG · FONTE" → takeaway); o AI Insight
   fecha a leitura no mesmo registro. O trader ganha: números varridos num
   olhar (uma coluna só de valores alinhados) e prosa larga de verdade a 720px.
   TRADE-OFFS: o rail de 210px encurta títulos de filing fechados (o aberto
   ganha a linha inteira); chips viram TEXTO colorido (menos ruído, menos
   "botão"); o selo SEC deixa de ser vermelho (vermelho = só short/HIGH/dilutivo).
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════
   BLOCO A · LAYOUT rail 30% (floats) × leitura em fluxo (margin-left)
   C1 (vazio na coluna 1) · C8 (colunas simétricas) · C10 (ordem de leitura).
   Tudo o que fala de float/columns/grade dos filhos de #ovlScroll vive DENTRO
   deste @media: abaixo de 640px a coluna única de produção segue intacta.
   ═══════════════════════════════════════════════════════════════════════ */
@media (min-width: 640px) {
  /* C1/C8 — multicol desligado; flow-root = clearfix dos floats; largura do
     rail = max(30%, 210px) num custom prop (o % resolve contra a caixa de
     conteúdo em TODOS os usos: largura dos floats, margem da leitura e o
     filete do vão pintado com background-origin: content-box). */
  html[data-ui="terminal"][data-layout="2col"] #ovlScroll {
    --rail: max(30%, 210px);
    --rail-gap: 14px;
    columns: auto; column-gap: normal; column-rule: none; column-fill: auto;
    display: flow-root; height: auto; overflow: visible;
    padding: 0 6px 12px;
    background-image: linear-gradient(to right,
      transparent calc(var(--rail) + 6px),
      var(--border-strong) calc(var(--rail) + 6px),
      var(--border-strong) calc(var(--rail) + 7px),
      transparent calc(var(--rail) + 7px));
    background-repeat: no-repeat;
    background-origin: content-box;
    background-clip: content-box;
  }
  html[data-ui="terminal"][data-layout="2col"] .why-section { break-before: auto; }

  /* C1/C10 — RAIL: métricas, risco, financeiro/instrumentos e FILINGS flutuam
     à esquerda, empilhados (clear) — dado duro fica todo numa coluna só */
  html[data-ui="terminal"][data-layout="2col"] .metrics-grid,
  html[data-ui="terminal"][data-layout="2col"] #dtRiskGroup,
  html[data-ui="terminal"][data-layout="2col"] #dtOnlyGroup,
  html[data-ui="terminal"][data-layout="2col"] #filingsSection { float: left; clear: left; width: var(--rail); }

  /* C1/C8 — LEITURA: fluxo normal deslocado (rail + vão). Em fluxo ela ignora a
     altura dos floats — a prosa nunca fica presa ao pé do rail. */
  html[data-ui="terminal"][data-layout="2col"] .why-section,
  html[data-ui="terminal"][data-layout="2col"] .news-zone,
  html[data-ui="terminal"][data-layout="2col"] #insightView {
    float: none; clear: none; width: auto;
    margin-left: calc(var(--rail) + var(--rail-gap));
  }

  /* C6 — ritmo de 14px entre blocos; 6px no topo de cada coluna */
  html[data-ui="terminal"][data-layout="2col"] #ovlScroll > * { margin-top: 14px; margin-bottom: 0; }
  html[data-ui="terminal"][data-layout="2col"] .metrics-grid,
  html[data-ui="terminal"][data-layout="2col"] .why-section { margin-top: 6px; }
  html[data-ui="terminal"][data-layout="2col"] #insightView.stage-view { margin-top: 14px; }

  /* ── A1 · MÉTRICAS como lista: 1 coluna, linha "RÓTULO sub ……… valor" ──
     C2 (hierarquia rótulo/valor) · C6 (registro de 22px) · C8 (rail estreito) */
  html[data-ui="terminal"][data-layout="2col"] .metrics-grid {
    grid-template-columns: 1fr; grid-auto-rows: auto; row-gap: 0; column-gap: 0;
    margin-bottom: 0;
    border-top: 1px solid var(--border-strong); border-bottom: 1px solid var(--border);
  }
  html[data-ui="terminal"][data-layout="2col"] .metric-card {
    flex-direction: row; align-items: center; gap: 8px;
    min-height: 22px; padding: 0; background: transparent;
  }
  html[data-ui="terminal"][data-layout="2col"] .metric-card + .metric-card { border-top: 1px solid var(--border); }
  html[data-ui="terminal"][data-layout="2col"] .metric-bar { display: none; }
  html[data-ui="terminal"][data-layout="2col"] .metric-top { flex: 1 1 auto; min-width: 0; align-items: center; gap: 6px; }
  html[data-ui="terminal"][data-layout="2col"] .metric-label {
    flex: none; font-size: .78em; font-weight: 400; letter-spacing: .06em;
    text-transform: uppercase; color: var(--text-muted); line-height: 1.2;
  }
  /* sub-rótulo (D:/F: · data do split) inline após o rótulo, sem empurrar */
  html[data-ui="terminal"][data-layout="2col"] .metric-sub,
  html[data-ui="terminal"][data-layout="2col"] .split-date {
    flex: 0 1 auto; min-width: 0; margin-left: 0;
    font-size: .78em; color: var(--text-muted); font-variant-numeric: tabular-nums;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  /* guia pontilhada até o valor — a assinatura do rail */
  html[data-ui="terminal"][data-layout="2col"] .metric-top::after {
    content: ""; flex: 1 1 8px; min-width: 8px; height: 0;
    border-bottom: 1px dotted var(--border-strong); margin: 3px 0 0;
  }
  html[data-ui="terminal"][data-layout="2col"] .metric-valrow { flex: none; margin: 0; gap: 3px; }
  html[data-ui="terminal"][data-layout="2col"] .metric-val {
    font-size: 1em; font-weight: 700; color: var(--text); line-height: 1.2;
    font-variant-numeric: tabular-nums; text-align: right;
  }

  /* ── A2 · RISCO como linhas "Offering ……… pill" — C4/C6/C7 ── */
  html[data-ui="terminal"][data-layout="2col"] .dt-risk-group { background: transparent; }
  html[data-ui="terminal"][data-layout="2col"] .hdivider { display: none; }
  html[data-ui="terminal"][data-layout="2col"] .overall-row {
    justify-content: space-between; gap: 8px; padding: 2px 0;
    min-height: 24px; border-top: 1px solid var(--border-strong);
  }
  html[data-ui="terminal"][data-layout="2col"] .overall-label {
    font-size: .78em; font-weight: 400; letter-spacing: .06em; text-transform: uppercase;
    color: var(--text-muted); white-space: normal; line-height: 1.25; min-width: 0;
  }
  /* o pill "Overall" é o número-manchete do rail: um degrau maior, sem piso fixo */
  html[data-ui="terminal"][data-layout="2col"] #overallBadge {
    min-width: 0; width: auto; height: 18px; line-height: 18px; margin: 0;
    padding: 0 9px; font-size: .85em; border-radius: 2px; flex: none;
  }
  html[data-ui="terminal"][data-layout="2col"] .ratings-grid { grid-template-columns: 1fr; gap: 0; margin: 0; }
  html[data-ui="terminal"][data-layout="2col"] .ratings-grid .rating-cell {
    padding: 0; gap: 8px; min-height: 22px; border-top: 1px solid var(--border);
  }
  html[data-ui="terminal"][data-layout="2col"] .ratings-grid .rating-cell:nth-child(odd)::after { display: none; }
  html[data-ui="terminal"][data-layout="2col"] .rating-name {
    display: flex; align-items: center; flex: 1 1 auto; min-width: 0;
    font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted);
  }
  html[data-ui="terminal"][data-layout="2col"] .rating-name::after {
    content: ""; flex: 1 1 8px; min-width: 8px; height: 0;
    border-bottom: 1px dotted var(--border-strong); margin: 3px 0 0 6px;
  }
  html[data-ui="terminal"][data-layout="2col"] .ratings-grid .pill {
    width: auto; min-width: 64px; height: 16px; line-height: 16px; margin: 0;
    padding: 0 8px; font-size: .8em; border-radius: 2px;
  }

  /* ── A3 · FINANCEIRO + INSTRUMENTOS no mesmo registro de linha — C4/C6 ── */
  html[data-ui="terminal"][data-layout="2col"] .fin-grid { grid-template-columns: 1fr; gap: 0; }
  html[data-ui="terminal"][data-layout="2col"] .fin-cell {
    background: transparent; padding: 0; gap: 8px; min-height: 22px; border-top: 1px solid var(--border);
  }
  html[data-ui="terminal"][data-layout="2col"] .fin-cell:first-child { border-top-color: var(--border-strong); }
  html[data-ui="terminal"][data-layout="2col"] .fin-name {
    display: flex; align-items: center; flex: 1 1 auto; min-width: 0;
    font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted);
  }
  html[data-ui="terminal"][data-layout="2col"] .fin-name::after {
    content: ""; flex: 1 1 8px; min-width: 8px; height: 0;
    border-bottom: 1px dotted var(--border-strong); margin: 3px 0 0 6px;
  }
  html[data-ui="terminal"][data-layout="2col"] .fin-val { font-variant-numeric: tabular-nums; color: var(--text); }
  html[data-ui="terminal"][data-layout="2col"] #instrumentsBody { background: transparent; padding: 0; }
  /* linha embrulha como FLEX: se o valor não cabe ao lado do rótulo ele desce
     INTEIRO para a linha de baixo (alinhado à direita), nunca quebra no meio
     de "14-08-31" — a 900px (rail 260px) quase tudo fica numa linha só */
  html[data-ui="terminal"][data-layout="2col"] #instrumentsBody .instr-row {
    background: transparent; padding: 2px 0; gap: 2px 8px; align-items: center; min-height: 22px;
    flex-wrap: wrap;
  }
  html[data-ui="terminal"][data-layout="2col"] #instrumentsBody .instr-row + .instr-row { border-top: 1px solid var(--border); }
  html[data-ui="terminal"][data-layout="2col"] .instr-type {
    display: flex; align-items: center; flex: 1 1 auto; min-width: 0;
    font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted);
  }
  html[data-ui="terminal"][data-layout="2col"] .instr-type::after {
    content: ""; flex: 1 1 8px; min-width: 8px; height: 0;
    border-bottom: 1px dotted var(--border-strong); margin: 3px 0 0 6px;
  }
  html[data-ui="terminal"][data-layout="2col"] .instr-detail {
    flex: 0 1 auto; max-width: 100%; min-width: 0; margin-left: auto; text-align: right;
    font-weight: 700; color: var(--text); line-height: 1.3; font-variant-numeric: tabular-nums;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   BLOCO B · CABEÇALHO ÚNICO — C5 (quatro estilos viram um): filete 1px em
   cima, rótulo em versaletes .76em com tracking .12em em --label, meta à
   direita em .76em. A zona de notícia usa a cor SÓ no texto do rótulo.
   ═══════════════════════════════════════════════════════════════════════ */
html[data-ui="terminal"] .ovl-section { border: 0; }
html[data-ui="terminal"] .dt-only-group .ovl-section { margin-top: 14px; }
html[data-ui="terminal"] .section-hdr,
html[data-ui="terminal"] .news-zone .news-hdr {
  background: transparent; border-top: 1px solid var(--border-strong);
  min-height: 24px; padding: 4px 0 0; gap: 8px; align-items: center;
}
html[data-ui="terminal"] .filings-section .section-hdr { gap: 8px; }
html[data-ui="terminal"] .section-title,
html[data-ui="terminal"] .news-zone .news-hdr-title {
  font-size: .76em; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--label);
}
html[data-ui="terminal"] .why-section #whyTitle { font-size: .76em; letter-spacing: .12em; }
html[data-ui="terminal"] .news-zone.news-breaking .news-hdr-title { color: var(--news-brk-fg); }
html[data-ui="terminal"] .news-zone.news-recent .news-hdr-title { color: var(--news-rec-fg); }
html[data-ui="terminal"] .news-zone.news-latest .news-hdr-title { color: var(--news-lts-fg); }
html[data-ui="terminal"] .news-zone .news-count,
html[data-ui="terminal"] .filings-section .news-count { font-size: .76em; font-weight: 400; color: var(--text-muted); margin-left: auto; }
html[data-ui="terminal"] .why-catalyst { font-size: .76em; letter-spacing: .06em; }
html[data-ui="terminal"] .section-body { padding: 0; }
/* C5 — a zona de notícia perde moldura e faixa: só rótulo + timeline */
html[data-ui="terminal"] .news-zone { border: 0; background: transparent; margin-bottom: 0; }
/* C7 — selo de origem: contorno quieto; PANDA AI em --accent, não vermelho */
html[data-ui="terminal"] .src-badge { font-size: .7em; margin-left: 0; padding: 0 6px; line-height: 1.6; }
html[data-ui="terminal"] .src-badge.src-ai { background: transparent; border: 1px solid var(--accent); color: var(--accent); }
html[data-ui="terminal"] .src-badge.src-busy { background: transparent; border: 1px solid var(--badge-med); color: var(--risk-med); }

/* ═══════════════════════════════════════════════════════════════════════
   BLOCO C · WHY = LEAD + PANDA EDGE = CITAÇÃO — C2 (hierarquia) · C10 (ordem)
   ═══════════════════════════════════════════════════════════════════════ */
html[data-ui="terminal"] .why-frame { padding: 8px 0 2px; }
/* C2/C10 — a manchete é o maior texto da página: é onde o olho entra */
html[data-ui="terminal"] .why-headline { font-size: 1.25em; line-height: 1.2; font-weight: 700; color: var(--text); }
/* C2/C6 — bullets em registro de parágrafo .98em/1.45 */
html[data-ui="terminal"] .why-summary { font-size: .98em; line-height: 1.45; margin-top: 8px; color: var(--text-muted); }
html[data-ui="terminal"] .why-summary .why-li { margin-top: 5px; line-height: 1.45; gap: 8px; }
html[data-ui="terminal"] .why-summary .why-li:first-child { margin-top: 0; }
html[data-ui="terminal"] .why-summary .why-li-dot { color: var(--text-muted); }
html[data-ui="terminal"] .why-summary b { color: var(--text); }
/* C2/C7 — EDGE como pull-quote: filete 3px caution, rótulo pequeno ACIMA,
   texto 1.02em em --text (itálico OFF), sem fundo — é citação, não caixa */
html[data-ui="terminal"] .why-edge {
  margin-top: 12px; padding: 4px 0 4px 12px;
  border-left: 3px solid var(--score-caution); background: transparent;
  color: var(--text); font-size: 1.02em; line-height: 1.45; font-style: normal;
}
html[data-ui="terminal"] .why-edge b { color: var(--text); font-weight: 700; }
html[data-ui="terminal"] .why-edge > b:first-child {
  display: block; margin-bottom: 4px;
  font-size: .72em; letter-spacing: .12em; text-transform: uppercase; color: var(--score-caution);
}

/* ═══════════════════════════════════════════════════════════════════════
   BLOCO D · NOTÍCIAS COMO TIMELINE — C3 (chips) · C6 (ritmo) · C7 (cor)
   Linha do tempo: data (38px) | ponto na linha vertical | manchete →
   "TAG · FONTE" → takeaway. Grade de 3 colunas no .news-row (data · tag ·
   resto): explícita, o `order` do overlay.css não interfere.
   ═══════════════════════════════════════════════════════════════════════ */
/* C6 — o corpo carrega a linha vertical; 12px de inset para os itens */
html[data-ui="terminal"] .news-body { margin-left: 4px; padding: 2px 0 4px 12px; border-left: 1px solid var(--border-strong); gap: 0; }
html[data-ui="terminal"] .news-row {
  display: grid; grid-template-columns: 38px auto 1fr; align-items: baseline;
  row-gap: 2px; column-gap: 0; position: relative; min-height: 0;
  padding: 5px 0 7px; line-height: 1.35;
}
/* ponto por item, centrado na linha (linha em -12.5px do conteúdo) */
html[data-ui="terminal"] .news-row::before {
  content: ""; position: absolute; left: -16.5px; top: 10px;
  width: 8px; height: 8px; border-radius: 50%; background: var(--text-muted);
}
html[data-ui="terminal"] .news-breaking .news-row::before { background: var(--news-brk-fg); }
html[data-ui="terminal"] .news-recent .news-row::before { background: var(--news-rec-fg); }
html[data-ui="terminal"] .news-row.news-noise::before { background: var(--border-strong); }
/* C3 — data à ESQUERDA (coluna 1), .78em dim, tabular */
html[data-ui="terminal"] .news-row .news-time {
  grid-column: 1; grid-row: 1; order: -1; margin: 0; padding-right: 6px;
  font-size: .78em; color: var(--text-muted); font-variant-numeric: tabular-nums; white-space: nowrap;
}
/* C3/C2 — manchete .98em na linha 1, ocupa da coluna 2 ao fim */
html[data-ui="terminal"] .news-row .news-head { grid-column: 2 / -1; grid-row: 1; font-size: .98em; line-height: 1.35; min-width: 0; }
/* C3/C7 — linha meta = TEXTO, sem caixa: tag na cor do viés, fonte muda */
html[data-ui="terminal"] .news-row .news-bias {
  grid-column: 2; grid-row: 2; margin: 0; padding: 0;
  background: transparent; font-size: .74em; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
}
html[data-ui="terminal"] .news-row .news-bias.bias-long { color: var(--score-clean); }
html[data-ui="terminal"] .news-row .news-bias.bias-short { color: var(--score-toxic); }   /* vermelho = short, só aqui */
html[data-ui="terminal"] .news-row .news-src {
  grid-column: 3; grid-row: 2; justify-self: start; margin: 0; padding: 0; min-width: 0;
  background: transparent; color: var(--text-muted); font-size: .74em; font-weight: 400; letter-spacing: .08em;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
html[data-ui="terminal"] .news-row .news-src.is-sec { background: transparent; color: var(--text-muted); font-weight: 700; }
html[data-ui="terminal"] .news-row .news-src:empty { display: none; }
html[data-ui="terminal"] .news-row .news-bias + .news-src:not(:empty)::before { content: "·"; margin: 0 6px; color: var(--text-muted); }
/* C3/C6 — takeaway na linha 3, .86em muted, alinhado à manchete */
html[data-ui="terminal"] .news-row .news-take {
  grid-column: 2 / -1; grid-row: 3; margin: 2px 0 0; padding: 0; min-width: 0;
  font-size: .86em; line-height: 1.4; color: var(--text-muted);
}
/* C3 — estado ABERTO: mesma grade (neutraliza o flex-basis/order/margin do
   html[data-intel] .news-row.expanded do overlay.css; mesma especificidade,
   cascata posterior vence) */
html[data-ui="terminal"] .news-row.expanded .news-head { grid-column: 2 / -1; grid-row: 1; }
html[data-ui="terminal"] .news-row.expanded .news-time { margin-left: 0; }
html[data-ui="terminal"] .news-row.expanded .news-take { grid-row: 3; }

/* ═══════════════════════════════════════════════════════════════════════
   BLOCO E · FILINGS no rail: linhas compactas + corpo empilhado
   C4 (corpo apertado/desalinhado) · C6 (ritmo) · C7 (vermelho sobrecarregado)
   ═══════════════════════════════════════════════════════════════════════ */
html[data-ui="terminal"] #filingsBody { padding: 0; }
html[data-ui="terminal"] .filing-row { padding: 4px 0; min-height: 24px; line-height: 1.35; align-items: baseline; }
html[data-ui="terminal"] .filing-row + .filing-row { border-top: 1px solid var(--border); }
/* C7 — selo do formulário NEUTRO (surface-high + contorno): o vermelho fica
   reservado a short / HIGH / dilutivo. Trade-off declarado no cabeçalho. */
html[data-ui="terminal"] .filing-form {
  font-size: .72em; line-height: 1.6; padding: 0 5px; margin: 0 8px 0 0; letter-spacing: .06em;
  background: var(--surface-high); color: var(--text); border: 1px solid var(--border-strong);
  font-variant-numeric: tabular-nums;
}
html[data-ui="terminal"] .filing-title { font-size: .92em; }
html[data-ui="terminal"] .filing-time { font-size: .74em; color: var(--text-muted); margin: 0 0 0 6px; font-variant-numeric: tabular-nums; }
/* C4 — o "▼ AI" repetido some no repouso; acende no hover/aberto */
html[data-ui="terminal"] .filing-chev { font-size: .72em; font-weight: 400; color: var(--text-muted); opacity: 1; margin-left: 6px; }
html[data-ui="terminal"] .filing-row:hover .filing-chev,
html[data-ui="terminal"] .filing-row.open .filing-chev { opacity: 1; color: var(--accent); }
/* C4 — linha ABERTA: título ganha a linha inteira; hora vai para a direita */
html[data-ui="terminal"] .filing-row.open .filing-time { margin-left: auto; }
html[data-ui="terminal"] .filing-row.open .filing-title { flex: 0 0 100%; order: 1; margin: 4px 0 0; line-height: 1.35; font-weight: 700; }
html[data-ui="terminal"] .filing-row.open .filing-ai { order: 2; }
/* C4/C6 — corpo expandido no rail: sem inset de superfície, filete em cima */
html[data-ui="terminal"] .filing-ai { margin-top: 6px; padding: 6px 0 2px; background: transparent; border-top: 1px solid var(--border); }
/* C7 — chips viram TEXTO separado por "·": tag na cor do viés, severidade
   na cor de risco, DILUTIVO em toxic. Zero caixa. */
html[data-ui="terminal"] .filing-chips { gap: 0; margin: 0 0 4px; align-items: baseline; }
html[data-ui="terminal"] .filing-chips > *:not(:last-child)::after { content: "·"; margin: 0 6px; color: var(--text-muted); font-weight: 400; }
html[data-ui="terminal"] .filing-chips .news-bias,
html[data-ui="terminal"] .filing-sev,
html[data-ui="terminal"] .filing-dil {
  font-size: .74em; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: 0; margin: 0; line-height: 1.6; background: transparent; color: var(--text-muted);
}
html[data-ui="terminal"] .filing-chips .news-bias.bias-long { color: var(--score-clean); }
html[data-ui="terminal"] .filing-chips .news-bias.bias-short { color: var(--score-toxic); }
html[data-ui="terminal"] .filing-sev.sev-MED { color: var(--score-caution); }
html[data-ui="terminal"] .filing-sev.sev-HIGH,
html[data-ui="terminal"] .filing-sev.sev-CRIT { color: var(--score-toxic); }
html[data-ui="terminal"] .filing-dil { color: var(--score-toxic); }
/* C4 — "NÍVEIS" no mesmo versalete dos cabeçalhos, um degrau menor */
html[data-ui="terminal"] .filing-sub { font-size: .7em; letter-spacing: .12em; color: var(--label); margin: 8px 0 2px; }
/* C4 — níveis EMPILHADOS (rótulo em cima, valor embaixo): no rail de 210px
   o rótulo longo nunca embrulha ao lado do valor */
html[data-ui="terminal"] .filing-level { display: block; margin: 6px 0 0; padding: 0; }
html[data-ui="terminal"] .filing-level-label {
  display: block; flex: none; min-width: 0; white-space: normal;
  font-size: .74em; line-height: 1.3; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted);
}
html[data-ui="terminal"] .filing-level-val {
  display: block; flex: none; white-space: normal; text-align: left;
  font-size: .95em; line-height: 1.3; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums;
}
/* C4/C7 — risco como citação (igual ao EDGE), filete na cor da severidade */
html[data-ui="terminal"] .filing-risk {
  margin-top: 10px; padding: 2px 0 2px 10px;
  border-left: 3px solid var(--border-strong); background: transparent;
  color: var(--text); font-size: .88em; line-height: 1.4;
}
html[data-ui="terminal"] .filing-risk.sev-MED { color: var(--text); border-left-color: var(--score-caution); }
html[data-ui="terminal"] .filing-risk.sev-HIGH,
html[data-ui="terminal"] .filing-risk.sev-CRIT { color: var(--text); border-left-color: var(--score-toxic); }
html[data-ui="terminal"] .filing-risk > b:first-child {
  display: block; margin-bottom: 3px;
  font-size: .72em; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted);
}
html[data-ui="terminal"] .filing-risk.sev-MED > b:first-child { color: var(--score-caution); }
html[data-ui="terminal"] .filing-risk.sev-HIGH > b:first-child,
html[data-ui="terminal"] .filing-risk.sev-CRIT > b:first-child { color: var(--score-toxic); }

/* ═══════════════════════════════════════════════════════════════════════
   BLOCO F · AI INSIGHT na coluna de leitura — C5 (cabeçalho par) · C9
   (painel estreito) · C2 (prosa no mesmo registro dos bullets)
   ═══════════════════════════════════════════════════════════════════════ */
/* C5 — o painel perde a moldura; a faixa-botão vira o MESMO cabeçalho */
html[data-ui="terminal"][data-layout="2col"] #insightView.stage-view { border: 0; overflow: visible; }
html[data-ui="terminal"][data-layout="2col"] #insightView #aiInsightBtn {
  background: transparent; border-top: 1px solid var(--border-strong);
  min-height: 24px; padding: 4px 0 0; gap: 6px; margin: 0;
  font-family: inherit; font-size: .76em; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--label);
}
html[data-ui="terminal"][data-layout="2col"] #insightView .insight-header { top: 2px; right: 0; height: 24px; font-size: .76em; gap: 10px; }
html[data-ui="terminal"][data-layout="2col"] #insightView .insight-accordion { padding: 0 0 6px; }
html[data-ui="terminal"] .insight-age { font-size: 1em; color: var(--text-muted); }
html[data-ui="terminal"] .insight-age.stale { color: var(--score-caution); }
html[data-ui="terminal"] .insight-reload { font-size: 1em; color: var(--accent); }
/* C5/C9 — sub-seções: filete fraco em cima, título um degrau abaixo do cabeçalho */
html[data-ui="terminal"] .ins-section { border: 0; border-top: 1px solid var(--border); background: transparent; margin-top: 0; }
html[data-ui="terminal"][data-layout="2col"] #insightView .ins-section:first-child { border-top: 0; }
html[data-ui="terminal"] .ins-sec-hdr { background: transparent; min-height: 28px; padding: 5px 0; gap: 6px; flex-wrap: wrap; row-gap: 4px; }
html[data-ui="terminal"] .ins-sec-chevron { font-size: .8em; color: var(--text-muted); }
html[data-ui="terminal"] .ins-sec-title { font-size: .8em; letter-spacing: .08em; color: var(--section-title); }
html[data-ui="terminal"] .ins-sec-peek { font-size: .86em; font-weight: 400; color: var(--text-muted); }
html[data-ui="terminal"] .ins-sec-body { background: transparent; padding: 4px 0 10px; }
/* C9 — pills .82em que NÃO truncam: o grupo desce de linha quando não cabe */
html[data-ui="terminal"] .ins-pill { font-size: .82em; padding: 1px 8px; min-width: 0; line-height: 1.5; border-radius: 2px; }
html[data-ui="terminal"][data-layout="2col"] #insightView .ins-sec-right { flex: 0 0 auto; min-width: 0; flex-wrap: wrap; justify-content: flex-end; gap: 4px 6px; }
html[data-ui="terminal"][data-layout="2col"] #insightView .ins-pill { flex: none; display: inline-flex; overflow: visible; text-overflow: clip; }
html[data-ui="terminal"][data-layout="2col"] #insightView .ins-sec-peek { display: inline; overflow: visible; text-overflow: clip; white-space: normal; }
/* C9 — "O QUE ESTÁ ACONTECENDO" + pill: a pill desce de linha se não couber */
html[data-ui="terminal"] .ins-ksection-row { flex-wrap: wrap; row-gap: 4px; margin: 12px 0 6px; }
html[data-ui="terminal"] .ins-ksection-row .ins-ksection { margin: 0; }
html[data-ui="terminal"] .ins-ksection { font-size: .72em; letter-spacing: .12em; color: var(--label); margin: 12px 0 6px; }
html[data-ui="terminal"] .ins-tl-block-hdr { font-size: .72em; letter-spacing: .12em; margin: 0 0 6px; }
/* C6 — o corpo já respira; os insets de 10/18px do tk viram 0 */
html[data-ui="terminal"] .ins-prose, html[data-ui="terminal"] .ins-bullet, html[data-ui="terminal"] .ins-row,
html[data-ui="terminal"] .ins-divider, html[data-ui="terminal"] .ins-levels-empty,
html[data-ui="terminal"] .ins-level-row, html[data-ui="terminal"] .ins-level-note-row,
html[data-ui="terminal"] .ins-narr-row, html[data-ui="terminal"] .ins-tl-divider,
html[data-ui="terminal"] .ins-tl-row, html[data-ui="terminal"] .ins-tl-hist-row { margin-left: 0; margin-right: 0; }
html[data-ui="terminal"] .ins-conf-row { margin-left: 8px; margin-right: 0; }
/* C2 — prosa do insight no registro dos bullets do WHY (.98em/1.45) */
html[data-ui="terminal"] .ins-prose, html[data-ui="terminal"] .ins-bullet, html[data-ui="terminal"] .ins-narr-prose,
html[data-ui="terminal"] .ins-narr-text, html[data-ui="terminal"] .ins-level-label, html[data-ui="terminal"] .ins-level-note,
html[data-ui="terminal"] .ins-tl-now, html[data-ui="terminal"] .ins-tl-watch, html[data-ui="terminal"] .ins-tl-event,
html[data-ui="terminal"] .ins-tl-hist-event, html[data-ui="terminal"] .ins-tl-hist-impact,
html[data-ui="terminal"] .ins-row-label, html[data-ui="terminal"] .ins-conf-sub { font-size: .98em; line-height: 1.45; }
html[data-ui="terminal"] .ins-bullet { margin-top: 6px; }
html[data-ui="terminal"] .ins-punchline { font-size: 1em; margin-top: 10px; color: var(--text); }
html[data-ui="terminal"] .ins-divider, html[data-ui="terminal"] .ins-tl-divider { margin-top: 12px; margin-bottom: 8px; }
html[data-ui="terminal"] .ins-level-row { margin-top: 10px; }
html[data-ui="terminal"] .ins-level-price, html[data-ui="terminal"] .ins-tl-date, html[data-ui="terminal"] .ins-tl-hist-date { font-variant-numeric: tabular-nums; }
html[data-ui="terminal"] .ins-level-kind, html[data-ui="terminal"] .ins-narr-label { font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--label); line-height: 1.8; }
html[data-ui="terminal"] .ins-narr-row { margin-top: 8px; }
html[data-ui="terminal"] .ins-narr-chip, html[data-ui="terminal"] .ins-tl-type-pill { font-size: .78em; }
html[data-ui="terminal"] .ins-conf-cap { font-size: .9em; }


/* ═══ FILINGS · modelo V7 (borda = VIÉS) — aplicado a todas as variantes 03-09 ═══ */
/* Modelo escolhido pelo dono (03-09) para a seção FILINGS: linha de 24px com o
   form em contorno, título, idade e o "▼ AI" apagado no repouso; corpo aberto em
   --surface com chips quietos, níveis EMPILHADOS (rótulo em cima, valor embaixo)
   e o risco como callout tingido pela severidade. A BORDA ESQUERDA lê o VIÉS:
   verde = bull/long, vermelho = bear/short, cinza = neutro (overlay.js põe
   fbias-<bias> na .filing-row; o chip .news-bias do corpo confirma via :has()).
   A severidade fica SÓ no chip (LOW/MED/HIGH/CRIT) e no callout de risco. */
html[data-ui="terminal"] #ovlScroll #filingsBody { padding: 0 0 4px; }
html[data-ui="terminal"] #ovlScroll .filing-row {
  padding: 4px 8px 5px 6px; min-height: 24px; line-height: 1.35; align-items: baseline;
  border-left: 3px solid var(--border-strong);
}
html[data-ui="terminal"] #ovlScroll .filing-row + .filing-row { border-top: 1px solid var(--border); }
html[data-ui="terminal"] #ovlScroll .filing-row.fbias-short,
html[data-ui="terminal"] #ovlScroll .filing-row:has(.filing-chips .news-bias.bias-short) { border-left-color: var(--score-toxic); }
html[data-ui="terminal"] #ovlScroll .filing-row.fbias-long,
html[data-ui="terminal"] #ovlScroll .filing-row:has(.filing-chips .news-bias.bias-long) { border-left-color: var(--score-clean); }
html[data-ui="terminal"] #ovlScroll .filing-row.fbias-neutral { border-left-color: var(--border-strong); }
html[data-ui="terminal"] #ovlScroll .filing-form {
  font-size: .8em; line-height: 1.4; padding: 0 5px; margin: 0 8px 0 0; letter-spacing: .04em;
  font-variant-numeric: tabular-nums; background: transparent; color: var(--news-src-sec-bg);
  border: 1px solid var(--news-src-sec-bg); border-radius: 0;
}
html[data-ui="terminal"] #ovlScroll .filing-title { font-size: .95em; color: var(--text); }
html[data-ui="terminal"] #ovlScroll .filing-time { font-size: .78em; color: var(--text-muted); margin: 0 0 0 6px; }
html[data-ui="terminal"] #ovlScroll .filing-chev { font-size: .78em; font-weight: 400; color: var(--text-muted); opacity: 1; margin-left: 6px; }
html[data-ui="terminal"] #ovlScroll .filing-row:hover .filing-chev,
html[data-ui="terminal"] #ovlScroll .filing-row.open .filing-chev { opacity: 1; color: var(--accent); }
html[data-ui="terminal"] #ovlScroll .filing-row.open .filing-time { margin-left: auto; }
html[data-ui="terminal"] #ovlScroll .filing-row.open .filing-title { flex: 0 0 100%; order: 1; margin: 3px 0 0; line-height: 1.35; white-space: normal; overflow: visible; }
html[data-ui="terminal"] #ovlScroll .filing-row.open .filing-ai { order: 2; }
html[data-ui="terminal"] #ovlScroll .filing-ai { margin-top: 6px; padding: 8px; background: var(--surface); border-top: 1px solid var(--border); flex-basis: 100%; }
html[data-ui="terminal"] #ovlScroll .filing-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 6px; }
html[data-ui="terminal"] #ovlScroll .filing-chips .news-bias,
html[data-ui="terminal"] #ovlScroll .filing-sev,
html[data-ui="terminal"] #ovlScroll .filing-dil { font-size: .8em; line-height: 1.5; padding: 0 5px; margin: 0; letter-spacing: .04em; border-radius: 0; }
html[data-ui="terminal"] #ovlScroll .filing-chips .news-bias { background: transparent; color: var(--text-muted); border: 1px solid var(--border-strong); }
html[data-ui="terminal"] #ovlScroll .filing-chips .news-bias.bias-long { color: var(--score-clean); border-color: var(--bias-long-bg); }
html[data-ui="terminal"] #ovlScroll .filing-chips .news-bias.bias-short { background: var(--bias-short-bg); color: var(--bias-short-fg); border-color: var(--bias-short-bg); }
html[data-ui="terminal"] #ovlScroll .filing-sev { background: transparent; color: var(--text-muted); border: 1px solid var(--border-strong); }
html[data-ui="terminal"] #ovlScroll .filing-sev.sev-MED { background: transparent; border-color: var(--badge-med); color: var(--risk-med); }
html[data-ui="terminal"] #ovlScroll .filing-sev.sev-HIGH,
html[data-ui="terminal"] #ovlScroll .filing-sev.sev-CRIT { background: var(--badge-high); color: var(--badge-high-fg); border-color: var(--badge-high); }
html[data-ui="terminal"] #ovlScroll .filing-dil { background: transparent; border: 1px solid var(--score-toxic); color: var(--score-toxic); }
html[data-ui="terminal"] #ovlScroll .filing-sub { font-size: .78em; letter-spacing: .1em; text-transform: uppercase; color: var(--label); margin: 8px 0 2px; }
html[data-ui="terminal"] #ovlScroll .filing-level { display: block; margin: 6px 0 0; padding: 0; }
html[data-ui="terminal"] #ovlScroll .filing-level-label {
  display: block; flex: none; min-width: 0;
  font-size: .8em; line-height: 1.3; letter-spacing: .04em; color: var(--text-muted);
  white-space: normal;
}
html[data-ui="terminal"] #ovlScroll .filing-level-val {
  display: block; flex: none;
  font-size: .95em; line-height: 1.3; font-weight: 700; color: var(--text);
  white-space: normal; text-align: left;
}
html[data-ui="terminal"] #ovlScroll .filing-risk {
  margin-top: 10px; padding: 8px 10px;
  border-left: 3px solid var(--border-strong); background: var(--bg);
  color: var(--text); font-size: .9em; line-height: 1.4;
}
html[data-ui="terminal"] #ovlScroll .filing-risk.sev-MED {
  color: var(--text); border-left-color: var(--score-caution);
  background: color-mix(in srgb, var(--score-caution) 12%, var(--bg));
}
html[data-ui="terminal"] #ovlScroll .filing-risk.sev-HIGH,
html[data-ui="terminal"] #ovlScroll .filing-risk.sev-CRIT {
  color: var(--text); border-left-color: var(--score-toxic);
  background: color-mix(in srgb, var(--score-toxic) 12%, var(--bg));
}
html[data-ui="terminal"] #ovlScroll .filing-risk > b:first-child {
  display: block; margin-bottom: 3px;
  font-size: .8em; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted);
}
html[data-ui="terminal"] #ovlScroll .filing-risk.sev-MED > b:first-child { color: var(--score-caution); }
html[data-ui="terminal"] #ovlScroll .filing-risk.sev-HIGH > b:first-child,
html[data-ui="terminal"] #ovlScroll .filing-risk.sev-CRIT > b:first-child { color: var(--score-toxic); }

/* ═══ FINANCEIRO · 2 informações por linha (padrão original) — dono 03-09 ═══ */
html[data-ui="terminal"] #ovlScroll .fin-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 4px; }
html[data-ui="terminal"] #ovlScroll .fin-cell { display: flex; align-items: center; justify-content: space-between; min-width: 0; grid-area: auto; }

/* ═══ WHY · sem a faixa de título; headline maior — padrão do dono 03-09 ═══ */
html[data-ui="terminal"] #ovlScroll .why-section .section-hdr {
  background: transparent; border: 0; min-height: 0; padding: 0 8px; margin: 0;
  justify-content: flex-end; gap: 8px; flex-wrap: nowrap;
}
html[data-ui="terminal"] #ovlScroll .why-section #whyTitle { display: none; }
html[data-ui="terminal"] #ovlScroll .why-section .src-badge { margin: 0; }
html[data-ui="terminal"] #ovlScroll .why-section .why-catalyst { margin: 0; font-size: .8em; }
html[data-ui="terminal"] #ovlScroll .why-frame { padding: 2px 8px 10px; }
html[data-ui="terminal"] #ovlScroll #whyHeadline { font-size: 1.28em; line-height: 1.22; margin-top: 2px; }

/* ═══ RAIL · sem as guias pontilhadas (dono 03-09: "retirar estes risquinhos");
   o espaçador flex fica (valor continua à direita), só a linha some ═══ */
@media (min-width: 640px) {
  html[data-ui="terminal"][data-layout="2col"] #ovlScroll .metric-top::after,
  html[data-ui="terminal"][data-layout="2col"] #ovlScroll .rating-name::after,
  html[data-ui="terminal"][data-layout="2col"] #ovlScroll .fin-name::after,
  html[data-ui="terminal"][data-layout="2col"] #ovlScroll .instr-type::after { border-bottom: 0; }
}

/* ═══ FINANCEIRO · célula estreita: fonte escala com o card, UMA linha — dono 03-09 ═══ */
html[data-ui="terminal"] #ovlScroll .fin-cell { container-type: inline-size; flex-wrap: nowrap; gap: 4px; overflow: hidden; align-items: baseline; justify-content: space-between; min-width: 0; }
html[data-ui="terminal"] #ovlScroll .fin-name { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: clamp(.62em, 6.6cqi, .9em); }
html[data-ui="terminal"] #ovlScroll .fin-val { flex: 0 0 auto; white-space: nowrap; margin-left: auto; text-align: right; font-size: clamp(.68em, 7.6cqi, 1em); letter-spacing: -.01em; }

/* ═══ FILINGS · form NEUTRO (dono 03-09: vermelho no form lia como negativo) ═══ */
html[data-ui="terminal"] #ovlScroll .filing-form { color: var(--text-muted); border-color: var(--border-strong); background: transparent; }
html[data-ui="terminal"] #ovlScroll .filing-row.open .filing-form { color: var(--text); }

/* ═══ WHY · hora da atualização como meta (dono 03-09: informação importante) ═══ */
html[data-ui="terminal"] #ovlScroll .why-section .section-hdr::before {
  content: attr(data-when); margin-right: auto; font-size: .78em; font-weight: 700;
  letter-spacing: .06em; color: var(--text-muted); white-space: nowrap;
}
html[data-ui="terminal"] #ovlScroll .why-section .section-hdr:not([data-when])::before { content: none; }

/* ═══ LEGIBILIDADE (dono 03-09): nada apagado — --text-dim virou --text-muted e opacidades de texto foram a 1 ═══ */

/* ═══ FILINGS · pill PANDA AI fixo na direita (como no WHY), contagem junto ao título — dono 03-09 ═══ */
html[data-ui="terminal"] #ovlScroll .filings-section .section-hdr { display: flex; align-items: center; flex-wrap: nowrap; }
html[data-ui="terminal"] #ovlScroll .filings-section .news-count { order: 1; margin-left: 0; }
html[data-ui="terminal"] #ovlScroll #filingsSrcBadge { order: 2; margin-left: auto; }
html[data-ui="terminal"] #ovlScroll #filingsTitle { flex: 0 0 auto; }

/* ═══ ASSINATURA DA IA (dono 03-09): UMA cor (--ai) para tudo que é texto da IA — pill PANDA AI, EDGE, RISCO do filing, linha IA da notícia: barra lateral + rótulo + sombra ═══ */
html[data-ui="terminal"] #ovlScroll .why-edge, html[data-ui="terminal"] #ovlScroll .filing-risk, html[data-ui="terminal"] #ovlScroll .filing-risk.sev-LOW, html[data-ui="terminal"] #ovlScroll .filing-risk.sev-MED, html[data-ui="terminal"] #ovlScroll .filing-risk.sev-HIGH, html[data-ui="terminal"] #ovlScroll .filing-risk.sev-CRIT, html[data-ui="terminal"] #ovlScroll .news-row .news-take {
  border-left: 3px solid var(--ai);
  background: color-mix(in srgb, var(--ai) 12%, transparent);
  color: var(--text);
}
html[data-ui="terminal"] #ovlScroll .why-edge > b:first-child, html[data-ui="terminal"] #ovlScroll .filing-risk > b:first-child, html[data-ui="terminal"] #ovlScroll .filing-risk.sev-MED > b:first-child, html[data-ui="terminal"] #ovlScroll .filing-risk.sev-HIGH > b:first-child, html[data-ui="terminal"] #ovlScroll .filing-risk.sev-CRIT > b:first-child, html[data-ui="terminal"] #ovlScroll .news-row .news-take > b:first-child { color: var(--ai); font-weight: 700; }
html[data-ui="terminal"] #ovlScroll .news-row .news-take { padding: 3px 8px 3px 8px; }
html[data-ui="terminal"] .src-badge.src-ai, html[data-ui="terminal"] #ovlScroll .src-badge.src-ai { background: var(--ai); color: var(--ai-fg); border: 1px solid var(--ai); }

/* ═══ NOTÍCIAS · texto TODO em --text (dono 03-09: "letra cinza e branca atrapalha"); só as tags (.news-bias) e o chip SEC mantêm cor ═══ */
html[data-ui="terminal"] #ovlScroll .news-row .news-head, html[data-ui="terminal"] #ovlScroll .news-row.news-noise .news-head, html[data-ui="terminal"] #ovlScroll .news-row .news-src:not(.is-sec), html[data-ui="terminal"] #ovlScroll .news-row .news-time, html[data-ui="terminal"] #ovlScroll .news-row .news-take, html[data-ui="terminal"] #ovlScroll .news-row.news-noise .news-take,
html[data-ui="terminal"] #ovlScroll .news-row .news-src::before, html[data-ui="terminal"] #ovlScroll .news-row .news-time::before, html[data-ui="terminal"] #ovlScroll .news-row .news-bias + .news-src::before, html[data-ui="terminal"] #ovlScroll .news-row .news-bias + .news-src:empty + .news-time::before { color: var(--text); }

/* ═══ FILINGS · sem o pill PANDA AI no cabeçalho; o "▼ AI" de cada linha fica na cor da IA (dono 03-09: "ilustrar que tem info de AI aí dentro") ═══ */
html[data-ui="terminal"] #ovlScroll #filingsSrcBadge { display: none; }
html[data-ui="terminal"] #ovlScroll .filing-chev, html[data-ui="terminal"] #ovlScroll .filing-row:hover .filing-chev, html[data-ui="terminal"] #ovlScroll .filing-row.open .filing-chev { color: var(--ai); opacity: 1; font-weight: 700; }
html[data-ui="terminal"] #ovlScroll .filing-chips > *:not(:last-child)::after { content: none; }   /* chips são caixas (modelo V7 dos filings) — o "·" de texto do V6 sobrava dentro do chip */

/* ═══ V6 · dono 03-09: pill do RISCO GERAL igual aos demais ("quebra a sequência"); ⚠ do FLOAT/SPLIT centrado na linha do valor ═══ */
html[data-ui="terminal"] #ovlScroll #overallBadge { min-width: 64px; height: 16px; line-height: 16px; padding: 0 8px; font-size: .8em; }
html[data-ui="terminal"] #ovlScroll .warn-float, html[data-ui="terminal"] #ovlScroll .warn-split { display: inline-flex; align-items: center; height: 16px; line-height: 1; font-size: .92em; align-self: center; }

/* ═══ FINANCEIRO · fontes = das outras seções (dono 03-09): rótulo = .rating-name (OFFERING), valor = .metric-val (INST OWN); SÓ GC E NASDAQ encolhe para caber ═══ */
html[data-ui="terminal"] #ovlScroll .fin-name { font-size: .78em; }
html[data-ui="terminal"] #ovlScroll .fin-val  { font-size: 1em; }
html[data-ui="terminal"] #ovlScroll .fin-cell:has(#finGcNasdaq) .fin-name { font-size: clamp(.62em, 7cqi, .78em); }
html[data-ui="terminal"] #ovlScroll .fin-cell:has(#finGcNasdaq) .fin-val  { font-size: clamp(.72em, 8cqi, 1em); }

/* ═══ BLOCOS ESTREITOS (dono 03-09, 660px): INSTRUMENTOS numa linha só e FINANCEIRO sem cortar — a fonte do BLOCO INTEIRO reduz de forma uniforme (container query no bloco), nunca item a item ═══ */
html[data-ui="terminal"] #ovlScroll .ovl-section[data-section="Dilution Instruments"] { container-type: inline-size; }
html[data-ui="terminal"] #ovlScroll #instrumentsBody .instr-row { flex-wrap: nowrap; font-size: clamp(.68em, 4.6cqi, 1em); gap: 0 6px; }
html[data-ui="terminal"] #ovlScroll #instrumentsBody .instr-type { flex: 0 1 auto; white-space: nowrap; }
html[data-ui="terminal"] #ovlScroll #instrumentsBody .instr-detail { flex: 0 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
html[data-ui="terminal"] #ovlScroll .fin-grid { container-type: inline-size; }
html[data-ui="terminal"] #ovlScroll .fin-cell { font-size: clamp(.72em, 4.6cqi, 1em); }
/* V6 · trilho de 210px: financeiro UMA informação por linha, como métricas e ratings do trilho (2 por linha não cabe sem encolher a fonte abaixo do legível) */
html[data-ui="terminal"] #ovlScroll .fin-grid { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
html[data-ui="terminal"] #ovlScroll .fin-cell { font-size: 1em; display: flex; justify-content: space-between; align-items: center; min-height: 22px; padding: 0; border-top: 1px solid var(--border); }
html[data-ui="terminal"] #ovlScroll .fin-cell:first-child { border-top: 0; }
html[data-ui="terminal"] #ovlScroll .fin-cell:has(#finGcNasdaq) .fin-name { font-size: .78em; }
html[data-ui="terminal"] #ovlScroll .fin-cell:has(#finGcNasdaq) .fin-val  { font-size: 1em; }

/* ═══ CATALYST vira pill (dono 03-09: "muito feio"): par do pill PANDA AI no cabeçalho do WHY — chip com borda na cor do estado (verde ✓ / vermelho ✗ via currentColor, o JS pinta a cor inline) ═══ */
html[data-ui="terminal"] #ovlScroll .why-section .why-catalyst {
  display: inline-flex; align-items: center; flex: none; margin: 0; white-space: nowrap;
  border: 1px solid currentColor; background: color-mix(in srgb, currentColor 10%, transparent);
  font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
html[data-ui="terminal"] #ovlScroll .why-section .src-badge, html[data-ui="terminal"] #ovlScroll .why-section .why-catalyst { font-size: .72em; line-height: 1.6; padding: 0 7px; border-radius: var(--radius-pill); height: auto; }

/* ═══ PORTE DO V7 (dono 03-09: "o formato do V7 para Filings, por que a ação move, News e PANDA AI Insight deve ser levado para todas as outras versões — ficou o melhor formato") ═══ */
/* ── porte V7 → V6: BLOCO B cabeçalho único ── */
/* ═══════════════════════════════════════════════════════════════════════
   BLOCO B · CABEÇALHO ÚNICO — C5 (quatro estilos viram um): filete 1px em
   cima, rótulo em versaletes .76em com tracking .12em em --label, meta à
   direita em .76em. A zona de notícia usa a cor SÓ no texto do rótulo.
   ═══════════════════════════════════════════════════════════════════════ */
html[data-ui="terminal"] .ovl-section { border: 0; }
html[data-ui="terminal"] .dt-only-group .ovl-section { margin-top: 14px; }
html[data-ui="terminal"] .section-hdr,
html[data-ui="terminal"] .news-zone .news-hdr {
  background: transparent; border-top: 1px solid var(--border-strong);
  min-height: 24px; padding: 4px 0 0; gap: 8px; align-items: center;
}
html[data-ui="terminal"] .filings-section .section-hdr { gap: 8px; }
html[data-ui="terminal"] .section-title,
html[data-ui="terminal"] .news-zone .news-hdr-title {
  font-size: .76em; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--label);
}
html[data-ui="terminal"] .why-section #whyTitle { font-size: .76em; letter-spacing: .12em; }
html[data-ui="terminal"] .news-zone.news-breaking .news-hdr-title { color: var(--news-brk-fg); }
html[data-ui="terminal"] .news-zone.news-recent .news-hdr-title { color: var(--news-rec-fg); }
html[data-ui="terminal"] .news-zone.news-latest .news-hdr-title { color: var(--news-lts-fg); }
html[data-ui="terminal"] .news-zone .news-count,
html[data-ui="terminal"] .filings-section .news-count { font-size: .76em; font-weight: 400; color: var(--text-muted); margin-left: auto; }
html[data-ui="terminal"] .why-catalyst { font-size: .76em; letter-spacing: .06em; }
html[data-ui="terminal"] .section-body { padding: 0; }
/* C5 — a zona de notícia perde moldura e faixa: só rótulo + timeline */
html[data-ui="terminal"] .news-zone { border: 0; background: transparent; margin-bottom: 0; }
/* C7 — selo de origem: contorno quieto; PANDA AI em --accent, não vermelho */
html[data-ui="terminal"] .src-badge { font-size: .7em; margin-left: 0; padding: 0 6px; line-height: 1.6; }
html[data-ui="terminal"] .src-badge.src-ai { background: transparent; border: 1px solid var(--accent); color: var(--accent); }
html[data-ui="terminal"] .src-badge.src-busy { background: transparent; border: 1px solid var(--badge-med); color: var(--risk-med); }

/* ═══════════════════════════════════════════════════════════════════════

/* ── porte V7 → V6: BLOCO C why ── */
/* ═══════════════════════════════════════════════════════════════════════
   BLOCO C · WHY = LEAD + PANDA EDGE = CITAÇÃO — C2 (hierarquia) · C10 (ordem)
   ═══════════════════════════════════════════════════════════════════════ */
html[data-ui="terminal"] .why-frame { padding: 8px 0 2px; }
/* C2/C10 — a manchete é o maior texto da página: é onde o olho entra */
html[data-ui="terminal"] .why-headline { font-size: 1.25em; line-height: 1.2; font-weight: 700; color: var(--text); }
/* C2/C6 — bullets em registro de parágrafo .98em/1.45 */
html[data-ui="terminal"] .why-summary { font-size: .98em; line-height: 1.45; margin-top: 8px; color: var(--text-muted); }
html[data-ui="terminal"] .why-summary .why-li { margin-top: 5px; line-height: 1.45; gap: 8px; }
html[data-ui="terminal"] .why-summary .why-li:first-child { margin-top: 0; }
html[data-ui="terminal"] .why-summary .why-li-dot { color: var(--text-muted); }
html[data-ui="terminal"] .why-summary b { color: var(--text); }
/* C2/C7 — EDGE como pull-quote: filete 3px caution, rótulo pequeno ACIMA,
   texto 1.02em em --text (itálico OFF), sem fundo — é citação, não caixa */
html[data-ui="terminal"] .why-edge {
  margin-top: 12px; padding: 4px 0 4px 12px;
  border-left: 3px solid var(--score-caution); background: transparent;
  color: var(--text); font-size: 1.02em; line-height: 1.45; font-style: normal;
}
html[data-ui="terminal"] .why-edge b { color: var(--text); font-weight: 700; }
html[data-ui="terminal"] .why-edge > b:first-child {
  display: block; margin-bottom: 4px;
  font-size: .72em; letter-spacing: .12em; text-transform: uppercase; color: var(--score-caution);
}

/* ═══════════════════════════════════════════════════════════════════════

/* ── porte V7 → V6: BLOCO D notícias ── */
/* ═══════════════════════════════════════════════════════════════════════
   BLOCO D · NOTÍCIAS COMO TIMELINE — C3 (chips) · C6 (ritmo) · C7 (cor)
   Linha do tempo: data (38px) | ponto na linha vertical | manchete →
   "TAG · FONTE" → takeaway. Grade de 3 colunas no .news-row (data · tag ·
   resto): explícita, o `order` do overlay.css não interfere.
   ═══════════════════════════════════════════════════════════════════════ */
/* C6 — o corpo carrega a linha vertical; 12px de inset para os itens */
html[data-ui="terminal"] .news-body { margin-left: 4px; padding: 2px 0 4px 12px; border-left: 1px solid var(--border-strong); gap: 0; }
html[data-ui="terminal"] .news-row {
  display: grid; grid-template-columns: 38px auto 1fr; align-items: baseline;
  row-gap: 2px; column-gap: 0; position: relative; min-height: 0;
  padding: 5px 0 7px; line-height: 1.35;
}
/* ponto por item, centrado na linha (linha em -12.5px do conteúdo) */
html[data-ui="terminal"] .news-row::before {
  content: ""; position: absolute; left: -16.5px; top: 10px;
  width: 8px; height: 8px; border-radius: 50%; background: var(--text-muted);
}
html[data-ui="terminal"] .news-breaking .news-row::before { background: var(--news-brk-fg); }
html[data-ui="terminal"] .news-recent .news-row::before { background: var(--news-rec-fg); }
html[data-ui="terminal"] .news-row.news-noise::before { background: var(--border-strong); }
/* C3 — data à ESQUERDA (coluna 1), .78em dim, tabular */
html[data-ui="terminal"] .news-row .news-time {
  grid-column: 1; grid-row: 1; order: -1; margin: 0; padding-right: 6px;
  font-size: .78em; color: var(--text-muted); font-variant-numeric: tabular-nums; white-space: nowrap;
}
/* C3/C2 — manchete .98em na linha 1, ocupa da coluna 2 ao fim */
html[data-ui="terminal"] .news-row .news-head { grid-column: 2 / -1; grid-row: 1; font-size: .98em; line-height: 1.35; min-width: 0; }
/* C3/C7 — linha meta = TEXTO, sem caixa: tag na cor do viés, fonte muda */
html[data-ui="terminal"] .news-row .news-bias {
  grid-column: 2; grid-row: 2; margin: 0; padding: 0;
  background: transparent; font-size: .74em; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
}
html[data-ui="terminal"] .news-row .news-bias.bias-long { color: var(--score-clean); }
html[data-ui="terminal"] .news-row .news-bias.bias-short { color: var(--score-toxic); }   /* vermelho = short, só aqui */
html[data-ui="terminal"] .news-row .news-src {
  grid-column: 3; grid-row: 2; justify-self: start; margin: 0; padding: 0; min-width: 0;
  background: transparent; color: var(--text-muted); font-size: .74em; font-weight: 400; letter-spacing: .08em;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
html[data-ui="terminal"] .news-row .news-src.is-sec { background: transparent; color: var(--text-muted); font-weight: 700; }
html[data-ui="terminal"] .news-row .news-src:empty { display: none; }
html[data-ui="terminal"] .news-row .news-bias + .news-src:not(:empty)::before { content: "·"; margin: 0 6px; color: var(--text-muted); }
/* C3/C6 — takeaway na linha 3, .86em muted, alinhado à manchete */
html[data-ui="terminal"] .news-row .news-take {
  grid-column: 2 / -1; grid-row: 3; margin: 2px 0 0; padding: 0; min-width: 0;
  font-size: .86em; line-height: 1.4; color: var(--text-muted);
}
/* C3 — estado ABERTO: mesma grade (neutraliza o flex-basis/order/margin do
   html[data-intel] .news-row.expanded do overlay.css; mesma especificidade,
   cascata posterior vence) */
html[data-ui="terminal"] .news-row.expanded .news-head { grid-column: 2 / -1; grid-row: 1; }
html[data-ui="terminal"] .news-row.expanded .news-time { margin-left: 0; }
html[data-ui="terminal"] .news-row.expanded .news-take { grid-row: 3; }

/* ═══════════════════════════════════════════════════════════════════════

/* ── porte V7 → V6: BLOCO E filings ── */
/* ═══════════════════════════════════════════════════════════════════════
   BLOCO E · FILINGS no rail: linhas compactas + corpo empilhado
   C4 (corpo apertado/desalinhado) · C6 (ritmo) · C7 (vermelho sobrecarregado)
   ═══════════════════════════════════════════════════════════════════════ */
html[data-ui="terminal"] #filingsBody { padding: 0; }
html[data-ui="terminal"] .filing-row { padding: 4px 0; min-height: 24px; line-height: 1.35; align-items: baseline; }
html[data-ui="terminal"] .filing-row + .filing-row { border-top: 1px solid var(--border); }
/* C7 — selo do formulário NEUTRO (surface-high + contorno): o vermelho fica
   reservado a short / HIGH / dilutivo. Trade-off declarado no cabeçalho. */
html[data-ui="terminal"] .filing-form {
  font-size: .72em; line-height: 1.6; padding: 0 5px; margin: 0 8px 0 0; letter-spacing: .06em;
  background: var(--surface-high); color: var(--text); border: 1px solid var(--border-strong);
  font-variant-numeric: tabular-nums;
}
html[data-ui="terminal"] .filing-title { font-size: .92em; }
html[data-ui="terminal"] .filing-time { font-size: .74em; color: var(--text-muted); margin: 0 0 0 6px; font-variant-numeric: tabular-nums; }
/* C4 — o "▼ AI" repetido some no repouso; acende no hover/aberto */
html[data-ui="terminal"] .filing-chev { font-size: .72em; font-weight: 400; color: var(--text-muted); opacity: 1; margin-left: 6px; }
html[data-ui="terminal"] .filing-row:hover .filing-chev,
html[data-ui="terminal"] .filing-row.open .filing-chev { opacity: 1; color: var(--accent); }
/* C4 — linha ABERTA: título ganha a linha inteira; hora vai para a direita */
html[data-ui="terminal"] .filing-row.open .filing-time { margin-left: auto; }
html[data-ui="terminal"] .filing-row.open .filing-title { flex: 0 0 100%; order: 1; margin: 4px 0 0; line-height: 1.35; font-weight: 700; }
html[data-ui="terminal"] .filing-row.open .filing-ai { order: 2; }
/* C4/C6 — corpo expandido no rail: sem inset de superfície, filete em cima */
html[data-ui="terminal"] .filing-ai { margin-top: 6px; padding: 6px 0 2px; background: transparent; border-top: 1px solid var(--border); }
/* C7 — chips viram TEXTO separado por "·": tag na cor do viés, severidade
   na cor de risco, DILUTIVO em toxic. Zero caixa. */
html[data-ui="terminal"] .filing-chips { gap: 0; margin: 0 0 4px; align-items: baseline; }
html[data-ui="terminal"] .filing-chips > *:not(:last-child)::after { content: "·"; margin: 0 6px; color: var(--text-muted); font-weight: 400; }
html[data-ui="terminal"] .filing-chips .news-bias,
html[data-ui="terminal"] .filing-sev,
html[data-ui="terminal"] .filing-dil {
  font-size: .74em; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: 0; margin: 0; line-height: 1.6; background: transparent; color: var(--text-muted);
}
html[data-ui="terminal"] .filing-chips .news-bias.bias-long { color: var(--score-clean); }
html[data-ui="terminal"] .filing-chips .news-bias.bias-short { color: var(--score-toxic); }
html[data-ui="terminal"] .filing-sev.sev-MED { color: var(--score-caution); }
html[data-ui="terminal"] .filing-sev.sev-HIGH,
html[data-ui="terminal"] .filing-sev.sev-CRIT { color: var(--score-toxic); }
html[data-ui="terminal"] .filing-dil { color: var(--score-toxic); }
/* C4 — "NÍVEIS" no mesmo versalete dos cabeçalhos, um degrau menor */
html[data-ui="terminal"] .filing-sub { font-size: .7em; letter-spacing: .12em; color: var(--label); margin: 8px 0 2px; }
/* C4 — níveis EMPILHADOS (rótulo em cima, valor embaixo): no rail de 210px
   o rótulo longo nunca embrulha ao lado do valor */
html[data-ui="terminal"] .filing-level { display: block; margin: 6px 0 0; padding: 0; }
html[data-ui="terminal"] .filing-level-label {
  display: block; flex: none; min-width: 0; white-space: normal;
  font-size: .74em; line-height: 1.3; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted);
}
html[data-ui="terminal"] .filing-level-val {
  display: block; flex: none; white-space: normal; text-align: left;
  font-size: .95em; line-height: 1.3; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums;
}
/* C4/C7 — risco como citação (igual ao EDGE), filete na cor da severidade */
html[data-ui="terminal"] .filing-risk {
  margin-top: 10px; padding: 2px 0 2px 10px;
  border-left: 3px solid var(--border-strong); background: transparent;
  color: var(--text); font-size: .88em; line-height: 1.4;
}
html[data-ui="terminal"] .filing-risk.sev-MED { color: var(--text); border-left-color: var(--score-caution); }
html[data-ui="terminal"] .filing-risk.sev-HIGH,
html[data-ui="terminal"] .filing-risk.sev-CRIT { color: var(--text); border-left-color: var(--score-toxic); }
html[data-ui="terminal"] .filing-risk > b:first-child {
  display: block; margin-bottom: 3px;
  font-size: .72em; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted);
}
html[data-ui="terminal"] .filing-risk.sev-MED > b:first-child { color: var(--score-caution); }
html[data-ui="terminal"] .filing-risk.sev-HIGH > b:first-child,
html[data-ui="terminal"] .filing-risk.sev-CRIT > b:first-child { color: var(--score-toxic); }

/* ═══════════════════════════════════════════════════════════════════════

/* ── porte V7 → V6: BLOCO F insight ── */
/* ═══════════════════════════════════════════════════════════════════════
   BLOCO F · AI INSIGHT na coluna de leitura — C5 (cabeçalho par) · C9
   (painel estreito) · C2 (prosa no mesmo registro dos bullets)
   ═══════════════════════════════════════════════════════════════════════ */
/* C5 — o painel perde a moldura; a faixa-botão vira o MESMO cabeçalho */
html[data-ui="terminal"][data-layout="2col"] #insightView.stage-view { border: 0; overflow: visible; }
html[data-ui="terminal"][data-layout="2col"] #insightView #aiInsightBtn {
  background: transparent; border-top: 1px solid var(--border-strong);
  min-height: 24px; padding: 4px 0 0; gap: 6px; margin: 0;
  font-family: inherit; font-size: .76em; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--label);
}
html[data-ui="terminal"][data-layout="2col"] #insightView .insight-header { top: 2px; right: 0; height: 24px; font-size: .76em; gap: 10px; }
html[data-ui="terminal"][data-layout="2col"] #insightView .insight-accordion { padding: 0 0 6px; }
html[data-ui="terminal"] .insight-age { font-size: 1em; color: var(--text-muted); }
html[data-ui="terminal"] .insight-age.stale { color: var(--score-caution); }
html[data-ui="terminal"] .insight-reload { font-size: 1em; color: var(--accent); }
/* C5/C9 — sub-seções: filete fraco em cima, título um degrau abaixo do cabeçalho */
html[data-ui="terminal"] .ins-section { border: 0; border-top: 1px solid var(--border); background: transparent; margin-top: 0; }
html[data-ui="terminal"][data-layout="2col"] #insightView .ins-section:first-child { border-top: 0; }
html[data-ui="terminal"] .ins-sec-hdr { background: transparent; min-height: 28px; padding: 5px 0; gap: 6px; flex-wrap: wrap; row-gap: 4px; }
html[data-ui="terminal"] .ins-sec-chevron { font-size: .8em; color: var(--text-muted); }
html[data-ui="terminal"] .ins-sec-title { font-size: .8em; letter-spacing: .08em; color: var(--section-title); }
html[data-ui="terminal"] .ins-sec-peek { font-size: .86em; font-weight: 400; color: var(--text-muted); }
html[data-ui="terminal"] .ins-sec-body { background: transparent; padding: 4px 0 10px; }
/* C9 — pills .82em que NÃO truncam: o grupo desce de linha quando não cabe */
html[data-ui="terminal"] .ins-pill { font-size: .82em; padding: 1px 8px; min-width: 0; line-height: 1.5; border-radius: 2px; }
html[data-ui="terminal"][data-layout="2col"] #insightView .ins-sec-right { flex: 0 0 auto; min-width: 0; flex-wrap: wrap; justify-content: flex-end; gap: 4px 6px; }
html[data-ui="terminal"][data-layout="2col"] #insightView .ins-pill { flex: none; display: inline-flex; overflow: visible; text-overflow: clip; }
html[data-ui="terminal"][data-layout="2col"] #insightView .ins-sec-peek { display: inline; overflow: visible; text-overflow: clip; white-space: normal; }
/* C9 — "O QUE ESTÁ ACONTECENDO" + pill: a pill desce de linha se não couber */
html[data-ui="terminal"] .ins-ksection-row { flex-wrap: wrap; row-gap: 4px; margin: 12px 0 6px; }
html[data-ui="terminal"] .ins-ksection-row .ins-ksection { margin: 0; }
html[data-ui="terminal"] .ins-ksection { font-size: .72em; letter-spacing: .12em; color: var(--label); margin: 12px 0 6px; }
html[data-ui="terminal"] .ins-tl-block-hdr { font-size: .72em; letter-spacing: .12em; margin: 0 0 6px; }
/* C6 — o corpo já respira; os insets de 10/18px do tk viram 0 */
html[data-ui="terminal"] .ins-prose, html[data-ui="terminal"] .ins-bullet, html[data-ui="terminal"] .ins-row,
html[data-ui="terminal"] .ins-divider, html[data-ui="terminal"] .ins-levels-empty,
html[data-ui="terminal"] .ins-level-row, html[data-ui="terminal"] .ins-level-note-row,
html[data-ui="terminal"] .ins-narr-row, html[data-ui="terminal"] .ins-tl-divider,
html[data-ui="terminal"] .ins-tl-row, html[data-ui="terminal"] .ins-tl-hist-row { margin-left: 0; margin-right: 0; }
html[data-ui="terminal"] .ins-conf-row { margin-left: 8px; margin-right: 0; }
/* C2 — prosa do insight no registro dos bullets do WHY (.98em/1.45) */
html[data-ui="terminal"] .ins-prose, html[data-ui="terminal"] .ins-bullet, html[data-ui="terminal"] .ins-narr-prose,
html[data-ui="terminal"] .ins-narr-text, html[data-ui="terminal"] .ins-level-label, html[data-ui="terminal"] .ins-level-note,
html[data-ui="terminal"] .ins-tl-now, html[data-ui="terminal"] .ins-tl-watch, html[data-ui="terminal"] .ins-tl-event,
html[data-ui="terminal"] .ins-tl-hist-event, html[data-ui="terminal"] .ins-tl-hist-impact,
html[data-ui="terminal"] .ins-row-label, html[data-ui="terminal"] .ins-conf-sub { font-size: .98em; line-height: 1.45; }
html[data-ui="terminal"] .ins-bullet { margin-top: 6px; }
html[data-ui="terminal"] .ins-punchline { font-size: 1em; margin-top: 10px; color: var(--text); }
html[data-ui="terminal"] .ins-divider, html[data-ui="terminal"] .ins-tl-divider { margin-top: 12px; margin-bottom: 8px; }
html[data-ui="terminal"] .ins-level-row { margin-top: 10px; }
html[data-ui="terminal"] .ins-level-price, html[data-ui="terminal"] .ins-tl-date, html[data-ui="terminal"] .ins-tl-hist-date { font-variant-numeric: tabular-nums; }
html[data-ui="terminal"] .ins-level-kind, html[data-ui="terminal"] .ins-narr-label { font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--label); line-height: 1.8; }
html[data-ui="terminal"] .ins-narr-row { margin-top: 8px; }
html[data-ui="terminal"] .ins-narr-chip, html[data-ui="terminal"] .ins-tl-type-pill { font-size: .78em; }
html[data-ui="terminal"] .ins-conf-cap { font-size: .9em; }

/* ── porte V7 → V6: V7 notícias 1 ── */
/* ═══ V7 · NOTÍCIAS (dono 03-09): datas OK; cor condicional SÓ no pill; pill no 1º item + título ao lado; aberto re-diagramado ═══ */
/* trilho: ponto e data numa cor só — nada de zona/ruído mudando a cor */
html[data-ui="terminal"] #ovlScroll .news-row::before, html[data-ui="terminal"] #ovlScroll .news-breaking .news-row::before, html[data-ui="terminal"] #ovlScroll .news-recent .news-row::before, html[data-ui="terminal"] #ovlScroll .news-row.news-noise::before { background: var(--text-muted); top: 9px; }
html[data-ui="terminal"] #ovlScroll .news-row .news-time { color: var(--text-muted); }
/* fechado: data | [PILL] título…  /  linha IA */
html[data-ui="terminal"] #ovlScroll .news-row { grid-template-columns: 26px auto minmax(0, 1fr); column-gap: 6px; row-gap: 3px; padding: 5px 0 6px; }   /* dono 03-09: "muito espaço entre 1d e o início" — coluna da data justa (cabe "19d") */
html[data-ui="terminal"] #ovlScroll .news-row .news-time { padding-right: 0; justify-self: end; text-align: right; }   /* data encostada no pill; "1d" e "14d" alinham pela direita */
html[data-ui="terminal"] #ovlScroll .news-row .news-bias {
  grid-column: 2; grid-row: 1; align-self: center; margin: 0; padding: 0 6px; line-height: 1.5;
  font-size: .72em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
  border: 1px solid var(--border-strong); border-radius: var(--radius-pill); background: transparent; color: var(--text-muted);
}
html[data-ui="terminal"] #ovlScroll .news-row .news-bias.bias-long  { color: var(--score-clean); border-color: var(--bias-long-bg); }
html[data-ui="terminal"] #ovlScroll .news-row .news-bias.bias-short { color: var(--bias-short-fg); background: var(--bias-short-bg); border-color: var(--bias-short-bg); }
html[data-ui="terminal"] #ovlScroll .news-row .news-head { grid-column: 3; grid-row: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html[data-ui="terminal"] #ovlScroll .news-row:not(:has(.news-bias)) .news-head { grid-column: 2 / -1; }
html[data-ui="terminal"] #ovlScroll .news-row .news-src { display: none; }
html[data-ui="terminal"] #ovlScroll .news-row .news-take { grid-column: 2 / -1; grid-row: 2; margin-top: 1px; }
/* aberto: data | [PILL] · FONTE  /  manchete inteira  /  linha IA inteira */
html[data-ui="terminal"] #ovlScroll .news-row.expanded .news-bias { grid-column: 2; grid-row: 1; }
html[data-ui="terminal"] #ovlScroll .news-row.expanded .news-src:not(:empty) { display: block; grid-column: 3; grid-row: 1; align-self: center; justify-self: start; margin: 0; padding: 0; font-size: .74em; letter-spacing: .08em; }
html[data-ui="terminal"] #ovlScroll .news-row.expanded .news-bias + .news-src:not(:empty)::before { content: "·"; margin: 0 6px; }
html[data-ui="terminal"] #ovlScroll .news-row.expanded:not(:has(.news-bias)) .news-src:not(:empty) { grid-column: 2 / -1; }
html[data-ui="terminal"] #ovlScroll .news-row.expanded .news-head { grid-column: 2 / -1; grid-row: 2; white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.35; }
html[data-ui="terminal"] #ovlScroll .news-row.expanded:not(:has(.news-bias)):not(:has(.news-src:not(:empty))) .news-head { grid-row: 1; }
html[data-ui="terminal"] #ovlScroll .news-row.expanded .news-take { grid-column: 2 / -1; grid-row: 3; white-space: normal; overflow: visible; }

/* ── porte V7 → V6: V7 notícias 2 ── */
/* ═══ V7 · NOTÍCIAS (dono 03-09): data como 1ª informação, DEPOIS a linha vertical com o ponto, depois pill + título ═══ */
html[data-ui="terminal"] #ovlScroll .news-body { margin-left: 0; padding-left: 0; border-left: 0; }
/* grade: data 24px | trilho 16px (linha + ponto) | pill | título */
html[data-ui="terminal"] #ovlScroll .news-row { grid-template-columns: 24px 16px auto minmax(0, 1fr); column-gap: 6px; position: relative; }
html[data-ui="terminal"] #ovlScroll .news-row .news-time { grid-column: 1; grid-row: 1; justify-self: end; text-align: right; padding: 0; }
html[data-ui="terminal"] #ovlScroll .news-row::after { content: ""; position: absolute; left: 37px; top: 0; bottom: 0; width: 1px; background: var(--border-strong); }
html[data-ui="terminal"] #ovlScroll .news-row::before { left: 34px; top: 9px; width: 8px; height: 8px; z-index: 1; }
html[data-ui="terminal"] #ovlScroll .news-row .news-bias { grid-column: 3; }
html[data-ui="terminal"] #ovlScroll .news-row .news-head { grid-column: 4; }
html[data-ui="terminal"] #ovlScroll .news-row:not(:has(.news-bias)) .news-head { grid-column: 3 / -1; }
html[data-ui="terminal"] #ovlScroll .news-row .news-take { grid-column: 3 / -1; }
html[data-ui="terminal"] #ovlScroll .news-row.expanded .news-bias { grid-column: 3; }
html[data-ui="terminal"] #ovlScroll .news-row.expanded .news-src:not(:empty) { grid-column: 4; }
html[data-ui="terminal"] #ovlScroll .news-row.expanded:not(:has(.news-bias)) .news-src:not(:empty) { grid-column: 3 / -1; }
html[data-ui="terminal"] #ovlScroll .news-row.expanded .news-head { grid-column: 3 / -1; }
html[data-ui="terminal"] #ovlScroll .news-row.expanded .news-take { grid-column: 3 / -1; }

/* ── porte V7 → V6: V7 painel insight ── */
/* ═══ V7 · PAINEL PANDA AI INSIGHT (dono 03-09): mesma gramática das seções do ticker — cabeçalhos como NOTÍCIAS, chips como as tags, LINHA DO TEMPO com o MESMO trilho das notícias (dias em vez de datas) ═══ */
/* cabeçalhos de seção = cabeçalho NOTÍCIAS: caixa alta, .78em, espaçado, muted */
html[data-ui="terminal"] #insightView .ins-sec-hdr { min-height: 26px; padding: 4px 0; gap: 8px; border-top: 1px solid var(--border); }
html[data-ui="terminal"] #insightView .ins-section:first-child .ins-sec-hdr { border-top: 0; }
html[data-ui="terminal"] #insightView .ins-sec-title { font-size: .78em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
html[data-ui="terminal"] #insightView .ins-sec-chevron { color: var(--text-muted); font-size: .8em; }
html[data-ui="terminal"] #insightView .ins-sec-peek { font-size: .92em; color: var(--text-muted); font-variant-numeric: tabular-nums; }   /* dono 10-09: "aumente um pouco a fonte" dos preços no cabeçalho de NÍVEIS OCULTOS (.78 → .92) */
html[data-ui="terminal"] #insightView .ins-ksection, html[data-ui="terminal"] #insightView .ins-tl-block-hdr { font-size: .78em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); margin: 10px 0 4px; }
html[data-ui="terminal"] #insightView .ins-tl-block-hdr.ins-tl-hdr-amber, html[data-ui="terminal"] #insightView .ins-tl-block-hdr.ins-tl-hdr-bright { color: var(--text-muted); }
html[data-ui="terminal"] #insightView .ins-divider, html[data-ui="terminal"] #insightView .ins-tl-divider { border-color: var(--border); margin: 8px 0 4px; }
/* chips = tags das notícias: contorno neutro, bull verde, bear vermelho cheio */
html[data-ui="terminal"] #insightView .ins-pill {
  display: inline-flex; align-items: center; height: auto; line-height: 1.6; padding: 0 7px; margin: 0;
  font-size: .72em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
  border: 1px solid var(--border-strong); border-radius: var(--radius-pill); background: transparent; color: var(--text-muted);
}
html[data-ui="terminal"] #insightView .ins-pill.ins-pill-bull { color: var(--score-clean); border-color: var(--bias-long-bg); }
html[data-ui="terminal"] #insightView .ins-pill.ins-pill-bear { color: var(--bias-short-fg); background: var(--bias-short-bg); border-color: var(--bias-short-bg); }
html[data-ui="terminal"] #insightView .ins-pill.ins-pill-neutral, html[data-ui="terminal"] #insightView .ins-pill.ins-pill-stage, html[data-ui="terminal"] #insightView .ins-tl-type-pill { color: var(--text); border-color: var(--border-strong); background: transparent; }
/* rótulos de linha (Play Secundário:, Fade est.:, Offering :) = rótulos do trilho */
html[data-ui="terminal"] #insightView .ins-row-label, html[data-ui="terminal"] #insightView .ins-narr-label, html[data-ui="terminal"] #insightView .ins-level-kind, html[data-ui="terminal"] #insightView .ins-conf-cap { font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
html[data-ui="terminal"] #insightView .ins-conf-sub { font-size: .78em; color: var(--text-muted); }
html[data-ui="terminal"] #insightView .ins-level-price { font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
html[data-ui="terminal"] #insightView .ins-prose, html[data-ui="terminal"] #insightView .ins-bullet, html[data-ui="terminal"] #insightView .ins-level-label, html[data-ui="terminal"] #insightView .ins-level-note, html[data-ui="terminal"] #insightView .ins-tl-now, html[data-ui="terminal"] #insightView .ins-tl-watch, html[data-ui="terminal"] #insightView .ins-tl-event, html[data-ui="terminal"] #insightView .ins-tl-hist-event, html[data-ui="terminal"] #insightView .ins-tl-hist-impact { color: var(--text); }
html[data-ui="terminal"] #insightView .ins-prose-muted { color: var(--text-muted); }
/* ── LINHA DO TEMPO: o MESMO trilho das notícias — coluna do dia (24px) | trilho 16px (linha 1px + ponto 8px) | conteúdo ── */
html[data-ui="terminal"] #insightView .ins-tl-row, html[data-ui="terminal"] #insightView .ins-tl-hist-row { display: grid; grid-template-columns: 24px 16px minmax(0, 1fr); column-gap: 6px; align-items: start; margin: 0; padding: 4px 0; position: relative; }
html[data-ui="terminal"] #insightView .ins-tl-row::after, html[data-ui="terminal"] #insightView .ins-tl-hist-row::after { content: ""; position: absolute; left: 37px; top: 0; bottom: 0; width: 1px; background: var(--border-strong); }
html[data-ui="terminal"] #insightView .ins-tl-row::before, html[data-ui="terminal"] #insightView .ins-tl-hist-row::before { content: ""; position: absolute; left: 34px; top: 9px; width: 8px; height: 8px; border-radius: 50%; background: var(--text-muted); z-index: 1; }
html[data-ui="terminal"] #insightView .ins-tl-col0 { grid-column: 1; min-width: 0; }
html[data-ui="terminal"] #insightView .ins-tl-cell, html[data-ui="terminal"] #insightView .ins-tl-hist-event-cell { grid-column: 3; min-width: 0; }
html[data-ui="terminal"] #insightView .ins-tl-track { display: none; }                                   /* o trilho antigo (2px) sai; o ::after/::before desenham o das notícias */
html[data-ui="terminal"] #insightView .ins-tl-hist-date-cell, html[data-ui="terminal"] #insightView .ins-tl-date { grid-column: 1; min-width: 0; width: 24px; justify-self: end; text-align: right; font-size: 0; line-height: 1.35; color: var(--text-muted); }
html[data-ui="terminal"] #insightView .ins-tl-hist-date, html[data-ui="terminal"] #insightView .ins-tl-hist-age { display: none; }        /* data e "há 2d" saem: só os dias */
html[data-ui="terminal"] #insightView .ins-tl-hist-date-cell::before, html[data-ui="terminal"] #insightView .ins-tl-date::before { content: attr(data-rel); font-size: calc(var(--ovl-font-size, 13.3px) * .78); font-weight: 400; color: var(--text-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
html[data-ui="terminal"] #insightView .ins-tl-date:not([data-rel])::before { content: attr(data-date-text); }
html[data-ui="terminal"] #insightView .ins-tl-cell-event { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
html[data-ui="terminal"] #insightView .ins-tl-cell-event .ins-tl-type-pill { margin: 0; }
html[data-ui="terminal"] #insightView .ins-tl-cell-event .ins-tl-event::after { content: " " attr(data-date); font-size: .78em; color: var(--text-muted); }   /* data absoluta do PRÓXIMOS fica como meta ao lado do evento */
html[data-ui="terminal"] #insightView .ins-tl-hist-event { font-weight: 700; line-height: 1.35; }
html[data-ui="terminal"] #insightView .ins-tl-hist-impact { padding-left: 0; margin-top: 2px; line-height: 1.35; }
html[data-ui="terminal"] #insightView .ins-tl-foot, html[data-ui="terminal"] #insightView .ins-levels-foot, html[data-ui="terminal"] #insightView .ins-narr-foot { height: 4px; }

/* ── porte V7 → V6: V7 chips ── */
/* ═══ V7 · POLIMENTO FINAL (dono 03-09): UM chip só no V7 inteiro — tag de notícia, chips de filing, pills do insight, CATALYST, PANDA AI: mesma fonte, tamanho, forma; a COR é o único traço que muda, e só pelo significado ═══ */
html[data-ui="terminal"] #ovlScroll .news-row .news-bias, html[data-ui="terminal"] #ovlScroll .filing-chips .news-bias, html[data-ui="terminal"] #ovlScroll .filing-sev, html[data-ui="terminal"] #ovlScroll .filing-dil, html[data-ui="terminal"] #insightView .ins-pill, html[data-ui="terminal"] #ovlScroll .why-catalyst, html[data-ui="terminal"] #ovlScroll .src-badge, html[data-ui="terminal"] .src-badge {
  display: inline-flex; align-items: center; justify-content: center; height: auto; min-width: 0; margin: 0; padding: 0 7px;
  font-size: .72em; font-weight: 700; line-height: 1.6; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap;
  border: 1px solid var(--border-strong); border-radius: var(--radius-pill); background: transparent; color: var(--text-muted);
  overflow: visible; text-overflow: clip;
}
/* significado → cor (única variação permitida) */
html[data-ui="terminal"] #ovlScroll .news-row .news-bias, html[data-ui="terminal"] #ovlScroll .filing-chips .news-bias, html[data-ui="terminal"] #ovlScroll .filing-sev, html[data-ui="terminal"] #ovlScroll .filing-dil, html[data-ui="terminal"] #insightView .ins-pill, html[data-ui="terminal"] #insightView .ins-pill.ins-pill-neutral, html[data-ui="terminal"] #insightView .ins-pill.ins-pill-stage, html[data-ui="terminal"] #insightView .ins-tl-type-pill, html[data-ui="terminal"] #ovlScroll .src-badge.src-finviz { color: var(--text-muted); border-color: var(--border-strong); background: transparent; }
html[data-ui="terminal"] #ovlScroll .news-row .news-bias.bias-long, html[data-ui="terminal"] #ovlScroll .filing-chips .news-bias.bias-long, html[data-ui="terminal"] #insightView .ins-pill.ins-pill-bull { color: var(--score-clean); border-color: var(--bias-long-bg); background: transparent; }
html[data-ui="terminal"] #ovlScroll .news-row .news-bias.bias-short, html[data-ui="terminal"] #ovlScroll .filing-chips .news-bias.bias-short, html[data-ui="terminal"] #insightView .ins-pill.ins-pill-bear, html[data-ui="terminal"] #ovlScroll .filing-sev.sev-HIGH, html[data-ui="terminal"] #ovlScroll .filing-sev.sev-CRIT, html[data-ui="terminal"] #ovlScroll .filing-dil { color: var(--bias-short-fg); border-color: var(--bias-short-bg); background: var(--bias-short-bg); }
html[data-ui="terminal"] #ovlScroll .filing-sev.sev-MED { color: var(--score-caution); border-color: var(--score-caution); background: transparent; }
html[data-ui="terminal"] #ovlScroll .src-badge.src-ai, html[data-ui="terminal"] .src-badge.src-ai { color: var(--ai-fg); border-color: var(--ai); background: var(--ai); }
html[data-ui="terminal"] #ovlScroll .src-badge.src-busy, html[data-ui="terminal"] .src-badge.src-busy { color: var(--badge-med-fg); border-color: var(--badge-med); background: var(--badge-med); }
html[data-ui="terminal"] #ovlScroll .why-catalyst { border-color: currentColor; background: color-mix(in srgb, currentColor 10%, transparent); }
/* chips lado a lado com o mesmo respiro em todo lugar */
html[data-ui="terminal"] #ovlScroll .filing-chips, html[data-ui="terminal"] #insightView .ins-pillgrid, html[data-ui="terminal"] #insightView .ins-sec-right { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; }
html[data-ui="terminal"] #ovlScroll .filing-chips > *:not(:last-child)::after { content: none; }

/* ── porte V7 → V6: V7 insight B ── */
/* ═══ V7 · INSIGHT polimento B: sem bala dupla no trilho, pill PRIMEIRO no PRÓXIMOS (gramática das notícias), respiro rótulo→preço nos NÍVEIS ═══ */
html[data-ui="terminal"] #insightView .ins-tl-glyph { display: none; }                                        /* o ponto do trilho já é a bala */
html[data-ui="terminal"] #insightView .ins-tl-cell-event .ins-tl-type-pill { order: -1; }                    /* [PILL] evento — como [TAG] título nas notícias */
html[data-ui="terminal"] #insightView .ins-tl-cell-event .ins-tl-event { flex: 1 1 auto; min-width: 0; }
html[data-ui="terminal"] #insightView .ins-level-row { gap: 0 6px; align-items: baseline; }
html[data-ui="terminal"] #insightView .ins-level-kind { min-width: 0; }
html[data-ui="terminal"] #insightView .ins-level-note-row { margin-top: 2px; }

/* ── porte V7 → V6: V7 insight lindão ── */
/* ═══ V7 · INSIGHT "lindão" (dono 03-09: "não ficar só o texto muito igual, cansa a vista"): NÍVEIS como fichas preço|texto, NARRATIVA em grade rótulo|valor, PLAY com callouts ═══ */
/* ── NÍVEIS OCULTOS: ficha por nível — coluna do preço (número grande, tabular) | rótulo pequeno + texto + nota; separador fino entre fichas ── */
html[data-ui="terminal"] #insightView .ins-level-row { display: grid; grid-template-columns: 72px minmax(0, 1fr); column-gap: 10px; row-gap: 0; align-items: start; margin: 0; padding: 8px 0 0; border-top: 1px solid var(--border); }
html[data-ui="terminal"] #insightView .ins-level-row:first-child { border-top: 0; padding-top: 2px; }
html[data-ui="terminal"] #insightView .ins-level-kind { grid-column: 2; grid-row: 1; min-width: 0; font-size: .72em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); line-height: 1.4; }
html[data-ui="terminal"] #insightView .ins-level-price { grid-column: 1; grid-row: 1 / span 2; align-self: start; font-size: 1.15em; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; letter-spacing: -.01em; line-height: 1.2; padding-top: 2px; }
html[data-ui="terminal"] #insightView .ins-level-sep { display: none; }
html[data-ui="terminal"] #insightView .ins-level-label { grid-column: 2; grid-row: 2; color: var(--text); line-height: 1.35; }
html[data-ui="terminal"] #insightView .ins-level-note-row { display: grid; grid-template-columns: 72px minmax(0, 1fr); column-gap: 10px; margin: 2px 0 0; padding: 0 0 8px; }
html[data-ui="terminal"] #insightView .ins-level-note-spacer { grid-column: 1; min-width: 0; }
html[data-ui="terminal"] #insightView .ins-level-note { grid-column: 2; color: var(--text-muted); font-size: .92em; line-height: 1.35; }
html[data-ui="terminal"] #insightView .ins-levels-gap { height: 6px; }
/* ── NARRATIVA: grade rótulo | valor, com separador; pares como chips que quebram linha ── */
html[data-ui="terminal"] #insightView .ins-narr-row { display: grid; grid-template-columns: 84px minmax(0, 1fr); column-gap: 10px; align-items: center; margin: 0; padding: 6px 0; border-top: 1px solid var(--border); }
html[data-ui="terminal"] #insightView .ins-narr-row:first-child { border-top: 0; padding-top: 2px; }
html[data-ui="terminal"] #insightView .ins-narr-row:has(.ins-narr-label:empty) { border-top: 0; padding-top: 0; }
html[data-ui="terminal"] #insightView .ins-narr-label { min-width: 0; font-size: .72em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); white-space: nowrap; }
html[data-ui="terminal"] #insightView .ins-narr-cell { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
html[data-ui="terminal"] #insightView .ins-narr-strong { font-weight: 700; color: var(--text); }
html[data-ui="terminal"] #insightView .ins-narr-chips { display: flex; flex-wrap: wrap; gap: 4px 6px; margin: 0; }
/* ── PLAY: a frase-chave e o "PRESTE ATENÇÃO" viram callouts (assinatura da IA / cautela); confiança em grade ── */
html[data-ui="terminal"] #insightView .ins-punchline { margin: 8px 0 0; padding: 6px 10px; border-left: 3px solid var(--ai); background: color-mix(in srgb, var(--ai) 12%, transparent); font-weight: 700; line-height: 1.4; }
html[data-ui="terminal"] #insightView .ins-ksection + .ins-prose-muted { margin-top: 0; padding: 6px 10px; border-left: 3px solid var(--score-caution); background: color-mix(in srgb, var(--score-caution) 10%, transparent); color: var(--text); line-height: 1.4; }
html[data-ui="terminal"] #insightView .ins-bullet { padding-left: 2px; line-height: 1.4; margin: 3px 0; }
html[data-ui="terminal"] #insightView .ins-row-grid { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; align-items: center; margin: 4px 0 2px; }
html[data-ui="terminal"] #insightView .ins-pillgrid { display: flex; flex-wrap: wrap; gap: 4px 6px; }
html[data-ui="terminal"] #insightView .ins-conf-row { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; column-gap: 8px; align-items: center; margin: 3px 0; padding: 4px 0; border-top: 1px solid var(--border); }
html[data-ui="terminal"] #insightView .ins-conf-row:first-of-type { border-top: 0; }
html[data-ui="terminal"] #insightView .ins-conf-cap { font-size: .72em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
html[data-ui="terminal"] #insightView .ins-conf-sub { font-size: .85em; color: var(--text-muted); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html[data-ui="terminal"] #insightView .ins-conf-row .ins-pill { margin-left: auto; }
html[data-ui="terminal"] #insightView .ins-divider { border-color: var(--border); margin: 10px 0 6px; }

/* ═══ V6 · LARGURA (herdado do V7 na exclusão dele, 03-09) ≤ 639px (dono 03-09: "para 500 ou menor segue padrão cards; adaptar ao padrão texto em linha"): as MESMAS regras de linha do trilho, em coluna única, sem os floats ═══ */
@media (max-width: 639px) {
  html[data-ui="terminal"][data-layout="2col"] #ovlScroll { padding: 0 6px 12px; }
  html[data-ui="terminal"][data-layout="2col"] #ovlScroll > * { margin-top: 12px; margin-bottom: 0; }
  html[data-ui="terminal"][data-layout="2col"] .metrics-grid { margin-top: 6px; }
  html[data-ui="terminal"][data-layout="2col"] .metrics-grid, html[data-ui="terminal"][data-layout="2col"] #dtRiskGroup, html[data-ui="terminal"][data-layout="2col"] #dtOnlyGroup, html[data-ui="terminal"][data-layout="2col"] #filingsSection, html[data-ui="terminal"][data-layout="2col"] .why-section, html[data-ui="terminal"][data-layout="2col"] .news-zone, html[data-ui="terminal"][data-layout="2col"] #insightView { float: none; clear: none; width: auto; margin-left: 0; }
  html[data-ui="terminal"][data-layout="2col"] .dt-risk-group, html[data-ui="terminal"][data-layout="2col"] .dt-only-group, html[data-ui="terminal"][data-layout="2col"] .ovl-section { background: transparent; border: 0; padding-left: 0; padding-right: 0; }
  /* ── A1 · MÉTRICAS como lista: 1 coluna, linha "RÓTULO sub ……… valor" ──
     C2 (hierarquia rótulo/valor) · C6 (registro de 22px) · C8 (rail estreito) */
  html[data-ui="terminal"][data-layout="2col"] .metrics-grid {
    grid-template-columns: 1fr; grid-auto-rows: auto; row-gap: 0; column-gap: 0;
    margin-bottom: 0;
    border-top: 1px solid var(--border-strong); border-bottom: 1px solid var(--border);
  }
  html[data-ui="terminal"][data-layout="2col"] .metric-card {
    flex-direction: row; align-items: center; gap: 8px;
    min-height: 22px; padding: 0; background: transparent;
  }
  html[data-ui="terminal"][data-layout="2col"] .metric-card + .metric-card { border-top: 1px solid var(--border); }
  html[data-ui="terminal"][data-layout="2col"] .metric-bar { display: none; }
  html[data-ui="terminal"][data-layout="2col"] .metric-top { flex: 1 1 auto; min-width: 0; align-items: center; gap: 6px; }
  html[data-ui="terminal"][data-layout="2col"] .metric-label {
    flex: none; font-size: .78em; font-weight: 400; letter-spacing: .06em;
    text-transform: uppercase; color: var(--text-muted); line-height: 1.2;
  }
  /* sub-rótulo (D:/F: · data do split) inline após o rótulo, sem empurrar */
  html[data-ui="terminal"][data-layout="2col"] .metric-sub,
  html[data-ui="terminal"][data-layout="2col"] .split-date {
    flex: 0 1 auto; min-width: 0; margin-left: 0;
    font-size: .78em; color: var(--text-muted); font-variant-numeric: tabular-nums;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  /* guia pontilhada até o valor — a assinatura do rail */
  html[data-ui="terminal"][data-layout="2col"] .metric-top::after {
    content: ""; flex: 1 1 8px; min-width: 8px; height: 0;
    border-bottom: 1px dotted var(--border-strong); margin: 3px 0 0;
  }
  html[data-ui="terminal"][data-layout="2col"] .metric-valrow { flex: none; margin: 0; gap: 3px; }
  html[data-ui="terminal"][data-layout="2col"] .metric-val {
    font-size: 1em; font-weight: 700; color: var(--text); line-height: 1.2;
    font-variant-numeric: tabular-nums; text-align: right;
  }

  /* ── A2 · RISCO como linhas "Offering ……… pill" — C4/C6/C7 ── */
  html[data-ui="terminal"][data-layout="2col"] .dt-risk-group { background: transparent; }
  html[data-ui="terminal"][data-layout="2col"] .hdivider { display: none; }
  html[data-ui="terminal"][data-layout="2col"] .overall-row {
    justify-content: space-between; gap: 8px; padding: 2px 0;
    min-height: 24px; border-top: 1px solid var(--border-strong);
  }
  html[data-ui="terminal"][data-layout="2col"] .overall-label {
    font-size: .78em; font-weight: 400; letter-spacing: .06em; text-transform: uppercase;
    color: var(--text-muted); white-space: normal; line-height: 1.25; min-width: 0;
  }
  /* o pill "Overall" é o número-manchete do rail: um degrau maior, sem piso fixo */
  html[data-ui="terminal"][data-layout="2col"] #overallBadge {
    min-width: 0; width: auto; height: 18px; line-height: 18px; margin: 0;
    padding: 0 9px; font-size: .85em; border-radius: 2px; flex: none;
  }
  html[data-ui="terminal"][data-layout="2col"] .ratings-grid { grid-template-columns: 1fr; gap: 0; margin: 0; }
  html[data-ui="terminal"][data-layout="2col"] .ratings-grid .rating-cell {
    padding: 0; gap: 8px; min-height: 22px; border-top: 1px solid var(--border);
  }
  html[data-ui="terminal"][data-layout="2col"] .ratings-grid .rating-cell:nth-child(odd)::after { display: none; }
  html[data-ui="terminal"][data-layout="2col"] .rating-name {
    display: flex; align-items: center; flex: 1 1 auto; min-width: 0;
    font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted);
  }
  html[data-ui="terminal"][data-layout="2col"] .rating-name::after {
    content: ""; flex: 1 1 8px; min-width: 8px; height: 0;
    border-bottom: 1px dotted var(--border-strong); margin: 3px 0 0 6px;
  }
  html[data-ui="terminal"][data-layout="2col"] .ratings-grid .pill {
    width: auto; min-width: 64px; height: 16px; line-height: 16px; margin: 0;
    padding: 0 8px; font-size: .8em; border-radius: 2px;
  }

  /* ── A3 · FINANCEIRO + INSTRUMENTOS no mesmo registro de linha — C4/C6 ── */
  html[data-ui="terminal"][data-layout="2col"] .fin-grid { grid-template-columns: 1fr; gap: 0; }
  html[data-ui="terminal"][data-layout="2col"] .fin-cell {
    background: transparent; padding: 0; gap: 8px; min-height: 22px; border-top: 1px solid var(--border);
  }
  html[data-ui="terminal"][data-layout="2col"] .fin-cell:first-child { border-top-color: var(--border-strong); }
  html[data-ui="terminal"][data-layout="2col"] .fin-name {
    display: flex; align-items: center; flex: 1 1 auto; min-width: 0;
    font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted);
  }
  html[data-ui="terminal"][data-layout="2col"] .fin-name::after {
    content: ""; flex: 1 1 8px; min-width: 8px; height: 0;
    border-bottom: 1px dotted var(--border-strong); margin: 3px 0 0 6px;
  }
  html[data-ui="terminal"][data-layout="2col"] .fin-val { font-variant-numeric: tabular-nums; color: var(--text); }
  html[data-ui="terminal"][data-layout="2col"] #instrumentsBody { background: transparent; padding: 0; }
  /* linha embrulha como FLEX: se o valor não cabe ao lado do rótulo ele desce
     INTEIRO para a linha de baixo (alinhado à direita), nunca quebra no meio
     de "14-08-31" — a 900px (rail 260px) quase tudo fica numa linha só */
  html[data-ui="terminal"][data-layout="2col"] #instrumentsBody .instr-row {
    background: transparent; padding: 2px 0; gap: 2px 8px; align-items: center; min-height: 22px;
    flex-wrap: wrap;
  }
  html[data-ui="terminal"][data-layout="2col"] #instrumentsBody .instr-row + .instr-row { border-top: 1px solid var(--border); }
  html[data-ui="terminal"][data-layout="2col"] .instr-type {
    display: flex; align-items: center; flex: 1 1 auto; min-width: 0;
    font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted);
  }
  html[data-ui="terminal"][data-layout="2col"] .instr-type::after {
    content: ""; flex: 1 1 8px; min-width: 8px; height: 0;
    border-bottom: 1px dotted var(--border-strong); margin: 3px 0 0 6px;
  }
  html[data-ui="terminal"][data-layout="2col"] .instr-detail {
    flex: 0 1 auto; max-width: 100%; min-width: 0; margin-left: auto; text-align: right;
    font-weight: 700; color: var(--text); line-height: 1.3; font-variant-numeric: tabular-nums;
  }
  /* sem guias pontilhadas (dono 03-09: "tirar os risquinhos") */
  html[data-ui="terminal"][data-layout="2col"] #ovlScroll .metric-top::after, html[data-ui="terminal"][data-layout="2col"] #ovlScroll .rating-name::after, html[data-ui="terminal"][data-layout="2col"] #ovlScroll .fin-name::after, html[data-ui="terminal"][data-layout="2col"] #ovlScroll .instr-type::after { border-bottom: 0; }
}

/* ═══ V6 · dono 03-09: sem a linha ACIMA de FLOAT (topo das métricas) e ACIMA de RISCO GERAL DE DILUIÇÃO; as linhas entre as demais ficam ═══ */
html[data-ui="terminal"][data-layout="2col"] #ovlScroll .metrics-grid, html[data-ui="terminal"] #ovlScroll .metrics-grid { border-top: 0; }
html[data-ui="terminal"][data-layout="2col"] #ovlScroll .overall-row, html[data-ui="terminal"] #ovlScroll .overall-row { border-top: 0; }

/* ═══ FILINGS · TRILHO DE DATAS + DIREÇÃO NO PONTO (dono 10-09-2026, promovido do viewer) ═══
   Pedido: "datas dos FILINGS alinhadas na 1ª coluna, no padrão das demais datas
   (NOTÍCIAS e LINHA DO TEMPO)". A linha do filing usa a MESMA grade das notícias:
       data 24px | trilho 16px (linha 1px + ponto 8px) | form (pill) | título… | ▼ AI
   A DIREÇÃO (fbias-long/short/neutral, overlay.js) sai da borda esquerda e vai para o
   PONTO do trilho: verde long / vermelho short / muted neutro — e o dono pediu o MESMO
   padrão nas NOTÍCIAS: o ponto do .news-row lê o viés do pill (bias-long/bias-short).
   Iterado e aprovado no Theme Viewer em 10-09; promovido byte a byte da folha
   _overlay-filings-rail.css (apagada). Só tokens. */

html[data-ui="terminal"] #ovlScroll #filingsBody { padding: 0 0 4px; }

/* a linha = grade das notícias; sem borda esquerda, sem filete entre linhas
   (o trilho contínuo já separa) */
html[data-ui="terminal"] #ovlScroll .filing-row {
  display: grid; grid-template-columns: 24px 16px auto minmax(0, 1fr) auto;
  column-gap: 6px; row-gap: 3px; align-items: baseline; position: relative;
  padding: 5px 0 6px; min-height: 0; border-left: 0;
}
html[data-ui="terminal"] #ovlScroll .filing-row + .filing-row { border-top: 0; }

/* trilho: linha 1px contínua entre linhas + ponto 8px — métricas idênticas às
   do .news-row (left 37/34, top 9) para as duas seções lerem como uma só */
html[data-ui="terminal"] #ovlScroll .filing-row::after {
  content: ""; position: absolute; left: 37px; top: 0; bottom: 0; width: 1px; background: var(--border-strong);
}
html[data-ui="terminal"] #ovlScroll .filing-row::before {
  content: ""; position: absolute; left: 34px; top: 9px; width: 8px; height: 8px; border-radius: 50%;
  background: var(--text-muted); z-index: 1;
}
/* direção no ponto (era a borda esquerda) */
html[data-ui="terminal"] #ovlScroll .filing-row.fbias-long::before,
html[data-ui="terminal"] #ovlScroll .filing-row:has(.filing-chips .news-bias.bias-long)::before { background: var(--score-clean); }
html[data-ui="terminal"] #ovlScroll .filing-row.fbias-short::before,
html[data-ui="terminal"] #ovlScroll .filing-row:has(.filing-chips .news-bias.bias-short)::before { background: var(--score-toxic); }

/* NOTÍCIAS · o MESMO padrão no ponto (dono 10-09: "pode ser assim, desde que use o
   mesmo padrão para notícias"): o pill da notícia já carrega bias-long/bias-short
   (overlay.js L918), o ponto lê a mesma classe via :has(). Sem pill ou neutro =
   muted, como hoje. Cor só por significado — o pill segue sendo o outro lugar. */
html[data-ui="terminal"] #ovlScroll .news-row:has(.news-bias.bias-long)::before { background: var(--score-clean); }
html[data-ui="terminal"] #ovlScroll .news-row:has(.news-bias.bias-short)::before { background: var(--score-toxic); }

/* células — a ordem no DOM (form, título, data, chev) não muda; a grade reposiciona */
html[data-ui="terminal"] #ovlScroll .filing-time {
  grid-column: 1; grid-row: 1; justify-self: end; text-align: right; margin: 0; padding: 0;
  font-variant-numeric: tabular-nums;
}
html[data-ui="terminal"] #ovlScroll .filing-form { grid-column: 3; grid-row: 1; margin: 0; }
html[data-ui="terminal"] #ovlScroll .filing-title { grid-column: 4; grid-row: 1; min-width: 0; margin: 0; }
html[data-ui="terminal"] #ovlScroll .filing-chev { grid-column: 5; grid-row: 1; justify-self: end; margin: 0; }

/* aberto: data | ● | form … ▲ AI / título inteiro / corpo da IA — tudo à direita do trilho */
html[data-ui="terminal"] #ovlScroll .filing-row.open .filing-time { margin: 0; }
html[data-ui="terminal"] #ovlScroll .filing-row.open .filing-title {
  grid-column: 3 / -1; grid-row: 2; margin: 0; order: 0; flex: none;
  white-space: normal; overflow: visible; line-height: 1.35;
}
html[data-ui="terminal"] #ovlScroll .filing-row.open .filing-ai {
  grid-column: 3 / -1; grid-row: 3; margin-top: 3px; order: 0; flex-basis: auto;
}

/* ═══ LINHA DA IA (dono 10-09-2026, promovido do viewer) ═══
   "Hoje é clicando em PANDA AI INSIGHT, mas está muito para baixo" → o pill que já
   existia no cabeçalho do WHY virou o lugar ÚNICO da IA, numa linha própria acima do
   título do WHY (#aiLine, lockstep index.html/overlay.html; overlay.js _paintAiPill):
     · sem nada de IA  → "● 🤖 PEDIR PANDA AI →" preenchido em --ai (clique = pedir);
     · Starter         → "● 🔒 PRO — Fazer upgrade" em CONTORNO --ai (clique = upgrade);
     · analisando      → "● ⚡ PANDA AI analisando…" (o chip âmbar de sempre);
     · pronto          → "● 🤖 PANDA AI" + idade (⚠ se velha) + ⟳ (movidos do painel).
   Título "POR QUE ESTÁ MEXENDO" de volta no chrome dos cabeçalhos; a data do Finviz
   "(HÁ 8 DIAS)" vai no título só enquanto o texto é o do Finviz (o JS a tira quando o
   why é da IA). CATALYST sozinho à direita. O rodapé "PANDA AI INSIGHT →" fica só como
   TÍTULO do painel, no mesmo pill azul, sem a bolinha, e só quando há painel.
   NENHUM "FINVIZ" no layout. Só tokens. */
html[data-ui="terminal"] #ovlScroll .why-section .ai-line { display: flex; align-items: center; gap: 6px; min-width: 0; padding: 0 8px; margin: 8px 0 12px; }
html[data-ui="terminal"] #ovlScroll .why-section .ai-line .src-badge { margin-left: 0; }
/* pill: pedir (preenchido) · Starter (contorno) — o ● vem do ::before, como no chip de analisando */
html[data-ui="terminal"] #ovlScroll .src-badge.src-cta { background: var(--ai); color: var(--ai-fg); border: 1px solid var(--ai); cursor: pointer; }
html[data-ui="terminal"] #ovlScroll .src-badge.src-cta.src-cta-locked { background: transparent; color: var(--ai); border-color: var(--ai); }
html[data-ui="terminal"] #ovlScroll .src-badge.src-cta::before, html[data-ui="terminal"] #ovlScroll .ai-line .src-badge.src-ai::before { content: "●"; margin-right: 4px; }
html[data-ui="terminal"] #ovlScroll .ai-line .src-badge.src-ai { cursor: pointer; }
/* idade + ⟳ ao lado do pill */
html[data-ui="terminal"] #ovlScroll .ai-line .ai-line-meta { display: inline-flex; align-items: center; gap: 6px; margin-left: 4px; font-size: .8em; flex: none; }
html[data-ui="terminal"] #ovlScroll .ai-line .insight-age { color: var(--text-muted); padding: 0; }
html[data-ui="terminal"] #ovlScroll .ai-line .insight-age.stale { color: var(--score-caution); }
html[data-ui="terminal"] #ovlScroll .ai-line .insight-reload { margin-left: 0; padding: 0; color: var(--ai); cursor: pointer; font-size: 1.25em; line-height: 1; font-weight: 400; }
/* cabeçalho do WHY: título de volta (chrome dos cabeçalhos NOTÍCIAS/FILINGS), sem a data por ::before, CATALYST à direita */
html[data-ui="terminal"] #ovlScroll .why-section .section-hdr::before { content: none; }
html[data-ui="terminal"] #ovlScroll .why-section .section-hdr #whyTitle { display: inline; font-size: .78em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); white-space: nowrap; margin-right: 2px; }
html[data-ui="terminal"] #ovlScroll .why-section .section-hdr .why-catalyst { margin-left: auto; }
/* rodapé: "PANDA AI INSIGHT →" = título do painel, mesmo pill da IA, sem bolinha, só com painel (ready/showing) */
html[data-ui="terminal"] #ovlScroll #insightView #aiInsightBtn { display: inline-flex; align-items: center; justify-content: center; width: auto; min-height: 0; height: auto; margin: 8px 0 4px; padding: 0 7px; border: 1px solid var(--ai); border-top: 1px solid var(--ai); border-radius: var(--radius-pill); background: var(--ai); color: var(--ai-fg); font-size: .72em; font-weight: 700; line-height: 1.6; letter-spacing: .06em; text-transform: uppercase; gap: 0; opacity: 1; cursor: default; }
html[data-ui="terminal"] #ovlScroll #insightView #aiInsightBtn:not([data-ai-state="ready"]):not([data-ai-state="showing"]) { display: none; }
html[data-ui="terminal"] #ovlScroll #insightView #aiInsightBtn .ai-status-dot { display: none; }
/* a idade + Recarregar do painel migraram para a linha da IA */
html[data-ui="terminal"] #ovlScroll #insightView > .insight-header { display: none; }
