/* ZeraCRM 2 (rodada 2) — o que é só do CRM em cima do kit Zera: o funil em SVG do Painel, a tabela que rola
   dentro do cartão, a área Equipe Zera e Configurações > Equipe. Só tokens (claro e escuro do mesmo desenho). */

/* tabela larga rola dentro do próprio cartão: a página nunca rola na horizontal (celular de 390 px) */
.tabela-rolagem { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tabela-rolagem .tabela { min-width: 640px; }
.tabela-rolagem .tabela td { white-space: nowrap; }
.tabela-rolagem .tabela td .cortar { max-width: 260px; }

/* ------------------------------------------------------------------ funil do Painel */
/* uma fila por etapa: a faixa (SVG) e a legenda dividem a linha, então ficam sempre alinhadas */
.funil-zera { display: flex; flex-direction: column; gap: 6px; }
.funil-etapa { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px; align-items: center; border-radius: 8px; outline: none; }
.funil-svg { width: 100%; height: auto; display: block; overflow: visible; }
.funil-etapa .funil-faixa { transition: filter var(--t-rapido), opacity var(--t-rapido); }
.funil-etapa.clicavel { cursor: pointer; }
.funil-etapa.clicavel:hover .funil-faixa, .funil-etapa.clicavel:focus-visible .funil-faixa { filter: brightness(1.12); }
.funil-etapa.clicavel:focus-visible { box-shadow: var(--anel-foco); }
.funil-linha { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 13px; }
.funil-linha i { width: 9px; height: 9px; border-radius: 2px; flex: none; }
.funil-linha .num { font-variant-numeric: tabular-nums; }
@media (max-width: 520px) { .funil-etapa { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 10px; } }

/* ------------------------------------------------------------------ Equipe Zera */
.equipe-zera .abas { align-self: flex-start; margin-bottom: 16px; width: max-content; max-width: 100%; }
.ez-area { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.ez-barra { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ez-barra .entrada { max-width: 320px; }
.ez-barra > p { max-width: 640px; font-size: 13.5px; }
.ez-chips { flex-wrap: wrap; gap: 4px; }
.ez-chips .chip.ez-inativo { opacity: .55; text-decoration: line-through; }
.ez-acoes, .eq-acoes { text-align: right; }
.ez-acoes > *, .eq-acoes > * { display: inline-flex; vertical-align: middle; margin-left: 4px; }
.ez-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.ez-app { padding: 16px; display: flex; flex-direction: column; gap: 6px; }
.ez-app-ic { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--zera-suave); color: var(--zera-txt); flex: none; }
.ez-app-acoes { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; align-items: center; }
.ez-app-acoes .botao-icone { margin-left: auto; }
.ez-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }

/* ------------------------------------------------------------------ Configurações > Equipe */
.kit-form { display: flex; flex-direction: column; gap: 12px; margin-bottom: 14px; }
.eq-limite { max-width: 420px; display: flex; flex-direction: column; gap: 4px; }
.eq-sub { margin: 22px 0 8px !important; font-size: 14px; }

@media (max-width: 767px) {
  .ez-barra .entrada { max-width: none; flex: 1 1 100%; }
  .equipe-zera .abas { width: 100%; }
}
