:root{--fundo:#f4f5f7;--card:#fff;--texto:#1c2430;--mudo:#6b7686;--borda:#d9dee5;--cor:#1f4e8c;--perigo:#b3261e}
@media (prefers-color-scheme:dark){:root{--fundo:#14181f;--card:#1d232d;--texto:#e6e9ee;--mudo:#93a0b2;--borda:#2e3744;--cor:#5b9bf0;--perigo:#f0746c}}
*{box-sizing:border-box}
body{margin:0;font:15px/1.4 system-ui,sans-serif;background:var(--fundo);color:var(--texto)}
body.centro{min-height:100vh;display:grid;place-items:center;padding:16px}
input,select,textarea,button{font:inherit;color:inherit}
input,select,textarea{width:100%;padding:.55rem .65rem;border:1px solid var(--borda);border-radius:8px;background:var(--card)}
button{padding:.55rem 1rem;border:0;border-radius:8px;background:var(--cor);color:#fff;cursor:pointer}
button.sec{background:transparent;color:var(--cor);border:1px solid var(--borda)}
button.perigo{background:var(--perigo)}
button:disabled{opacity:.5;cursor:default}
label{display:block;font-size:.85rem;color:var(--mudo)}
label input,label textarea{margin-top:.2rem;color:var(--texto)}
.erro{color:var(--perigo);margin:.5rem 0}
.mudo{color:var(--mudo)}
.esp{flex:1}
.login{width:100%;max-width:360px;background:var(--card);padding:2rem;border-radius:14px;border:1px solid var(--borda)}
.login h1{margin:0;text-align:center}.login .sub{text-align:center;color:var(--mudo);margin:.2rem 0 1.5rem}
.login label{margin-bottom:1rem}.login button{width:100%}
.topo{display:flex;gap:.75rem;align-items:center;padding:.7rem 1rem;background:var(--card);border-bottom:1px solid var(--borda);position:sticky;top:0;z-index:2}
.conteudo{max-width:1000px;margin:0 auto;padding:1rem}
.barra{display:grid;grid-template-columns:1fr 14rem auto;gap:.5rem}
@media(max-width:640px){.barra{grid-template-columns:1fr}}
.lista{overflow-x:auto}
.tabela{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--borda);border-radius:12px;overflow:hidden}
.tabela th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mudo);padding:.6rem .8rem;border-bottom:1px solid var(--borda)}
.tabela td{padding:.6rem .8rem;border-bottom:1px solid var(--borda);vertical-align:top}
.tabela tbody tr{cursor:pointer}.tabela tbody tr:hover,.tabela tbody tr:focus{background:var(--fundo);outline:none}
.tabela tbody tr:last-child td{border-bottom:0}
.col-emp strong{display:block}.col-emp .mudo{font-size:.85rem}
.col-fon a{display:block;color:var(--cor);text-decoration:none;white-space:nowrap}.col-fon .wa{font-weight:600;font-size:.85rem}
.col-rep .tag{display:inline-block;margin:0 .3rem .3rem 0}
.tag{font-size:.75rem;background:var(--fundo);border:1px solid var(--borda);border-radius:99px;padding:.1rem .55rem}
@media(max-width:760px){.tabela thead,.col-cid{display:none}.col-rep{display:none}.col-fon{text-align:right}}
.pag{display:flex;justify-content:center;align-items:center;gap:1rem;margin:1.2rem 0}
dialog{width:min(760px,96vw);max-height:94vh;border:1px solid var(--borda);border-radius:14px;background:var(--card);color:var(--texto);padding:1.2rem}
dialog::backdrop{background:#0008}
.grade{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.grade .c2{grid-column:1/-1}
@media(max-width:560px){.grade{grid-template-columns:1fr}}
fieldset{margin:1rem 0;border:1px solid var(--borda);border-radius:10px}
.vinc{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:.4rem;margin-bottom:.4rem}
@media(max-width:560px){.vinc{grid-template-columns:1fr 1fr}}
pre{white-space:pre-wrap;font-size:.8rem;color:var(--mudo)}
.acoes{display:flex;gap:.5rem;align-items:center;margin-top:1rem}
.menu{display:flex;gap:.25rem;margin-left:1rem}
.menu a{padding:.4rem .75rem;border-radius:8px;color:var(--texto);text-decoration:none}
.menu a:hover{background:var(--fundo)}.menu a.on{background:var(--cor);color:#fff}
.quem{color:var(--mudo)}
@media(max-width:760px){.quem{display:none}.menu{margin-left:.25rem}.menu a{padding:.4rem .5rem}}
.tit{margin:.2rem 0 .3rem;font-size:1.4rem}
.barra{grid-template-columns:1fr 12rem 14rem auto}
.barra.b2{grid-template-columns:1fr;margin-top:.6rem}
@media(max-width:900px){.barra{grid-template-columns:1fr 1fr}}@media(max-width:640px){.barra{grid-template-columns:1fr}}
.abas{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0}
.aba{background:var(--card);color:var(--texto);border:1px solid var(--borda)}.aba.on{background:var(--cor);color:#fff;border-color:var(--cor)}
button.mini{padding:.25rem .6rem;font-size:.8rem}
.col-acoes{display:flex;flex-wrap:wrap;gap:.3rem}
.tabela tbody tr.sem-hover{cursor:default}.tabela tbody tr.sem-hover:hover{background:inherit}
.tabela tr.hoje td{background:color-mix(in srgb,var(--cor) 12%,transparent)}
.tag.st-meu{border-color:var(--cor)}.tag.st-pesquisar{border-style:dashed}.tag.st-sem_interesse{opacity:.6;text-decoration:line-through}
.novo-contato{display:grid;grid-template-columns:8rem 9.5rem 1fr;gap:.4rem;margin-bottom:.5rem}
.novo-contato textarea{grid-column:1/3}.novo-contato button{align-self:stretch}
@media(max-width:560px){.novo-contato{grid-template-columns:1fr 1fr}.novo-contato textarea{grid-column:1/-1}.novo-contato button{grid-column:1/-1}}
.hist{border-top:1px solid var(--borda);padding:.5rem 0}.hist-cab{display:flex;gap:.3rem;align-items:center}.hist-cab button{margin-left:auto}
.hist-txt{white-space:pre-wrap;margin-top:.15rem}
.vinc{grid-template-columns:1fr 1.3fr 1fr auto}
@media(max-width:560px){.vinc{grid-template-columns:1fr 1fr}}

.linha-abas{display:flex;gap:.6rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.so-impressao{display:none}
@media(min-width:561px){.barra{grid-template-columns:1fr 12rem 14rem auto auto}.barra.b2{grid-template-columns:1fr auto}}
@media(max-width:900px) and (min-width:561px){.barra{grid-template-columns:1fr 1fr}}
@media print{
  @page{margin:12mm}
  :root{--fundo:#fff;--card:#fff;--texto:#000;--mudo:#444;--borda:#999;--cor:#000;color-scheme:light}
  body{background:#fff;color:#000;font-size:10.5pt}
  .topo,.barra,.abas,.pag,.linha-abas,.tit,.conteudo>p,#contagem,dialog,button,.col-acoes,.menu{display:none!important}
  .so-impressao{display:block}
  .conteudo{max-width:none;padding:0}
  .lista{overflow:visible}
  #cabImp h1{margin:0 0 .2rem;font-size:15pt}#cabImp p{margin:0 0 .6rem;color:#444;font-size:9pt}
  .tabela{border:0;font-size:9.5pt;border-radius:0;overflow:visible}
  .tabela th{border-bottom:1.5px solid #000;color:#000;padding:.25rem .4rem}
  .tabela td{padding:.3rem .4rem;border-bottom:.5px solid #999}
  .tabela tr{break-inside:avoid}.tabela thead{display:table-header-group}
  .col-fon a{color:#000;text-decoration:none}.col-fon .wa{display:none}
  .tag{border:.5px solid #666;background:#fff;font-size:8pt}
  td.so-impressao.col-marcar{display:table-cell;white-space:nowrap;font-size:9pt}
  tr.hoje td{background:#eee!important}
  /* ficha */
  body.imprimindo-ficha>*:not(#folhaFicha){display:none!important}
  #folhaFicha h1{font-size:17pt;margin:0 0 .6rem;border-bottom:2px solid #000;padding-bottom:.2rem}
  #folhaFicha h2{font-size:12pt;margin:1rem 0 .3rem;border-bottom:1px solid #999}
  .pf-grade{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1.5rem}
  .pf-item{break-inside:avoid}.pf-larga{grid-column:1/-1;white-space:pre-wrap}
  #folhaFicha p{margin:.15rem 0}
  .pf-hist{margin:.35rem 0;break-inside:avoid}.pf-hist div{white-space:pre-wrap}
  .pf-rodape{margin-top:1.2rem!important;color:#555;font-size:8.5pt}
}
/* roteiro */
.nao-imprime{}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
@media(max-width:860px){.duas{grid-template-columns:1fr}}
.bloco{background:var(--card);border:1px solid var(--borda);border-radius:12px;padding:1rem}
.bloco h2{margin:0 0 .6rem;font-size:1.05rem}
.filtros-rot{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.filtros-rot input{grid-column:1/-1}
.escolha{max-height:320px;overflow-y:auto;border:1px solid var(--borda);border-radius:8px;margin:.4rem 0}
.item-esc{display:flex;gap:.5rem;align-items:center;justify-content:space-between;padding:.4rem .6rem;border-bottom:1px solid var(--borda)}
.item-esc:last-child{border-bottom:0}.item-txt{min-width:0}.peq{font-size:.8rem}.alerta{color:var(--perigo)}
.escolha p{padding:.5rem .6rem;margin:0}
.bloco label{margin-top:.6rem}.bloco label.linha{display:flex;gap:.5rem;align-items:center;color:var(--texto)}.bloco label.linha input{width:auto;margin:0}
.duas-col{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
#resultado{margin-top:1.5rem}.topo-res{display:flex;align-items:center;gap:.6rem}
.resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;margin:.6rem 0}
.kpi{background:var(--card);border:1px solid var(--borda);border-radius:10px;padding:.7rem .9rem}.kpi-v{font-size:1.25rem;font-weight:700}
.mapa{height:380px;border-radius:12px;border:1px solid var(--borda);margin:.8rem 0;z-index:0}
.pino{border-radius:50%;color:#fff;font-weight:700;text-align:center;line-height:26px;font-size:13px;border:2px solid #fff;box-shadow:0 1px 4px #0006}
.pino.parada{background:#1f4e8c}.pino.saida{background:#2e7d32}
.col-nav a{display:block;color:var(--cor);text-decoration:none;white-space:nowrap}
.aviso{background:var(--card);border:1px solid var(--perigo);border-radius:10px;padding:.7rem 1rem;margin:.8rem 0}
.botao-link{display:inline-block;padding:.5rem 1rem;border-radius:8px;background:var(--cor);color:#fff;text-decoration:none;margin:.2rem .2rem .2rem 0}
@media print{
  .nao-imprime,.bloco,#painel,.mapa{display:none!important}
  #resultado h2{margin:0}.topo-res{display:none}
  .resumo{display:flex;gap:1.5rem;margin:0 0 .5rem}.kpi{border:0;padding:0}.kpi-v{font-size:11pt}
  .aviso{border:1px solid #000}
}
