/* Captação (CRM de patrocínio) · mesmo vocabulário do painel (tokens --dna-*, --p-*). */

.cp-cabeca { align-items: flex-start; }
.cp-cabeca > div:first-child { flex: 1 1 220px; }

.cp-etapas { display: flex; flex-wrap: wrap; gap: var(--dna-e-2); }
.cp-etapa-filtro {
  display: inline-flex; align-items: center; gap: var(--dna-e-2);
  min-height: 40px; padding: 0 var(--dna-e-3);
  border: 1px solid var(--dna-filete); border-radius: var(--dna-raio-pilula);
  background: var(--p-campo); color: var(--dna-cinza-1);
  font: 600 13px/1 var(--dna-f-texto); cursor: pointer;
  transition: background-color var(--dna-d-1) var(--dna-ease), border-color var(--dna-d-1) var(--dna-ease), color var(--dna-d-1) var(--dna-ease);
}
.cp-etapa-filtro::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--cp-cor); }
.cp-etapa-filtro:hover { color: var(--dna-offwhite); background: var(--p-campo-hover); }
.cp-etapa-filtro[aria-pressed="true"] { color: var(--dna-branco); border-color: var(--cp-cor); background: color-mix(in srgb, var(--cp-cor) 14%, transparent); }
.cp-etapa-filtro:focus-visible { outline: 2px solid var(--dna-vermelho-vivo); outline-offset: 2px; }
.cp-etapa-filtro__n { color: var(--dna-offwhite); }

[data-etapa="captado"] { --cp-cor: var(--dna-cinza-2); }
[data-etapa="reuniao"] { --cp-cor: #6fa8dc; }
[data-etapa="negociacao"] { --cp-cor: var(--eco-ouro); }
[data-etapa="fechado"] { --cp-cor: var(--dna-verde-vivo); }
[data-etapa="declinado"] { --cp-cor: var(--dna-vermelho-vivo); }

.cp-etapa {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px; border-radius: var(--dna-raio-pilula);
  border: 1px solid color-mix(in srgb, var(--cp-cor) 45%, transparent);
  background: color-mix(in srgb, var(--cp-cor) 12%, transparent);
  color: var(--dna-offwhite); font: 600 12px/1.2 var(--dna-f-texto); white-space: nowrap;
}
.cp-etapa::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--cp-cor); }

.cp-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: var(--dna-e-2); flex-basis: 100%; }
.cp-busca { min-width: 220px; }

.cp { display: grid; gap: var(--dna-e-4); }
.cp--com-detalhe { grid-template-columns: minmax(0, 1fr) min(var(--p-drawer), 44%); align-items: start; }

.cp-tabela { min-width: 0; border: 1px solid var(--dna-filete-suave); border-radius: var(--dna-raio-3); overflow: hidden; }
.cp-tabela__cabeca, .cp-linha {
  display: grid; grid-template-columns: minmax(150px, 1.3fr) 120px minmax(180px, 1.6fr) minmax(140px, 1.3fr);
  gap: var(--dna-e-3); align-items: center; padding: 10px var(--dna-e-4);
}
.cp--com-detalhe .cp-tabela__cabeca, .cp--com-detalhe .cp-linha { grid-template-columns: minmax(120px, 1.2fr) 110px minmax(120px, 1fr); }
.cp--com-detalhe .cp-col--proximo, .cp--com-detalhe .cp-tabela__cabeca span:last-child { display: none; }
.cp-tabela__cabeca { background: var(--p-raia); color: var(--dna-cinza-2); font: 600 11px/1.2 var(--dna-f-texto); letter-spacing: var(--dna-ls-rotulo); text-transform: uppercase; }
.cp-lista { list-style: none; margin: 0; padding: 0; }
.cp-linha { position: relative; min-height: 60px; border-top: 1px solid var(--dna-filete-suave); background: var(--p-cartao); transition: background-color var(--dna-d-1) var(--dna-ease); }
.cp-linha:hover, .cp-linha.e-aberta { background: var(--p-cartao-hover); }
.cp-linha.e-aberta { box-shadow: inset 3px 0 0 var(--dna-vermelho); }
.cp-linha__abrir { position: absolute; inset: 0; z-index: 0; border: 0; background: transparent; cursor: pointer; }
.cp-linha__abrir:focus-visible { outline: 2px solid var(--dna-vermelho-vivo); outline-offset: -2px; }
.cp-col { position: relative; min-width: 0; pointer-events: none; }
.cp-col a { pointer-events: auto; position: relative; z-index: 1; }
.cp-col--marca { display: grid; gap: 2px; }
.cp-marca { color: var(--dna-branco); font-weight: 600; font-size: 14.5px; overflow-wrap: anywhere; }
.cp-segmento { color: var(--dna-cinza-2); font-size: 12.5px; line-height: 1.4; }
.cp-col--contatos { display: flex; flex-wrap: wrap; gap: 6px; }
.cp-col--proximo { color: var(--dna-cinza-1); font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.cp-col--proximo.e-vazio, .cp-sem { color: var(--dna-cinza-2); font-size: 13px; }

.cp-canal {
  display: inline-flex; align-items: center; gap: 6px; max-width: 100%;
  min-height: 30px; padding: 0 8px; border-radius: var(--dna-raio-1);
  background: var(--p-campo); border: 1px solid var(--dna-filete-suave);
  color: var(--dna-offwhite); font-size: 12.5px; text-decoration: none;
}
a.cp-canal:hover { border-color: var(--dna-filete-vermelho); background: var(--dna-veu-vermelho); }
.cp-canal__icone { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cp-canal__valor { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 200px; }
.cp-conf { width: 7px; height: 7px; border-radius: 50%; flex: none; }
[data-conf="alta"] { --cp-conf: var(--dna-verde-vivo); }
[data-conf="media"] { --cp-conf: var(--eco-ouro); }
[data-conf="baixa"] { --cp-conf: var(--dna-cinza-2); }
.cp-conf { background: var(--cp-conf); }
.cp-conf-texto { color: var(--cp-conf); }

/* detalhe: coluna à direita no largo, folha por cima no estreito */
.cp-detalhe {
  position: sticky; top: calc(var(--p-topo) + var(--p-abas) + var(--dna-e-3));
  max-height: calc(100dvh - var(--p-topo) - var(--p-abas) - var(--dna-e-6));
  overflow-y: auto; overscroll-behavior: contain;
  background: var(--p-painel); border: 1px solid var(--dna-filete-suave); border-radius: var(--dna-raio-3);
  box-shadow: var(--p-sombra-camada);
}
.cp-detalhe__barra { min-height: 52px; padding-left: var(--dna-e-4); }
.cp-detalhe__espaco { flex: 1; }
.cp-detalhe__corpo { display: grid; gap: var(--dna-e-5); padding: var(--dna-e-4); }
.cp-detalhe__titulo { font: 700 22px/1.25 var(--dna-f-texto); letter-spacing: -.012em; color: var(--dna-branco); }
.cp-resumo, .cp-texto { color: var(--dna-cinza-1); font-size: 14px; line-height: 1.55; text-wrap: pretty; }
.cp-redes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: var(--dna-e-2); }
.cp-rede { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 10px; border-radius: var(--dna-raio-pilula); border: 1px solid var(--dna-filete); color: var(--dna-offwhite); font-size: 13px; text-decoration: none; }
.cp-rede:hover { border-color: var(--dna-vermelho); background: var(--dna-veu-vermelho); }
.cp-rede .icone { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.cp-rede__n { color: var(--dna-cinza-1); font-size: 12px; }

.cp-campos { display: grid; gap: var(--dna-e-3); }
.cp-rotulo { color: var(--dna-cinza-2); font: 600 11px/1.2 var(--dna-f-texto); letter-spacing: var(--dna-ls-rotulo); text-transform: uppercase; }
.cp-proximo { display: flex; gap: var(--dna-e-2); }
.cp-proximo .campo { flex: 1; min-width: 0; }

.cp-bloco { display: grid; gap: var(--dna-e-2); padding-top: var(--dna-e-4); border-top: 1px solid var(--dna-filete-suave); }
.cp-bloco__titulo { color: var(--dna-cinza-1); font: 600 12px/1.2 var(--dna-f-texto); letter-spacing: var(--dna-ls-rotulo); text-transform: uppercase; }
.cp-bloco p b { color: var(--dna-branco); }
.cp-abordagem { margin: 0; padding: var(--dna-e-3); border-left: 3px solid var(--dna-vermelho); background: var(--p-campo); border-radius: 0 var(--dna-raio-2) var(--dna-raio-2) 0; color: var(--dna-offwhite); font-size: 14px; line-height: 1.55; white-space: pre-wrap; }
.cp-bloco > .botao { justify-self: start; }

.cp-contatos, .cp-notas, .cp-fontes { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--dna-e-2); }
.cp-contato { display: grid; gap: 4px; }
.cp-contato .cp-canal { justify-self: start; }
.cp-contato .cp-canal__valor { max-width: 320px; }
.cp-contato__meta { display: flex; flex-wrap: wrap; gap: 4px 10px; color: var(--dna-cinza-2); font-size: 12.5px; }
.cp-fonte, .cp-fontes a { color: var(--dna-cinza-1); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; font-size: 12.5px; }

.cp-add { display: grid; gap: var(--dna-e-2); }
.cp-add > summary { justify-self: start; list-style: none; cursor: pointer; }
.cp-add > summary::-webkit-details-marker { display: none; }
.cp-form { display: grid; gap: var(--dna-e-2); }
.cp-form__acoes { display: flex; justify-content: flex-end; }
.cp-area { min-height: 76px; resize: vertical; padding-block: 10px; line-height: 1.5; }

.cp-nota { display: grid; gap: 4px; padding: var(--dna-e-2) var(--dna-e-3); border-radius: var(--dna-raio-2); background: var(--p-campo); }
.cp-nota__meta { display: flex; gap: var(--dna-e-2); align-items: center; color: var(--dna-cinza-2); font-size: 12px; }
.cp-nota__texto { color: var(--dna-offwhite); font-size: 14px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }

@media (max-width: 1000px) {
  .cp--com-detalhe { grid-template-columns: 1fr; }
  .cp-detalhe {
    position: fixed; z-index: 30; top: calc(var(--p-topo) + var(--p-abas) + 1px); right: 0; bottom: 0;
    width: min(var(--p-drawer), 100%); max-height: none; border-radius: 0; border-width: 0 0 0 1px;
    box-shadow: var(--p-sombra-lateral);
  }
  .cp--com-detalhe .cp-tabela__cabeca, .cp--com-detalhe .cp-linha { grid-template-columns: minmax(150px, 1.3fr) 120px minmax(180px, 1.6fr) minmax(140px, 1.3fr); }
  .cp--com-detalhe .cp-col--proximo { display: block; }
}

@media (max-width: 760px) {
  .cp-tabela__cabeca { display: none; }
  .cp-linha, .cp--com-detalhe .cp-linha { grid-template-columns: 1fr auto; gap: 8px var(--dna-e-3); padding: var(--dna-e-3); }
  .cp-col--contatos, .cp-col--proximo { grid-column: 1 / -1; }
  .cp-col--proximo.e-vazio { display: none; }
  .cp-busca { min-width: 0; flex: 1; }
  .cp-filtros .filtro { flex: 1 1 100%; }
  .cp-filtros .filtro .campo { width: 100%; }
  .cp-canal__valor { max-width: 150px; }
}

/* --- kanban (mesmos blocos do quadro: .quadro/.coluna/.cartao + arrasto.js) ------- */

.cp-vistas { display: inline-flex; padding: 3px; gap: 2px; border: 1px solid var(--dna-filete); border-radius: var(--dna-raio-pilula); background: var(--p-campo); align-self: center; }
.cp-vista {
  min-height: 34px; padding: 0 var(--dna-e-3); border: 0; border-radius: var(--dna-raio-pilula);
  background: transparent; color: var(--dna-cinza-1); font: 600 13px/1 var(--dna-f-texto); cursor: pointer;
  transition: background-color var(--dna-d-1) var(--dna-ease), color var(--dna-d-1) var(--dna-ease);
}
.cp-vista:hover { color: var(--dna-offwhite); }
.cp-vista[aria-pressed="true"] { background: var(--dna-veu-vermelho); color: var(--dna-branco); box-shadow: inset 0 0 0 1px var(--dna-filete-vermelho); }
.cp-vista:focus-visible { outline: 2px solid var(--dna-vermelho-vivo); outline-offset: 2px; }
.cp-seletor { max-width: 200px; }

.cp--kanban.cp--com-detalhe { grid-template-columns: minmax(0, 1fr) min(var(--p-drawer), 40%); }
.cp-quadro { grid-auto-columns: minmax(248px, 1fr); min-width: 0; margin-inline: 0; padding-inline: 0; }
.cp--com-detalhe .cp-quadro { grid-auto-columns: minmax(248px, 260px); }
.cp-coluna { --cor-coluna: var(--cp-cor); border-top: 3px solid var(--cp-cor); }
.cp-coluna .coluna__lista { padding-bottom: var(--dna-e-2); }
.cp-coluna__vazia { padding: var(--dna-e-3); color: var(--dna-cinza-2); font-size: 13px; text-align: center; list-style: none; }
.cp-coluna__vazia[hidden] { display: none; }

.cp-cartao { padding: 0; gap: 0; overflow: visible; }
.cp-cartao__abrir { position: absolute; inset: 0; z-index: 0; width: 100%; border: 0; border-radius: inherit; background: transparent; cursor: inherit; }
.cp-cartao__abrir:focus-visible { outline: 2px solid var(--dna-vermelho-vivo); outline-offset: 2px; }
.cp-cartao > :not(.cp-cartao__abrir) { position: relative; z-index: 1; pointer-events: none; }
.cp-cartao a, .cp-cartao button, .cp-cartao .cp-menu { pointer-events: auto; }

/* capa: logotipo nítido sobre fundo claro (ou escuro quando o logo é claro) */
.cp-capa {
  display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); place-items: center; height: 96px; padding: 14px 20px; box-sizing: border-box;
  border-radius: calc(var(--dna-raio-3) - 1px) calc(var(--dna-raio-3) - 1px) 0 0;
  background: #f6f4f0; border-bottom: 1px solid var(--dna-filete-suave); overflow: hidden;
}
.cp-capa[data-fundo="escuro"] { background: #1c1b1a; }
.cp-capa__logo { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; image-rendering: auto; -webkit-user-drag: none; }
.cp-capa--monograma { background: var(--p-campo); }
.cp-monograma {
  display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
  border: 1px solid var(--dna-filete); background: var(--p-raia);
  color: var(--dna-cinza-1); font: 700 19px/1 var(--dna-f-texto); letter-spacing: .04em;
}

.cp-cartao__corpo { display: grid; gap: var(--dna-e-2); padding: var(--dna-e-3) var(--dna-e-3) 12px; min-width: 0; }
.cp-cartao__topo { display: flex; align-items: flex-start; gap: var(--dna-e-2); }
.cp-cartao__nome { flex: 1; min-width: 0; margin: 0; padding-top: 4px; color: var(--dna-branco); font: 700 14.5px/1.3 var(--dna-f-texto); overflow-wrap: anywhere; }
.cp-cartao__mover { flex: none; width: 32px; min-height: 32px; height: 32px; padding: 0; justify-content: center; margin: -2px -6px 0 0; color: var(--dna-cinza-2); }
.cp-cartao__mover:hover, .cp-cartao__mover[aria-expanded="true"] { color: var(--dna-offwhite); }
.cp-cartao__mover .icone { width: 18px; height: 18px; }

.cp-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.cp-chip {
  display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: var(--dna-raio-pilula);
  background: rgba(255,255,255,.05); border: 1px solid var(--dna-filete-suave);
  color: var(--dna-cinza-1); font: 600 11.5px/1.2 var(--dna-f-texto); white-space: nowrap;
}
.cp-chip--permuta { color: var(--eco-ouro); border-color: color-mix(in srgb, var(--eco-ouro) 35%, transparent); background: color-mix(in srgb, var(--eco-ouro) 9%, transparent); }
.cp-chip--agente { color: #8cbcf0; border-color: color-mix(in srgb, #6fa8dc 35%, transparent); background: color-mix(in srgb, #6fa8dc 10%, transparent); }

.cp-cartao__contato { display: flex; min-width: 0; }
.cp-cartao__contato .cp-canal { max-width: 100%; }
.cp-cartao__contato .cp-canal__valor { max-width: none; min-width: 0; }

.cp-cartao__info { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px var(--dna-e-2); margin: 0; font-size: 12.5px; line-height: 1.4; }
.cp-cartao__info dt { color: var(--dna-cinza-2); font: 600 10.5px/1.6 var(--dna-f-texto); letter-spacing: var(--dna-ls-rotulo); text-transform: uppercase; }
.cp-cartao__info dd { margin: 0; color: var(--dna-cinza-1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.cp-menu { position: absolute; z-index: 20; top: 138px; right: 8px; left: auto; min-width: 190px; }
.cp-menu__titulo { margin: 0; padding: 6px 10px 4px; color: var(--dna-cinza-2); font: 600 11px/1.2 var(--dna-f-texto); letter-spacing: var(--dna-ls-rotulo); text-transform: uppercase; }
.cp-menu__item { width: 100%; }
.cp-menu__ponto { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--cp-cor); }

.cp-cartao.e-aberto { border-color: var(--dna-filete-vermelho); box-shadow: 0 0 0 1px var(--dna-filete-vermelho); }

@media (max-width: 760px) {
  .cp-quadro { grid-auto-columns: calc(100% - 36px); scroll-snap-type: x mandatory; }
  .cp-vistas { align-self: flex-start; }
  .cp-seletor { flex: 1 1 calc(50% - var(--dna-e-2)); max-width: none; }
}
@media (pointer: coarse) { .cp-cartao__mover { width: 40px; height: 40px; min-height: 40px; } }
