/* Benchmark (módulo "benchmark"): captações CVM 88 dos players, ranking e cadastro da CVM. */
.bm-kpis { grid-template-columns: repeat(4, 1fr); }
.bm-kpis .valor { font-size: 26px; }
.bm-filtros select { width: auto; padding: 6px 10px; }
.bm-filtros input { width: auto; flex: 1; min-width: 200px; padding: 6px 10px; }
.bm-tabela th.dir, .bm-tabela td.dir { text-align: right; }
.bm-tabela td { font-size: 13px; }
.bm-tabela td.num, .bm-tabela td.dir { white-space: nowrap; }
.bm-tabela td.tt { min-width: 180px; }
.bm-sub { display: block; font-weight: 400; font-size: 11.5px; margin-top: 2px; }
.bm-inativo td { opacity: .45; }

/* barra de progresso (captado / meta): uma cor só, o número ao lado */
.bm-prog { display: flex; align-items: center; gap: 8px; min-width: 150px; }
.bm-prog i { position: relative; flex: 1; height: 6px; border-radius: 4px; background: var(--linha2); overflow: visible; min-width: 50px; }
.bm-prog em { position: absolute; inset: 0 auto 0 0; border-radius: 4px; background: var(--azul2); }
.bm-prog span { font-size: 12px; white-space: nowrap; color: var(--suave); }
.bm-prog.grande i { height: 10px; }
.bm-prog.grande em { border-radius: 5px; }
.bm-min { position: absolute; top: -4px; bottom: -4px; width: 2px; background: var(--texto); border-radius: 1px; }

.bm-novas { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin-bottom: 8px; }
.bm-nova { text-align: left; font: inherit; color: inherit; cursor: pointer; display: flex; flex-direction: column; gap: 6px; border-top: 2px solid var(--azul2); }
.bm-nova:hover { border-color: var(--linha3); border-top-color: var(--azul2); }
.bm-nova .linha { justify-content: space-between; }
.bm-nova h3 { margin: 0; font-size: 15px; }
.bm-nova p { margin: 0; font-size: 12.5px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bm-player { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--azul2); }
.bm-nova-num { display: flex; gap: 14px; margin-top: auto; padding-top: 6px; border-top: 1px solid var(--linha); }
.bm-nova-num span { display: grid; gap: 1px; }
.bm-nova-num small { font-size: 10.5px; color: var(--apagado); text-transform: uppercase; letter-spacing: .05em; }
.bm-nova-num b { font-size: 13px; font-weight: 500; }

.bm-oferta { display: flex; flex-direction: column; gap: 14px; }
.bm-oferta h2 { margin: 0; font-size: 20px; }
.bm-big { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.bm-big small, .bm-campos small { display: block; font-size: 11px; color: var(--apagado); text-transform: uppercase; letter-spacing: .05em; }
.bm-big b { font-size: 22px; font-weight: 600; }
.bm-campos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 16px; }
.bm-campos b { font-weight: 500; font-size: 13.5px; }
.bm-curva { width: 100%; height: auto; display: block; margin-top: 8px; }
.bm-linha { fill: none; stroke: var(--azul2); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.bm-ponto circle:last-of-type { fill: var(--azul2); stroke: var(--painel); stroke-width: 2; }
.bm-alvo-hit { fill: transparent; stroke: none; }
.bm-ponto:hover circle:last-of-type { r: 5; }
.bm-alvo { stroke: var(--apagado); stroke-width: 1; stroke-dasharray: 4 4; }
.bm-alvo-txt { fill: var(--apagado); font-size: 10px; }

.bm-cvm-grade { gap: 14px; }
.bm-h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 14px; }
.bm-h3 small { font-weight: 400; font-size: 12px; }
.bm-anos { display: flex; align-items: flex-end; gap: 6px; height: 150px; }
.bm-ano { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 4px; }
.bm-ano i { width: 100%; max-width: 34px; background: var(--azul2); border-radius: 4px 4px 0 0; min-height: 2px; }
.bm-ano b { font-size: 11px; font-weight: 500; color: var(--suave); }
.bm-ano small { font-size: 10.5px; color: var(--apagado); }
.bm-eventos { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 13px; }
.bm-eventos li { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

@media (max-width: 900px) {
  .bm-kpis { grid-template-columns: repeat(2, 1fr); }
  .bm-campos { grid-template-columns: 1fr; }
}
.bm-tabela th.ordenado { color: var(--texto); }
.bm-ord { color: var(--azul2); }
