/* Triagem de escopo (LLM): usa os tokens de painel.css (claro e escuro). O veredito nunca é só cor: tem ícone e texto. */
.explica-llm { color: var(--texto-suave); font-size: var(--fs-md); margin: var(--esp-1) 0 var(--esp-2); max-width: 80ch; }
/* item excluído pelo modelo: o aviso troca para o matiz de exclusão e o ícone de recusa (fundo suave, contorno inteiro e ladrilho; nada de barra num lado só) */
.aviso.aviso-excluido { --av-solido: var(--exclusao); --av-fundo: var(--exclusao-fundo); --av-borda: var(--exclusao-borda); --av-ic: "\e066"; }
.aviso.aviso-excluido::before { color: var(--superficie); }
.cartao-llm .ficha dd small { display: block; }

/* abas de visão (lista de links com o item atual marcado): controle segmentado, no matiz da página */
.abas { display: flex; flex-wrap: wrap; gap: .2rem; margin: 0 0 var(--esp-4); padding: .25rem; background: var(--superficie-subtil); border: 1px solid var(--borda); border-radius: var(--raio-md); }
.abas a { display: inline-flex; align-items: center; gap: var(--esp-2); min-height: 2.25rem; padding: .35rem .85rem; border: 1px solid transparent; border-radius: calc(var(--raio-md) - 3px);
  text-decoration: none; background: transparent; color: var(--texto-suave); font-weight: 550; }
.abas a:hover { background: var(--superficie); color: var(--texto); border-color: var(--borda); }
.abas a[aria-current="true"], .abas a[aria-current="page"] { background: var(--superficie); color: var(--tom-tx); border-color: var(--tom-borda); font-weight: 700; box-shadow: var(--sombra-botao); }

.distribuicoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--esp-4); margin-bottom: var(--esp-5); }
.distribuicoes .cartao { margin-bottom: 0; }
.kpi .selo { align-self: flex-start; }

td.quebra, th.quebra { overflow-wrap: anywhere; min-width: 11rem; max-width: 24rem; }
table.ficha-termos td.num, table.negativos td.num { white-space: nowrap; }
table.ficha-termos td:last-child, table.negativos td:last-child { min-width: 11rem; }
table.itens-escopo td.justificativa { min-width: 14rem; max-width: 26rem; }
.explicacoes { display: grid; grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr); gap: 0 var(--esp-4); margin: 0 0 var(--esp-4); }
.explicacoes dt, .explicacoes dd { padding: .5rem 0; border-top: 1px solid var(--borda); }
.explicacoes dt:first-of-type, .explicacoes dt:first-of-type + dd { border-top: 0; }
.explicacoes dt { font-weight: 600; }
.explicacoes dd { margin: 0; color: var(--texto); max-width: 80ch; }
.filtros .botao { justify-self: start; }
@media (max-width: 640px) {
  .explicacoes { grid-template-columns: minmax(0, 1fr); }
  .explicacoes dt { padding-bottom: 0; }
  .explicacoes dd { border-top: 0; padding-top: .1rem; margin-bottom: var(--esp-2); }
}

/* cabeçalhos longos quebram linha (a tabela rola na horizontal só quando precisa) e o selo de várias palavras não vira uma pílula torta */
table.ficha-termos th, table.negativos th { white-space: normal; }
table.ficha-termos thead th, table.negativos thead th { vertical-align: bottom; }
table.ficha-termos tbody th, table.negativos tbody th { vertical-align: top; }
table.negativos td.num { min-width: 4.5rem; }
table.negativos td:last-child { min-width: 16rem; }
table.itens-escopo .selo { border-radius: var(--raio-md); }
/* o selo do veredito pode trazer o motivo e quebra linha em telas estreitas, em vez de alargar a página */
.selo.llm { white-space: normal; border-radius: var(--raio); max-width: 100%; }
