/* overlay-cards.css — DIAGRAMAÇÃO de PRODUÇÃO "Cards" (Fatos × Narrativa).
   Armada por html[data-ui="cards"], 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.
   Tokens ONLY (tokens.css) — zero hex. DOM congelado — CSS puro. Toda a
   diagramação vive em @media (min-width: 640px): ABAIXO DE 640px a COLUNA
   ÚNICA de produção segue intacta.

   RACIONAL (PT-BR)
   1. Duas pilhas INDEPENDENTES e assimétricas: FATOS (40%) à esquerda — métricas,
      ratings, financeiro, instrumentos e FILINGS (documento é dado duro) — e
      NARRATIVA (58%) à direita — por quê, notícias, AI Insight. A coluna de fatos
      é tabular e cabe em 280-350px; a de prosa ganha ~400px a 720 (C1 + C8).
   2. Mecânica: floats SÓ na coluna de fatos. A coluna narrativa fica em fluxo
      normal com margin-left 42%. Se as notícias também flutuassem, a regra 5 dos
      floats (um float nunca sobe acima do topo de um float anterior no DOM) faria
      as notícias esperarem o topo de FILINGS — que está lá embaixo — e abriria um
      vazio sob o WHY. Bloco em fluxo ignora a altura dos floats: pilhas livres.
   3. UM só cabeçalho de seção para tudo (C5): filete 1px em cima, título .83em
      (≈11px) caixa-alta com tracking em --section-title, meta à direita a .85em,
      26px de altura, 8px de respiro lateral. Zona de notícia = só borda ESQUERDA
      3px na cor da zona; sem faixa preenchida.
   4. Hierarquia (C2/C10): headline do WHY 1.05em/1.25 bold é o maior texto do
      corpo; o PANDA EDGE vira callout (filete 3px --score-caution, rótulo em caixa
      pequena acima, texto em --text). Prosa .95em/1.35; meta .78-.85em.
   5. Ritmo (C6): 8px de padding interno, 4-6px entre linhas de corpo expandido,
      14px entre blocos, filetes 1px --border entre linhas de lista.
   6. Cor (C7): vermelho fica só em bias-short, severidade HIGH/CRIT e SEC form;
      PANDA AI vira --accent sobre --bg; DILUTIVE vira contorno, não bloco. */

/* ═══════════════════════════════════════════════════════════════════════
   BLOCO A · LAYOUT 40/58 — floats (fatos) × fluxo normal (narrativa)
   Responde C1 (vazio na coluna 1), C8 (colunas simétricas erradas).
   Só a partir de 640px e só com layout=2col; abaixo disso nada daqui liga e
   a coluna única de produção segue intacta (aceite §3.4).
   ═══════════════════════════════════════════════════════════════════════ */
@media (min-width: 640px) {
  /* C1/C8 — desliga o multicol da camada 2col; flow-root = clearfix dos floats */
  html[data-ui="cards"][data-layout="2col"] #ovlScroll {
    columns: auto; column-gap: normal; column-rule: none; column-fill: auto;
    display: flow-root; height: auto; overflow: visible;
    padding: 0 6px 10px;
    /* filete vertical no centro do vão (41% da caixa de conteúdo) — substitui o column-rule */
    background-image: linear-gradient(to right, transparent calc(41% - 1px), var(--border) calc(41% - 1px), var(--border) 41%, transparent 41%);
    background-repeat: no-repeat;
    background-origin: content-box;
    background-clip: content-box;
  }
  html[data-ui="cards"][data-layout="2col"] .why-section { break-before: auto; }

  /* C1 — coluna FATOS: floats à esquerda, um abaixo do outro */
  html[data-ui="cards"][data-layout="2col"] .metrics-grid,
  html[data-ui="cards"][data-layout="2col"] #dtRiskGroup,
  html[data-ui="cards"][data-layout="2col"] #dtOnlyGroup,
  html[data-ui="cards"][data-layout="2col"] #filingsSection { float: left; clear: left; width: 40%; }

  /* C1/C8 — coluna NARRATIVA: fluxo normal deslocado 42% (58% de largura) */
  

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

  /* C8 — a coluna de fatos é estreita por desenho: o "Overall" embrulha em vez de estourar */
  html[data-ui="cards"][data-layout="2col"] .overall-row { flex-wrap: wrap; gap: 4px 8px; padding: 8px 8px 6px; }
  html[data-ui="cards"][data-layout="2col"] #overallBadge { min-width: 90px; margin: 2px 0; }
  html[data-ui="cards"][data-layout="2col"] .metric-sub { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
}
/* C8 — grades tabulares recontadas para a coluna de 40% (246-350px) */
@media (min-width: 640px) and (max-width: 899px) {
  html[data-ui="cards"][data-layout="2col"] .metrics-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 640px) and (max-width: 959px) {
  html[data-ui="cards"][data-layout="2col"] .fin-grid { grid-template-columns: 1fr; }
}
@media (min-width: 640px) and (max-width: 799px) {
  html[data-ui="cards"][data-layout="2col"] .ratings-grid { grid-template-columns: 1fr; gap: 0; margin: 2px 0 6px; }
  html[data-ui="cards"][data-layout="2col"] .ratings-grid .rating-cell { padding: 5px 10px; }
  html[data-ui="cards"][data-layout="2col"] .ratings-grid .rating-cell + .rating-cell { border-top: 1px solid var(--separator); }
  html[data-ui="cards"][data-layout="2col"] .ratings-grid .rating-cell:nth-child(odd)::after { display: none; }
}

/* ═══════════════════════════════════════════════════════════════════════
   BLOCO B · CABEÇALHO DE SEÇÃO ÚNICO — responde C5 (quatro estilos)
   ═══════════════════════════════════════════════════════════════════════ */
/* C5 — moldura das seções some; o filete de cima do cabeçalho delimita o bloco */
html[data-ui="cards"] .ovl-section { border: 0; }

html[data-ui="cards"] .filings-section .section-hdr { gap: 8px; }
/* C5 — título: .83em (≈11px no corpo 13.3px, acompanha a fonte da config), tracking, --section-title */

html[data-ui="cards"] .why-section #whyTitle { font-size: .83em; letter-spacing: .08em; }
/* C5 — meta à direita a .85em (contagem, catalyst, badge de origem) */

html[data-ui="cards"] .why-catalyst { font-size: .85em; }
html[data-ui="cards"] .src-badge { font-size: .8em; margin-left: 0; }
/* C5 — zonas de notícia: cor só na borda esquerda de 3px, sem faixa/fundo */






/* ═══════════════════════════════════════════════════════════════════════
   BLOCO C · WHY + PANDA EDGE — responde C2 (hierarquia) e C10 (ordem de leitura)
   ═══════════════════════════════════════════════════════════════════════ */
/* C2/C6 — respiro do quadro */
html[data-ui="cards"] .why-frame { padding: 8px 8px 10px; }
/* C2/C10 — headline = o maior texto do corpo: entrada de leitura */
html[data-ui="cards"] .why-headline { font-size: 1.05em; line-height: 1.25; font-weight: 700; color: var(--text); }
/* C2 — bullets .95em/1.35, 6px entre eles */
html[data-ui="cards"] .why-summary { font-size: .95em; line-height: 1.35; margin-top: 6px; }
html[data-ui="cards"] .why-summary .why-li { margin-top: 6px; line-height: 1.35; gap: 7px; }
html[data-ui="cards"] .why-summary .why-li:first-child { margin-top: 0; }
html[data-ui="cards"] .why-summary .why-li-dot { color: var(--text-muted); }
/* C2/C7/C10 — PANDA EDGE como callout: filete 3px caution, texto em --text, rótulo pequeno acima */
html[data-ui="cards"] .why-edge {
  margin-top: 10px; padding: 6px 8px 7px;
  border-left: 3px solid var(--score-caution); background: var(--surface);
  color: var(--text); font-size: .95em; line-height: 1.35;
}
html[data-ui="cards"] .why-edge b { color: var(--text); }
html[data-ui="cards"] .why-edge > b:first-child {
  display: block; margin-bottom: 3px;
  font-size: .78em; letter-spacing: .1em; text-transform: uppercase; color: var(--score-caution);
}

/* ═══════════════════════════════════════════════════════════════════════
   BLOCO D · NOTÍCIAS — responde C3 (chips), C6 (ritmo), C7 (cor)
   ═══════════════════════════════════════════════════════════════════════ */
/* C6 — lista: linhas com 4px/8px de respiro e filete 1px entre elas */



/* C3 — só o chip de tag fica; menor e quieto */

/* C3 — a fonte deixa de ser chip: vira prefixo mudo antes do tempo, à direita
   ("INVEST · 1d" — o texto de 6 chars é do JS, o CSS só o move e o silencia) */





/* C2/C3 — headline .95em, cresce entre o chip e a meta */

/* C3 — takeaway na própria linha, .85em muted, filete esquerdo 2px; sempre inteiro */


/* ═══════════════════════════════════════════════════════════════════════
   BLOCO E · FILINGS — responde C4 (corpo apertado), C6 (ritmo), C7 (cor)
   ═══════════════════════════════════════════════════════════════════════ */
/* C6 — lista de filings: linha 24px com respiro e filete entre linhas */
html[data-ui="cards"] #filingsBody { padding: 0 0 4px; }
html[data-ui="cards"] .filing-row { padding: 3px 8px; min-height: 24px; line-height: 1.3; }
html[data-ui="cards"] .filing-row + .filing-row { border-top: 1px solid var(--border); }
/* C7 — SEC form pill fica vermelha (identidade SEC), só menor */
html[data-ui="cards"] .filing-form { font-size: .8em; line-height: 1.3; padding: 1px 5px; margin: 0 8px 0 0; letter-spacing: .04em; }
html[data-ui="cards"] .filing-title { font-size: .95em; }
html[data-ui="cards"] .filing-time { font-size: .78em; color: var(--text-muted); margin: 0 0 0 6px; }
/* C4 — chevron "▼ AI" só aparece inteiro no hover/aberto (o texto é do JS) */
html[data-ui="cards"] .filing-chev { font-size: .78em; color: var(--text-muted); opacity: 1; margin-left: 6px; }
html[data-ui="cards"] .filing-row:hover .filing-chev,
html[data-ui="cards"] .filing-row.open .filing-chev { opacity: 1; color: var(--accent); }
/* C4 — corpo expandido = grade 2 colunas (rótulo 1fr · valor auto): o rótulo
   embrulha na própria coluna, nunca sob o valor; valor alinhado à direita entre
   TODAS as linhas (cada .filing-level vira display:contents na grade do corpo) */
html[data-ui="cards"] .filing-ai {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 4px;
  align-items: baseline; padding: 8px; margin-top: 4px; border-top: 1px solid var(--border);
}
html[data-ui="cards"] .filing-chips { grid-column: 1 / -1; gap: 6px; margin: 0 0 4px; }

/* C7 — DILUTIVE vira contorno: mantém o significado sem mais um bloco vermelho */
html[data-ui="cards"] .filing-dil { background: transparent; border: 1px solid var(--score-toxic); color: var(--score-toxic); }
/* C4 — "NÍVEIS" como rótulo de caixa pequena com tracking */
html[data-ui="cards"] .filing-sub { grid-column: 1 / -1; font-size: .78em; letter-spacing: .1em; color: var(--label); margin: 4px 0 0; }
html[data-ui="cards"] .filing-level { display: contents; }
html[data-ui="cards"] .filing-level-label { color: var(--text-muted); font-size: .95em; line-height: 1.3; min-width: 0; }
html[data-ui="cards"] .filing-level-val { color: var(--text); font-weight: 700; font-size: .95em; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
/* C4/C7 — risco como callout (igual ao EDGE), filete por severidade, texto em --text */
html[data-ui="cards"] .filing-risk {
  grid-column: 1 / -1; margin-top: 6px; padding: 6px 8px 7px;
  border-left: 3px solid var(--border-strong); background: var(--bg);
  color: var(--text); font-size: .95em; line-height: 1.35;
}
html[data-ui="cards"] .filing-risk.sev-HIGH,
html[data-ui="cards"] .filing-risk.sev-CRIT { color: var(--text); border-left-color: var(--score-toxic); }
html[data-ui="cards"] .filing-risk.sev-MED { color: var(--text); border-left-color: var(--score-caution); }
html[data-ui="cards"] .filing-risk > b:first-child {
  display: block; margin-bottom: 3px;
  font-size: .78em; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted);
}
html[data-ui="cards"] .filing-risk.sev-HIGH > b:first-child,
html[data-ui="cards"] .filing-risk.sev-CRIT > b:first-child { color: var(--score-toxic); }
html[data-ui="cards"] .filing-risk.sev-MED > b:first-child { color: var(--score-caution); }

/* ═══════════════════════════════════════════════════════════════════════
   BLOCO F · BADGES — responde C7 (vermelho sobrecarregado)
   ═══════════════════════════════════════════════════════════════════════ */
/* C7 — PANDA AI = --accent sobre --bg (não vermelho); busy segue âmbar; finviz segue mudo */
html[data-ui="cards"] .src-badge.src-ai { background: var(--accent); color: var(--bg); }

/* ═══════════════════════════════════════════════════════════════════════
   BLOCO G · AI INSIGHT — responde C5 (cabeçalho par), C9 (painel estreito), C2
   ═══════════════════════════════════════════════════════════════════════ */
/* C5 — o painel inline perde a moldura; a faixa-botão vira o MESMO cabeçalho das outras seções */
html[data-ui="cards"][data-layout="2col"] #insightView.stage-view { border: 0; }
html[data-ui="cards"][data-layout="2col"] #insightView #aiInsightBtn {
  background: transparent; border-top: 1px solid var(--border-strong);
  min-height: 26px; padding: 2px 8px; gap: 6px;
  font-family: inherit; font-size: .83em; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--section-title);
}
html[data-ui="cards"][data-layout="2col"] #insightView .insight-header { top: 1px; right: 8px; height: 26px; font-size: .85em; }
html[data-ui="cards"][data-layout="2col"] #insightView .insight-accordion { padding: 0 0 6px; }
/* C5/C9 — sub-seções do acordeão: filete fraco em cima, título .8em em --label (um degrau abaixo do cabeçalho do bloco) */
html[data-ui="cards"] .ins-section { border: 0; border-top: 1px solid var(--border); background: transparent; margin-top: 0; }
html[data-ui="cards"][data-layout="2col"] #insightView .ins-section:first-child { border-top: 0; }
html[data-ui="cards"] .ins-sec-hdr { background: transparent; min-height: 26px; padding: 2px 8px; gap: 6px; }
html[data-ui="cards"] .ins-sec-chevron { font-size: .85em; color: var(--text-muted); }
html[data-ui="cards"] .ins-sec-title { font-size: .8em; letter-spacing: .08em; color: var(--label); }
html[data-ui="cards"] .ins-sec-peek { font-size: .85em; }
html[data-ui="cards"] .ins-sec-body { background: transparent; padding: 4px 0 10px; }
/* C9 — pills menores; a de cabeçalho ainda encolhe com "…" (regra da camada 2col) mas com folga a mais */
html[data-ui="cards"] .ins-pill { font-size: .85em; padding: 1px 8px; min-width: 0; }
/* C9 — "O QUE ESTÁ ACONTECENDO" + pill: a pill desce de linha quando não cabe, em vez de disputar */
html[data-ui="cards"] .ins-ksection-row { flex-wrap: wrap; row-gap: 4px; }
html[data-ui="cards"] .ins-ksection { font-size: .78em; letter-spacing: .1em; color: var(--label); }
/* C2 — prosa do insight no mesmo registro da narrativa (.95em/1.4) */
html[data-ui="cards"] .ins-prose,
html[data-ui="cards"] .ins-bullet,
html[data-ui="cards"] .ins-narr-prose,
html[data-ui="cards"] .ins-narr-text,
html[data-ui="cards"] .ins-level-label,
html[data-ui="cards"] .ins-level-note,
html[data-ui="cards"] .ins-tl-now,
html[data-ui="cards"] .ins-tl-watch,
html[data-ui="cards"] .ins-tl-event,
html[data-ui="cards"] .ins-tl-hist-impact { font-size: .95em; line-height: 1.4; }
html[data-ui="cards"] .ins-bullet { margin-top: 5px; }
html[data-ui="cards"] .ins-punchline { font-size: 1em; }
html[data-ui="cards"] .ins-level-price,
html[data-ui="cards"] .ins-tl-date,
html[data-ui="cards"] .ins-tl-hist-date { font-variant-numeric: tabular-nums; }
html[data-ui="cards"] .ins-tl-block-hdr { font-size: .8em; letter-spacing: .08em; }

/* ═══════════════════════════════════════════════════════════════════════
   BLOCO H · TABULAR (mantido) — responde C6 (ritmo) sem tocar o registro 22px
   ═══════════════════════════════════════════════════════════════════════ */
/* C6 — instrumentos: 8px de respiro lateral e 4px entre linhas */
html[data-ui="cards"] #instrumentsBody { padding: 6px 8px 8px; }
html[data-ui="cards"] #instrumentsBody .instr-row { padding: 0 8px; }
html[data-ui="cards"] #instrumentsBody .instr-row + .instr-row { margin-top: 2px; }

/* ═══ LAYOUT · fatos 40% (com FILINGS) × narrativa 58% — mecânica da V4, aplicada 03-09 ═══ */
/* ═══════════════════════════════════════════════════════════════════════
   BLOCO A · LAYOUT 40/58 — floats (fatos) × fluxo normal (narrativa)
   C1 (vazio na coluna 1) + C8 (colunas simétricas erradas) + C10 (ordem).
   TUDO o que fala de float/columns vive DENTRO deste @media: abaixo de 640px
   a coluna única de produção segue intacta.
   ═══════════════════════════════════════════════════════════════════════ */
@media (min-width: 640px) {
  /* C1/C8 — desliga o multicol da camada 2col; flow-root = clearfix dos floats */
  html[data-ui="cards"][data-layout="2col"] #ovlScroll {
    columns: auto; column-gap: normal; column-rule: none; column-fill: auto;
    display: flow-root; height: auto; overflow: visible;
    padding: 0 6px 10px;
    /* filete vertical no vão (41% da caixa de conteúdo) no lugar do column-rule */
    background-image: linear-gradient(to right, transparent calc(41% - 1px), var(--border) calc(41% - 1px), var(--border) 41%, transparent 41%);
    background-repeat: no-repeat;
    background-origin: content-box;
    background-clip: content-box;
  }
  /* C1 — a quebra forçada do multicol não faz mais sentido sem multicol */
  html[data-ui="cards"][data-layout="2col"] .why-section { break-before: auto; }

  /* C1 — coluna FATOS: floats à esquerda, empilhados (FILINGS é dado duro) */
  html[data-ui="cards"][data-layout="2col"] .metrics-grid,
  html[data-ui="cards"][data-layout="2col"] #dtRiskGroup,
  html[data-ui="cards"][data-layout="2col"] #dtOnlyGroup,
  html[data-ui="cards"][data-layout="2col"] #filingsSection { float: left; clear: left; width: 40%; }

  /* C1/C8 — coluna NARRATIVA: fluxo normal deslocado 42% (≈58% de largura).
     Em fluxo (e não flutuando) ela IGNORA a altura dos floats: se as notícias
     também flutuassem, a regra dos floats as prenderia ao topo de FILINGS e
     reabriria um vazio sob o WHY. */
  

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

  /* C8 — a coluna de fatos é estreita por desenho: o "Overall" embrulha em vez de estourar */
  html[data-ui="cards"][data-layout="2col"] .overall-row { flex-wrap: wrap; gap: 4px 8px; padding: 8px 8px 6px; }
  html[data-ui="cards"][data-layout="2col"] #overallBadge { min-width: 90px; margin: 2px 0; }
  html[data-ui="cards"][data-layout="2col"] .metric-sub { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
}
/* C8 — grades tabulares recontadas para a coluna de 40% (246-350px) */
@media (min-width: 640px) and (max-width: 899px) {
  html[data-ui="cards"][data-layout="2col"] .metrics-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 640px) and (max-width: 959px) {
  html[data-ui="cards"][data-layout="2col"] .fin-grid { grid-template-columns: 1fr; }
}
/* C6 — 640-699 (coluna ≈250px): só aí os ratings viram lista de 1 coluna */
@media (min-width: 640px) and (max-width: 699px) {
  html[data-ui="cards"][data-layout="2col"] .ratings-grid { grid-template-columns: 1fr; gap: 0; margin: 2px 0 6px; }
  html[data-ui="cards"][data-layout="2col"] .ratings-grid .rating-cell { padding: 5px 10px; }
  html[data-ui="cards"][data-layout="2col"] .ratings-grid .rating-cell + .rating-cell { border-top: 1px solid var(--separator); }
  html[data-ui="cards"][data-layout="2col"] .ratings-grid .rating-cell:nth-child(odd)::after { display: none; }
}
/* C6/C8 — ≥700px os ratings ficam 2×2 (a lista de 5 linhas de V1 era alta
   demais). O que faz caber: o NOME encolhe com "…" e a pill tem piso de 64px
   em vez do clamp de 68-104px do P6. */
@media (min-width: 700px) {
  html[data-ui="cards"][data-layout="2col"] .ratings-grid { margin: 4px 0 8px; gap: 4px 0; }
  html[data-ui="cards"][data-layout="2col"] .rating-cell { padding: 4px 6px; gap: 6px; }
  html[data-ui="cards"][data-layout="2col"] .rating-name {
    flex: 0 1 auto; min-width: 0; font-size: .9em;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  html[data-ui="cards"][data-layout="2col"] .ratings-grid .pill {
    flex: 0 0 auto; width: auto; min-width: 64px; margin: 2px 0; padding: 0 6px;
  }
}

/* ═══ RECUPERAÇÃO 03-09: regras de notícias/layout removidas por engano ao unificar as notícias com o V6 — reinseridas a partir da transcrição original da variante; a legibilidade (dim→muted) já aplicada ═══ */
@media (min-width: 640px) {
html[data-ui="cards"][data-layout="2col"] .why-section,
  html[data-ui="cards"][data-layout="2col"] .news-zone,
  html[data-ui="cards"][data-layout="2col"] #insightView { float: none; clear: none; width: auto; margin-left: 42%; }
}
html[data-ui="cards"] .section-hdr,
html[data-ui="cards"] .news-zone .news-hdr {
  background: transparent; border-top: 1px solid var(--border-strong);
  min-height: 26px; padding: 2px 8px; gap: 8px; align-items: center;
}
html[data-ui="cards"] .section-title,
html[data-ui="cards"] .news-zone .news-hdr-title {
  font-size: .83em; font-weight: 700; letter-spacing: .08em; color: var(--section-title);
}
html[data-ui="cards"] .filing-chips .news-bias,
html[data-ui="cards"] .filing-sev,
html[data-ui="cards"] .filing-dil { font-size: .8em; line-height: 1.3; padding: 1px 6px; letter-spacing: .04em; }

/* ═══ 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="cards"] #ovlScroll #filingsBody { padding: 0 0 4px; }
html[data-ui="cards"] #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="cards"] #ovlScroll .filing-row + .filing-row { border-top: 1px solid var(--border); }
html[data-ui="cards"] #ovlScroll .filing-row.fbias-short,
html[data-ui="cards"] #ovlScroll .filing-row:has(.filing-chips .news-bias.bias-short) { border-left-color: var(--score-toxic); }
html[data-ui="cards"] #ovlScroll .filing-row.fbias-long,
html[data-ui="cards"] #ovlScroll .filing-row:has(.filing-chips .news-bias.bias-long) { border-left-color: var(--score-clean); }
html[data-ui="cards"] #ovlScroll .filing-row.fbias-neutral { border-left-color: var(--border-strong); }
html[data-ui="cards"] #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="cards"] #ovlScroll .filing-title { font-size: .95em; color: var(--text); }
html[data-ui="cards"] #ovlScroll .filing-time { font-size: .78em; color: var(--text-muted); margin: 0 0 0 6px; }
html[data-ui="cards"] #ovlScroll .filing-chev { font-size: .78em; font-weight: 400; color: var(--text-muted); opacity: 1; margin-left: 6px; }
html[data-ui="cards"] #ovlScroll .filing-row:hover .filing-chev,
html[data-ui="cards"] #ovlScroll .filing-row.open .filing-chev { opacity: 1; color: var(--accent); }
html[data-ui="cards"] #ovlScroll .filing-row.open .filing-time { margin-left: auto; }
html[data-ui="cards"] #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="cards"] #ovlScroll .filing-row.open .filing-ai { order: 2; }
html[data-ui="cards"] #ovlScroll .filing-ai { margin-top: 6px; padding: 8px; background: var(--surface); border-top: 1px solid var(--border); flex-basis: 100%; }
html[data-ui="cards"] #ovlScroll .filing-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 6px; }
html[data-ui="cards"] #ovlScroll .filing-chips .news-bias,
html[data-ui="cards"] #ovlScroll .filing-sev,
html[data-ui="cards"] #ovlScroll .filing-dil { font-size: .8em; line-height: 1.5; padding: 0 5px; margin: 0; letter-spacing: .04em; border-radius: 0; }
html[data-ui="cards"] #ovlScroll .filing-chips .news-bias { background: transparent; color: var(--text-muted); border: 1px solid var(--border-strong); }
html[data-ui="cards"] #ovlScroll .filing-chips .news-bias.bias-long { color: var(--score-clean); border-color: var(--bias-long-bg); }
html[data-ui="cards"] #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="cards"] #ovlScroll .filing-sev { background: transparent; color: var(--text-muted); border: 1px solid var(--border-strong); }
html[data-ui="cards"] #ovlScroll .filing-sev.sev-MED { background: transparent; border-color: var(--badge-med); color: var(--risk-med); }
html[data-ui="cards"] #ovlScroll .filing-sev.sev-HIGH,
html[data-ui="cards"] #ovlScroll .filing-sev.sev-CRIT { background: var(--badge-high); color: var(--badge-high-fg); border-color: var(--badge-high); }
html[data-ui="cards"] #ovlScroll .filing-dil { background: transparent; border: 1px solid var(--score-toxic); color: var(--score-toxic); }
html[data-ui="cards"] #ovlScroll .filing-sub { font-size: .78em; letter-spacing: .1em; text-transform: uppercase; color: var(--label); margin: 8px 0 2px; }
html[data-ui="cards"] #ovlScroll .filing-level { display: block; margin: 6px 0 0; padding: 0; }
html[data-ui="cards"] #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="cards"] #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="cards"] #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="cards"] #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="cards"] #ovlScroll .filing-risk.sev-HIGH,
html[data-ui="cards"] #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="cards"] #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="cards"] #ovlScroll .filing-risk.sev-MED > b:first-child { color: var(--score-caution); }
html[data-ui="cards"] #ovlScroll .filing-risk.sev-HIGH > b:first-child,
html[data-ui="cards"] #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="cards"] #ovlScroll .fin-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 4px; }
html[data-ui="cards"] #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="cards"] #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="cards"] #ovlScroll .why-section #whyTitle { display: none; }
html[data-ui="cards"] #ovlScroll .why-section .src-badge { margin: 0; }
html[data-ui="cards"] #ovlScroll .why-section .why-catalyst { margin: 0; font-size: .8em; }
html[data-ui="cards"] #ovlScroll .why-frame { padding: 2px 8px 10px; }
html[data-ui="cards"] #ovlScroll #whyHeadline { font-size: 1.28em; line-height: 1.22; margin-top: 2px; }

/* ═══ FINANCEIRO · célula estreita: fonte escala com o card, UMA linha — dono 03-09 ═══ */
html[data-ui="cards"] #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="cards"] #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="cards"] #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="cards"] #ovlScroll .filing-form { color: var(--text-muted); border-color: var(--border-strong); background: transparent; }
html[data-ui="cards"] #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="cards"] #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="cards"] #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="cards"] #ovlScroll .filings-section .section-hdr { display: flex; align-items: center; flex-wrap: nowrap; }
html[data-ui="cards"] #ovlScroll .filings-section .news-count { order: 1; margin-left: 0; }
html[data-ui="cards"] #ovlScroll #filingsSrcBadge { order: 2; margin-left: auto; }
html[data-ui="cards"] #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="cards"] #ovlScroll .why-edge, html[data-ui="cards"] #ovlScroll .filing-risk, html[data-ui="cards"] #ovlScroll .filing-risk.sev-LOW, html[data-ui="cards"] #ovlScroll .filing-risk.sev-MED, html[data-ui="cards"] #ovlScroll .filing-risk.sev-HIGH, html[data-ui="cards"] #ovlScroll .filing-risk.sev-CRIT, html[data-ui="cards"] #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="cards"] #ovlScroll .why-edge > b:first-child, html[data-ui="cards"] #ovlScroll .filing-risk > b:first-child, html[data-ui="cards"] #ovlScroll .filing-risk.sev-MED > b:first-child, html[data-ui="cards"] #ovlScroll .filing-risk.sev-HIGH > b:first-child, html[data-ui="cards"] #ovlScroll .filing-risk.sev-CRIT > b:first-child, html[data-ui="cards"] #ovlScroll .news-row .news-take > b:first-child { color: var(--ai); font-weight: 700; }
html[data-ui="cards"] #ovlScroll .news-row .news-take { padding: 3px 8px 3px 8px; }
html[data-ui="cards"] .src-badge.src-ai, html[data-ui="cards"] #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="cards"] #ovlScroll .news-row .news-head, html[data-ui="cards"] #ovlScroll .news-row.news-noise .news-head, html[data-ui="cards"] #ovlScroll .news-row .news-src:not(.is-sec), html[data-ui="cards"] #ovlScroll .news-row .news-time, html[data-ui="cards"] #ovlScroll .news-row .news-take, html[data-ui="cards"] #ovlScroll .news-row.news-noise .news-take,
html[data-ui="cards"] #ovlScroll .news-row .news-src::before, html[data-ui="cards"] #ovlScroll .news-row .news-time::before, html[data-ui="cards"] #ovlScroll .news-row .news-bias + .news-src::before, html[data-ui="cards"] #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="cards"] #ovlScroll #filingsSrcBadge { display: none; }
html[data-ui="cards"] #ovlScroll .filing-chev, html[data-ui="cards"] #ovlScroll .filing-row:hover .filing-chev, html[data-ui="cards"] #ovlScroll .filing-row.open .filing-chev { color: var(--ai); opacity: 1; font-weight: 700; }

/* ═══ 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="cards"] #ovlScroll .fin-name { font-size: .9em; }
html[data-ui="cards"] #ovlScroll .fin-val  { font-size: 1.08em; }
html[data-ui="cards"] #ovlScroll .fin-cell:has(#finGcNasdaq) .fin-name { font-size: clamp(.62em, 7cqi, .9em); }
html[data-ui="cards"] #ovlScroll .fin-cell:has(#finGcNasdaq) .fin-val  { font-size: clamp(.72em, 8cqi, 1.08em); }

/* ═══ 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="cards"] #ovlScroll .ovl-section[data-section="Dilution Instruments"] { container-type: inline-size; }
html[data-ui="cards"] #ovlScroll #instrumentsBody .instr-row { flex-wrap: nowrap; font-size: clamp(.68em, 4.6cqi, 1em); gap: 0 6px; }
html[data-ui="cards"] #ovlScroll #instrumentsBody .instr-type { flex: 0 1 auto; white-space: nowrap; }
html[data-ui="cards"] #ovlScroll #instrumentsBody .instr-detail { flex: 0 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
html[data-ui="cards"] #ovlScroll .fin-grid { container-type: inline-size; }
html[data-ui="cards"] #ovlScroll .fin-cell { font-size: clamp(.72em, 4.6cqi, 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="cards"] #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="cards"] #ovlScroll .why-section .src-badge, html[data-ui="cards"] #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 → V1: 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="cards"] .ovl-section { border: 0; }
html[data-ui="cards"] .dt-only-group .ovl-section { margin-top: 14px; }
html[data-ui="cards"] .section-hdr,
html[data-ui="cards"] .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="cards"] .filings-section .section-hdr { gap: 8px; }
html[data-ui="cards"] .section-title,
html[data-ui="cards"] .news-zone .news-hdr-title {
  font-size: .76em; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--label);
}
html[data-ui="cards"] .why-section #whyTitle { font-size: .76em; letter-spacing: .12em; }
html[data-ui="cards"] .news-zone.news-breaking .news-hdr-title { color: var(--news-brk-fg); }
html[data-ui="cards"] .news-zone.news-recent .news-hdr-title { color: var(--news-rec-fg); }
html[data-ui="cards"] .news-zone.news-latest .news-hdr-title { color: var(--news-lts-fg); }
html[data-ui="cards"] .news-zone .news-count,
html[data-ui="cards"] .filings-section .news-count { font-size: .76em; font-weight: 400; color: var(--text-muted); margin-left: auto; }
html[data-ui="cards"] .why-catalyst { font-size: .76em; letter-spacing: .06em; }
html[data-ui="cards"] .section-body { padding: 0; }
/* C5 — a zona de notícia perde moldura e faixa: só rótulo + timeline */
html[data-ui="cards"] .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="cards"] .src-badge { font-size: .7em; margin-left: 0; padding: 0 6px; line-height: 1.6; }
html[data-ui="cards"] .src-badge.src-ai { background: transparent; border: 1px solid var(--accent); color: var(--accent); }
html[data-ui="cards"] .src-badge.src-busy { background: transparent; border: 1px solid var(--badge-med); color: var(--risk-med); }

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

/* ── porte V7 → V1: BLOCO C why ── */
/* ═══════════════════════════════════════════════════════════════════════
   BLOCO C · WHY = LEAD + PANDA EDGE = CITAÇÃO — C2 (hierarquia) · C10 (ordem)
   ═══════════════════════════════════════════════════════════════════════ */
html[data-ui="cards"] .why-frame { padding: 8px 0 2px; }
/* C2/C10 — a manchete é o maior texto da página: é onde o olho entra */
html[data-ui="cards"] .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="cards"] .why-summary { font-size: .98em; line-height: 1.45; margin-top: 8px; color: var(--text-muted); }
html[data-ui="cards"] .why-summary .why-li { margin-top: 5px; line-height: 1.45; gap: 8px; }
html[data-ui="cards"] .why-summary .why-li:first-child { margin-top: 0; }
html[data-ui="cards"] .why-summary .why-li-dot { color: var(--text-muted); }
html[data-ui="cards"] .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="cards"] .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="cards"] .why-edge b { color: var(--text); font-weight: 700; }
html[data-ui="cards"] .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 → V1: 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="cards"] .news-body { margin-left: 4px; padding: 2px 0 4px 12px; border-left: 1px solid var(--border-strong); gap: 0; }
html[data-ui="cards"] .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="cards"] .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="cards"] .news-breaking .news-row::before { background: var(--news-brk-fg); }
html[data-ui="cards"] .news-recent .news-row::before { background: var(--news-rec-fg); }
html[data-ui="cards"] .news-row.news-noise::before { background: var(--border-strong); }
/* C3 — data à ESQUERDA (coluna 1), .78em dim, tabular */
html[data-ui="cards"] .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="cards"] .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="cards"] .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="cards"] .news-row .news-bias.bias-long { color: var(--score-clean); }
html[data-ui="cards"] .news-row .news-bias.bias-short { color: var(--score-toxic); }   /* vermelho = short, só aqui */
html[data-ui="cards"] .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="cards"] .news-row .news-src.is-sec { background: transparent; color: var(--text-muted); font-weight: 700; }
html[data-ui="cards"] .news-row .news-src:empty { display: none; }
html[data-ui="cards"] .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="cards"] .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="cards"] .news-row.expanded .news-head { grid-column: 2 / -1; grid-row: 1; }
html[data-ui="cards"] .news-row.expanded .news-time { margin-left: 0; }
html[data-ui="cards"] .news-row.expanded .news-take { grid-row: 3; }

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

/* ── porte V7 → V1: BLOCO E filings ── */
/* ═══════════════════════════════════════════════════════════════════════
   BLOCO E · FILINGS no rail: linhas compactas + corpo empilhado
   C4 (corpo apertado/desalinhado) · C6 (ritmo) · C7 (vermelho sobrecarregado)
   ═══════════════════════════════════════════════════════════════════════ */
html[data-ui="cards"] #filingsBody { padding: 0; }
html[data-ui="cards"] .filing-row { padding: 4px 0; min-height: 24px; line-height: 1.35; align-items: baseline; }
html[data-ui="cards"] .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="cards"] .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="cards"] .filing-title { font-size: .92em; }
html[data-ui="cards"] .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="cards"] .filing-chev { font-size: .72em; font-weight: 400; color: var(--text-muted); opacity: 1; margin-left: 6px; }
html[data-ui="cards"] .filing-row:hover .filing-chev,
html[data-ui="cards"] .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="cards"] .filing-row.open .filing-time { margin-left: auto; }
html[data-ui="cards"] .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="cards"] .filing-row.open .filing-ai { order: 2; }
/* C4/C6 — corpo expandido no rail: sem inset de superfície, filete em cima */
html[data-ui="cards"] .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="cards"] .filing-chips { gap: 0; margin: 0 0 4px; align-items: baseline; }
html[data-ui="cards"] .filing-chips > *:not(:last-child)::after { content: "·"; margin: 0 6px; color: var(--text-muted); font-weight: 400; }
html[data-ui="cards"] .filing-chips .news-bias,
html[data-ui="cards"] .filing-sev,
html[data-ui="cards"] .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="cards"] .filing-chips .news-bias.bias-long { color: var(--score-clean); }
html[data-ui="cards"] .filing-chips .news-bias.bias-short { color: var(--score-toxic); }
html[data-ui="cards"] .filing-sev.sev-MED { color: var(--score-caution); }
html[data-ui="cards"] .filing-sev.sev-HIGH,
html[data-ui="cards"] .filing-sev.sev-CRIT { color: var(--score-toxic); }
html[data-ui="cards"] .filing-dil { color: var(--score-toxic); }
/* C4 — "NÍVEIS" no mesmo versalete dos cabeçalhos, um degrau menor */
html[data-ui="cards"] .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="cards"] .filing-level { display: block; margin: 6px 0 0; padding: 0; }
html[data-ui="cards"] .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="cards"] .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="cards"] .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="cards"] .filing-risk.sev-MED { color: var(--text); border-left-color: var(--score-caution); }
html[data-ui="cards"] .filing-risk.sev-HIGH,
html[data-ui="cards"] .filing-risk.sev-CRIT { color: var(--text); border-left-color: var(--score-toxic); }
html[data-ui="cards"] .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="cards"] .filing-risk.sev-MED > b:first-child { color: var(--score-caution); }
html[data-ui="cards"] .filing-risk.sev-HIGH > b:first-child,
html[data-ui="cards"] .filing-risk.sev-CRIT > b:first-child { color: var(--score-toxic); }

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

/* ── porte V7 → V1: 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="cards"][data-layout="2col"] #insightView.stage-view { border: 0; overflow: visible; }
html[data-ui="cards"][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="cards"][data-layout="2col"] #insightView .insight-header { top: 2px; right: 0; height: 24px; font-size: .76em; gap: 10px; }
html[data-ui="cards"][data-layout="2col"] #insightView .insight-accordion { padding: 0 0 6px; }
html[data-ui="cards"] .insight-age { font-size: 1em; color: var(--text-muted); }
html[data-ui="cards"] .insight-age.stale { color: var(--score-caution); }
html[data-ui="cards"] .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="cards"] .ins-section { border: 0; border-top: 1px solid var(--border); background: transparent; margin-top: 0; }
html[data-ui="cards"][data-layout="2col"] #insightView .ins-section:first-child { border-top: 0; }
html[data-ui="cards"] .ins-sec-hdr { background: transparent; min-height: 28px; padding: 5px 0; gap: 6px; flex-wrap: wrap; row-gap: 4px; }
html[data-ui="cards"] .ins-sec-chevron { font-size: .8em; color: var(--text-muted); }
html[data-ui="cards"] .ins-sec-title { font-size: .8em; letter-spacing: .08em; color: var(--section-title); }
html[data-ui="cards"] .ins-sec-peek { font-size: .86em; font-weight: 400; color: var(--text-muted); }
html[data-ui="cards"] .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="cards"] .ins-pill { font-size: .82em; padding: 1px 8px; min-width: 0; line-height: 1.5; border-radius: 2px; }
html[data-ui="cards"][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="cards"][data-layout="2col"] #insightView .ins-pill { flex: none; display: inline-flex; overflow: visible; text-overflow: clip; }
html[data-ui="cards"][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="cards"] .ins-ksection-row { flex-wrap: wrap; row-gap: 4px; margin: 12px 0 6px; }
html[data-ui="cards"] .ins-ksection-row .ins-ksection { margin: 0; }
html[data-ui="cards"] .ins-ksection { font-size: .72em; letter-spacing: .12em; color: var(--label); margin: 12px 0 6px; }
html[data-ui="cards"] .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="cards"] .ins-prose, html[data-ui="cards"] .ins-bullet, html[data-ui="cards"] .ins-row,
html[data-ui="cards"] .ins-divider, html[data-ui="cards"] .ins-levels-empty,
html[data-ui="cards"] .ins-level-row, html[data-ui="cards"] .ins-level-note-row,
html[data-ui="cards"] .ins-narr-row, html[data-ui="cards"] .ins-tl-divider,
html[data-ui="cards"] .ins-tl-row, html[data-ui="cards"] .ins-tl-hist-row { margin-left: 0; margin-right: 0; }
html[data-ui="cards"] .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="cards"] .ins-prose, html[data-ui="cards"] .ins-bullet, html[data-ui="cards"] .ins-narr-prose,
html[data-ui="cards"] .ins-narr-text, html[data-ui="cards"] .ins-level-label, html[data-ui="cards"] .ins-level-note,
html[data-ui="cards"] .ins-tl-now, html[data-ui="cards"] .ins-tl-watch, html[data-ui="cards"] .ins-tl-event,
html[data-ui="cards"] .ins-tl-hist-event, html[data-ui="cards"] .ins-tl-hist-impact,
html[data-ui="cards"] .ins-row-label, html[data-ui="cards"] .ins-conf-sub { font-size: .98em; line-height: 1.45; }
html[data-ui="cards"] .ins-bullet { margin-top: 6px; }
html[data-ui="cards"] .ins-punchline { font-size: 1em; margin-top: 10px; color: var(--text); }
html[data-ui="cards"] .ins-divider, html[data-ui="cards"] .ins-tl-divider { margin-top: 12px; margin-bottom: 8px; }
html[data-ui="cards"] .ins-level-row { margin-top: 10px; }
html[data-ui="cards"] .ins-level-price, html[data-ui="cards"] .ins-tl-date, html[data-ui="cards"] .ins-tl-hist-date { font-variant-numeric: tabular-nums; }
html[data-ui="cards"] .ins-level-kind, html[data-ui="cards"] .ins-narr-label { font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--label); line-height: 1.8; }
html[data-ui="cards"] .ins-narr-row { margin-top: 8px; }
html[data-ui="cards"] .ins-narr-chip, html[data-ui="cards"] .ins-tl-type-pill { font-size: .78em; }
html[data-ui="cards"] .ins-conf-cap { font-size: .9em; }

/* ── porte V7 → V1: 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="cards"] #ovlScroll .news-row::before, html[data-ui="cards"] #ovlScroll .news-breaking .news-row::before, html[data-ui="cards"] #ovlScroll .news-recent .news-row::before, html[data-ui="cards"] #ovlScroll .news-row.news-noise::before { background: var(--text-muted); top: 9px; }
html[data-ui="cards"] #ovlScroll .news-row .news-time { color: var(--text-muted); }
/* fechado: data | [PILL] título…  /  linha IA */
html[data-ui="cards"] #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="cards"] #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="cards"] #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="cards"] #ovlScroll .news-row .news-bias.bias-long  { color: var(--score-clean); border-color: var(--bias-long-bg); }
html[data-ui="cards"] #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="cards"] #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="cards"] #ovlScroll .news-row:not(:has(.news-bias)) .news-head { grid-column: 2 / -1; }
html[data-ui="cards"] #ovlScroll .news-row .news-src { display: none; }
html[data-ui="cards"] #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="cards"] #ovlScroll .news-row.expanded .news-bias { grid-column: 2; grid-row: 1; }
html[data-ui="cards"] #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="cards"] #ovlScroll .news-row.expanded .news-bias + .news-src:not(:empty)::before { content: "·"; margin: 0 6px; }
html[data-ui="cards"] #ovlScroll .news-row.expanded:not(:has(.news-bias)) .news-src:not(:empty) { grid-column: 2 / -1; }
html[data-ui="cards"] #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="cards"] #ovlScroll .news-row.expanded:not(:has(.news-bias)):not(:has(.news-src:not(:empty))) .news-head { grid-row: 1; }
html[data-ui="cards"] #ovlScroll .news-row.expanded .news-take { grid-column: 2 / -1; grid-row: 3; white-space: normal; overflow: visible; }

/* ── porte V7 → V1: 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="cards"] #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="cards"] #ovlScroll .news-row { grid-template-columns: 24px 16px auto minmax(0, 1fr); column-gap: 6px; position: relative; }
html[data-ui="cards"] #ovlScroll .news-row .news-time { grid-column: 1; grid-row: 1; justify-self: end; text-align: right; padding: 0; }
html[data-ui="cards"] #ovlScroll .news-row::after { content: ""; position: absolute; left: 37px; top: 0; bottom: 0; width: 1px; background: var(--border-strong); }
html[data-ui="cards"] #ovlScroll .news-row::before { left: 34px; top: 9px; width: 8px; height: 8px; z-index: 1; }
html[data-ui="cards"] #ovlScroll .news-row .news-bias { grid-column: 3; }
html[data-ui="cards"] #ovlScroll .news-row .news-head { grid-column: 4; }
html[data-ui="cards"] #ovlScroll .news-row:not(:has(.news-bias)) .news-head { grid-column: 3 / -1; }
html[data-ui="cards"] #ovlScroll .news-row .news-take { grid-column: 3 / -1; }
html[data-ui="cards"] #ovlScroll .news-row.expanded .news-bias { grid-column: 3; }
html[data-ui="cards"] #ovlScroll .news-row.expanded .news-src:not(:empty) { grid-column: 4; }
html[data-ui="cards"] #ovlScroll .news-row.expanded:not(:has(.news-bias)) .news-src:not(:empty) { grid-column: 3 / -1; }
html[data-ui="cards"] #ovlScroll .news-row.expanded .news-head { grid-column: 3 / -1; }
html[data-ui="cards"] #ovlScroll .news-row.expanded .news-take { grid-column: 3 / -1; }

/* ── porte V7 → V1: 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="cards"] #insightView .ins-sec-hdr { min-height: 26px; padding: 4px 0; gap: 8px; border-top: 1px solid var(--border); }
html[data-ui="cards"] #insightView .ins-section:first-child .ins-sec-hdr { border-top: 0; }
html[data-ui="cards"] #insightView .ins-sec-title { font-size: .78em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
html[data-ui="cards"] #insightView .ins-sec-chevron { color: var(--text-muted); font-size: .8em; }
html[data-ui="cards"] #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="cards"] #insightView .ins-ksection, html[data-ui="cards"] #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="cards"] #insightView .ins-tl-block-hdr.ins-tl-hdr-amber, html[data-ui="cards"] #insightView .ins-tl-block-hdr.ins-tl-hdr-bright { color: var(--text-muted); }
html[data-ui="cards"] #insightView .ins-divider, html[data-ui="cards"] #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="cards"] #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="cards"] #insightView .ins-pill.ins-pill-bull { color: var(--score-clean); border-color: var(--bias-long-bg); }
html[data-ui="cards"] #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="cards"] #insightView .ins-pill.ins-pill-neutral, html[data-ui="cards"] #insightView .ins-pill.ins-pill-stage, html[data-ui="cards"] #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="cards"] #insightView .ins-row-label, html[data-ui="cards"] #insightView .ins-narr-label, html[data-ui="cards"] #insightView .ins-level-kind, html[data-ui="cards"] #insightView .ins-conf-cap { font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
html[data-ui="cards"] #insightView .ins-conf-sub { font-size: .78em; color: var(--text-muted); }
html[data-ui="cards"] #insightView .ins-level-price { font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
html[data-ui="cards"] #insightView .ins-prose, html[data-ui="cards"] #insightView .ins-bullet, html[data-ui="cards"] #insightView .ins-level-label, html[data-ui="cards"] #insightView .ins-level-note, html[data-ui="cards"] #insightView .ins-tl-now, html[data-ui="cards"] #insightView .ins-tl-watch, html[data-ui="cards"] #insightView .ins-tl-event, html[data-ui="cards"] #insightView .ins-tl-hist-event, html[data-ui="cards"] #insightView .ins-tl-hist-impact { color: var(--text); }
html[data-ui="cards"] #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="cards"] #insightView .ins-tl-row, html[data-ui="cards"] #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="cards"] #insightView .ins-tl-row::after, html[data-ui="cards"] #insightView .ins-tl-hist-row::after { content: ""; position: absolute; left: 37px; top: 0; bottom: 0; width: 1px; background: var(--border-strong); }
html[data-ui="cards"] #insightView .ins-tl-row::before, html[data-ui="cards"] #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="cards"] #insightView .ins-tl-col0 { grid-column: 1; min-width: 0; }
html[data-ui="cards"] #insightView .ins-tl-cell, html[data-ui="cards"] #insightView .ins-tl-hist-event-cell { grid-column: 3; min-width: 0; }
html[data-ui="cards"] #insightView .ins-tl-track { display: none; }                                   /* o trilho antigo (2px) sai; o ::after/::before desenham o das notícias */
html[data-ui="cards"] #insightView .ins-tl-hist-date-cell, html[data-ui="cards"] #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="cards"] #insightView .ins-tl-hist-date, html[data-ui="cards"] #insightView .ins-tl-hist-age { display: none; }        /* data e "há 2d" saem: só os dias */
html[data-ui="cards"] #insightView .ins-tl-hist-date-cell::before, html[data-ui="cards"] #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="cards"] #insightView .ins-tl-date:not([data-rel])::before { content: attr(data-date-text); }
html[data-ui="cards"] #insightView .ins-tl-cell-event { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
html[data-ui="cards"] #insightView .ins-tl-cell-event .ins-tl-type-pill { margin: 0; }
html[data-ui="cards"] #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="cards"] #insightView .ins-tl-hist-event { font-weight: 700; line-height: 1.35; }
html[data-ui="cards"] #insightView .ins-tl-hist-impact { padding-left: 0; margin-top: 2px; line-height: 1.35; }
html[data-ui="cards"] #insightView .ins-tl-foot, html[data-ui="cards"] #insightView .ins-levels-foot, html[data-ui="cards"] #insightView .ins-narr-foot { height: 4px; }

/* ── porte V7 → V1: 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="cards"] #ovlScroll .news-row .news-bias, html[data-ui="cards"] #ovlScroll .filing-chips .news-bias, html[data-ui="cards"] #ovlScroll .filing-sev, html[data-ui="cards"] #ovlScroll .filing-dil, html[data-ui="cards"] #insightView .ins-pill, html[data-ui="cards"] #ovlScroll .why-catalyst, html[data-ui="cards"] #ovlScroll .src-badge, html[data-ui="cards"] .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="cards"] #ovlScroll .news-row .news-bias, html[data-ui="cards"] #ovlScroll .filing-chips .news-bias, html[data-ui="cards"] #ovlScroll .filing-sev, html[data-ui="cards"] #ovlScroll .filing-dil, html[data-ui="cards"] #insightView .ins-pill, html[data-ui="cards"] #insightView .ins-pill.ins-pill-neutral, html[data-ui="cards"] #insightView .ins-pill.ins-pill-stage, html[data-ui="cards"] #insightView .ins-tl-type-pill, html[data-ui="cards"] #ovlScroll .src-badge.src-finviz { color: var(--text-muted); border-color: var(--border-strong); background: transparent; }
html[data-ui="cards"] #ovlScroll .news-row .news-bias.bias-long, html[data-ui="cards"] #ovlScroll .filing-chips .news-bias.bias-long, html[data-ui="cards"] #insightView .ins-pill.ins-pill-bull { color: var(--score-clean); border-color: var(--bias-long-bg); background: transparent; }
html[data-ui="cards"] #ovlScroll .news-row .news-bias.bias-short, html[data-ui="cards"] #ovlScroll .filing-chips .news-bias.bias-short, html[data-ui="cards"] #insightView .ins-pill.ins-pill-bear, html[data-ui="cards"] #ovlScroll .filing-sev.sev-HIGH, html[data-ui="cards"] #ovlScroll .filing-sev.sev-CRIT, html[data-ui="cards"] #ovlScroll .filing-dil { color: var(--bias-short-fg); border-color: var(--bias-short-bg); background: var(--bias-short-bg); }
html[data-ui="cards"] #ovlScroll .filing-sev.sev-MED { color: var(--score-caution); border-color: var(--score-caution); background: transparent; }
html[data-ui="cards"] #ovlScroll .src-badge.src-ai, html[data-ui="cards"] .src-badge.src-ai { color: var(--ai-fg); border-color: var(--ai); background: var(--ai); }
html[data-ui="cards"] #ovlScroll .src-badge.src-busy, html[data-ui="cards"] .src-badge.src-busy { color: var(--badge-med-fg); border-color: var(--badge-med); background: var(--badge-med); }
html[data-ui="cards"] #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="cards"] #ovlScroll .filing-chips, html[data-ui="cards"] #insightView .ins-pillgrid, html[data-ui="cards"] #insightView .ins-sec-right { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; }
html[data-ui="cards"] #ovlScroll .filing-chips > *:not(:last-child)::after { content: none; }

/* ── porte V7 → V1: 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="cards"] #insightView .ins-tl-glyph { display: none; }                                        /* o ponto do trilho já é a bala */
html[data-ui="cards"] #insightView .ins-tl-cell-event .ins-tl-type-pill { order: -1; }                    /* [PILL] evento — como [TAG] título nas notícias */
html[data-ui="cards"] #insightView .ins-tl-cell-event .ins-tl-event { flex: 1 1 auto; min-width: 0; }
html[data-ui="cards"] #insightView .ins-level-row { gap: 0 6px; align-items: baseline; }
html[data-ui="cards"] #insightView .ins-level-kind { min-width: 0; }
html[data-ui="cards"] #insightView .ins-level-note-row { margin-top: 2px; }

/* ── porte V7 → V1: 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="cards"] #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="cards"] #insightView .ins-level-row:first-child { border-top: 0; padding-top: 2px; }
html[data-ui="cards"] #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="cards"] #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="cards"] #insightView .ins-level-sep { display: none; }
html[data-ui="cards"] #insightView .ins-level-label { grid-column: 2; grid-row: 2; color: var(--text); line-height: 1.35; }
html[data-ui="cards"] #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="cards"] #insightView .ins-level-note-spacer { grid-column: 1; min-width: 0; }
html[data-ui="cards"] #insightView .ins-level-note { grid-column: 2; color: var(--text-muted); font-size: .92em; line-height: 1.35; }
html[data-ui="cards"] #insightView .ins-levels-gap { height: 6px; }
/* ── NARRATIVA: grade rótulo | valor, com separador; pares como chips que quebram linha ── */
html[data-ui="cards"] #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="cards"] #insightView .ins-narr-row:first-child { border-top: 0; padding-top: 2px; }
html[data-ui="cards"] #insightView .ins-narr-row:has(.ins-narr-label:empty) { border-top: 0; padding-top: 0; }
html[data-ui="cards"] #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="cards"] #insightView .ins-narr-cell { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
html[data-ui="cards"] #insightView .ins-narr-strong { font-weight: 700; color: var(--text); }
html[data-ui="cards"] #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="cards"] #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="cards"] #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="cards"] #insightView .ins-bullet { padding-left: 2px; line-height: 1.4; margin: 3px 0; }
html[data-ui="cards"] #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="cards"] #insightView .ins-pillgrid { display: flex; flex-wrap: wrap; gap: 4px 6px; }
html[data-ui="cards"] #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="cards"] #insightView .ins-conf-row:first-of-type { border-top: 0; }
html[data-ui="cards"] #insightView .ins-conf-cap { font-size: .72em; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
html[data-ui="cards"] #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="cards"] #insightView .ins-conf-row .ins-pill { margin-left: auto; }
html[data-ui="cards"] #insightView .ins-divider { border-color: var(--border); margin: 10px 0 6px; }

/* ═══ PORTE DO V7 · ajustes (resíduos das regras próprias da variante que brigavam com o trilho de notícias) ═══ */
html[data-ui="cards"] #ovlScroll .news-row .news-src::after { content: none; }

/* ═══ V1 · dono 03-09: "retirar a linha acima" dos cabeçalhos de seção (filete do BLOCO B) ═══ */
html[data-ui="cards"] #ovlScroll .section-hdr, html[data-ui="cards"] #ovlScroll .news-zone .news-hdr { border-top: 0; }
html[data-ui="cards"][data-layout="2col"] #ovlScroll #aiInsightBtn, html[data-ui="cards"][data-layout="2col"] #insightView #aiInsightBtn, html[data-ui="cards"] #insightView #aiInsightBtn { border-top: 0; }   /* dono 03-09: sem a linha antes de PANDA AI INSIGHT */

/* ═══ V1 · divisão das colunas numa variável (--rail), como o V6 — permite o trilho ajustável do viewer; padrão = os mesmos 40% / 42% de antes ═══ */
@media (min-width: 640px) {
  html[data-ui="cards"][data-layout="2col"] #ovlScroll { --rail: 40%; --rail-gap: 2%; }
  html[data-ui="cards"][data-layout="2col"] #ovlScroll .metrics-grid, html[data-ui="cards"][data-layout="2col"] #ovlScroll #dtRiskGroup, html[data-ui="cards"][data-layout="2col"] #ovlScroll #dtOnlyGroup, html[data-ui="cards"][data-layout="2col"] #ovlScroll #filingsSection { width: var(--rail); }
  html[data-ui="cards"][data-layout="2col"] #ovlScroll .why-section, html[data-ui="cards"][data-layout="2col"] #ovlScroll .news-zone, html[data-ui="cards"][data-layout="2col"] #ovlScroll #insightView { margin-left: calc(var(--rail) + var(--rail-gap)); }
}

/* ═══ V1 · dono 03-09: a coluna de fatos se ajusta SOZINHA pela própria largura (auto-fit), de 640 a 900+ como uma coisa só — cards 1→2→3 colunas, ratings 1→2, financeiro 1→2; a única quebra de janela é 640 (coluna única) ═══ */
@media (min-width: 640px) {
  html[data-ui="cards"][data-layout="2col"] #ovlScroll .metrics-grid { grid-template-columns: repeat(auto-fit, minmax(max(96px, calc(33.333% - 8px)), 1fr)); }   /* teto: 3 colunas (padrão do 900); 96px deixa 3 caberem no trilho máximo a 660 */
  html[data-ui="cards"][data-layout="2col"] #ovlScroll .ratings-grid { grid-template-columns: repeat(auto-fit, minmax(max(140px, calc(50% - 5px)), 1fr)); }   /* teto: 2 colunas */
  html[data-ui="cards"][data-layout="2col"] #ovlScroll .fin-grid { grid-template-columns: repeat(auto-fit, minmax(max(120px, calc(50% - 4px)), 1fr)); }   /* teto: 2 por linha (lei) */
  html[data-ui="cards"][data-layout="2col"] #ovlScroll .metrics-grid, html[data-ui="cards"][data-layout="2col"] #ovlScroll #dtRiskGroup, html[data-ui="cards"][data-layout="2col"] #ovlScroll #dtOnlyGroup, html[data-ui="cards"][data-layout="2col"] #ovlScroll #filingsSection { min-width: 0; overflow: hidden; }
}

/* ═══ V1 · filete do vão segue o trilho (dono 03-09: "ficou a linha divisória ao meio, não linkada à coluna") — pintado no meio do vão a partir de --rail ═══ */
@media (min-width: 640px) {
  html[data-ui="cards"][data-layout="2col"] #ovlScroll {
    background-image: linear-gradient(to right,
      transparent calc(var(--rail) + var(--rail-gap) / 2 - 1px),
      var(--border) calc(var(--rail) + var(--rail-gap) / 2 - 1px),
      var(--border) calc(var(--rail) + var(--rail-gap) / 2),
      transparent calc(var(--rail) + var(--rail-gap) / 2));
  }
}

/* ═══ 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="cards"] #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="cards"] #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="cards"] #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="cards"] #ovlScroll .filing-row::after {
  content: ""; position: absolute; left: 37px; top: 0; bottom: 0; width: 1px; background: var(--border-strong);
}
html[data-ui="cards"] #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="cards"] #ovlScroll .filing-row.fbias-long::before,
html[data-ui="cards"] #ovlScroll .filing-row:has(.filing-chips .news-bias.bias-long)::before { background: var(--score-clean); }
html[data-ui="cards"] #ovlScroll .filing-row.fbias-short::before,
html[data-ui="cards"] #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="cards"] #ovlScroll .news-row:has(.news-bias.bias-long)::before { background: var(--score-clean); }
html[data-ui="cards"] #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="cards"] #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="cards"] #ovlScroll .filing-form { grid-column: 3; grid-row: 1; margin: 0; }
html[data-ui="cards"] #ovlScroll .filing-title { grid-column: 4; grid-row: 1; min-width: 0; margin: 0; }
html[data-ui="cards"] #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="cards"] #ovlScroll .filing-row.open .filing-time { margin: 0; }
html[data-ui="cards"] #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="cards"] #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="cards"] #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="cards"] #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="cards"] #ovlScroll .src-badge.src-cta { background: var(--ai); color: var(--ai-fg); border: 1px solid var(--ai); cursor: pointer; }
html[data-ui="cards"] #ovlScroll .src-badge.src-cta.src-cta-locked { background: transparent; color: var(--ai); border-color: var(--ai); }
html[data-ui="cards"] #ovlScroll .src-badge.src-cta::before, html[data-ui="cards"] #ovlScroll .ai-line .src-badge.src-ai::before { content: "●"; margin-right: 4px; }
html[data-ui="cards"] #ovlScroll .ai-line .src-badge.src-ai { cursor: pointer; }
/* idade + ⟳ ao lado do pill */
html[data-ui="cards"] #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="cards"] #ovlScroll .ai-line .insight-age { color: var(--text-muted); padding: 0; }
html[data-ui="cards"] #ovlScroll .ai-line .insight-age.stale { color: var(--score-caution); }
html[data-ui="cards"] #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="cards"] #ovlScroll .why-section .section-hdr::before { content: none; }
html[data-ui="cards"] #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="cards"] #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="cards"] #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="cards"] #ovlScroll #insightView #aiInsightBtn:not([data-ai-state="ready"]):not([data-ai-state="showing"]) { display: none; }
html[data-ui="cards"] #ovlScroll #insightView #aiInsightBtn .ai-status-dot { display: none; }
/* a idade + Recarregar do painel migraram para a linha da IA */
html[data-ui="cards"] #ovlScroll #insightView > .insight-header { display: none; }
