/* Validação de concorrentes (/comex/validacao), BKL-0805. Tokens de docs/design/design-system.md:
   cor de estado nos selos, teal (--bmd-action) só no que se clica, foco sempre visível. */
.cv-root { font-variant-numeric: tabular-nums; }
.cv-sub { color: var(--bmd-fg-muted, #5d6a88); font-size: 0.95rem; }
.cv-kpis { display: flex; gap: 2rem; flex-wrap: wrap; }
.cv-kpi .v { font-size: 1.6rem; font-weight: 600; line-height: 1.1; }
.cv-kpi .l { color: var(--bmd-fg-muted, #5d6a88); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.02em; }
.cv-fila { display: flex; flex-direction: column; gap: 2px; max-height: 70vh; overflow-y: auto; border: 1px solid var(--biomed-border); border-radius: 8px; }
.cv-linha { all: unset; display: block; flex-shrink: 0; padding: 0.6rem 0.75rem; border-left: 3px solid transparent; cursor: pointer; min-height: 44px; box-sizing: border-box; }
.cv-linha:hover { background: var(--gray-100); }
.cv-linha:focus-visible { outline: 2px solid var(--bmd-action, #0e7c86); outline-offset: -2px; }
.cv-linha.cv-sel { border-left-color: var(--biomed-accent); background: var(--bmd-action-bg, #e2f1f2); }
.cv-linha-topo { display: flex; justify-content: space-between; gap: 0.5rem; align-items: center; }
.cv-chave { font-weight: 600; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.cv-linha-desc { font-size: 0.85rem; color: var(--biomed-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cv-linha-num { font-size: 0.8rem; color: var(--bmd-fg-muted, #5d6a88); }
.cv-selo { font-size: var(--bmd-fs-minimo); font-weight: 600; text-transform: uppercase; padding: 0.1rem 0.45rem; border-radius: 999px; white-space: nowrap; }
.cv-info { color: var(--bmd-info, #1b4a8a); background: var(--bmd-info-bg, #e6eef9); }
.cv-warn { color: var(--bmd-estado-atencao-fg, #9a5210); background: var(--bmd-warn-bg, #fdf3e6); }
.cv-nodata { color: var(--biomed-text-light); background: var(--bmd-nodata-bg, #eef0f4); }
.cv-ok { color: var(--bmd-ok, #1e7a3d); background: var(--bmd-ok-bg, #e8f5ec); }
.cv-esqueleto { height: 56px; margin: 4px 8px; border-radius: 6px; background: var(--gray-100); }
@media (prefers-reduced-motion: no-preference) { .cv-esqueleto { animation: cv-pulso 1.4s ease-in-out infinite; } }
@keyframes cv-pulso { 50% { opacity: 0.5; } }
.cv-vazio { padding: 1rem; color: var(--bmd-fg-muted, #5d6a88); }
.cv-detalhe { padding: 0 0.25rem; }
.cv-ficha { display: grid; grid-template-columns: max-content 1fr; gap: 0.15rem 1rem; font-size: 0.9rem; margin: 0; }
.cv-ficha dt { color: var(--bmd-fg-muted, #5d6a88); font-weight: 500; }
.cv-ficha dd { margin: 0; }
.cv-tabela td.num, .cv-tabela th:nth-child(n+4) { text-align: right; }
.cv-tabela tr.cv-biomed td { font-style: italic; background: var(--gray-100); }
.cv-botoes { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 0.75rem; }
.cv-acao { min-height: 44px; }
.cv-acao:focus-visible { outline: 2px solid var(--bmd-action, #0e7c86); outline-offset: 2px; }
.cv-primaria { background: var(--bmd-action, #0e7c86) !important; border-color: var(--biomed-accent) !important; color: #fff !important; }
.cv-primaria:hover { background: var(--bmd-action-hover, #0b656d) !important; }
.cv-trava { margin-top: 0.75rem; font-size: 0.85rem; color: var(--bmd-fg-muted, #5d6a88); }
.cv-rodape { margin-top: 0.75rem; font-size: 0.8rem; color: var(--bmd-fg-muted, #5d6a88); }
@media (max-width: 991.98px) { .cv-fila { max-height: 45vh; margin-bottom: 1rem; } }
/* Revisão de design de 17/10/2026 */
/* V1: a fila é coluna flex com altura máxima; sem flex-shrink: 0 as linhas eram espremidas para
   44 px e o texto (66 px) vazava por cima da linha seguinte. */
.cv-resposta { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.cv-resposta .form-check { padding-left: 0; margin: 0; }
.cv-resposta .btn { min-height: 44px; display: inline-flex; align-items: center; }
.cv-resposta .btn.active { background: var(--bmd-action, #0e7c86); border-color: var(--biomed-accent); color: #fff; }
.cv-resposta .btn-check:focus-visible + .btn { outline: 2px solid var(--bmd-action, #0e7c86); outline-offset: 2px; }
.cv-bloco { margin-bottom: 0.75rem; }
.cv-primaria:disabled { opacity: 0.55; cursor: not-allowed; }
.cv-fonte { font-size: 0.8rem; font-weight: 400; margin-left: 0.75rem; color: var(--biomed-accent); }
.cv-ficha-sku { border-left: 3px solid var(--bmd-info, #1b4a8a); padding-left: 0.75rem; }
.cv-ficha-titulo { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.02em; color: var(--bmd-info, #1b4a8a); }
.cv-tabela .num, .cv-tabela th.num { text-align: right; }
/* V11: no celular, números em 2x2 e abas numa linha só, com rolagem lateral nelas */
@media (max-width: 767.98px) {
  .cv-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem 1rem; }
  .cv-kpi .v { font-size: 1.3rem; }
  .cv-root .nav-tabs { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; }
  .cv-root .nav-tabs .nav-link { white-space: nowrap; }
}

/* lista curada (entrega 1 do Concorrente 360, BKL-0852) */
.cv-curados-tab td { vertical-align: middle; }
.cv-curados-form { display: grid; gap: .4rem; max-width: 28rem; }
.cv-mono { font-variant-numeric: tabular-nums; font-family: var(--bs-font-monospace); }

/* lista curada editável pela linha (BKL-1010): Editar abre o editor da raiz no painel da direita */
.cv-cur-nome { color: inherit; text-decoration: underline dotted; text-underline-offset: 3px; }
.cv-cur-nome:hover { color: var(--biomed-accent); text-decoration-style: solid; }
.cv-cur-quem { font-size: 0.75rem; color: var(--bmd-fg-muted, #5d6a88); }
.cv-cur-retirado td { color: var(--bmd-fg-muted, #5d6a88); }
.cv-cur-editar { all: unset; cursor: pointer; color: var(--biomed-accent); font-size: 0.85rem; padding: 0.25rem 0.5rem; border: 1px solid var(--bmd-action, #0e7c86); border-radius: 6px; min-height: 32px; box-sizing: border-box; display: inline-flex; align-items: center; }
.cv-cur-editar:hover { background: var(--bmd-action-bg, #e2f1f2); }
.cv-cur-editar:focus-visible, .cv-cur-nome:focus-visible { outline: 2px solid var(--bmd-action, #0e7c86); outline-offset: 2px; }
.cv-ed-secao { border-top: 1px solid var(--bmd-nodata-bg, #eef0f4); padding: 0.75rem 0; }
.cv-ed-secao .h6 { margin-bottom: 0.5rem; }
.cv-ed-secao .btn { justify-self: start; }
.cv-cur-situacao { display: flex; flex-direction: column; align-items: flex-start; gap: 0.35rem; }
.cv-ed-rotulo { font-size: 0.8rem; color: var(--bmd-fg-muted, #5d6a88); margin-bottom: 0.15rem; }
.cv-ed-hist { list-style: none; padding: 0; margin: 0; font-size: 0.85rem; }
.cv-ed-hist li { padding: 0.2rem 0; }
#cv-curados .table-responsive, #cv-curados .cv-curados-tab { max-width: 100%; }
#cv-curados { overflow-x: auto; }
@media (max-width: 767.98px) {
  .cv-cur-editar { min-height: 44px; }
  /* a raiz aparece no editor; no celular a coluna dela empurrava Situação para fora da tela */
  .cv-curados-tab th:first-child, .cv-curados-tab td:first-child { display: none; }
}
