/* VxOS V2 - redesenho visual da aba "Visao geral" (dashboard.js).
   Aplica a MESMA linguagem do DETALHE DO DOSSIE ja aprovado (v2-diligencia.css secao 10 + v2-detalhe.css):
   cartoes empilhados (rotulo em cima, numero embaixo, a esquerda), BARRA FINA (nunca anel), linhas
   densas com severidade a esquerda e "abrir ->", chips em dois formatos (pill/tag), tiles limpos.
   Carrega DEPOIS de vxgp.css (estatico) e de v2-preview.css: as .ovw2-* de producao sao sobrescritas
   com a MESMA especificidade (regra posterior vence), sem !important e sem prefixo, SEM regredir as
   correcoes de contraste da V2 (usa os tokens de TEXTO --*-text / --teal-btn). Foco de teclado com anel
   teal. Sem travessao (em dash). Regras de responsividade (grid-template-columns de .ovw2-hero e
   .ovw2-2col) NAO sao redeclaradas fora de media-query para nao anular os breakpoints do vxgp.css. */

/* ---------- cabecalho: identidade em cima, meta embaixo (2 linhas, mais respiro) ---------- */
.ovw2-top{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:16px}
.ovw2-top h2{font:700 19px 'Space Grotesk',sans-serif;color:var(--navy);letter-spacing:-.01em}
.ovw2-sub-t{font:500 12px 'Space Grotesk',sans-serif;color:var(--gray-500);text-transform:none}

/* ---------- cards: menos decoracao (borda fina no lugar de sombra), header denso ---------- */
.ovw2-card{padding:14px 16px;margin-bottom:14px;border:1px solid var(--gray-200);border-radius:var(--r-card);box-shadow:none}
.ovw2-card-h{font:700 11px 'Space Grotesk',sans-serif;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;gap:8px}
/* badge de contagem: pilula suave que herda o farol (critico=vermelho, atencao=ambar) */
.ovw2-count{background:var(--neg-bg);color:var(--neg-text);border:1px solid #F5C2C2;font:700 11px 'Space Grotesk',sans-serif;padding:1px 8px;border-radius:999px}
.ovw2-count.w{background:var(--warn-bg);color:var(--warn-text);border-color:#F3D9A4}
.ovw2-2col{gap:14px}

/* ---------- BLOCO A: KPIs como cartoes empilhados (rotulo em cima, numero embaixo, a esquerda) ---------- */
.ovw2-hero{gap:10px;margin-bottom:14px}
.ovw2-hcard{align-items:flex-start;padding:11px 14px 13px;gap:3px;border:1px solid var(--gray-200);border-left:3px solid var(--gray-300);border-radius:var(--r-card);box-shadow:none}
/* rotulo pequeno em MAIUSCULA cinza, EM CIMA (como a chave da ficha do dossie) */
.ovw2-hl{order:0;font:600 10px 'Space Grotesk',sans-serif;color:var(--gray-600);text-transform:uppercase;letter-spacing:.05em}
/* numero navy, EMBAIXO, alinhado a esquerda */
.ovw2-hn{order:1;font:700 26px 'Space Grotesk',sans-serif;color:var(--navy);line-height:1.02;letter-spacing:-.02em}
.ovw2-hcard.k-neg .ovw2-hn{color:var(--neg-text)}   /* AA: vermelho de texto no lugar do --neg vivo */
.ovw2-hc{order:2;font:500 11px 'Space Grotesk',sans-serif;color:var(--gray-500);gap:6px;margin-top:5px}
.ovw2-hc-t{font-weight:600;color:var(--gray-600)}
/* barra segmentada do portfolio: fina, como as barras do modo triagem (nunca anel) */
.ovw2-seg{width:58px;height:6px;border-radius:999px}

/* ---------- BLOCO B: fila "Precisa de voce" no vocabulario de TRIAGEM ---------- */
.ovw2-fila{gap:5px}
.ovw2-alert{
  display:flex;align-items:center;gap:9px;width:100%;text-align:left;font:inherit;cursor:pointer;
  background:#fff;border:1px solid var(--gray-200);border-radius:var(--r-ctrl);padding:8px 12px;
  box-shadow:inset 3px 0 0 var(--gray-300);        /* faixa de severidade a esquerda (como .trow/.dlg-caso-row) */
  transition:background .12s,border-color .12s;
}
.ovw2-alert.sev-neg{box-shadow:inset 3px 0 0 var(--neg)}
.ovw2-alert.sev-warn{box-shadow:inset 3px 0 0 var(--warn)}
.ovw2-alert:hover{border-color:var(--teal);background:#EAF7F7}
.ovw2-alert:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
/* PILL de severidade (999px): a cor NUNCA e a unica codificacao, ha sempre o rotulo textual */
.ovw2-alert-sev{flex:none;font:700 10px 'Space Grotesk',sans-serif;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;white-space:nowrap}
.ovw2-alert.sev-neg .ovw2-alert-sev{background:var(--neg-bg);color:var(--neg-text)}
.ovw2-alert.sev-warn .ovw2-alert-sev{background:var(--warn-bg);color:var(--warn-text)}
/* TAG do motivo (6px), mesma pegada de .trow-chip/.dlg-gate-chip */
.ovw2-alert-tag{flex:none;font:700 10px 'Space Grotesk',sans-serif;padding:2px 8px;border-radius:6px;white-space:nowrap;border:1px solid transparent}
.ovw2-alert.sev-neg .ovw2-alert-tag{background:var(--neg-bg);color:var(--neg-text);border-color:#F5C2C2}
.ovw2-alert.sev-warn .ovw2-alert-tag{background:var(--warn-bg);color:var(--warn-text);border-color:#F3D9A4}
.ovw2-alert-txt{flex:1;min-width:0;font:600 13px 'Space Grotesk',sans-serif;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ovw2-alert-ctx{flex:none;max-width:32%;font:500 11.5px 'Space Grotesk',sans-serif;color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ovw2-go{flex:none;font:600 11px 'Space Grotesk',sans-serif;color:var(--teal-btn);white-space:nowrap}
.ovw2-alert:hover .ovw2-go{text-decoration:underline}
.ovw2-more{font:600 11px 'Space Grotesk',sans-serif;color:var(--gray-500);padding:5px 2px 2px}
.ovw2-ok{font:600 12.5px 'Space Grotesk',sans-serif;color:var(--pos-text);background:var(--pos-bg);border-radius:var(--r-ctrl);padding:10px 12px}

/* ---------- BLOCO C1: progresso por tranche (linha densa, barra fina) ---------- */
.ovw2-tr{gap:10px;padding:6px 6px;border-radius:6px}
.ovw2-tr:hover{background:var(--gray-50)}
.ovw2-tr:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.ovw2-tr-lbl{font:600 12px 'Space Grotesk',sans-serif;color:var(--gray-700);flex-basis:150px}
.ovw2-tr:hover .ovw2-tr-lbl{color:var(--navy)}
.ovw2-tr-dt{font:500 10.5px 'Space Grotesk',sans-serif;color:var(--gray-500)}
.ovw2-tr-bar{height:6px;background:var(--gray-100);border-radius:999px;max-width:none}
.ovw2-tr-fill{background:var(--teal)}
.ovw2-tr-meta{font:600 11.5px 'Space Grotesk',sans-serif;color:var(--gray-600);flex-basis:80px}

/* ---------- BLOCO C2: saude da coleta (chips de fonte, como triagem) ---------- */
.ovw2-health{font:500 12.5px 'Space Grotesk',sans-serif;color:var(--gray-700);gap:6px}
.ovw2-health-lbl{font-weight:600;color:var(--gray-600)}
/* TAG de fonte instavel (6px), mesma familia dos demais chips */
.ovw2-health .chip.hist-falha{font:700 10px 'Space Grotesk',sans-serif;text-transform:none;letter-spacing:0;padding:2px 8px;border-radius:6px;background:var(--warn-bg);color:var(--warn-text);border:1px solid #F3D9A4}
.ovw2-health-ok{font:500 12.5px 'Space Grotesk',sans-serif;color:var(--gray-600)}
.ovw2-health-err,.ovw2-health-go{font:600 12.5px 'Space Grotesk',sans-serif;padding:8px 11px;border-radius:var(--r-ctrl);margin-top:7px}
.ovw2-health-err{color:var(--neg-text)}   /* AA: escurece o texto sobre --neg-bg */
.ovw2-health-err:focus-visible,.ovw2-health-go:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}

/* ---------- BLOCO D: funil da Comissao (tiles limpos, texto escuro = AA) ---------- */
.ovw2-funnel{gap:8px}
.ovw2-stage{background:var(--gray-50);border:1px solid var(--gray-200);border-top:3px solid var(--gray-300);border-radius:var(--r-ctrl);color:var(--navy);padding:11px 10px;align-items:flex-start;gap:3px}
.ovw2-stage.st-0{background:var(--gray-50);border-top-color:var(--gray-400)}
.ovw2-stage.st-1{background:var(--gray-50);border-top-color:#3f9bb0}
.ovw2-stage.st-2{background:#EAF7F7;border-top-color:var(--teal-btn)}
.ovw2-stage-n{font:700 24px 'Space Grotesk',sans-serif;color:var(--navy);line-height:1}
.ovw2-stage-l{font:600 10px 'Space Grotesk',sans-serif;color:var(--gray-600);text-transform:uppercase;letter-spacing:.03em;opacity:1}
.ovw2-stage:hover{filter:none;border-color:var(--teal);background:#fff}
.ovw2-stage:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.ovw2-arrow{color:var(--gray-300)}
.ovw2-side{font:500 11.5px 'Space Grotesk',sans-serif;color:var(--gray-500);margin-top:8px}
.ovw2-sub{font:700 11px 'Space Grotesk',sans-serif;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin:14px 0 6px}

/* proximos prazos: linha densa; nome do fundo como META (caixa normal, nao MAIUSCULA) */
.ovw2-prazos{gap:5px}
.ovw-prazo{padding:7px 11px;border-radius:var(--r-ctrl)}
.ovw-prazo:hover{border-color:var(--teal);background:#EAF7F7}
.ovw-prazo:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.ovw-prazo-fundo{font:700 11px 'Space Grotesk',sans-serif;color:var(--navy);text-transform:none;letter-spacing:0}
.ovw-prazo-desc{font:500 12.5px 'Space Grotesk',sans-serif;color:var(--gray-800)}
/* .dlg-timer ja e um pill 700/10.5px via v2-diligencia.css (body .dlg-timer, +especificidade): nao redeclaro aqui */
