/* overview: Visão geral e Crescimento (prefixos ov- e cg-) */
.ov-row{margin-top:16px}
.ov-refresh{display:flex;align-items:center;gap:4px}
.ov-stamp{font-size:12px;color:var(--text-3);white-space:nowrap}

/* Faixa de números */
/* Quadro compacto de números (Visão geral e Crescimento): uma faixa com divisórias, hero em dinheiro mais largo */
.ov-stats{display:grid;grid-template-columns:var(--ov-cols);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.ov-stat{display:flex;flex-direction:column;gap:8px;min-width:0;padding:16px 20px;border-left:1px solid var(--line);text-decoration:none;color:inherit;container-type:inline-size;transition:background .18s var(--ease)}
.ov-stat:first-child{border-left:0}
a.ov-stat:hover{background:rgba(255,255,255,.03)}
a.ov-stat:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px;border-radius:0}
.ov-stat-label{font-size:11.5px;font-weight:600;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ov-stat-num{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-width:0}
.ov-stat-num b{font-family:var(--cond);font-weight:800;font-size:28px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.ov-stat.hero .ov-stat-num b{font-size:clamp(24px,13cqi,36px)}
.ov-stat small{font-size:12px;line-height:1.35;color:var(--text-2)}
.ov-sk-stats .ov-stat{gap:10px}
.ov-strip-box{margin-top:16px}
.ov-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.ov-strip-cell{display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 18px;border-left:1px solid var(--line);text-decoration:none;color:inherit;transition:background .18s var(--ease)}
.ov-strip-cell:first-child{border-left:0}
.ov-strip-cell.link:hover{background:rgba(255,255,255,.03)}
.ov-strip-cell span{font-size:11.5px;font-weight:600;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ov-strip-cell b{font-family:var(--cond);font-weight:800;font-size:28px;line-height:1;font-variant-numeric:tabular-nums}
.ov-strip-cell b.warn{color:var(--warn)}

/* Gráfico */
.ov-chart-ctl{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.ov-chart-sum{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px;min-height:34px}
.ov-chart-sum b{font-family:var(--cond);font-weight:800;font-size:32px;line-height:1;font-variant-numeric:tabular-nums}
.ov-chart-sum span{color:var(--text-2);font-size:13px}
.ov-chart-sum .p-delta{align-self:center}
.ov-chart-sum small{color:var(--text-3);font-size:12px}
.ov-chart-plot .p-bars{height:180px}
.ov-chart-plot .p-bar i.muted{background:var(--accent-soft);border:1px dashed rgba(255,255,255,.32)}
/* Valor em dinheiro com centavos é longo: rótulo menor e, com muitas barras, só no balão ao passar o mouse (não encavala) */
.p-bars.money .p-bar b{font-size:12px;white-space:nowrap}
.ov-chart-plot .p-bars.dense.money .p-bar b{display:none}
.ov-chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--text-3)}
.ov-chart-legend span{display:inline-flex;align-items:center;gap:6px}
.ov-chart-legend i{width:10px;height:10px;border-radius:3px;background:var(--accent)}
.ov-chart-legend i.muted{background:var(--accent-soft);border:1px dashed rgba(255,255,255,.32)}

/* Quadro principal da Visão geral: grade por largura */
.ov-board{display:grid;gap:16px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-areas:"chart need" "act mix";align-items:stretch}
.ov-c-chart{grid-area:chart}.ov-c-need{grid-area:need}.ov-c-act{grid-area:act}.ov-c-mix{grid-area:mix}

/* Precisa de você */
.ov-need{display:flex;flex-direction:column;margin:-6px -10px}
.ov-need-item{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px;border-radius:12px;text-decoration:none;color:inherit;transition:background .18s var(--ease)}
.ov-need-item + .ov-need-item{border-top:1px solid var(--line);border-top-left-radius:0;border-top-right-radius:0}
.ov-need-item:hover{background:rgba(255,255,255,.035)}
.ov-need-ic{flex-shrink:0;display:inline-flex;color:var(--text-2)}
.ov-need-ic.warn{color:var(--warn)}.ov-need-ic.danger{color:var(--danger)}.ov-need-ic.info{color:var(--info)}
.ov-need-copy{flex:1;min-width:0}
.ov-need-copy b{display:block;font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ov-need-copy small{display:block;color:var(--text-3);font-size:12px;margin-top:1px}
.ov-need-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--text-2)}
.ov-need-item:hover .ov-need-cta{color:var(--text)}

/* Atividade */
.ov-act{display:flex;flex-direction:column;margin:-6px -10px}
.ov-act-item{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 10px;border-radius:12px;text-decoration:none;color:inherit;transition:background .18s var(--ease)}
.ov-act-item:hover{background:rgba(255,255,255,.035)}
.ov-act-item:nth-child(n+9){display:none} /* 9 a 12 só em tela larga */
.ov-act-item .p-who{flex:1;min-width:0}
.ov-act-when{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-3);white-space:nowrap}
.ov-act-when.on{color:var(--ok)}
.ov-act-when i{width:7px;height:7px;border-radius:50%;background:var(--ok)}

/* Base de assinantes */
.ov-mix-total{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.ov-mix-total b{font-family:var(--cond);font-weight:800;font-size:36px;line-height:1;font-variant-numeric:tabular-nums}
.ov-mix-total span{color:var(--text-2);font-size:13px}
.ov-mix-rows{display:grid;gap:12px}
.ov-mix-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center}
.ov-mix-row span{color:var(--text-2);font-size:13px}
.ov-mix-row b{font-family:var(--cond);font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}
.ov-mix-row .p-meter{grid-column:1 / -1;height:6px}
.ov-mix-row{margin:0 -8px;padding:6px 8px;border-radius:10px;text-decoration:none;color:inherit;transition:background .18s var(--ease)}
.ov-mix-row b{display:inline-flex;align-items:center;gap:6px}
.ov-mix-row b svg{color:var(--text-3);transition:color .18s var(--ease),transform .18s var(--ease)}
.ov-mix-row:hover{background:rgba(255,255,255,.035)}
.ov-mix-row:hover b svg{color:var(--text-2);transform:translateX(2px)}
.ov-mix-row:focus-visible{outline:2px solid var(--accent-ink);outline-offset:0;border-radius:10px}
a.ov-plan{display:block;text-decoration:none;color:inherit;transition:background .18s var(--ease),border-color .18s var(--ease)}
a.ov-plan:hover{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.16)}
a.ov-plan:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:12px}
@media (prefers-reduced-motion:reduce){ .ov-mix-row,.ov-mix-row b svg,a.ov-plan{transition:none} .ov-mix-row:hover b svg{transform:none} }
.ov-plans{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.ov-plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px}
.ov-plan{padding:10px 12px;border:1px solid var(--line);border-radius:12px;min-width:0}
.ov-plan span{display:block;font-size:11.5px;font-weight:600;color:var(--accent-ink)}
.ov-plan.muted span{color:var(--text-3)}
.ov-plan{container-type:inline-size}
.ov-plan b{display:block;font-family:var(--cond);font-weight:800;font-size:clamp(15px,14cqi,26px);line-height:1.1;margin-top:4px;overflow-wrap:anywhere}
.ov-plan small{display:block;font-size:11.5px;color:var(--text-3)}
.ov-plan.partner span{color:var(--text-2)}
.ov-mix-row span small{margin-left:8px;font-size:12.5px;color:var(--text-3);white-space:nowrap}

/* Receita recorrente: assinaturas x parcerias */
.ov-split{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.ov-split-bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.06)}
.ov-split-bar i{display:block;height:100%;transition:width .45s var(--ease)}
.ov-split-bar i.subs,.ov-split-legend i.subs{background:var(--accent)}
.ov-split-bar i.part,.ov-split-legend i.part{background:var(--accent-ink);opacity:.55}
.ov-split-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;font-size:12.5px;color:var(--text-2)}
.ov-split-legend span{display:inline-flex;align-items:center;gap:6px;min-width:0}
.ov-split-legend i{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.ov-split-legend b{margin-left:2px;font-family:var(--cond);font-weight:700;font-size:16px;color:var(--text);font-variant-numeric:tabular-nums}
.ov-partners{display:flex;flex-direction:column;margin:10px -10px 0}
.ov-partner{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 10px;border-radius:12px;text-decoration:none;color:var(--text-3);transition:background .18s var(--ease)}
.ov-partner + .ov-partner{border-top:1px solid var(--line)}
.ov-partner:hover{background:rgba(255,255,255,.035);color:var(--text-2)}
.ov-partner-copy{flex:1;min-width:0}
.ov-partner-copy b{display:block;color:var(--text);font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ov-partner-copy small{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ov-partner-val{flex-shrink:0;font-family:var(--cond);font-weight:700;font-size:17px;color:var(--text);font-variant-numeric:tabular-nums}
.ov-partner-val small{font-size:12px;font-weight:500;color:var(--text-3);margin-left:2px}
.ov-partner svg{flex-shrink:0}
.ov-partners-more{margin:10px 0 0;font-size:12px;color:var(--text-3)}
.ov-chart-legend .ov-chart-note{margin-left:auto;color:var(--text-3)}
@media (prefers-reduced-motion:reduce){ .ov-split-bar i{transition:none} }

/* Crescimento: funil */
.cg-funnel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cg-stage{display:flex;flex-direction:column;gap:10px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.cg-stage-head{display:flex;align-items:center;gap:8px;min-width:0}
.cg-step{flex-shrink:0;font-size:11.5px;font-weight:700;color:var(--accent-ink)}
.cg-stage-label{flex:1;min-width:0;font-size:11.5px;font-weight:600;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cg-conv{flex-shrink:0;font-size:12.5px;font-weight:700;padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.06);color:var(--text)}
.cg-stage-num b{display:block;font-family:var(--cond);font-weight:800;font-size:44px;line-height:1;font-variant-numeric:tabular-nums}
.cg-stage-num small{display:block;color:var(--text-3);font-size:12px;margin-top:4px}
.cg-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.cg-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border:1px solid var(--line);border-radius:10px}
.cg-chip b{font-family:var(--cond);font-weight:700;font-size:16px}
/* Etapas e selos do funil clicáveis: abrem a lista de quem está ali */
button.cg-stage{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease)}
button.cg-stage:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}
button.cg-stage:focus-visible,button.cg-chip:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}
.cg-stage-cta{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-3);transition:color .18s var(--ease)}
button.cg-stage:hover .cg-stage-cta{color:var(--accent-ink)}
button.cg-chip{min-height:36px;background:transparent;font:inherit;color:inherit;cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease)}
button.cg-chip:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}
.cg-who-note{margin:0 0 12px;font-size:12.5px;color:var(--text-3)}
@media (prefers-reduced-motion:reduce){ button.cg-stage,button.cg-chip,.cg-stage-cta{transition:none} }
.cg-steps{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.cg-steprow{display:flex;align-items:center;gap:10px;min-height:40px;color:var(--text-3)}
.cg-steprow b{flex:1;min-width:0;font-weight:500}
.cg-steprow small{flex-shrink:0;font-size:12.5px}
.cg-steprow.done{color:var(--text)}
.cg-dot{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center}
.cg-steprow.done .cg-dot{background:var(--ok-soft);border-color:transparent;color:var(--ok)}

@media (max-width:1100px){ .ov-strip{grid-template-columns:repeat(3,minmax(0,1fr))} .ov-strip-cell:nth-child(4){border-left:0} .ov-strip-cell:nth-child(n+4){border-top:1px solid var(--line)} }
/* Skeletons com a forma do conteúdo (usados também no Financeiro) */
.ov-sk-list{display:flex;flex-direction:column;margin:-6px -10px}
.ov-sk-list.flush{margin:0}
.ov-sk-row{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 10px}
.ov-sk-list.flush .ov-sk-row{min-height:60px;padding:12px 20px;border-top:1px solid var(--line)}
.ov-sk-list.flush .ov-sk-row:first-child{border-top:0}
.ov-sk-av{flex-shrink:0;border-radius:10px}
.ov-sk-ic{flex-shrink:0;border-radius:6px}
.ov-sk-lines{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.ov-sk-lines .p-skel{max-width:260px}
.ov-sk-sub{opacity:.7}
.ov-sk-cells{flex:1.6;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px}
.ov-sk-cells .p-skel{flex-shrink:0}
.ov-sk-cells .p-skel:last-child{border-radius:8px}
.ov-sk-right{flex-shrink:0}
.ov-sk-chart{display:flex;flex-direction:column}
.ov-sk-ctl{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.ov-sk-pill{max-width:100%;border-radius:13px}
.ov-sk-sum{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;min-height:34px;margin-bottom:12px}
.ov-sk-bars{display:flex;align-items:flex-end;gap:6px;height:180px;padding-top:8px}
.ov-sk-bar{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}
.ov-sk-col{max-width:34px;border-radius:6px 6px 3px 3px}
.ov-sk-legend{display:flex;gap:16px;margin-top:14px}
.ov-sk-mix{display:grid;gap:14px}
.ov-sk-mix .ov-sk-sum{margin-bottom:0}
.ov-sk-mixrow{display:grid;gap:8px}
.ov-sk-mixrow > div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ov-sk-label{max-width:150px}
.ov-sk-strip .ov-strip-cell{gap:10px;padding:16px 18px}
.cg-funnel[aria-busy] .cg-stage{gap:12px}

/* Colunas extras de tabela só em tela larga */
@media (max-width:1599px){ .ov-wide{display:none} }

/* Tela larga (1600px+): atividade em colunas, mostrando até 12 pessoas */
@media (min-width:1600px){
  .ov-act{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));column-gap:16px}
  .ov-act-item:nth-child(n+9){display:flex}
}
/* Tela muito larga (2100px+): 3 colunas na Visão geral e os 4 gráficos do Crescimento numa linha só */
@media (min-width:2100px){
  .ov-board{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"chart need mix" "act act mix"}
  .p-grid.cg-charts{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:1100px){ .ov-board{grid-template-columns:minmax(0,1fr);grid-template-areas:"chart" "need" "act" "mix"} }

/* Evolução (prefixo ev-) */
.ov-evo-btn{gap:8px}
.ev-period{flex-shrink:0}
.ev-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:12px}
.ev-card{display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}
.ev-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
.ev-card-label{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:11.5px;font-weight:600;color:var(--text-2)}
.ev-card-label svg{flex-shrink:0;color:var(--text-3)}
.ev-spark{flex-shrink:0;margin-top:-4px}
.ev-card{container-type:inline-size}
.ev-card-val{font-family:var(--cond);font-weight:800;font-size:clamp(20px,15cqi,34px);line-height:1;font-variant-numeric:tabular-nums;margin-top:2px;overflow-wrap:anywhere}
.ev-card-sub{color:var(--text-3);font-size:12px}
.ev-card-deltas{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:4px;font-size:11.5px;color:var(--text-3)}
.ev-card-deltas span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ev-card-deltas i{font-style:normal}
.ev-since{font-size:12px;color:var(--warn);white-space:nowrap}
.ev-sk-chips{display:flex;gap:10px;margin-top:6px}

.ev-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ev-charts > .ev-wide{grid-column:1 / -1}
.ev-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:-4px 0 12px;font-size:12px;color:var(--text-2)}
.ev-legend span{display:inline-flex;align-items:center;gap:6px}
.ev-legend i{flex-shrink:0;display:inline-block}
.ev-legend i.sq{width:10px;height:10px;border-radius:3px;background:var(--accent)}
.ev-legend i.sq.part{background:var(--accent-ink);opacity:.55}
.ev-legend i.sq.pair{background:rgba(255,255,255,.34)}
.ev-legend i.sq.partial{background:var(--accent-soft);border:1px dashed rgba(255,255,255,.32)}
.ev-legend i.ln{width:14px;height:2px;border-radius:2px;background:var(--accent-ink)}

.ev-chart{position:relative}
.ev-plot{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.ev-svg{display:block;touch-action:pan-x pan-y;outline:none}
.ev-svg:focus-visible{outline:2px solid var(--accent-ink);outline-offset:4px;border-radius:6px}
.ev-svg .ev-grid{stroke:rgba(255,255,255,.06);stroke-width:1}
.ev-svg .ev-base{stroke:rgba(255,255,255,.16);stroke-width:1}
.ev-svg .ev-ax{font-size:12px;fill:var(--text-3);font-variant-numeric:tabular-nums}
.ev-svg .ev-mon{fill:var(--text-2)}
.ev-svg .ev-mon.partial{fill:var(--text-3)}
.ev-svg .ev-cap{font-size:11.5px;font-weight:600;fill:var(--text-3)}
.ev-svg .ev-area{fill:var(--accent);fill-opacity:.13}
.ev-svg .ev-line,.ev-spark .ev-line{fill:none;stroke:var(--accent-ink);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ev-spark .ev-line{stroke-width:1.6}
.ev-svg .ev-line.partial,.ev-spark .ev-line.partial{stroke-dasharray:4 4;opacity:.75}
.ev-svg .ev-dot{fill:var(--accent-ink);stroke:var(--surface);stroke-width:2}
.ev-svg .ev-dot.partial{fill:var(--surface);stroke:var(--accent-ink);stroke-width:1.8}
.ev-svg .ev-bar.main{fill:var(--accent)}
.ev-svg .ev-bar.part{fill:var(--accent-ink);fill-opacity:.55}
.ev-svg .ev-bar.pair{fill:rgba(255,255,255,.34)}
.ev-svg .ev-bar.partial{fill:var(--accent-soft);stroke:rgba(167,139,250,.6);stroke-width:1;stroke-dasharray:3 3}
.ev-svg .ev-bar.part.partial{fill:var(--accent-ink);fill-opacity:.25}
.ev-svg .ev-bar.pair.partial{fill:rgba(255,255,255,.12);stroke:rgba(255,255,255,.35)}
.ev-svg .ev-guide{stroke:rgba(255,255,255,.28);stroke-width:1;opacity:0;transition:opacity .15s var(--ease)}
.ev-svg .ev-guide.on{opacity:1}
.ev-svg .ev-hit{fill:transparent;cursor:crosshair}
.ev-tip{position:absolute;top:0;left:0;z-index:2;min-width:170px;max-width:240px;padding:10px 12px;border-radius:12px;background:var(--surface-3);border:1px solid var(--line-2);font-size:12px;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .15s var(--ease),transform .15s var(--ease)}
.ev-tip.on{opacity:1;transform:none}
.ev-tip p{margin:0 0 6px;font-weight:600;color:var(--text)}
.ev-tip p em{font-style:normal;font-size:11.5px;color:var(--text-3);margin-left:4px}
.ev-tip div{display:flex;justify-content:space-between;gap:12px;color:var(--text-2);line-height:1.6}
.ev-tip div.sub{padding-left:10px;color:var(--text-3)}
.ev-tip b{font-family:var(--cond);font-weight:700;font-size:14px;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}

.ev-notes{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.ev-notes .p-section-title{margin:0 0 6px}
.ev-notes p:not(.p-section-title){margin:4px 0 0;font-size:12px;line-height:1.5;color:var(--text-3)}
.ev-notes b{font-weight:600;color:var(--text-2)}

.ev-table-wrap{overflow-x:auto;overscroll-behavior-x:contain}
.ev-table-wrap:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}
.ev-table{width:100%;border-collapse:collapse;font-size:13px}
.ev-table th,.ev-table td{padding:11px 14px;border-top:1px solid var(--line);text-align:left;white-space:nowrap}
.ev-table thead th{border-top:0;font-size:11.5px;font-weight:600;color:var(--text-3)}
.ev-table .num{text-align:right;font-variant-numeric:tabular-nums}
.ev-table tbody th{position:sticky;left:0;z-index:1;background:var(--surface);font-weight:600;color:var(--text)}
.ev-table thead th:first-child{position:sticky;left:0;z-index:1;background:var(--surface)}
.ev-table small{display:block;font-size:10.5px;color:var(--text-3);font-weight:400}
.ev-table tr.partial td,.ev-table tr.partial th{color:var(--text-2)}
@media (min-width:2100px){ .ev-charts{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:1100px){ .ev-charts{grid-template-columns:minmax(0,1fr)} }
@media (prefers-reduced-motion:reduce){ .ev-tip,.ev-svg .ev-guide{transition:none} }

/* Períodos dos números (3 dias, 1 semana, 1 mês) */
.ov-period{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;min-width:0}
.ov-period .p-seg{flex-shrink:0}
.ov-period-range{font-size:12px;color:var(--text-3);white-space:nowrap}
.ov-period-body{margin-top:12px;transition:opacity .2s var(--ease)}
.ov-busy .ov-period-body{opacity:.45}
.ov-kpi-sec{margin:20px 0 10px}

/* Gráfico por dia (3 e 7 dias) */
.ov-chart{position:relative}
.ov-chart-plot{position:relative}
.ov-daily{position:relative;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.ov-daily .p-bars{height:150px}
.ov-daily .p-section-title{margin-bottom:12px}
.ov-split{position:relative}

/* Dica flutuante dos gráficos (mouse, toque e teclado) */
.ov-tip{position:absolute;top:0;left:0;z-index:3;min-width:150px;max-width:240px;padding:10px 12px;border-radius:12px;background:#16141e;border:1px solid rgba(255,255,255,.12);font-size:12px;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .15s var(--ease),transform .15s var(--ease)}
.ov-tip.on{opacity:1;transform:none}
.ov-tip p{margin:0 0 6px;font-weight:600;color:#fff}
.ov-tip p em{font-style:normal;font-size:11.5px;color:rgba(255,255,255,.42);margin-left:4px}
.ov-tip div{display:flex;justify-content:space-between;gap:12px;color:rgba(255,255,255,.62);line-height:1.6}
.ov-tip b{font-family:var(--cond);font-weight:700;font-size:14px;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.ov-tip-h{display:block;margin-top:6px;font-size:10.5px;color:rgba(255,255,255,.42)}
.ov-tip div + .ov-tip-h{margin-top:6px}
.ev-tip-h{display:block;margin-top:6px;font-size:10.5px;color:var(--text-3)}

/* Barras e pontos que abrem "quem são" */
.ov-hit{outline:none}
.p-bar.ov-hit{cursor:default}
.p-bar.ov-drill{cursor:pointer}
.p-bar.ov-drill:hover i{background:var(--accent-ink)}
.p-bar.ov-hit:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:8px}
.ov-split-bar i.ov-hit{cursor:default}
.ov-split-bar i.ov-hit:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}

/* Pulso ao vivo: ponto/barra do período atual (ainda em andamento). Sem glow, só opacidade. */
@keyframes ov-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.p-bar i.ov-live{animation:p-grow .7s var(--ease-out) both,ov-pulse 1.6s ease-in-out .7s infinite}
.ev-svg .ov-live{animation:ov-pulse 1.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){
  .p-bar i.ov-live{animation:p-grow .7s var(--ease-out) both}
  .ev-svg .ov-live{animation:none}
  .ov-tip,.ov-period-body{transition:none}
}

/* Cards da Evolução que abrem a visão ampliada */
.ev-card{position:relative}
.ev-card-btn{cursor:pointer;transition:border-color .18s var(--ease),background .18s var(--ease)}
.ev-card-btn:hover{border-color:rgba(255,255,255,.2);background:var(--surface-2)}
.ev-card-btn:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}
.ev-card-more{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:11.5px;font-weight:600;color:var(--accent-ink)}
.ev-card-more svg{flex-shrink:0}

/* Visão ampliada (gaveta larga) */
.p-drawer.ov-wide-drawer{width:min(920px,100vw)}
.ov-detail{display:flex;flex-direction:column;gap:14px}
.ov-detail .ev-legend{margin:0}
.ov-detail .ev-notes{margin-top:0}
.ov-detail .ev-table-wrap{border:0}
.ov-who-cell{text-align:right;width:1%}
.ev-dtable .p-delta{font-size:12px}
.ev-dtable small{display:inline-block;margin-left:6px}
