/* Telas dos módulos (carteira, CRM, simulador, mapa). Toda cor vem de tokens.css. */

/* ---------- Carteira ---------- */
.filtros{display:flex;flex-wrap:wrap;gap:var(--e2-5);align-items:center}
.busca{display:flex;align-items:center;gap:var(--e2);min-height:40px;padding:0 var(--e3);border:1px solid var(--campo-borda);border-radius:var(--r-pilula);background:var(--surface);color:var(--muted);flex:1 1 240px;max-width:420px;margin:0}
.busca input{border:0;outline:0;background:transparent;color:var(--ink);flex:1;min-width:0;font-size:var(--t-controle);min-height:38px}
.imovel .nome{color:var(--ink);text-decoration:none}
.bloco{display:grid;gap:var(--gap-grupo)}
.form-grade{align-items:start}
.campo-botao{align-self:end}
.ficha-capa{border-radius:var(--r-cartao);overflow:hidden}
.pre{white-space:pre-wrap}
.arquivos{list-style:none;margin:0;padding:0;display:grid;gap:var(--e3);grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr))}
.arquivos li{display:grid;gap:var(--e1);justify-items:start}
.arquivos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-campo)}
.arquivo-doc{display:flex;gap:var(--e2);align-items:center;padding:var(--e3);background:var(--surface-2);border-radius:var(--r-campo);color:var(--ink);text-decoration:none;width:100%;min-width:0}
.arquivo-doc span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.construtora{display:flex;gap:var(--e3);align-items:center;text-decoration:none;color:var(--ink)}
.construtora img{width:48px;height:48px;object-fit:contain;border-radius:var(--r-campo);background:var(--branco)}
.construtora > span:last-child{display:grid}
.excluir-ficha{justify-self:start}

/* ---------- Simulador ---------- */
.simulador{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--e4);align-items:start}
.simulador #resultado{position:sticky;top:80px}
.caixas{display:flex;flex-wrap:wrap;gap:var(--e3) var(--e6)}
.caixa{display:inline-flex;align-items:center;gap:var(--e2);font-size:var(--t-controle);font-weight:var(--peso-forte);color:var(--ink);cursor:pointer;min-height:36px}
.caixa .form-check-input{margin:0;width:18px;height:18px}
.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}
@media (max-width:767.98px){.simulador{grid-template-columns:1fr}.simulador #resultado{position:static}}

/* ---------- CRM ---------- */
.cartao[draggable="true"]{cursor:grab}
.cartao[hidden]{display:none}
.esteira .coluna{gap:var(--e3)} /* vão maior: cada cartão se lê como uma peça */
.esteira .rodape-cartao{margin:var(--e1) calc(var(--e3) * -1) calc(var(--e2-5) * -1);padding:var(--e2) var(--e3);background:var(--surface-2);border-radius:0 0 var(--r-cartao) var(--r-cartao)} /* base tonal: o rodapé separa um cartão do outro sem borda */
.ver-mais{justify-self:center}
.cartao.arrastando{opacity:var(--op-apagado);box-shadow:var(--sombra-2)} /* o que está no ar flutua */
.coluna.alvo{background:var(--surface);outline:2px dashed var(--primary);outline-offset:-2px} /* onde dá para soltar */
.coluna.alvo::after{content:"Soltar aqui";text-align:center;font-size:var(--t-pequeno);font-weight:var(--peso-titulo);color:var(--link);padding:var(--e1-5)}
.cartao .topo a{color:var(--ink);text-decoration:none;flex:1;min-width:0}
.cartao .topo a b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;line-height:var(--lh-titulo)}
.cartao .linha svg.i{width:var(--icone-p);height:var(--icone-p)}
.tarefa-cartao{display:inline-flex;align-items:center;gap:var(--e1-5);min-width:0;overflow:hidden;text-overflow:ellipsis}
.whats-cartao{flex:none;color:var(--link);font-size:var(--t-sobre);text-decoration:none;font-variant-numeric:tabular-nums}
.vazio-coluna{margin:0;color:var(--muted);font-size:var(--t-rotulo)}
.coluna:has(.cartao) .vazio-coluna{display:none}
.coluna.alvo::after{position:sticky;bottom:0}
.esteira-vazia{grid-column:1 / -1}
@media (max-width:767.98px){.contadores{flex-wrap:nowrap;overflow-x:auto}.contador{flex:none}}
/* A esteira ocupa a janela (só a partir de 900 px): a página não cresce com o número de cartões e cada coluna rola por dentro.
   O que vem antes do quadro (avisos, abas, filtros) tem altura livre; o quadro fica com o resto. Sem :has, a página rola como antes. */
@media (min-width:768px){
  .shell:has([data-esteira]),.shell:has([data-vista-unica]){height:100dvh;grid-template-rows:minmax(0,1fr)}
  .shell:has([data-esteira]) .principal,.shell:has([data-vista-unica]) .principal{min-height:0}
  .conteudo:has(> .esteira){display:flex;flex-direction:column;min-height:0;overflow:auto;align-content:normal}
  .conteudo:has(> .esteira) > *{flex:none}
  .conteudo:has(> .esteira) > .esteira{flex:1 1 0;min-height:calc(var(--toque) * 6)}
  .shell:has([data-esteira]) .principal > .conteudo{flex:1 1 auto} /* o quadro vai até o fim da tela (Sávio, 07/10) */
  /* Tela de vista única ([data-vista-unica], ver docs/design-system/layout.md): o mesmo desenho; o bloco com [data-vista-unica] fica com o resto da altura */
  .shell:has([data-vista-unica]) .principal > .conteudo{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow:auto;align-content:normal}
  .shell:has([data-vista-unica]) .conteudo > *{flex:none}
  .shell:has([data-vista-unica]) .conteudo > [data-vista-unica]{flex:1 1 0;min-height:0;display:flex;flex-direction:column}
  [data-vista-unica] > *{flex:none}
  [data-vista-unica] > .carteira-abas{flex:1 1 0;min-height:calc(var(--toque) * 6)}
  .carteira-abas .aba-corpo{overflow:auto;overscroll-behavior:contain}
}
.cliente-topo{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--e4);align-items:start}
.tarefa{display:flex;align-items:center;gap:var(--e2);min-height:calc(var(--toque) + var(--e3));padding:var(--e1) var(--e2);margin-top:var(--e2);background:var(--surface-2);border-radius:var(--r-cartao);transition:opacity var(--dur-rapida)}
.tarefa > span:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}
.tarefa .btn{flex:none;min-width:var(--toque);min-height:var(--toque)}
.tarefa.htmx-request{opacity:var(--op-apagado)}
.tarefa-cliente{display:block;color:var(--muted)}
#nova-tarefa:target{background:var(--selecao);border-radius:var(--r-cartao)}
.etapa-select{width:auto;min-width:200px;flex:0 1 auto}
.motivo{width:auto;flex:0 1 260px}
.linha-do-tempo{list-style:none;margin:0;padding:0;display:grid;gap:var(--e3)}
.linha-do-tempo li{border-left:3px solid var(--line-forte);padding:var(--e1) 0 var(--e1) var(--e3)}
.linha-do-tempo li.whatsapp{border-color:var(--whats)}
.linha-do-tempo li.email{border-color:var(--info)}
.linha-do-tempo li.ligacao,.linha-do-tempo li.visita{border-color:var(--realce)}
.lista-simples{margin:0;padding-left:var(--e4-5);display:grid;gap:var(--e1-5)}
.cab-app .busca{flex:0 1 260px}
@media (max-width:767.98px){.cliente-topo{grid-template-columns:1fr}.passo{min-height:var(--toque)}}
.ficha-lateral{display:grid;gap:var(--gap-grupo);min-width:0}
.ficha-historico{max-height:calc(var(--e12) * 8);overflow:auto;padding-right:var(--e2)}

/* ---------- Mapa (igual ao do Correta no PC) ---------- */
.mapa-caixa{position:relative;overflow:hidden;border-radius:var(--r-cartao)}
#mapa{height:calc(100dvh - 175px);min-height:460px;border-radius:var(--r-cartao);background:var(--surface-2);z-index:0}
.mapa-carga{position:absolute;inset:0;z-index:5;background:var(--veu);border-radius:var(--r-cartao)}
.mapa-carga[hidden]{display:none}
#filtros-mapa{margin-bottom:var(--e2-5)}
#mapa-status{margin-left:auto;white-space:nowrap}
.tipo-mapa.t-empreendimentos{--c:var(--mapa-emp)} .tipo-mapa.t-avulsos{--c:var(--mapa-avulso)} .tipo-mapa.t-aluguel{--c:var(--mapa-aluguel)} .tipo-mapa.t-repasse{--c:var(--mapa-repasse)}
.pino-leaflet{background:none;border:0}
.mapa-trava-botao{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:inherit;background:var(--surface);color:var(--ink);cursor:pointer}
.mapa-trava-botao[aria-pressed="false"]{background:var(--selecao)} /* destravado: o mapa está livre, e o tom avisa */
.mapa-trava-botao:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.mapa-trava-botao .i{width:var(--icone-m);height:var(--icone-m)}
.alfinete{position:relative;width:36px;height:46px;filter:var(--sombra-alfinete);cursor:pointer}
.alfinete .gota-svg{position:absolute;inset:0;z-index:0;width:36px;height:46px}  /* o Leaflet põe todo svg do mapa no z-index 200: a gota cobria a sigla */
.alfinete .gota-svg path{fill:var(--c);stroke:var(--branco);stroke-width:2}
.alfinete.aprox .gota-svg path{stroke-dasharray:4 3}
.alfinete .miolo{position:absolute;z-index:1;left:6px;top:5.5px;width:24px;height:24px;border-radius:50%;background:var(--branco);display:flex;align-items:center;justify-content:center;overflow:hidden}
.alfinete .miolo svg{width:var(--icone-m);height:var(--icone-m);fill:var(--c)}
.alfinete .miolo img{width:100%;height:100%;object-fit:contain;padding:var(--e0-5)}
.alfinete .miolo span{font:800 8.5px/1 var(--font);color:var(--c);letter-spacing:-.3px}
.alfinete.emp{transform:scale(1.25);transform-origin:50% 100%}
.cartao-mapa{position:absolute;left:0;top:0;z-index:var(--z-mapa);width:280px;display:grid;gap:var(--e1-5);padding:var(--e3-5);background:var(--surface);color:var(--ink);border-radius:var(--r-cartao);box-shadow:var(--sombra-2);font-size:var(--t-rotulo)}
.cartao-mapa[hidden]{display:none}
.cartao-mapa img{display:block;width:100%;height:140px;object-fit:cover;border-radius:var(--r-campo);margin-bottom:var(--e1)}
.cartao-mapa .cm-nome{font-size:var(--t-destaque);font-weight:var(--peso-titulo);line-height:var(--lh-titulo)}
.cartao-mapa .cm-sub{color:var(--muted)}
.cartao-mapa .cm-preco{font-family:var(--font-display);font-size:var(--t-cabecalho);font-weight:var(--peso-titulo)}
.cartao-mapa .cm-abrir{width:100%;margin-top:var(--e1-5)}
.leaflet-container{font-family:var(--font)}
.mapa-legenda{display:flex;align-items:center;gap:var(--e2);margin-top:var(--e2)}
.mapa-contagem{margin-left:auto;flex:none;font-weight:var(--peso-forte);white-space:nowrap}  /* "91 no mapa" na linha da legenda (Sávio, 07/10) */
.pino-amostra{flex:none;width:16px;height:16px;border-radius:50%;border:2px dashed var(--m500)}
@media (max-width:767.98px){#mapa{height:calc(100dvh - 250px)}}

/* ---------- Assinatura ---------- */
.planos{display:grid;gap:var(--e3);grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}
.plano{display:flex;gap:var(--e2-5);align-items:center;cursor:pointer;font-weight:var(--peso-forte)}
.plano input{width:18px;height:18px;accent-color:var(--primary)}
.plano:has(input:checked){background:var(--surface-2);box-shadow:inset 3px 0 0 var(--realce)}

/* Imóveis: as quatro abas da carteira, em botões agrupados como no Correta atual */
.guias-linha{display:flex;align-items:center;justify-content:space-between;gap:var(--e3);flex-wrap:wrap;margin-bottom:var(--e5)}
.guias{display:flex;gap:var(--e1);background:var(--surface-2);padding:var(--e1);border-radius:var(--r-campo);width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.guias a{padding:var(--e2) var(--e4-5);border-radius:var(--r-etiqueta);font-weight:var(--peso-forte);color:var(--muted);text-decoration:none;white-space:nowrap}
.guias a:hover{color:var(--ink)}
.guias a[aria-current="page"]{background:var(--surface);color:var(--ink)}
.link-discreto{font-size:var(--t-rotulo);color:var(--muted)}

/* Filtros: tudo em pílulas numa linha; cada lista abre embaixo do próprio botão.
   Várias podem ficar abertas, mas uma nunca cobre a outra (o script fecha a que ficaria por baixo). */
.filtros{margin-bottom:var(--e3)}
.filtros .busca{flex:1 1 220px;max-width:360px;min-width:180px}
.filtros .ordem{min-height:36px;border-radius:var(--r-pilula);border:1px solid var(--campo-borda);background:var(--surface);color:var(--ink);padding:var(--e1-5) var(--e3);font-size:var(--t-rotulo);font-weight:var(--peso-forte)}
.filtros .multi-botao{font-weight:var(--peso-corpo);color:var(--ink)}
.filtros .multi-botao{min-width:170px;justify-content:space-between}
.filtros .multi-lista{left:0;right:0;width:auto;min-width:0;max-width:none;gap:var(--e1-5);padding:var(--e2)}
.filtros .multi-lista label{align-items:flex-start;line-height:var(--lh-compacto)}
.filtros .multi-lista input[type=checkbox]{margin-top:1px;flex:0 0 auto}
.multi-lista .multi-procurar{width:100%;min-height:36px;padding:var(--e1-5) var(--e2-5);border:1px solid var(--campo-borda);border-radius:var(--r-campo);background:var(--surface);color:var(--ink);font-size:var(--t-rotulo)}
.multi-opcoes{display:grid;gap:1px;max-height:300px;overflow-y:auto}
.multi-opcoes label[hidden]{display:none}
.multi-limpar{justify-self:start;padding:var(--e1) var(--e2);font-size:var(--t-rotulo);border:0;background:none;color:var(--link);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-weight:var(--peso-forte)}
.multi-lista .preco-campo{display:grid;gap:var(--e1);font-size:var(--t-pequeno);color:var(--muted);min-height:0;padding:0 var(--e1)}
.multi-lista .preco-campo:hover{background:none}
.multi-lista .preco-campo input{width:100%;min-height:36px;padding:var(--e1-5) var(--e2-5);border:1px solid var(--campo-borda);border-radius:var(--r-campo);background:var(--surface);color:var(--ink);font-size:var(--t-rotulo)}
.multi-lista[hidden]{display:none}
.nota-resultado{font-size:var(--t-pequeno);color:var(--muted);margin:0 0 var(--e3-5)}

/* Cabeçalho: ajuda "?" e situação da carteira */
.ajuda{position:relative;align-self:center}
.ajuda summary{list-style:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:var(--t-rotulo);font-weight:var(--peso-titulo);cursor:pointer}
.ajuda summary::-webkit-details-marker{display:none}
.ajuda[open] summary{background:var(--selecao);box-shadow:inset 0 0 0 2px var(--primary);color:var(--ink)}
.ajuda-caixa{position:absolute;left:0;top:calc(100% + 8px);z-index:var(--z-ajuda);width:min(380px,calc(100vw - 32px));padding:var(--e3-5) var(--e4);background:var(--surface);border-radius:var(--r-cartao);box-shadow:var(--sombra-2);font-size:var(--t-rotulo);line-height:var(--lh-texto);color:var(--ink);font-weight:var(--peso-leve);letter-spacing:0;text-transform:none}
.estado-carteira{display:inline-flex;align-items:center;gap:var(--e2);font-size:var(--t-rotulo);color:var(--muted)}
.estado-carteira i{width:7px;height:7px;border-radius:50%;background:var(--ok)}

/* Cadastro pelos documentos */
.introducao{max-width:690px;margin-bottom:var(--e5)}
.material{display:grid;gap:var(--e4)}
.escolha-aba{max-width:360px}
.zonas{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--e3-5)}
.zona{display:grid;align-content:start;justify-items:start;gap:var(--e1-5);min-height:170px;padding:var(--e4-5);border:1px dashed var(--campo-borda);border-radius:var(--r-cartao);background:var(--surface);cursor:pointer;transition:background var(--dur-rapida),border-color var(--dur-rapida)}
.zona[hidden]{display:none}
.zona h3{font-size:var(--t-texto);margin:0}
.zona .dica{margin:0 0 var(--e1-5)}
.zona.arrastando,.zona:hover{border-color:var(--primary);background:var(--selecao)}
.zona:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.zona-arquivos{list-style:none;margin:var(--e1-5) 0 0;padding:0;width:100%;display:grid}
.zona-arquivos li{font-size:var(--t-pequeno);padding:var(--e2) 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.zona-arquivos li{display:grid;grid-template-columns:1fr auto;column-gap:var(--e2);align-items:start}
.zona-arquivos li b{font-weight:var(--peso-forte)}
.zona-arquivos li span{grid-column:1/-1;display:block;color:var(--muted)}
.zona-arquivos li.recusado b,.zona-arquivos li.recusado span{color:var(--erro)}
.zona-tirar{border:0;background:none;color:var(--muted);font-size:var(--t-cabecalho);line-height:var(--lh-numero);padding:0 var(--e1);cursor:pointer}
.zona-tirar:hover,.zona-tirar:focus-visible{color:var(--erro)}
.visualmente-oculto{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.anuncio summary{cursor:pointer;font-weight:var(--peso-forte)}
.anuncio[open] summary{margin-bottom:var(--e3)}
.material-rodape{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--e4)}
.conferir{display:grid;align-content:start;gap:var(--e2-5)}
.conferir h3{margin:0}
.manual{font-size:var(--t-pequeno);color:var(--muted);justify-self:center}
.confidencial{background:var(--surface-2)}
@media (max-width:767.98px){.material-rodape{grid-template-columns:1fr}}

/* Escolher o que cadastrar */
.escolhas{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--e3)}
.escolha{display:grid;gap:var(--e1-5);justify-items:start;padding:var(--e5);text-decoration:none;color:var(--ink)}
.escolha:hover{background:var(--surface-2)}
.escolha svg{width:var(--icone-destaque);height:var(--icone-destaque);color:var(--primary)}

/* Ficha: campos de avulso, aluguel e repasse */
.ficha-extra{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--e2-5) var(--e4);margin:var(--e3) 0}
.ficha-extra dt{font-size:var(--t-pequeno);color:var(--muted);font-weight:var(--peso-forte)}
.ficha-extra dd{margin:0}
@media (max-width:640px){.preco-faixa input{width:90px}.multi-opcoes{grid-template-columns:1fr}.filtros-paineis .multi-lista{flex:1 1 100%}}
.multi-lista[hidden]{display:none}
.bloco-confidencial{padding:var(--e3) var(--e3-5);border-radius:var(--r-campo);background:var(--surface-2);box-shadow:inset 3px 0 0 var(--muted);margin:var(--e3) 0}.bloco-confidencial p{margin:var(--e1-5) 0 0}

/* Ficha: o book (ou as fotos) em carrossel, começando pela 1ª página */
.carrossel{position:relative;border-radius:var(--r-cartao);overflow:hidden;background:var(--midia-fundo);aspect-ratio:4/3;display:grid}
.carrossel-trilho,.carrossel-slide{grid-area:1/1;margin:0;display:grid;place-items:center;min-height:0}
.carrossel-slide[hidden]{display:none}
.carrossel-slide img{position:relative;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.carrossel-slide.com-fundo{position:absolute;inset:0;overflow:hidden}
.carrossel-slide.com-fundo img{position:absolute;inset:0;max-width:none;max-height:none}
.carrossel-slide.com-fundo::before{content:"";position:absolute;inset:-40px;background:var(--fundo-foto) center/cover no-repeat;filter:blur(28px) brightness(.85);transform:scale(1.1)}
.carrossel-video{position:relative;width:100%;height:100%}
.carrossel-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--midia-fundo)}
.carrossel-fazendo .carga{min-height:0}
.carrossel-fazendo .carga-txt{color:var(--branco)}
.carga-dica{font-size:var(--t-rotulo);color:var(--texto-sobre-midia-suave)}
.carrossel-seta[hidden],.carrossel.em-video .carrossel-rodape{display:none}
.carrossel.em-video .carrossel-seta{top:42%}
.carrossel .etiqueta{position:absolute;left:12px;top:12px;z-index:2;background:color-mix(in srgb,var(--seg) 22%,var(--branco));color:var(--tinta-sobre-claro)}
.carrossel-seta{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:var(--sobre-midia-claro);color:var(--tinta-sobre-claro);display:grid;place-items:center;cursor:pointer;box-shadow:var(--sombra-2);opacity:.85;transition:opacity var(--dur-rapida)}
.carrossel-seta:hover,.carrossel-seta:focus-visible{opacity:1}
.carrossel-seta svg{width:var(--icone-xg);height:var(--icone-xg)}
.carrossel-seta.anterior{left:10px}.carrossel-seta.proxima{right:10px}
.carrossel-rodape{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:var(--e2-5) var(--e3);background:var(--degrade-midia);color:var(--branco);font-size:var(--t-rotulo);font-weight:var(--peso-forte)}
.carrossel-abrir{display:inline-flex;align-items:center;gap:var(--e1-5);color:var(--branco);text-decoration:none}
.carrossel-abrir svg{width:var(--icone-m);height:var(--icone-m)}

/* Seções da ficha */
.secao-cab{display:flex;align-items:center;gap:var(--e3);flex-wrap:wrap;margin-bottom:var(--e3)}
.secao-cab h2{margin:0 auto 0 0}
.subtitulo{font-size:var(--t-texto);margin:var(--e4) 0 var(--e2);display:flex;gap:var(--e2);align-items:baseline}
.escolher-tudo{display:inline-flex;align-items:center;gap:var(--e2);font-size:var(--t-rotulo);font-weight:var(--peso-forte);cursor:pointer}
.galeria{list-style:none;margin:0;padding:0;display:grid;gap:var(--e2-5);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.galeria.videos{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.midia{position:relative;border-radius:var(--r-campo);overflow:hidden;background:var(--surface-2)}
.midia img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.midia video{display:block;width:100%;aspect-ratio:16/9;background:var(--midia-fundo)}
.midia-escolha{position:absolute;left:8px;top:8px;z-index:2;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-etiqueta);background:var(--sobre-midia-claro-forte);cursor:pointer}
.midia-escolha input{width:17px;height:17px;margin:0;accent-color:var(--primary)}
.midia-excluir{position:absolute;right:8px;top:8px;z-index:2;opacity:0;transition:opacity var(--dur-rapida)}
.midia:hover .midia-excluir,.midia:focus-within .midia-excluir{opacity:1}
.midia-excluir button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:var(--r-etiqueta);background:var(--sobre-midia-claro-forte);color:var(--erro);cursor:pointer}
.midia-excluir svg{width:var(--icone-m);height:var(--icone-m)}
.midia:has(input:checked){outline:3px solid var(--primary);outline-offset:-3px}
.documentos{list-style:none;margin:0;padding:0;display:grid;gap:var(--e1-5)}
.documentos li{display:flex;align-items:center;gap:var(--e2-5);padding:var(--e2) var(--e2-5);background:var(--surface-2);border-radius:var(--r-campo);flex-wrap:wrap}
.documentos li > a:first-of-type{font-weight:var(--peso-forte)}
.documentos li .dica{margin-right:auto}
.documentos input{width:17px;height:17px;accent-color:var(--primary)}
.btn-icone{display:inline-grid;place-items:center;width:34px;height:34px;padding:0}
.btn-icone svg{width:var(--icone);height:var(--icone);margin:0}
details.discreto{margin-top:var(--e3-5)}
details.discreto summary{cursor:pointer;font-size:var(--t-rotulo);color:var(--muted);font-weight:var(--peso-forte)}
details.discreto[open] summary{margin-bottom:var(--e2-5)}
.anuncio-compacto textarea{width:100%;min-height:120px;font-size:var(--t-rotulo);line-height:var(--lh-compacto);resize:vertical;overflow:hidden}
[data-escolher-tudo] svg{width:var(--icone-m);height:var(--icone-m);margin-right:var(--e1)}
[data-escolher-tudo][aria-pressed="true"]{background:var(--surface-2)}
.imovel .obra{font-size:var(--t-rotulo);font-weight:var(--peso-titulo);color:var(--info)}
.imovel .obra.pronto{color:var(--ok)}
.imovel .obra.sem{color:var(--muted);font-weight:var(--peso-forte)}
.obra-destaque{font-size:var(--t-texto);font-weight:var(--peso-titulo)}
.resumo-venda{font-size:var(--t-sub);line-height:var(--lh-texto);margin:var(--e1) 0}
.saiba-mais{margin-top:var(--e4)}
.saiba-mais summary{cursor:pointer;font-weight:var(--peso-titulo);display:flex;align-items:center;gap:var(--e2);list-style:none}
.saiba-mais summary::-webkit-details-marker{display:none}
/* Seção recolhível de formulário (cadastro de cliente): o título é o alvo de toque e a seta gira ao abrir. Sem overflow:hidden e
   sem ::details-content animado: a lista de bairros (.multi-lista) é absoluta e seria cortada. */
.form-secao{margin-top:0}
.form-secao > summary{min-height:var(--toque);justify-content:space-between;font-size:var(--t-destaque)}
.form-secao > summary::after{content:"";flex:none;width:var(--e2);height:var(--e2);border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform var(--dur-rapida)}
.form-secao[open] > summary{margin-bottom:var(--e3)}
.form-secao[open] > summary::after{transform:rotate(-135deg)}
.form-secao > summary small{margin-right:auto;margin-left:var(--e2);font-weight:var(--peso-corpo);color:var(--muted);font-size:var(--t-rotulo)}
.form-paineis{display:grid;gap:var(--gap-grupo);min-width:0}
.form-cliente-topo{margin:0 0 var(--e1)}
.form-lgpd{margin:0}
.texto-organizado{max-width:980px;margin-top:var(--e3)}
.texto-organizado h3{font-size:var(--t-destaque);font-weight:var(--peso-titulo);margin:var(--e5) 0 var(--e1-5);color:var(--bs-heading-color)}
.texto-organizado ul{margin:0 0 var(--e2);padding-left:var(--e5)}
.texto-organizado li{margin:var(--e1) 0;line-height:var(--lh-compacto)}
.texto-organizado p{line-height:var(--lh-compacto);margin:0 0 var(--e2)}
.texto-organizado .tabela-rolar{overflow-x:auto;margin:var(--e1-5) 0 var(--e3)}
.texto-organizado table{font-size:var(--t-rotulo);white-space:nowrap}
.texto-organizado th,.texto-organizado td{padding:var(--e1) var(--e2-5);border-bottom:1px solid var(--bs-border-color)}
.carteira-total{display:flex;align-items:center;gap:var(--e2-5);font-size:var(--t-sub)}
.carteira-total svg.moeda{width:40px;height:40px}
.carteira-total b{font-family:var(--font-display);font-size:2.4rem;line-height:var(--lh-numero)}
.custos-moedas{display:grid;gap:var(--e2);margin:0}
.custos-moedas div{display:flex;justify-content:space-between;gap:var(--e3);border-bottom:1px solid var(--bs-border-color);padding:var(--e1-5) 0}
.custos-moedas dd{margin:0;font-weight:var(--peso-titulo);text-align:right}
.pacote svg.moeda{width:var(--icone-destaque);height:var(--icone-destaque)}
.pacotes{display:flex;flex-wrap:wrap;gap:var(--e3);margin-bottom:var(--e3)}
.pacote{display:grid;gap:var(--e1);padding:var(--e3-5) var(--e4-5);min-width:150px}
/* Carteira de moedas (19/10/2026): três tipos de moeda, pacotes, presença e indicação */
/* Vista única em monitor largo: o bloco para em --vista-max e centraliza (21/10/2026) */
[data-vista-unica]{width:100%;max-width:var(--vista-max);margin-inline:auto}
/* Carteira em uma vista só (20/10/2026, /refinar-tela opção C): faixa do saldo no alto e o resto em abas por intenção.
   A partir de 768 px a página não rola: só o corpo da aba ativa rola por dentro (regra da tela cheia junto da esteira). */
.carteira-vista{display:grid;gap:var(--gap-pagina);min-width:0}
.carteira-faixa{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"total comp acoes" "pres pres pres";align-items:center;gap:var(--e3) var(--e6)}
.carteira-faixa .carteira-total{grid-area:total}
.carteira-composicao{grid-area:comp;display:grid;gap:var(--e2);min-width:0}
.carteira-acoes{grid-area:acoes;display:grid;gap:var(--e2)}
.carteira-faixa .presenca-linha{grid-area:pres;margin:0;padding-top:var(--e2-5);border-top:1px solid var(--line)}
.composicao-saldo{display:flex;gap:var(--e0-5);height:var(--e2-5);border-radius:var(--r-pilula);overflow:hidden;background:var(--surface-2)}
.composicao-saldo span{display:block;flex:0 1 0;min-width:0}
.comp-plano{background:var(--primary)} .comp-ganhas{background:var(--moeda)} .comp-compradas{background:var(--link)}
.legenda-saldo{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--e1) var(--e4);font-size:var(--t-controle)}
.legenda-saldo li{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--e1);min-width:0}
.legenda-saldo i{flex:none;width:var(--e2-5);height:var(--e2-5);border-radius:50%;align-self:center}
.legenda-saldo .rotulo{color:var(--muted)}
.legenda-saldo b{font-family:var(--font-display);font-size:var(--t-destaque)}
.legenda-saldo small{flex-basis:100%;color:var(--muted)}
.carteira-abas{display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--e3);min-width:0}
.carteira-abas .guias{width:auto}
.carteira-abas .guias button{border:0;background:none;padding:var(--e2) var(--e4-5);min-height:var(--toque);border-radius:var(--r-etiqueta);font:inherit;font-weight:var(--peso-forte);color:var(--muted);white-space:nowrap;cursor:pointer;transition:color var(--dur-rapida),background var(--dur-rapida)}
.carteira-abas .guias button:hover{color:var(--ink)}
.carteira-abas .guias button[aria-selected="true"]{background:var(--surface);color:var(--ink)}
.aba-corpo{min-width:0;min-height:0}
.aba-corpo > h2{margin-top:0}
.aba-corpo .pacotes{margin-bottom:var(--e3)}
@media (max-width:767.98px){
  .carteira-faixa{grid-template-columns:minmax(0,1fr);grid-template-areas:"total" "acoes" "comp" "pres"}
  .carteira-acoes{grid-template-columns:1fr 1fr}
}
/* Brilho escalonado dos pacotes (a regra do brilho mora em base.css, junto de svg.moeda) */
.pacote:nth-child(2) .moeda-brilho::after,.pacote-economia:nth-of-type(2) .moeda-brilho::after{animation-delay:calc(var(--dur-brilho) / 6)}
.pacote:nth-child(3) .moeda-brilho::after,.pacote-economia:nth-of-type(3) .moeda-brilho::after{animation-delay:calc(var(--dur-brilho) / 3)}
/* Pacotes em régua (Peri, 20/10/2026, opção C do refino): a moeda de cada pacote contra a moeda do plano, numa linha
   por pacote; a barra mostra quanto ela custa perto da do plano (cheia = mesmo preço). A economia é verde: compensa,
   não pede ação. A conta mora em billing/servicos.py::pacotes_com_economia. */
.regua-economia{display:grid;gap:var(--e3);padding-top:var(--e3);margin-bottom:var(--e3)}
.regua-linha{display:grid;grid-template-columns:minmax(9rem,1.1fr) minmax(8rem,.9fr) minmax(12rem,2fr) minmax(7rem,.8fr) minmax(8rem,auto);gap:var(--e4);align-items:center}
.regua-referencia{padding:0 var(--e3-5);color:var(--muted);font-size:var(--t-controle)}
.regua-referencia .regua-ref-texto{grid-column:1 / 3}
.regua-referencia .regua-trilho{grid-column:3 / 4}
.regua-referencia b{color:var(--ink)}
.regua-trilho{display:block;height:var(--e2);border-radius:var(--r-pilula);background:var(--line);overflow:hidden}
.regua-trilho i{display:block;height:100%;border-radius:var(--r-pilula);background:var(--ok);transform-origin:left}
.regua-trilho i.regua-base{width:100%;background:var(--campo-borda)}
.pacote-economia{position:relative;margin:0;padding:var(--e3) var(--e3-5);background:var(--surface-2);border-radius:var(--r-cartao)}
.pacote-economia.destaque{box-shadow:inset 0 0 0 2px var(--primary)}
.selo-pacote{position:absolute;top:calc(var(--e3) * -1);left:var(--e4);padding:var(--e0-5) var(--e2-5);border-radius:var(--r-pilula);background:var(--primary);color:var(--on-primary);font-size:var(--t-pequeno);font-weight:var(--peso-titulo);line-height:var(--lh-compacto)}
.pacote-qtd{display:flex;align-items:center;gap:var(--e2);font-size:var(--t-controle);color:var(--muted)}
.pacote-qtd b{font-family:var(--font-display);font-size:var(--t-sub);line-height:var(--lh-numero);color:var(--ink)}
.pacote-qtd svg.moeda{width:var(--icone-destaque);height:var(--icone-destaque)}
.pacote-preco{display:grid}
.pacote-preco .preco{font-family:var(--font-display);font-size:var(--t-destaque);line-height:var(--lh-numero)}
.pacote-preco small,.pacote-videos{color:var(--muted);font-size:var(--t-controle)}
.pacote-regua{display:grid;gap:var(--e1-5)}
.pacote-eco{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e1-5);font-size:var(--t-controle)}
.pacote-eco b{color:var(--ok)}
.pacote-eco svg.i{color:var(--ok)}
.pacote-eco small{flex-basis:100%;color:var(--muted);font-size:var(--t-pequeno)}
.pacote-videos{display:flex;align-items:center;gap:var(--e1-5)}
.pacote-economia .btn{width:100%;min-height:var(--toque)}
@media (max-width:767.98px){
  .regua-linha{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"qtd preco" "regua regua" "videos videos" "botao botao";gap:var(--e2) var(--e3)}
  .pacote-qtd{grid-area:qtd} .pacote-preco{grid-area:preco;text-align:right} .pacote-regua{grid-area:regua}
  .pacote-videos{grid-area:videos} .pacote-economia .btn{grid-area:botao}
  .regua-referencia .regua-ref-texto{grid-column:1 / -1} .regua-referencia .regua-trilho{display:none}
  .regua-referencia{order:-2} .pacote-economia.destaque{order:-1}
}
.pacote .preco{font-size:var(--t-destaque);font-weight:var(--peso-titulo)}
.como-funciona h2{display:flex;align-items:center;gap:var(--e2)}
.presenca-linha{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e1) var(--e2-5);margin:0 0 var(--e3);font-size:var(--t-controle)}
.presenca-linha small{color:var(--muted)}
.pontos-presenca{display:inline-flex;gap:var(--e1)}
.pontos-presenca i{width:var(--e2-5);height:var(--e2-5);border-radius:50%;background:var(--surface-2)}
.pontos-presenca i.feito{background:var(--moeda)}
.pontos-presenca i.hoje{box-shadow:0 0 0 2px var(--realce)}
.indicacao-acoes{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--e2)}
.link-indicacao{flex:1 1 260px;min-width:0}
.link-indicacao > *{margin-bottom:0}
.numeros-indicacao{display:flex;flex-wrap:wrap;gap:var(--e1) var(--e4);margin:var(--e3) 0 0;color:var(--muted)}
.numeros-indicacao b{color:var(--ink);font-size:var(--t-destaque)}
.etiquetas-vitrine{margin:0 var(--e3) var(--e1-5);font-size:var(--t-pequeno)}
.lugar-escolha{display:grid;gap:var(--e1-5);justify-items:start}
.lugar-escolha .multi-lista{width:320px}
.lugar-escolha label.fora-da-cidade{display:none}
.lugar-marcados{margin:0}
.estilos-voz{list-style:none;padding:0;margin:var(--e2) 0 0;display:grid;gap:var(--e3)}
.estilos-voz li{display:grid;gap:var(--e1-5);padding:var(--e2-5) var(--e3);background:var(--surface-2);border-radius:var(--r-cartao)}
.estilos-voz form{margin:0}
.anuncio-compacto .chip{min-height:30px;padding:var(--e1) var(--e3) var(--e1) var(--e1-5)}
.anuncio-compacto .chip .marca{width:18px;height:18px}

/* Perfil em uma vista só (21/10/2026, /refinar-tela opção A): faixa com foto, identidade e a régua dos dados do vídeo;
   abas "Dados nos vídeos" e "Acesso e Gmail" (o #gmail do Corry e da volta da conexão abre a segunda) */
.perfil-vista{display:grid;gap:var(--gap-pagina);min-width:0}
.perfil-faixa{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(14rem,22rem);align-items:center;gap:var(--e3) var(--e6);margin:0}
.perfil-identidade{display:grid;gap:var(--e1);min-width:0}
.perfil-identidade h2{margin:0;font-size:var(--t-sub)}
.perfil-identidade .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.perfil-faixa .perfil-foto{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2);min-width:0;margin-top:var(--e1)}
.perfil-foto:has(input:focus-visible) label{outline:2px solid var(--focus);outline-offset:2px}
.perfil-completude{display:grid;gap:var(--e1-5);font-size:var(--t-controle)}
.perfil-completude b{font-family:var(--font-display);font-size:var(--t-destaque)}
.ponto-falta{display:inline-block;width:var(--e2);height:var(--e2);margin-left:var(--e1-5);border-radius:50%;background:var(--laranja);vertical-align:middle} /* precisa de você */
.perfil-acesso{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e8);align-content:start}
.perfil-acesso h2{margin-top:0}
@media (max-width:767.98px){
  .perfil-faixa{grid-template-columns:auto minmax(0,1fr)}
  .perfil-completude{grid-column:1 / -1}
  .perfil-acesso{grid-template-columns:minmax(0,1fr);gap:var(--e6)}
}

/* Detalhes das abas do Perfil (21/10/2026): grupos de campos, o que falta para o vídeo, cartões de acesso e Gmail */
.perfil-dados-cartoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e3);align-items:start;margin-top:var(--e3)}
.perfil-cartao h3{display:flex;align-items:center;gap:var(--e2);margin:0;font-size:var(--t-destaque);font-weight:var(--peso-titulo)}
@media (max-width:767.98px){.perfil-dados-cartoes{grid-template-columns:minmax(0,1fr)}}
.perfil-campo{display:grid;gap:var(--e1);min-width:0}
.perfil-campo > *{margin-bottom:0}
.falta-video{display:inline-flex;align-items:center;gap:var(--e1);color:var(--laranja-texto);font-size:var(--t-pequeno)}
.perfil-salvar{position:sticky;bottom:0;padding:var(--e3) 0 var(--e1);background:var(--surface)}
.perfil-cartao{display:flex;flex-direction:column;gap:var(--e2);padding:var(--e4);border-radius:var(--r-cartao);background:var(--surface-2)}
.perfil-cartao .secao-cab{margin-bottom:0}
.perfil-cartao h2{font-size:var(--t-sub)}
.perfil-seguranca{display:flex;align-items:center;gap:var(--e1-5);margin:var(--e2) 0 0;font-size:var(--t-controle)}
.passos-gmail{margin:0;padding-left:var(--e5);display:grid;gap:var(--e1);font-size:var(--t-controle)}
.pilula.falta{background:var(--laranja-suave);color:var(--laranja-texto)}
.config-exemplo{margin:0;padding:var(--e2) var(--e3);border-radius:var(--r-campo);background:var(--surface-2);font-size:var(--t-controle)}
.config-ouvir{width:100%;max-width:22rem;height:var(--toque)}

/* Configurações em uma vista só (20/10/2026, /refinar-tela opção A): quatro cartões com estado e ação em grade 2x2;
   apagar a conta numa faixa discreta que abre a janela com a senha */
.config-vista{display:grid;gap:var(--gap-pagina);min-width:0}
.config-vista > .dica{margin:0}
.config-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e3)}
.config-cartao{display:flex;flex-direction:column;gap:var(--e2);margin:0}
.config-cartao .dica{flex:1}
.config-cartao .btn{align-self:flex-start}
.config-numeros{display:flex;flex-wrap:wrap;gap:var(--e1) var(--e5);color:var(--muted);font-size:var(--t-controle)}
.config-numeros span{display:inline-flex;align-items:center;gap:var(--e1-5)}
.config-numeros b{font-family:var(--font-display);font-size:var(--t-sub);color:var(--ink);line-height:var(--lh-numero)}
.config-perigo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--e3);padding:var(--e3) var(--e3-5);margin:0}
.config-apagar{display:grid;gap:var(--e2)}
/* Chave (interruptor): o mesmo checkbox, com role="switch"; foco e marcado visíveis */
.chave{position:relative;display:inline-flex;align-items:center;gap:var(--e2-5);min-height:var(--toque);cursor:pointer;font-weight:var(--peso-forte)}
.chave input{position:absolute;opacity:0;width:1px;height:1px}
.chave-trilho{position:relative;flex:none;width:calc(var(--e8) + var(--e1));height:var(--e5);border-radius:var(--r-pilula);background:var(--line-forte);transition:background var(--dur-rapida)}
.chave-trilho::after{content:"";position:absolute;top:var(--e0-5);left:var(--e0-5);width:calc(var(--e5) - var(--e1));height:calc(var(--e5) - var(--e1));border-radius:50%;background:var(--surface);transition:transform var(--dur-rapida)}
.chave input:checked + .chave-trilho{background:var(--ok)}
.chave input:checked + .chave-trilho::after{transform:translateX(calc(var(--e8) - var(--e4)))}
.chave input:focus-visible + .chave-trilho{outline:2px solid var(--focus);outline-offset:2px}
@media (max-width:767.98px){.config-grade{grid-template-columns:minmax(0,1fr)}}

/* Janelas: enviar para cliente e compartilhar */
.dialogo{width:min(520px,calc(100vw - 32px));max-height:min(80vh,680px);border-radius:var(--r-cartao);padding:var(--e5);background:var(--surface);color:var(--ink);box-shadow:var(--sombra-2)}
.dialogo.pequeno{width:min(420px,calc(100vw - 32px))}
.dialogo::backdrop{background:var(--scrim)}
.dialogo-cab{display:flex;align-items:center;justify-content:space-between;gap:var(--e3);margin-bottom:var(--e1-5)}
.dialogo-cab h2{margin:0;font-size:var(--t-sub)}
.dialogo-acoes{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--gap-padrao);margin-top:var(--e4)}
.confirmar-texto{margin:0;color:var(--muted);line-height:var(--lh-texto)}
.dialogo input[type=search]{margin:var(--e2-5) 0}
.lista-clientes{list-style:none;margin:0;padding:0;display:grid;gap:var(--e1-5);max-height:46vh;overflow-y:auto}
.lista-clientes li{display:flex;align-items:center;justify-content:space-between;gap:var(--e2-5);padding:var(--e2-5);background:var(--surface-2);border-radius:var(--r-campo)}
.lista-clientes li[hidden]{display:none}
.lista-clientes li div{display:grid}
.compartilhar-opcoes{display:grid;grid-template-columns:1fr 1fr;gap:var(--e2);margin-top:var(--e3)}
.compartilhar-opcoes .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--e2)}

/* Página do material que o cliente abre */
.publico{background:var(--bg)}
.material-publico{max-width:960px;margin:0 auto;padding:var(--e6) var(--e4) var(--e12);display:grid;gap:var(--e6)}
.material-publico h1,.material-publico h2{font-family:var(--font-serif)} /* o cliente final lê em serifa */
.material-publico h1{font-size:var(--t-numero);margin:var(--e1) 0}
.material-publico video{width:100%;border-radius:var(--r-cartao);background:var(--midia-fundo)}
.material-publico .galeria{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}

/* Fluxo de pagamento da unidade escolhida */
.fluxo-escolha{max-width:560px}
.fluxo-cartao{margin-top:var(--e3-5);max-width:560px;border-radius:var(--r-cartao);padding:var(--e4);display:grid;gap:var(--e2-5);background:var(--surface-2)}
.fluxo-cartao[hidden]{display:none}
.fluxo-cab{display:grid;gap:var(--e0-5)}
.fluxo-linhas{margin:0;display:grid;gap:0}
.fluxo-linhas div{display:flex;justify-content:space-between;gap:var(--e3);padding:var(--e2) 0;border-bottom:1px solid var(--line)}
.fluxo-linhas dt{font-weight:var(--peso-corpo);color:var(--muted)}
.fluxo-linhas dd{margin:0;font-variant-numeric:tabular-nums;font-weight:var(--peso-forte)}
.fluxo-total{display:flex;justify-content:space-between;font-size:var(--t-sub);padding-top:var(--e1)}
.fluxo-total b{font-variant-numeric:tabular-nums}
.fluxo-conferencia{margin:0;font-size:var(--t-pequeno);font-weight:var(--peso-forte)}.fluxo-conferencia.ok{color:var(--ok)}.fluxo-conferencia.erro{color:var(--erro)}

/* Voz dos vídeos */
.voz-explica ul{margin:var(--e2) 0}
.voz-passos{display:grid;gap:var(--e4-5);padding-left:var(--e5);margin:var(--e3) 0}
.voz-passos li{display:grid;gap:var(--e2)}
.voz-texto{margin:0;padding:var(--e3-5) var(--e4);border-left:4px solid var(--primary);background:var(--surface-2);border-radius:var(--r-campo);font-size:var(--t-sub);line-height:var(--lh-texto)}
.voz-tempo{font-weight:var(--peso-forte);color:var(--erro)}
.vozes-prontas{list-style:none;margin:0;padding:0;display:grid;gap:var(--e2)}
.vozes-prontas li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2-5);padding:var(--e2-5) var(--e3);background:var(--surface-2);border-radius:var(--r-campo)}
.vozes-prontas li > div{margin-right:auto}
.vozes-prontas audio{flex-basis:100%}
.voz-depois{justify-content:center;margin-top:var(--e2)}
.par-fotos{display:grid;grid-template-columns:1fr 1fr;gap:var(--e2-5);margin-top:var(--e3)}
.par-fotos figure{margin:0}
.par-fotos figcaption{display:flex;align-items:center;justify-content:space-between;gap:var(--e2);padding:var(--e2) var(--e2-5);font-size:var(--t-rotulo)}
.par-fotos figcaption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gerar-video{display:flex;align-items:center;gap:var(--e2-5)}

/* ---------- Documentação ---------- */
.campo[hidden],.caixa[hidden]{display:none}
.doc-novo{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2-5)}
.doc-novo .form-select{flex:1 1 240px;max-width:420px}
.doc-lista{list-style:none;margin:0 0 var(--e3);padding:0;display:grid;gap:var(--e2-5)}
.doc-lista a.cartao{color:inherit;text-decoration:none}
.doc-itens{list-style:none;margin:0;padding:0;display:grid}
.doc-item{display:grid;grid-template-columns:auto 1fr auto;gap:var(--e3);align-items:start;padding:var(--e3) 0;border-top:1px solid var(--line)}
.doc-item:first-child{border-top:0}
.doc-marca svg.i{width:var(--icone-xg);height:var(--icone-xg);color:var(--laranja-texto)}
.doc-item.ok .doc-marca svg.i{color:var(--ok)}
.doc-item.opcional .doc-marca svg.i{color:var(--muted)}
.doc-corpo{display:grid;gap:var(--e1);min-width:0}
.doc-arquivos{list-style:none;margin:0;padding:0;display:grid;gap:var(--e0-5);font-size:var(--t-rotulo)}
.doc-arquivos li{display:flex;align-items:center;gap:var(--e2);min-width:0}
.doc-arquivos a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--link)}
.doc-subir label{cursor:pointer;white-space:nowrap}

/* Documentação em uma vista só (21/10/2026, /refinar-tela opção B): faixa da pasta com o quanto já está guardado; à
   esquerda o que precisa de você (falta, reprovado, simulação), à direita as abas Guardado, Lista e Envios */
.doc-vista{display:grid;gap:var(--gap-pagina);min-width:0}
.doc-vista > .dica{margin:0}
/* Faixa em linha que quebra (não grade fixa): ao lado da lista lateral, de 768 a ~1200 px, a régua desce inteira em vez de esmagar o nome */
.doc-faixa{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e3) var(--e6);margin:0}
.doc-faixa-nome{display:grid;gap:var(--e0-5);min-width:0;flex:1 1 14rem}
.doc-faixa-nome h2{margin:0;font-size:var(--t-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-faixa-nome .muted{font-size:var(--t-controle)}
.doc-faixa-regua{display:grid;gap:var(--e1-5);font-size:var(--t-controle);flex:1 1 12rem;max-width:18rem}
.doc-faixa-regua b{font-family:var(--font-display);font-size:var(--t-destaque)}
.doc-faixa-acoes{display:flex;flex-wrap:wrap;gap:var(--e2);justify-content:flex-end;margin-left:auto}
.doc-colunas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e3);min-width:0}
.doc-fila{display:flex;flex-direction:column;gap:var(--e2);margin:0}
.doc-fila-cab{display:grid;gap:var(--e1);padding:var(--e3) var(--e4);border-radius:var(--r-cartao);background:var(--laranja-suave);color:var(--laranja-texto)}  /* precisa de você */
.doc-fila-cab h3{margin:0;display:flex;align-items:baseline;gap:var(--e2);font-size:var(--t-destaque)}
.doc-fila-cab h3 .num{font-family:var(--font-display);font-size:var(--t-numero);line-height:var(--lh-numero)}
.doc-fila-cab span{font-size:var(--t-controle);color:var(--ink)}
.doc-fila .alerta{margin:0}
.doc-rola{display:grid;gap:var(--e2);align-content:start;min-height:0}
.doc-depois > summary{display:flex;align-items:center;gap:var(--e2);min-height:var(--toque);cursor:pointer;font-weight:var(--peso-forte);color:var(--muted)}
.doc-pessoa-titulo{margin:var(--e3) 0 0;font-size:var(--t-rotulo);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.doc-pessoa-titulo:first-child{margin-top:0}
@media (min-width:768px){
  [data-vista-unica] > .mestre-detalhe{flex:1 1 0;min-height:0;grid-template-rows:minmax(0,1fr);align-items:stretch}
  [data-vista-unica] .md-lista{position:static;max-height:none;min-height:0}
  [data-vista-unica] .md-detalhe{grid-template-rows:auto minmax(0,1fr);min-height:0}
  [data-vista-unica] .doc-colunas{min-height:0}
  [data-vista-unica] .doc-fila,[data-vista-unica] .doc-abas{min-height:0}
  [data-vista-unica] .doc-rola{flex:1 1 auto;overflow:auto;overscroll-behavior:contain}
}
@media (max-width:767.98px){
  .doc-colunas{grid-template-columns:minmax(0,1fr)}
  .doc-faixa{flex-direction:column;align-items:stretch}
  .doc-faixa-regua{max-width:none}
  .doc-faixa-acoes{justify-content:flex-start;margin-left:0}
}
.filtros a.chip{text-decoration:none}
.cartao-mapa .cm-acertar{width:100%}
.erro-texto{color:var(--erro)}

/* ---------- Esteira (proposta do Correta Autônomo, 01/10) ---------- */
.esteira-topo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--e2-5);margin-bottom:var(--e3)}
/* Abas das telas no mesmo desenho das abas de Imóveis: texto com sublinhado na escolhida */
.visoes{display:inline-flex;gap:var(--e3);padding:0;background:none;border-radius:0;max-width:100%;overflow-x:auto;scrollbar-width:none}
.visoes a{display:flex;align-items:center;min-height:calc(var(--e12) - var(--e1));padding:var(--e2) var(--e3);border-radius:0;font-size:var(--t-texto);font-weight:var(--peso-forte);color:var(--muted);text-decoration:none;white-space:nowrap;box-shadow:inset 0 calc(-1 * var(--e0-5)) transparent}
.visoes a:hover{color:var(--ink)}
.visoes a[aria-selected="true"]{background:none;color:var(--ink);box-shadow:inset 0 calc(-1 * var(--e0-5)) var(--realce)}
.contadores{display:flex;flex-wrap:wrap;gap:var(--e1-5)}
.contador{display:inline-flex;align-items:baseline;gap:var(--e1-5);padding:var(--e1-5) var(--e3);border-radius:var(--r-pilula);background:var(--surface-2);color:var(--muted);font-size:var(--t-rotulo);text-decoration:none}
.contador b{color:var(--ink);font-size:var(--t-texto)}
.contador.ativo{background:color-mix(in srgb,var(--primary) 14%,var(--surface));box-shadow:inset 0 0 0 2px var(--primary)}
.contador.alerta b{color:var(--erro)}
.selo-dias{flex:none;padding:1px var(--e2);border-radius:var(--r-pilula);background:var(--surface-2);color:var(--muted);font-size:var(--t-sobre);font-weight:var(--peso-titulo)}
.selo-dias.vermelho{background:var(--erro);color:var(--on-primary)}
.ponto-tarefa{flex:none;width:9px;height:9px;border-radius:50%;background:var(--laranja)}
.cartao .linha a{color:var(--link)}
.trilho{display:flex;gap:var(--e1-5);margin-top:var(--e0-5)}
.trilho i{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--line-forte);background:transparent}
.trilho i.cheia{background:var(--primary);border-color:var(--primary)}
.ficha-esteira{display:grid;gap:var(--e2-5);margin-top:var(--e1-5);padding-top:var(--e3);border-top:1px solid var(--line)}
.passos{display:flex;flex-wrap:wrap;gap:var(--e1-5)}
.passo{border:0;display:inline-flex;align-items:center;gap:var(--e1-5);padding:var(--e1-5) var(--e3);border-radius:var(--r-pilula);background:var(--surface-2);color:var(--muted);font-size:var(--t-rotulo);font-weight:var(--peso-forte);cursor:pointer}
.passo i{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--line-forte)}
.passo.cheio{color:var(--ink);box-shadow:inset 0 0 0 2px var(--primary)}
.passo.cheio i{background:var(--primary);border-color:var(--primary)}
.rodape-cartao{display:flex;align-items:center;gap:var(--e1-5)}
.rodape-cartao .trilho{flex:1;margin:0}

/* ---------- Simulador (01/10): duas entradas e o resultado pronto ---------- */
.sim-modos{margin:0}

/* Simulador em uma vista só (21/10/2026, /refinar-tela opção C): coluna centrada; na principal, faixa com o cliente,
   a régua dos dados principais e o Gerar, os campos em três passos com pílula e a tira de conferência; no resultado,
   faixa com a parcela e as ações e as abas Conferir, Mandar e Guardar; na lista, abas que filtram a tabela */
.sim-vista{display:grid;gap:var(--gap-pagina);min-width:0;max-width:calc(var(--vista-max) * .75);margin-inline:auto}
.sim-faixa{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:var(--e3) var(--e6);margin:0}
.sim-faixa-quem,.sim-faixa-regua{display:grid;gap:var(--e1-5);min-width:0}
.sim-faixa-quem .form-grade{margin:0}
.sim-escolher{display:grid;gap:var(--e1)}
.sim-faixa-meta{margin:0;font-size:var(--t-controle);color:var(--muted)}
.sim-faixa-meta b{color:var(--ink)}
.sim-regua{display:grid;gap:var(--e1-5);font-size:var(--t-controle)}
.sim-regua b{font-family:var(--font-display);font-size:var(--t-destaque)}
.sim-aviso{margin:0;font-size:var(--t-controle);color:var(--muted)}
.sim-faixa-acao{display:grid;gap:var(--e1);justify-items:end;text-align:right}
.sim-passos{display:flex;flex-direction:column;gap:var(--e3)}
.sim-passos .guias button .pilula:empty{display:none}
.sim-passo-titulo{display:none;margin:0 0 var(--e2);font-size:var(--t-destaque)}
.sim-tira{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--e2);padding-top:var(--e3);border-top:1px solid var(--line)}
.sim-gerar-fim{display:none}  /* no celular o botão do alto fica longe de quem preencheu os passos: repete no fim */
.sim-tira-item{display:grid;gap:var(--e0-5);min-height:var(--toque);padding:var(--e1-5) var(--e2-5);border:0;border-radius:var(--r-campo);background:var(--surface-2);font:inherit;text-align:left;color:var(--ink);cursor:pointer;min-width:0}
.sim-tira-item span{font-size:var(--t-pequeno);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sim-tira-item b{font-size:var(--t-controle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sim-tira-item.em-branco b{color:var(--muted);font-weight:var(--peso-corpo)}
.sim-tira-item:hover{background:color-mix(in srgb,var(--surface-2) 85%,var(--ink))}
.sim-faixa-resultado{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"parcela acoes" "parcela contratual" "meta meta" "elo elo"}
.sim-parcela{grid-area:parcela;display:grid;gap:var(--e1)}
.sim-parcela .numero-grande{font-family:var(--font-display);font-size:var(--t-numero);line-height:var(--lh-numero)}
.sim-faixa-acoes{grid-area:acoes;display:flex;flex-wrap:wrap;gap:var(--e2);justify-content:flex-end}
.sim-faixa-acoes form{margin:0}
.sim-contratual{grid-area:contratual;display:flex;align-items:center;justify-content:flex-end;gap:var(--e2);margin:0;font-size:var(--t-controle);color:var(--muted)}
.sim-faixa-resultado .sim-faixa-meta{grid-area:meta}
.sim-elo{grid-area:elo;display:inline-flex;align-items:center;gap:var(--e2);justify-self:start;min-height:var(--toque);color:var(--laranja-texto);font-weight:var(--peso-forte)}  /* precisa de você */
.sim-notas{display:grid;gap:var(--e2);margin-top:var(--e3)}
.sim-notas .dica,.sim-notas .alerta{margin:0}
.sim-mandar:not([hidden]),.sim-guardar:not([hidden]){display:grid;gap:var(--e3);align-content:start}
.sim-mandar .fila{margin:0}
.sim-difs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:var(--e2);margin:0}
.sim-difs div{background:var(--surface);border-radius:var(--r-campo);padding:var(--e2) var(--e3)}
.sim-difs dt{font-size:var(--t-pequeno);color:var(--muted)}
.sim-difs dd{margin:0;font-weight:var(--peso-forte)}
.sim-excluir{margin:0}
.carteira-abas .guias button[aria-pressed="true"]{background:var(--surface);color:var(--ink)}
.sim-tabela thead th{position:sticky;top:0;z-index:1;background:var(--surface)}
.sim-tabela .num{text-align:right;white-space:nowrap}
/* No celular a tabela rola de lado dentro do bloco, não a página (o .tabela-rolagem em volta quebraria o cabeçalho fixo do computador) */
.sim-guardadas .aba-corpo{overflow-x:auto}
@media (min-width:768px){
  [data-vista-unica] > .sim-passos,[data-vista-unica] > .sim-abas,[data-vista-unica] > .sim-guardadas{flex:1 1 0;min-height:calc(var(--toque) * 6)}
  .sim-passos > [role="tabpanel"]{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain}
}
@media (max-width:767.98px){
  .sim-faixa,.sim-faixa-resultado{grid-template-columns:minmax(0,1fr);grid-template-areas:none}
  .sim-faixa-resultado > *{grid-area:auto}
  .sim-faixa-acao{justify-items:stretch;text-align:left}
  .sim-faixa-acoes,.sim-contratual{justify-content:flex-start}
  .sim-passos > .guias,.sim-abas > .guias,.sim-tira{display:none}  /* no celular os passos empilham com título */
  .sim-passos > [role="tabpanel"]:not([hidden]),.sim-abas > [role="tabpanel"]:not([hidden]){display:grid;gap:var(--e3);align-content:start}  /* o JS tira o hidden no celular ([data-abas-empilham]) */
  .sim-passo-titulo{display:block}
  .sim-gerar-fim{display:grid}
}

/* Documentação: o cartão do cliente abre no lugar e mostra o que tem (check) e o que falta (atenção) */
.doc-cliente{display:block;padding:0;overflow:hidden;transition:background var(--dur-media),box-shadow var(--dur-media)}
.doc-cliente>summary{display:grid;gap:var(--e1);list-style:none;cursor:pointer;padding:var(--e3-5) var(--e4-5)}
.doc-cliente>summary::-webkit-details-marker{display:none}
.doc-cliente>summary .topo{display:flex;justify-content:space-between;align-items:center;gap:var(--e3)}
.doc-cliente[open]{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--realce);margin:var(--e2) 0 var(--e3-5)}
.doc-cliente::details-content{block-size:0;overflow:hidden;transition:block-size var(--dur-media),content-visibility var(--dur-media) allow-discrete}
.doc-cliente[open]::details-content{block-size:auto}
.doc-lista{interpolate-size:allow-keywords}
.doc-lista>li{transition:margin var(--dur-media)}
.doc-resumo{padding:var(--e1) var(--e4-5) var(--e4-5);border-top:1px solid var(--line);display:grid;gap:var(--e2)}
.doc-resumo h4{margin:var(--e2-5) 0 0;font-size:var(--t-rotulo);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.doc-checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--e1-5) var(--e4-5)}
.doc-checklist li{display:flex;align-items:center;gap:var(--e2)}
.doc-checklist svg.i{width:var(--icone);height:var(--icone);flex:none}
.doc-checklist li.ok svg.i{color:var(--ok)}
.doc-checklist li.falta svg.i{color:var(--laranja-texto)}
.doc-resumo .btn{justify-self:start;margin-top:var(--e1-5)}

/* Corry: o robozinho assistente (a casinha da logo), em todas as telas; arrasta para qualquer lugar */
.corry{position:fixed;right:18px;bottom:14px;z-index:var(--z-corry)}
.corry[hidden]{display:none}
.corry-botao{position:relative;width:74px;height:96px;border:0;padding:0;background:none;cursor:grab;touch-action:none;filter:var(--sombra-corry)}
.corry-botao:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-grande)}
.corry.arrastando .corry-botao{cursor:grabbing}
:root[data-theme="dark"] .corry-botao,:root[data-theme="dark"] .corry-voltar{filter:var(--sombra-corry-escuro)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .corry-botao,:root:not([data-theme="light"]) .corry-voltar{filter:var(--sombra-corry-escuro)}}
.corry.arrastando .corry-robo{transform:rotate(-8deg) scale(1.06)}
.corry-robo{width:100%;height:100%;display:block;overflow:visible;transition:transform var(--dur-media)}
.corry-robo .sombra{fill:var(--sidebar);opacity:.22;transform-box:fill-box;transform-origin:center;animation:corry-sombra 3.2s ease-in-out infinite}
.corry-robo .corpo{animation:corry-flutuar 3.2s ease-in-out infinite}
.corry-robo .olhos{transform-box:fill-box;transform-origin:center;animation:corry-piscar 5s infinite}
.corry-robo .pino{transform-box:fill-box;transform-origin:50% 100%;animation:corry-pino 3.2s ease-in-out infinite}
.corry-robo .braco-d{transform-box:fill-box;transform-origin:50% 10%}
.corry-botao:hover .braco-d,.corry-voltar:hover .braco-d{animation:corry-acenar .9s ease-in-out 2}
.corry.htmx-request .corry-robo .pino{animation:corry-pensar .5s ease-in-out infinite alternate}
.corry.htmx-request .corry-robo .olhos{transform:translateY(-2px)}
@keyframes corry-flutuar{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes corry-sombra{0%,100%{transform:scaleX(1);opacity:.22}50%{transform:scaleX(.8);opacity:.14}}
@keyframes corry-piscar{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes corry-pino{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
@keyframes corry-acenar{0%,100%{transform:rotate(0)}30%{transform:rotate(-55deg)}60%{transform:rotate(-25deg)}}
@keyframes corry-pensar{to{transform:translateY(-4px) scale(1.12)}}
.corry-voltar{position:fixed;right:-22px;bottom:90px;z-index:var(--z-corry);width:48px;height:62px;border:0;padding:0;background:none;cursor:pointer;opacity:.75;transition:right var(--dur-media),opacity var(--dur-media)}
.corry-voltar[hidden]{display:none}
.corry-voltar:hover,.corry-voltar:focus-visible{right:-4px;opacity:1}
.corry-janela{position:fixed;left:auto;top:auto;width:min(380px,calc(100vw - 16px));height:min(560px,calc(100vh - 140px));display:flex;flex-direction:column;background:var(--bg);border-radius:var(--r-grande);box-shadow:var(--sombra-2);overflow:hidden}
.corry-janela[hidden]{display:none}
.corry-topo{display:flex;align-items:center;gap:var(--e2);padding:var(--e2) var(--e2-5);background:var(--primary);color:var(--on-primary)}
.corry-rosto{width:40px;height:46px;flex:none;display:block;background:var(--on-primary);border-radius:var(--r-cartao);padding:var(--e1)}
.corry-rosto .corry-robo .corpo,.corry-rosto .corry-robo .sombra{animation:none}
.corry-topo div{flex:1;display:grid;line-height:var(--lh-titulo)}
.corry-topo small{opacity:.8;font-size:var(--t-pequeno)}
.corry-topo form{margin:0}
.corry-icone{background:none;border:0;color:inherit;padding:var(--e1-5);border-radius:var(--r-campo);cursor:pointer}
.corry-icone:hover{background:color-mix(in srgb, currentColor 15%, transparent)}
.corry-icone svg.i{width:var(--icone);height:var(--icone)}
.corry-msgs{flex:1;overflow-y:auto;padding:var(--e3-5);display:flex;flex-direction:column;gap:var(--e2-5)}
.corry-msg{max-width:88%;align-self:flex-start;background:var(--surface);border-radius:var(--r-cartao) var(--r-cartao) var(--r-cartao) var(--e1);padding:var(--e2) var(--e3);display:grid;gap:var(--e2)}
.corry-msg p{margin:0}
.corry-msg.eu{align-self:flex-end;background:var(--primary);color:var(--on-primary);border-radius:var(--r-cartao) var(--r-cartao) var(--e1) var(--r-cartao)}
.corry-sugestoes{display:flex;flex-wrap:wrap;gap:var(--e1-5)}
.corry-sugestoes button{border:0;background:var(--surface-2);color:var(--ink);border-radius:var(--r-pilula);padding:var(--e1) var(--e2-5);font-size:var(--t-rotulo);cursor:pointer;text-align:left}
.corry-sugestoes button:hover{box-shadow:inset 0 0 0 2px var(--primary)}
.corry-imoveis{display:grid;gap:var(--e1-5)}
.corry-imovel{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--e2-5);align-items:center;padding:var(--e1-5);border-radius:var(--r-campo);color:inherit;text-decoration:none;background:var(--surface-2)}
.corry-imovel:hover{box-shadow:inset 0 0 0 2px var(--primary)}
.corry-imovel img,.corry-imovel .sem-capa{width:56px;height:56px;border-radius:var(--r-campo);object-fit:cover;display:grid;place-items:center;background:var(--surface-2)}
.corry-imovel span{display:grid;min-width:0}
.corry-imovel b,.corry-imovel small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.corry-imovel small{color:var(--muted);font-size:var(--t-rotulo)}
.corry-tarefa{display:grid;gap:var(--e2);padding:var(--e2);background:var(--surface-2);border-radius:var(--r-campo)}
.corry-tarefa>div{display:flex;gap:var(--e2);align-items:flex-start}
.corry-tarefa>div span{display:grid}
.corry-tarefa small{color:var(--muted)}
.corry-tarefa.cancelada{opacity:var(--op-apagado)}
.corry-link{font-weight:var(--peso-forte);display:inline-flex;align-items:center;gap:var(--e1)}
.corry-link svg.i{width:var(--icone-m);height:var(--icone-m)}
.corry-pensando{display:none;gap:var(--e1);padding:0 var(--e4-5) var(--e2)}
.corry.htmx-request .corry-pensando{display:flex}
.corry-pensando i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:corry-pulo 1s infinite}
.corry-pensando i:nth-child(2){animation-delay:.15s}
.corry-pensando i:nth-child(3){animation-delay:.3s}
@keyframes corry-pulo{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}
.corry-campo{display:flex;gap:var(--e2);padding:var(--e2-5);border-top:1px solid var(--line)}
.corry-campo input{flex:1;min-width:0;border:1px solid var(--campo-borda);border-radius:var(--r-pilula);padding:var(--e2) var(--e3-5);background:var(--surface);color:var(--ink)}
.corry-campo input:focus{outline:2px solid var(--focus);border-color:transparent}
.corry-enviar{border:0;border-radius:50%;width:38px;height:38px;flex:none;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;cursor:pointer}
.corry-enviar svg.i{width:var(--icone);height:var(--icone)}
@media (max-width:767.98px){.corry{right:10px;bottom:calc(70px + env(safe-area-inset-bottom))}.corry-botao{width:60px;height:78px}}
@media (prefers-reduced-motion:reduce){.corry-robo .corpo,.corry-robo .sombra,.corry-robo .olhos,.corry-robo .pino,.corry-botao:hover .braco-d,.corry.htmx-request .corry-robo .pino,.corry-pensando i{animation:none}}

/* Paginação da lista de imóveis (12 por página) */
.paginacao{display:flex;justify-content:center;align-items:center;gap:var(--e1-5);margin:var(--e4) 0 var(--e3);flex-wrap:wrap}
.paginacao a,.paginacao span{min-width:38px;height:38px;padding:0 var(--e2-5);border-radius:var(--r-campo);display:grid;place-items:center;font-weight:var(--peso-forte);text-decoration:none;color:var(--ink);background:var(--surface-2)}
.paginacao a:hover{box-shadow:inset 0 0 0 2px var(--primary);color:var(--primary)}
.paginacao .atual{background:var(--primary);color:var(--on-primary)}
.paginacao .desligada{opacity:.35}
.paginacao .reticencias{border:0;background:none;min-width:auto}
.paginacao svg{width:var(--icone);height:var(--icone)}

/* Financeiro: o mês do corretor autônomo */
/* Financeiro numa vista só (21/10/2026, /refinar-tela opção B): faixa com o mês, os números e as categorias numa barra;
   embaixo, "A receber" (age) e "Extrato do mês" (consulta), cada um rolando por dentro */
.fin-vista{display:grid;gap:var(--gap-pagina);min-width:0}
.fin-faixa{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--e3) var(--e6);align-items:center;margin:0}
.fin-faixa .fin-mes{margin:0}
.fin-faixa .fin-mes h2{min-width:0;font-size:var(--t-sub)}
.fin-faixa .fin-numeros{margin:0}
.fin-onde{grid-column:1 / -1;display:grid;gap:var(--e1-5);padding-top:var(--e3);border-top:1px solid var(--line)}
.fin-empilha span{background:color-mix(in srgb,var(--realce) 100%,var(--surface))}
.fin-empilha span:nth-child(6n+2),.fin-legenda li:nth-child(6n+2) i{background:color-mix(in srgb,var(--realce) 75%,var(--surface))}
.fin-empilha span:nth-child(6n+3),.fin-legenda li:nth-child(6n+3) i{background:color-mix(in srgb,var(--realce) 55%,var(--surface))}
.fin-empilha span:nth-child(6n+4),.fin-legenda li:nth-child(6n+4) i{background:color-mix(in srgb,var(--realce) 40%,var(--surface))}
.fin-empilha span:nth-child(6n+5),.fin-legenda li:nth-child(6n+5) i{background:color-mix(in srgb,var(--realce) 28%,var(--surface))}
.fin-empilha span:nth-child(6n+6),.fin-legenda li:nth-child(6n+6) i{background:color-mix(in srgb,var(--realce) 18%,var(--surface))}
.fin-empilha span{transform-origin:left}
.fin-legenda{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--e1) var(--e4);font-size:var(--t-controle)}
.fin-legenda li{display:inline-flex;align-items:center;gap:var(--e1-5)}
.fin-legenda i{width:var(--e2-5);height:var(--e2-5);border-radius:50%;background:var(--realce)}
.fin-legenda svg.i{width:var(--icone-m);height:var(--icone-m);color:var(--muted)}
.fin-fixos{justify-self:start;font-size:var(--t-controle)}
.fin-blocos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--e3);min-height:0}
.fin-bloco{display:flex;flex-direction:column;gap:var(--e2);min-height:0;margin:0}
.fin-bloco .secao-cab{margin-bottom:0}
.fin-rola{flex:1 1 auto;min-height:0;overflow:auto}
.fin-rodape{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--e2);padding-top:var(--e2);border-top:1px solid var(--line)}
@media (min-width:768px){
  [data-vista-unica] > .fin-blocos{flex:1 1 0;min-height:calc(var(--toque) * 6)}
}
@media (max-width:767.98px){
  .fin-faixa{grid-template-columns:minmax(0,1fr)}
  .fin-blocos{grid-template-columns:minmax(0,1fr)}
}
.fin-mes{display:flex;align-items:center;gap:var(--e2);margin-bottom:var(--e3)}
.fin-mes h2{margin:0;min-width:200px;text-align:center;font-size:var(--t-cabecalho)}
.fin-numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--e3);margin-bottom:var(--e3)}
.fin-num{background:var(--surface);border-radius:var(--r-cartao);padding:var(--e4) var(--e4-5);display:grid;gap:var(--e1)}
.fin-num span{color:var(--muted);font-weight:var(--peso-forte);font-size:var(--t-rotulo)}
.fin-num b{font-family:var(--font-display);font-size:var(--t-numero);line-height:var(--lh-numero);font-variant-numeric:tabular-nums}
.fin-num small{color:var(--muted);font-size:var(--t-rotulo);min-height:1em}
.fin-num.entrou b{color:var(--ok)}
.fin-num.saiu b{color:var(--erro)}
.fin-num.sobrou{background:var(--primary);color:var(--on-primary)}
.fin-num.sobrou span,.fin-num.sobrou small{color:var(--on-primary);opacity:.8}
.fin-num.sobrou.negativo{background:var(--erro)}
.fin-colunas{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--e3);margin-bottom:var(--e3)}
.fin-colunas .painel{margin:0}
.fin-categorias{list-style:none;margin:0 0 var(--e3);padding:0;display:grid;gap:var(--e2-5)}
.fin-categorias li{display:grid;grid-template-columns:1fr auto;gap:var(--e1) var(--e3);align-items:center}
.fin-cat-nome{display:flex;align-items:center;gap:var(--e2);font-weight:var(--peso-forte)}
.fin-cat-nome svg.i{width:var(--icone);height:var(--icone);color:var(--muted)}
.fin-barra{grid-column:1/-1;width:100%;height:8px;appearance:none;border:0;border-radius:var(--r-pilula);background:var(--surface-2);overflow:hidden}
.fin-barra::-webkit-progress-bar{background:var(--surface-2);border-radius:var(--r-pilula)}
.fin-barra::-webkit-progress-value{background:var(--realce);border-radius:var(--r-pilula)}
.fin-barra::-moz-progress-bar{background:var(--realce);border-radius:var(--r-pilula)}
.fin-lista{list-style:none;margin:0 0 var(--e3);padding:0;display:grid}
.fin-lista li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--e3);align-items:center;padding:var(--e2-5) 0;border-top:1px solid var(--line)}
.fin-lista li:first-child{border-top:0}
.fin-lista li>span{display:grid;min-width:0}
.fin-lista small{color:var(--muted)}
.fin-lista form{margin:0}
.fin-lista li.parado{opacity:var(--op-apagado)}
.fin-lancamentos{list-style:none;margin:0;padding:0;display:grid}
.fin-lancamentos li{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;gap:var(--e3);align-items:center;padding:var(--e2-5) 0;border-top:1px solid var(--line)}
.fin-lancamentos li:first-child{border-top:0}
.fin-icone{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2)}
.fin-icone svg.i{width:var(--icone);height:var(--icone);color:var(--muted)}
.fin-lancamentos li.entrada .fin-icone{background:var(--ok-bg)}
.fin-lancamentos li.entrada .fin-icone svg.i,.fin-lancamentos li.entrada .fin-valor{color:var(--ok)}
.fin-texto{display:grid;min-width:0;color:inherit;text-decoration:none}
.fin-texto b,.fin-texto small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fin-texto small{color:var(--muted)}
.fin-texto:hover b{text-decoration:underline}
.fin-lancamentos li.previsto{opacity:.75}
.fin-lancamentos form{margin:0}
.fin-lancamentos button.pilula{border:0;cursor:pointer}
.fin-divisoes{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}  /* parceiro e a parte dele, par a par */
.fin-tabela .num{text-align:right;white-space:nowrap}

/* Campos alinhados (21/10/2026): cada campo ocupa três linhas da grade por subgrid (rótulo, campo, ajuda ou erro),
   então na mesma fileira rótulos e campos ficam na mesma altura mesmo com rótulo de duas linhas, ajuda ou erro
   embaixo. A caixa de marcar vai num .campo-caixa com a linha do rótulo vazia, na altura do campo. */
.form-grade.alinhada{row-gap:0}
.form-grade.alinhada > .campo{grid-row:span 3;grid-template-rows:subgrid;row-gap:var(--e1-5);padding-bottom:var(--e3)}
.form-grade.alinhada > .campo > label,.form-grade.alinhada > .campo > .rotulo-campo{align-self:end}
.campo-caixa > .caixa{align-self:center}  /* no meio da linha dos campos */

/* Filhas do Financeiro em uma vista só (21/10/2026, /refinar-tela opção A): faixa no alto com o que define a tela
   (os campos principais ou três números) e, embaixo, cartões tonais ou dois blocos lado a lado que rolam por dentro */
.fin-filha{display:grid;gap:var(--gap-pagina);min-width:0}
.fin-filha-form{display:flex;flex-direction:column;gap:var(--gap-pagina);min-width:0}
.fin-filha-faixa{margin:0}
.fin-filha-faixa .fin-numeros{margin:0}
.fin-filha-linha{grid-template-columns:auto repeat(3,minmax(0,1fr))}
.fin-filha-linha > .campo-opcoes{grid-column:auto}
.fin-comissao-faixa{display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,16rem);gap:var(--e3) var(--e6);align-items:center}
.fin-comissao-faixa .fin-filha-linha{grid-template-columns:repeat(4,minmax(0,1fr))}
.fin-filha-aviso{grid-column:1 / -1;display:flex;align-items:flex-start;gap:var(--e2);margin:0}
.fin-sua-parte{background:var(--surface-2)}
.fin-sua-parte.negativo b{color:var(--erro)}
.fin-num-texto{font-size:var(--t-destaque);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fin-filha-corpo{display:flex;flex-direction:column;gap:var(--e3);margin:0;min-height:0}
.fin-filha-cartoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e3);align-items:start;min-height:0;overflow:auto}
.fin-filha-salvar{position:sticky;bottom:0;margin:0;padding:var(--e3) 0 var(--e1);background:var(--surface)}
.fin-blocos.iguais{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:768px){
  [data-vista-unica] > .fin-filha-form{flex:1 1 0;min-height:0}
  .fin-filha-form > .fin-filha-corpo{flex:1 1 0}
}
@media (max-width:767.98px){
  .fin-filha-linha,.fin-comissao-faixa,.fin-comissao-faixa .fin-filha-linha,.fin-filha-cartoes,.fin-blocos.iguais{grid-template-columns:minmax(0,1fr)}
}

/* Bom dia do Corry (tela inicial): balão ancorado no avatar e pontinho de recado */
.corry-balao{position:absolute;bottom:calc(100% + var(--e2));right:0;width:min(340px,calc(100vw - 32px));max-height:min(70vh,460px);overflow:auto;padding:var(--inset-compacto) var(--e8) var(--inset-compacto) var(--inset-compacto);background:var(--surface);color:var(--ink);border-radius:var(--r-cartao);box-shadow:var(--sombra-2);font-size:var(--t-controle);line-height:var(--lh-compacto);animation:corry-balao-entra var(--dur-media) ease-out}
.corry-balao[hidden]{display:none}
.corry-balao p{margin:0}
.corry-balao-titulo{font-size:var(--t-destaque)}
.corry-balao-calmo{margin-top:var(--e1-5)}
.corry-balao-dica{margin-top:var(--e1);font-size:var(--t-rotulo);color:var(--muted)}
.corry-passos{display:grid;gap:var(--e1);margin:var(--e2) 0 0;padding:0;list-style:none}
.corry-passo-urgente{display:grid;gap:var(--e1-5);padding:var(--e2-5) var(--e3);border-radius:var(--r-campo);background:var(--laranja-suave);box-shadow:inset 3px 0 0 var(--laranja)}
.corry-balao .corry-passo-urgente .acao-pendente{color:var(--ink);font-size:var(--t-sobre);letter-spacing:1px;text-transform:uppercase}
.corry-passo-urgente small{color:var(--muted)}
.corry-passo-urgente .btn{justify-self:start}
.corry-passo{display:flex;align-items:center;justify-content:space-between;gap:var(--e2);padding:var(--e1-5) var(--e2);border-radius:var(--r-campo);color:var(--ink);text-decoration:none}
.corry-passo:hover,.corry-passo:focus-visible{background:var(--surface-2)}
.corry-passo.pede::before{content:"";flex:none;width:var(--e2);height:var(--e2);margin-right:var(--e2);border-radius:50%;background:var(--laranja)}
.corry-passo.pede span:first-child{margin-right:auto}
.corry-passo-seta{color:var(--muted);font-size:var(--t-sub)}
.corry-balao.esq{right:auto;left:0}
.corry-balao.abaixo{bottom:auto;top:calc(100% + var(--e2))}
.corry-balao-fechar{position:absolute;top:var(--e1-5);right:var(--e1-5)}
.corry.tem-recado .corry-botao::after{content:"";position:absolute;top:var(--e1);right:var(--e1);width:var(--e3-5);height:var(--e3-5);border-radius:50%;background:var(--laranja);border:2px solid var(--surface)}
.corry.chamando .corry-botao{animation:corry-pulo var(--dur-lenta) ease-in-out 2}
@keyframes corry-balao-entra{from{opacity:0;transform:translateY(var(--e2))}to{opacity:1;transform:none}}
@keyframes corry-pulo{0%,100%{transform:none}40%{transform:translateY(calc(var(--e3) * -1)) rotate(-4deg)}}

/* ---------- Faixa "Faça agora" ---------- */
.mesa-faca{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap-padrao);padding:var(--inset-padrao);background:var(--surface);border-radius:var(--r-cartao);min-width:0}
.mesa-faca.pede{background:var(--laranja-suave);box-shadow:inset 4px 0 0 var(--laranja)}  /* laranja = precisa de você */
.mesa-faca p{margin:0}
.mesa-faca-rotulo{flex:none;font-size:var(--t-rotulo)}
.mesa-faca.pede .acao-pendente{color:var(--ink)}  /* o laranja de texto sobre laranja suave dá 4,3:1; a bolinha fica laranja e o texto em tinta (13:1) */
.mesa-faca-item{flex:1 1 220px;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--e1-5) var(--gap-apertado);min-width:0;font-size:var(--t-destaque);line-height:var(--lh-compacto)}
.mesa-faca-item small{color:var(--muted);font-size:var(--t-controle)}
.mesa-faca-topo{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap-padrao)}
.mesa-faca-resumo{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap-apertado);margin:0;padding:0;list-style:none}
.mesa-faca-proxima{font-size:var(--t-controle);color:var(--muted)}
.mesa-chip{display:inline-flex;align-items:center;gap:var(--e1-5);min-height:36px;padding:var(--e1-5) var(--e3-5);border-radius:var(--r-pilula);background:var(--surface-2);color:var(--ink);font-size:var(--t-controle);text-decoration:none;transition:background var(--dur-rapida)}
.mesa-chip:hover{background:var(--selecao)}
.mesa-chip b{font-variant-numeric:tabular-nums;font-weight:var(--peso-titulo)}
.mesa-chip.pede::before{content:"";flex:none;width:var(--e2);height:var(--e2);border-radius:50%;background:var(--laranja)}  /* a bolinha é laranja, o texto fica em tinta (contraste) */
.mesa-faca.pede .mesa-chip{background:var(--surface)}
.mesa-faca.pede .mesa-chip:hover{background:var(--surface-2)}
.mesa-tudo{align-items:center}
.mesa-tudo svg.i{width:var(--icone-g);height:var(--icone-g);color:var(--ok);flex:none}
@media (forced-colors:active){.mesa-faca{border:1px solid CanvasText}}

/* Barra essencial: filtros existentes sob demanda, sem vãos entre aviso e cartões. */
.conteudo{padding-top:var(--e3)} /* topo igual ao de Imóveis em todas as telas (Sávio, 07/10) */
.carteira{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--e4);min-width:0}
.carteira .guias-linha{margin:0;gap:var(--e2)}
.guias.guias-essenciais{background:none;padding:0;gap:var(--e3);border-radius:0}
.guias-essenciais a{display:flex;align-items:center;min-height:calc(var(--e12) - var(--e1));padding:var(--e2) var(--e3);border-radius:0;font-size:var(--t-texto);box-shadow:inset 0 calc(-1 * var(--e0-5)) transparent}
.guias-essenciais a[aria-current="page"]{background:none;box-shadow:inset 0 calc(-1 * var(--e0-5)) var(--realce)}
.guias-essenciais a:active{background:var(--surface-2)}
.filtros.filtros-essenciais{display:block;margin:0;min-width:0}
.barra-filtros{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--e3)}
.filtros-essenciais .busca{max-width:none;min-width:0;min-height:calc(var(--e12) - var(--e1));padding:var(--e2) var(--e3);gap:var(--e2-5);border-radius:var(--r-campo)}
.filtros-essenciais .busca svg{flex-shrink:0;width:var(--icone-g);height:var(--icone-g)}
.filtros-essenciais .busca input{width:100%;min-width:0;min-height:0}
.filtros-essenciais .busca:focus-within{outline:3px solid var(--focus);outline-offset:2px}
.filtros-essenciais .ordem{min-height:calc(var(--e12) - var(--e1));min-width:0;border-radius:var(--r-campo);padding:var(--e2) var(--e3);font-size:var(--t-controle)}
.botao-filtros{min-height:calc(var(--e12) - var(--e1));font-size:var(--t-controle);padding:var(--e2) var(--e4);white-space:nowrap}
.botao-filtros[hidden]{display:none}
.botao-filtros.com-filtros{background:var(--selecao);box-shadow:inset 0 0 0 2px var(--realce)}
.botao-filtros .qtd{font-size:var(--t-pequeno);font-weight:var(--peso-titulo)}
.filtros-paineis{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--e2-5);margin-top:var(--e3)}
.filtros-paineis[hidden]{display:none}
.filtros-paineis .multi-botao{min-height:calc(var(--e12) - var(--e1))}
.carteira .nota-resultado{display:grid;gap:var(--e1);margin:0 0 var(--e2);font-size:var(--t-rotulo)}
.carteira .nota-resultado strong{color:var(--ink);font-size:var(--t-texto);font-weight:var(--peso-forte)}
.pino-construtora{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center}
.pino-construtora svg{width:var(--e12);height:calc(var(--e12) + var(--e3));overflow:visible}
.pino-construtora path{fill:var(--c);stroke:var(--on-primary);stroke-width:2}
.pino-construtora text{fill:var(--on-primary);font-family:var(--font);font-size:var(--t-sobre);font-weight:var(--peso-titulo)}
.alfinete.emp .miolo{background:none;overflow:visible}
.alfinete.emp .miolo .sigla-pino{width:100%;height:100%;fill:var(--on-primary)}
.sigla-pino text{font-family:var(--font);font-size:var(--t-sobre);font-weight:var(--peso-titulo)}
@media (max-width:640px){
  .guias.guias-essenciais{gap:var(--e1)}
  .guias-essenciais a{padding:var(--e2) var(--e2-5);font-size:var(--t-controle)}
  .barra-filtros{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--e2)}
  .barra-filtros .busca{grid-column:1/-1}
  .botao-filtros{justify-content:center}
}
/* Faça agora: etiquetas com seta (Início modernizado, 07/10) */
.mesa-chip{border:1px solid var(--line);background:var(--surface)}
.mesa-chip::after{content:"→";color:var(--link);font-weight:var(--peso-titulo)}
.mesa-faca.pede,.mesa-faca{border:1px solid var(--line)}
/* Ficha do cliente no computador e no tablet (Sávio, 07/10): dados, tarefas e histórico lado a lado; a vitrine numa
   linha embaixo. No celular segue a ordem de antes (dados, tarefas, vitrine, histórico). */
.cliente-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap-pagina);min-width:0}
@media (min-width:768px){
  .cliente-grade{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"dados lateral" "hist hist" "vitrine vitrine";align-items:start}
  .cliente-grade > .cliente-topo{display:contents}
  .cliente-dados{grid-area:dados}.cliente-grade .ficha-lateral{grid-area:lateral}
  .cliente-grade > #vitrine{grid-area:vitrine}.cliente-grade > #historico{grid-area:hist}
}
@media (min-width:1200px){
  .cliente-grade{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"dados lateral hist" "vitrine vitrine vitrine"}
  .cliente-grade > #historico .ficha-historico{max-height:520px;overflow:auto}
  .cliente-grade > #vitrine .imoveis{grid-template-columns:repeat(4,minmax(0,1fr))}
}
/* Lista e detalhe lado a lado (pasta da Documentação, envio ao Correspondente) no computador e no tablet (Sávio, 07/10) */
.mestre-detalhe{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap-pagina);min-width:0}
.md-detalhe{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap-pagina);align-content:start;min-width:0}
.md-lista{display:none}
@media (min-width:768px){
  .mestre-detalhe{grid-template-columns:minmax(260px,300px) minmax(0,1fr);align-items:start}
  /* fica abaixo do cabeçalho ao rolar a página, com o título "Clientes" sempre à vista; só rola na vertical e com barra fina */
  .md-lista{display:block;position:sticky;top:80px;max-height:calc(100dvh - 100px);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;padding:0 var(--e2) var(--e2)}
  .md-lista::-webkit-scrollbar{width:var(--e1-5)}
  .md-lista::-webkit-scrollbar-thumb{background:var(--line-forte);border-radius:var(--r-pilula)}
  .md-lista h2{position:sticky;top:0;z-index:1;margin:0;padding:var(--e3) var(--e2) var(--e2);background:inherit}
  .md-lista ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--e0-5)}
  .md-lista a{display:flex;align-items:center;justify-content:space-between;gap:var(--e2);padding:var(--e2);border-radius:var(--r-campo);color:var(--ink);text-decoration:none;font-size:var(--t-controle)}
  .md-lista a span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .md-lista a:hover{background:var(--surface-2)}
  .md-lista a[aria-current="page"]{background:var(--selecao);font-weight:var(--peso-forte)}
  .md-lista .pilula{flex:none;font-size:var(--t-pequeno)}
}
/* Ajustes de 07/10 (esboço aprovado): colunas da ficha do cliente com a mesma altura, Documentação com lista e pasta
   lado a lado, faixa fina na ficha do imóvel e controles mais finos no computador */
.doc-largo{display:none}
@media (min-width:768px){
  .doc-estreito{display:none}
  .doc-largo{display:grid}
  .cliente-grade{align-items:stretch}
  .cliente-dados,.cliente-grade > #historico,.cliente-grade .ficha-lateral > section{display:flex;flex-direction:column;gap:var(--e3)}
  .cliente-grade .ficha-lateral{display:flex;flex-direction:column}
  .cliente-grade .ficha-lateral > section{flex:1}
  .cliente-dados-pessoais,.tarefa-nova{margin-top:auto}
  .btn{--bs-btn-padding-y:var(--e1);--bs-btn-padding-x:var(--e3)}
  .btn-lg{min-height:auto;--bs-btn-padding-y:var(--e2);--bs-btn-padding-x:var(--e4)}
  .form-control,.form-select{min-height:var(--e8);padding-block:var(--e1);font-size:var(--t-controle)}
  .chip,.mesa-chip{min-height:var(--e8)}
  .filtros .busca,.filtros .multi-botao{min-height:var(--e8);padding-block:0}  /* busca e filtros da mesma altura, alinhados (Sávio, 08/10) */
  .filtros .busca input{min-height:0}
  .passo{padding:var(--e1) var(--e2-5)}
}
/* Esteira e Análise no computador e no tablet: as 5 colunas cabem na tela, sem barra para os lados (Sávio, 07/10) */
@media (min-width:768px){
  .esteira{grid-auto-columns:minmax(0,1fr);overflow-x:hidden}
  .esteira .cartao .topo b{overflow:hidden;text-overflow:ellipsis}
}
/* Cabeçalho numa linha só no computador e no tablet (Sávio, 07/10): o lugar desce para baixo do título e as ações e a
   conta (moedas, sininho, foto) ficam na mesma linha; o título encolhe com reticências em vez de empurrar a conta para baixo */
@media (min-width:768px){
  .cab-app{flex-wrap:nowrap}
  .cab-app .titulo{flex:1 1 0;min-width:min(240px,30%);display:grid;grid-template-columns:minmax(0,max-content) auto;align-items:center;column-gap:var(--e2);row-gap:0}
  .cab-app h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:var(--lh-titulo)}
  .cab-app .titulo .local{grid-column:1 / -1;grid-row:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* Menos vão dentro dos quadros no computador e no tablet (Sávio, 07/10): quadro com 16 px de respiro, "Saiba mais"
   fechado numa faixa baixa e a galeria colada no cabeçalho da seção */
@media (min-width:768px){
  .painel{padding:var(--inset-padrao)}
  .saiba-mais{margin-top:0}
  details.painel.saiba-mais:not([open]){padding-block:var(--e3);display:block}
  .secao-cab{margin-bottom:0;row-gap:var(--e1)}
  .secao-cab + .subtitulo,.secao-cab + * > .subtitulo:first-child{margin-top:0}
  .subtitulo{margin:var(--e2) 0 var(--e1-5)}
}
/* Botão do lado de um campo tem a mesma altura do campo (32 px) e as faixas de filtro não deixam sobra (Sávio, 07/10) */
@media (min-width:768px){
  .btn:not(.btn-sm):not(.btn-lg){min-height:var(--e8);--bs-btn-padding-y:0;display:inline-flex;align-items:center;justify-content:center}
  .doc-novo{padding-block:var(--e2-5)}
  .doc-novo .form-select{height:var(--e8)}
  .filtros{margin-bottom:0}
  /* Todo controle numa linha tem 32 px: busca, filtros, ordenar, botão pequeno e etiqueta (auditoria, 08/10) */
  .btn-sm{min-height:var(--e8);--bs-btn-padding-y:0;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex:none}
  .btn-icone{width:var(--e8);height:var(--e8)}
  .busca,.filtros-essenciais .busca{min-height:var(--e8);padding-block:0}
  .busca input{min-height:0}
  .multi-botao,.filtros-paineis .multi-botao,.botao-filtros{min-height:var(--e8);padding-block:0}
  .filtros .ordem,.filtros-essenciais .ordem{min-height:var(--e8);padding-block:0}
  .anuncio-compacto .chip{min-height:var(--e8)}
}
/* Cadastrar pelos documentos: o recado do começo num quadro com contorno (Sávio, 07/10) */
.destaque-contorno{display:grid;gap:var(--e1-5);padding:var(--e3) var(--e4);border:1px solid var(--realce);border-radius:var(--r-cartao);background:var(--surface)}
.destaque-contorno p{margin:0}
.destaque-contorno .sobre{color:var(--link)}
/* Lista lateral sem cortar palavra: o nome aparece inteiro e a etiqueta desce para a linha de baixo quando não cabe */
@media (min-width:768px){
  .md-lista a{flex-wrap:wrap;row-gap:var(--e1)}
  .md-lista a span:first-child{flex:1 1 auto;white-space:normal;overflow:visible}
  .md-lista .pilula{white-space:nowrap}
  .md-lista.painel{padding-top:0}  /* o título "Clientes" fica colado no alto: nenhum nome passa por cima dele */
  .material{gap:var(--e3)}
}
/* Cadastro do cliente no computador (Sávio, 07/10): nome e telefone lado a lado, origem e temperatura lado a lado,
   escolhas e seções recolhidas mais baixas */
@media (min-width:768px){
  .opcoes label{min-height:var(--e8);padding:var(--e1) var(--e3) var(--e1) var(--e2)}
  .form-paineis{gap:var(--e3)}
  .form-secao > summary{min-height:var(--e8)}
  .form-paineis > .painel > h2{margin:0}
}
@media (min-width:1200px){
  .cliente-quem{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--e5)}
}
/* Ficha do imóvel (Sávio, 08/10): o tipo do imóvel sobe para o cabeçalho, a obra vira uma célula da tabela, o quadro
   de dados tem o tamanho do conteúdo (sem sobra embaixo) e contorno destacado */
.obra-celula dd{display:flex;align-items:center;gap:var(--e1-5);color:var(--link)}
.obra-celula.pronto dd{color:var(--ok)}
.obra-celula svg.i{width:var(--icone-m);height:var(--icone-m);flex:none}

/* Correspondente em uma vista só (21/10/2026, /refinar-tela: principal B, envio e correspondentes C). Principal: à
   esquerda o que você faz (novo envio, o que espera você, como funciona), à direita os envios por situação */
.envios-vista{display:grid;gap:var(--gap-pagina);min-width:0}
.envios-vista > .alerta{margin:0}
.envios-colunas{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,8fr);gap:var(--e3);min-width:0}
.envios-agir{display:grid;gap:var(--e3);align-content:start;min-width:0}
.envios-agir > .painel{margin:0}
.envios-novo .fila{flex-wrap:nowrap}
.envios-novo .form-select{flex:1 1 auto;min-width:0}
.envios-precisa.com-pendencia{box-shadow:inset var(--e1) 0 0 var(--laranja-texto);background:var(--laranja-suave)}  /* precisa de você */
.envios-precisa .secao-cab{margin-bottom:var(--e2)}
.envios-passos{margin:0;padding-left:var(--e5);display:grid;gap:var(--e1-5);font-size:var(--t-controle)}
.envios-consulta{display:flex;flex-direction:column;gap:var(--e3);margin:0;min-width:0}
.envios-consulta .filtros{margin:0}
.envios-linhas{list-style:none;margin:0;padding:0;display:grid}
.envio-linha{display:grid;gap:var(--e0-5);padding:var(--e2-5) var(--e2);border-top:1px solid var(--line);color:var(--ink);text-decoration:none;border-radius:var(--r-campo)}
.envios-linhas li:first-child .envio-linha{border-top:0}
.envio-linha:hover{background:var(--surface-2)}
.envio-linha .topo{display:flex;justify-content:space-between;align-items:center;gap:var(--e3)}
.envio-linha .linha{font-size:var(--t-pequeno);color:var(--muted)}
.envio-linha .linha.erro-texto{color:var(--erro)}
/* Envio: resumo na linha do alto e as cinco etapas em abas (abre na que pede você) */
/* Como a faixa da pasta: linha que quebra, e o resumo vira 3, 2 ou 1 coluna conforme cabe ao lado da lista lateral */
.envio-faixa{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e3) var(--e5);margin:0}
.envio-faixa-estado{display:grid;gap:var(--e1);justify-items:start;flex:0 1 auto;max-width:16rem}  /* a dica do reenvio quebra em vez de alargar */
.envio-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr));gap:var(--e2) var(--e4);margin:0;flex:1 1 20rem;min-width:0}
.envio-faixa-acao{flex:none;margin-left:auto}
.envio-resumo dt{font-size:var(--t-pequeno);color:var(--muted);font-weight:var(--peso-forte)}
.envio-resumo dd{margin:0;font-weight:var(--peso-forte);min-width:0;overflow-wrap:anywhere}
.envio-faixa-acao form{margin:0}
.envio-abas .guias button.apagada{opacity:var(--op-apagado)}
.envio-abas .guias button .pilula,.correspondentes-abas .guias button .pilula{margin-left:var(--e1)}
.envio-abas .aba-corpo h2{margin-top:0}
.correspondentes-tabela thead th{position:sticky;top:0;z-index:1;background:var(--surface)}
.correspondentes-tabela td{vertical-align:middle}
.correspondentes-tabela .fila{flex-wrap:nowrap;margin:0}
.correspondentes-tabela form{margin:0}
@media (min-width:768px){
  [data-vista-unica] > .envios-colunas{flex:1 1 0;min-height:0}
  .envios-consulta{min-height:0}
  .envios-rola{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain}
  .envio-vista .md-detalhe{display:flex;flex-direction:column;gap:var(--gap-pagina)}
  .envio-vista .md-detalhe > *{flex:none;margin:0}
  .envio-vista .md-detalhe > .envio-abas{flex:1 1 0;min-height:0}
  .correspondentes-abas > [role="tabpanel"]{flex:1 1 0;min-height:0}
}
@media (max-width:767.98px){
  .envios-colunas,.envio-resumo{grid-template-columns:minmax(0,1fr)}
  .envio-faixa{flex-direction:column;align-items:stretch}
  .envio-faixa-acao{margin-left:0}
  .correspondentes-tabela thead{display:none}
  .correspondentes-tabela tr{display:grid;gap:var(--e1);padding:var(--e2) 0;border-top:1px solid var(--line)}
  .correspondentes-tabela td{border:0;padding:0}
}

/* Imóveis em uma vista só (21/10/2026, /refinar-tela opção A). Lista: cartões horizontais em 3 colunas por 4 linhas,
   filtros numa linha a partir de 1024 px (abaixo volta o botão Filtros), contagem e páginas num rodapé */
.imoveis-compacta{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.imoveis-compacta .imovel{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-areas:"capa corpo";min-height:calc(var(--toque) * 2.5)}
.imoveis-compacta .imovel > .capa{grid-area:capa;aspect-ratio:auto;height:100%;min-height:0}
.imoveis-compacta .imovel .corpo{grid-area:corpo;padding:var(--e2) var(--e3);gap:var(--e0-5);min-width:0;align-content:start}
/* Ficha na linha do preço, à direita (a capa e o nome também abrem): o cartão cabe na linha da grade 3x4 em 1366x768 */
.imoveis-compacta .imovel .acoes{grid-area:corpo;align-self:end;justify-self:end;padding:0 var(--e3) var(--e2)}
.imoveis-compacta .imovel .acoes .btn{flex:none}
.imoveis-compacta .imovel .nome{font-size:var(--t-controle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.imoveis-compacta .imovel .local,.imoveis-compacta .imovel .obra{font-size:var(--t-pequeno);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.imoveis-compacta .imovel .preco{margin-top:0;padding-right:calc(var(--toque) * 1.75)}
.imoveis-compacta .imovel .preco b{font-size:var(--t-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.imoveis-rodape{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--e2) var(--e4)}
.imoveis-rodape .nota-resultado,.carteira .imoveis-rodape .nota-resultado,.imoveis-rodape .paginacao{margin:0}
@media (min-width:768px){
  .imoveis-vista > #grade-imoveis{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:var(--e3)}
  .imoveis-vista .imoveis-compacta{flex:1 1 0;min-height:0;overflow:auto;align-content:start;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(calc(var(--toque) * 2.75),calc(var(--toque) * 4)))}  /* piso: o cartão nunca corta; sem altura, a grade rola */
  .imoveis-vista .imoveis-compacta .imovel{min-height:0}
}
@media (min-width:1024px){
  .imoveis-vista .filtros-essenciais{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2)}
  .imoveis-vista .barra-filtros{display:contents}
  .imoveis-vista .barra-filtros .busca{flex:1 1 12rem}
  .imoveis-vista .filtros-paineis{flex-wrap:wrap;margin:0;order:1}  /* aberto pelo JS a partir de 1024 px: o [hidden] do Bootstrap vence qualquer display */
  .imoveis-vista .barra-filtros .ordem{order:2;flex:none}
  .imoveis-vista .botao-filtros{display:none}
}

/* Ficha do imóvel: faixa com preço, fatos e o que falta; abas Fotos, vídeos e documentos, Fluxo, Anúncio e Mais dados */
.ficha-vista{display:grid;gap:var(--gap-pagina);min-width:0}
.ficha-cabeca{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,22rem);align-items:center;gap:var(--e3) var(--e6);margin:0}
.ficha-preco{display:grid;gap:var(--e0-5)}
.ficha-preco b{font-family:var(--font-display);font-size:var(--t-numero);line-height:var(--lh-numero)}
.ficha-preco small{font-size:var(--t-pequeno);color:var(--muted)}
.ficha-fatos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:var(--e2) var(--e4);margin:0}
.ficha-fatos dt{font-size:var(--t-pequeno);color:var(--muted);font-weight:var(--peso-forte)}
.ficha-fatos dd{margin:0;font-weight:var(--peso-forte);min-width:0;overflow-wrap:anywhere}
.ficha-fatos small{display:block;font-size:var(--t-pequeno);font-weight:var(--peso-corpo);color:var(--muted)}
.ficha-avisos{display:grid;gap:var(--e1-5);justify-items:start}
.ficha-avisos .alerta{margin:0}
.ficha-abas .guias button .pilula{margin-left:var(--e1)}
.ficha-material:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--e4);align-items:start}
.material-imovel{display:flex;flex-direction:column;gap:var(--e3);min-width:0}
.ficha-mais:not([hidden]),.ficha-abas .fluxo:not([hidden]),.ficha-abas .anuncio-compacto:not([hidden]){display:grid;gap:var(--e3);align-content:start}
.ficha-mais .ficha-extra{margin:0}
.ficha-mais .excluir-ficha{justify-self:start;margin-top:var(--e3)}
.ficha-mais .saiba-mais h3{display:flex;align-items:center;gap:var(--e2)}
@media (min-width:768px){
  .ficha-material .ficha-capa{position:sticky;top:0}
}
@media (max-width:767.98px){
  .ficha-cabeca,.ficha-material:not([hidden]){grid-template-columns:minmax(0,1fr)}
}

/* Cadastro do imóvel: cartões por assunto, cada um com o que falta; o Salvar fica preso no pé */
.imovel-form{display:grid;gap:var(--gap-pagina);min-width:0}
.imovel-form-cartoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(26rem,100%),1fr));gap:var(--e3);align-items:start;min-height:0}
.imovel-form-cartoes .perfil-cartao:has(textarea){grid-column:1 / -1}
.imovel-form-cartoes .campo:has(textarea){grid-column:1 / -1}
.imovel-form-salvar{position:sticky;bottom:0;margin:0;padding:var(--e3) 0 var(--e1);background:var(--bg)}
.campo:has([data-falta-na-ficha]) > label::after{content:" · falta na ficha";color:var(--alerta);font-weight:var(--peso-forte)}
@media (min-width:768px){
  [data-vista-unica] > .imovel-form-cartoes{flex:1 1 0;overflow:auto;overscroll-behavior:contain}
}

/* Escolher o tipo: dois grupos, de construtora e de proprietário, com quantos você já tem */
.escolher-grupos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:var(--gap-pagina)}
.escolher-grupo{display:grid;gap:var(--e3);align-content:start}
.escolher-grupo h2{margin:0;font-size:var(--t-destaque)}
@media (max-width:767.98px){.escolher-grupos{grid-template-columns:minmax(0,1fr)}}

/* Construtoras: cartões compactos que rolam por dentro, contagem no pé */
.construtoras-vista{display:flex;flex-direction:column;gap:var(--e3);margin:0}
.construtoras-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:var(--e2)}
.construtoras-grade .construtora{padding:var(--e2-5) var(--e3);border-radius:var(--r-cartao);background:var(--surface-2)}
.construtoras-grade .construtora:hover{background:var(--selecao)}
.construtoras-rodape{margin:0;padding-top:var(--e2);border-top:1px solid var(--line)}

/* Ficha da construtora: quem está por trás no alto; empreendimentos à esquerda e abas à direita */
.construtora-vista{display:grid;gap:var(--gap-pagina);min-width:0}
.construtora-vista .construtora-marca{margin:0}
.construtora-historia{max-height:calc(var(--e8) * 3);overflow:auto;margin:0}
.construtora-imoveis{display:flex;flex-direction:column;gap:var(--e2);min-height:0;margin:0}
.construtora-abas .guias button svg.i{width:var(--icone-m);height:var(--icone-m);margin-right:var(--e1)}
.construtora-form-salvar{position:sticky;bottom:0;margin:0;padding:var(--e3) 0 var(--e1);background:var(--bg)}
/* No celular a página rola atrás da barra fixa de 5 botões: o Salvar preso embaixo para em cima dela, não sob ela */
@media (max-width:767.98px){.perfil-salvar,.fin-filha-salvar,.imovel-form-salvar,.construtora-form-salvar{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}
@media (min-width:768px){
  .construtora-vista .construtora-grade{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:stretch}
  [data-vista-unica] > .construtora-grade{flex:1 1 0;min-height:0}
  [data-vista-unica] .construtora-rola,[data-vista-unica] .construtoras-rola{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain}
}

/* Cabeçalho em duas linhas quando os botões da tela não cabem (componentes.js põe .cab-duas-linhas): em cima voltar,
   título e conta; embaixo as ações da tela ou a busca. Sávio, 08/10 */
@media (min-width:768px){
  .cab-app.cab-duas-linhas{flex-wrap:wrap;row-gap:var(--e2)}
  .cab-duas-linhas .cab-acoes{order:5;flex:1 1 100%;min-width:0}
  .cab-duas-linhas .cab-acoes .busca{flex:1 1 200px;max-width:none}
}

/* Parágrafo de abertura de uma tela: largura boa de leitura (era estilo escrito direto na tela, auditoria 08/10) */
.intro-leitura{max-width:70ch}

/* Agenda no computador e no tablet (Sávio, 08/10): Nova tarefa numa linha; à esquerda o que é para agora (Hoje e
   Atrasadas), à direita as Próximas; linhas de tarefa mais baixas, com o cliente na mesma linha do título */
.agenda-grade,.agenda-agora{display:grid;gap:var(--gap-pagina);align-content:start}
@media (min-width:768px){
  .agenda-nova{display:flex;align-items:flex-start;gap:var(--e4)}
  .agenda-nova h2{flex:none;margin:var(--e5) 0 0}
  .agenda-nova form{flex:1 1 auto;grid-template-columns:minmax(0,1fr) minmax(160px,200px) auto}
  .agenda-nova .campo-botao{align-self:start;padding-top:calc(var(--e6) + var(--e0-5))}  /* na altura dos campos, não do texto de ajuda */
  .agenda-grade{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:start}  /* sem Próximas, Hoje ocupa a largura toda */
  .agenda-grade > .painel{margin:0}
  .agenda-agora > .painel{margin:0}
  .agenda-grade .tarefa{min-height:0;margin-top:var(--e1-5);padding:var(--e0-5) var(--e2) var(--e0-5) var(--e1)}
  .agenda-grade .tarefa .btn{min-width:var(--e8);min-height:var(--e8)}
  .agenda-grade .tarefa > span:first-of-type{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:var(--e2)}
  .agenda-grade .tarefa-cliente{display:inline}
}

/* Ficha da construtora (08/10): quem está por trás em cima; empreendimentos à esquerda, dados e seções à direita */
.construtora-grade{display:grid;gap:var(--gap-pagina);align-content:start}
.construtora-dados{display:grid;gap:var(--e2);margin:0}
.construtora-dados div{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:var(--e2)}
.construtora-dados dt{color:var(--muted);font-weight:var(--peso-forte);font-size:var(--t-rotulo)}
.construtora-dados dd{margin:0;overflow-wrap:anywhere}
.texto-livre{margin:0;white-space:normal;overflow-wrap:anywhere}
.construtora-privada h2{display:flex;align-items:center;gap:var(--e2)}
.construtora-imoveis .subtitulo:first-of-type{margin-top:0}
@media (min-width:1024px){
  .construtora-grade{grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start}
  .construtora-grade > .painel{margin:0}
}
.form-construtora .campo:has(textarea){grid-column:1/-1}  /* texto longo na largura toda */
