/* =========================================================================
   OSMIO · CRM Quasar — tema premium
   Paleta do mockup aprovado (osmio_premium):
     --painel  #191C20  sidebar + header (grafite)
     --fundo   #0F1113  background (quase preto)
     --acento  #95CDBA  verde menta — botões, filtros, links, foco
     --acento-2 #A9D2DE azul claro — destaques secundários
   Fonte: Plus Jakarta Sans (Google Fonts, licença livre p/ uso comercial)
   ========================================================================= */
:root {
  --painel: #191C20;
  --fundo: #0F1113;
  --acento: #95CDBA;
  --acento-2: #A9D2DE;
  --logo: #95CDBA;
  --texto: #F7F5F0;
  --texto-suave: #A8ABB0;
  --cartao: #2A2E35;
  --cartao-2: #222529;
  --borda: #2C3035;
  --ok: #79B4A0;
  --alerta: #943A3A;
  --raio: 12px;
  --fonte-titulo: "Plus Jakarta Sans", "Sora", sans-serif;
  --fonte-corpo: "Plus Jakarta Sans", "Inter", sans-serif;
}
* { box-sizing: border-box; margin: 0; }
html, body { height: 100%; }
body {
  background: var(--fundo);
  color: var(--texto);
  font-family: var(--fonte-corpo);
  font-size: 14px;
}
.oculto { display: none !important; }
h1, h2, h3 { font-family: var(--fonte-titulo); }
button { cursor: pointer; font-family: inherit; }
a { color: var(--acento); text-decoration: none; }
:focus-visible { outline: 2px solid var(--acento); outline-offset: 2px; }

/* ---------- Login ---------- */
.login-wrap {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background:
    radial-gradient(600px 300px at 20% 0%, #24183a 0%, transparent 60%),
    var(--fundo);
}
.login-card {
  background: var(--painel); padding: 40px 36px; border-radius: 16px;
  border: 1px solid var(--borda); width: 320px; text-align: center;
}
.login-logo { width: 72px; margin-bottom: 8px; }
.login-card h1 { color: var(--logo); letter-spacing: .35em; font-size: 22px; }
.login-sub { color: var(--texto-suave); margin: 4px 0 24px; }
.login-card input {
  width: 100%; margin-bottom: 12px; padding: 11px 12px;
  background: var(--fundo); border: 1px solid var(--borda);
  border-radius: var(--raio); color: var(--texto);
}
.erro { color: var(--alerta); min-height: 18px; margin-top: 10px; font-size: 13px; }

/* ---------- Estrutura ---------- */
.app { display: grid; grid-template-columns: 216px 1fr; height: 100vh; }
.sidebar {
  background: var(--painel); display: flex; flex-direction: column;
  border-right: 1px solid var(--borda); padding: 18px 12px;
}
.marca { display: flex; align-items: center; gap: 10px; padding: 4px 8px 20px; }
.marca img { width: 34px; }
.marca span {
  font-family: var(--fonte-titulo); font-weight: 700;
  color: var(--logo); letter-spacing: .3em; font-size: 15px;
}
.nav-item {
  display: block; padding: 10px 12px; border-radius: var(--raio);
  color: var(--texto-suave); font-weight: 500; margin-bottom: 4px;
}
.nav-item:hover { color: var(--texto); background: #20202c; }
.nav-item.ativo { color: var(--painel); background: var(--acento); font-weight: 600; }
.sidebar-rodape {
  margin-top: auto; display: flex; justify-content: space-between;
  align-items: center; padding: 8px; color: var(--texto-suave); font-size: 13px;
}
.btn-fantasma {
  background: none; border: 1px solid var(--borda); color: var(--texto-suave);
  border-radius: 8px; padding: 5px 10px;
}
.btn-fantasma:hover { color: var(--texto); border-color: var(--acento); }

.principal { display: flex; flex-direction: column; overflow: hidden; }
.topo {
  background: var(--painel); border-bottom: 1px solid var(--borda);
  padding: 14px 24px; display: flex; align-items: center; gap: 16px;
}
.topo h2 { font-size: 18px; flex: 1; }
.topo-acoes { display: flex; gap: 10px; }
.campo-busca, .campo-filtro {
  background: var(--fundo); color: var(--texto);
  border: 1px solid var(--acento); border-radius: var(--raio);
  padding: 8px 12px; min-width: 140px;
}
.btn-acao {
  background: var(--acento); color: var(--painel); border: none;
  border-radius: var(--raio); padding: 10px 16px; font-weight: 600;
}
.btn-acao:hover { filter: brightness(1.08); }

main { flex: 1; overflow: auto; padding: 24px; }

/* ---------- Home ---------- */
.cards-linha { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin-bottom: 22px; }
.card {
  background: var(--cartao); border: 1px solid var(--borda);
  border-radius: var(--raio); padding: 16px 18px;
}
.card .num { font-family: var(--fonte-titulo); font-size: 28px; font-weight: 700; }
.card .rotulo { color: var(--texto-suave); font-size: 12.5px; margin-top: 2px; }
.card.destaque .num { color: var(--acento); }
.card.atencao .num { color: var(--alerta); }

.grade-2 { display: grid; grid-template-columns: 1.2fr .8fr; gap: 14px; align-items: start; }
.painel-bloco { background: var(--cartao); border: 1px solid var(--borda); border-radius: var(--raio); padding: 16px 18px; }
.painel-bloco h3 { font-size: 14px; margin-bottom: 12px; color: var(--texto-suave); font-weight: 600; }
.linha-funil { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.linha-funil .nome { width: 130px; font-size: 13px; }
.linha-funil .barra { flex: 1; height: 8px; background: #191624; border-radius: 6px; overflow: hidden; }
.linha-funil .barra > i { display: block; height: 100%; background: var(--acento); }
.linha-funil .qtd { width: 40px; text-align: right; font-weight: 600; }
.tabela { width: 100%; border-collapse: collapse; font-size: 13px; }
.tabela th { text-align: left; color: var(--texto-suave); font-weight: 500; padding: 6px 8px; border-bottom: 1px solid var(--borda); }
.tabela td { padding: 7px 8px; border-bottom: 1px solid #2a2639; }
.selo { padding: 2px 8px; border-radius: 20px; font-size: 11.5px; font-weight: 600; }
.selo.sucesso { background: #1f3529; color: var(--ok); }
.selo.sucesso_parcial { background: #3a3320; color: var(--logo); }
.selo.erro, .selo.rodando { background: #3a2228; color: var(--alerta); }

/* ---------- Kanban ---------- */
.kanban { display: flex; gap: 14px; align-items: flex-start; min-height: 70vh; }
.coluna {
  background: var(--cartao); border: 1px solid var(--borda);
  border-radius: var(--raio); width: 250px; flex-shrink: 0;
  max-height: calc(100vh - 150px); display: flex; flex-direction: column;
}
.coluna-cabecalho {
  padding: 12px 14px; border-bottom: 2px solid var(--acento);
  display: flex; justify-content: space-between; align-items: center;
}
.coluna-cabecalho b { font-size: 13px; }
.coluna-cabecalho .contagem { color: var(--texto-suave); font-size: 12px; }
.coluna-corpo { padding: 10px; overflow-y: auto; flex: 1; min-height: 60px; }
.coluna-corpo.arrastando-sobre { background: #262238; border-radius: 0 0 var(--raio) var(--raio); }
.lead-card {
  background: var(--painel); border: 1px solid var(--borda);
  border-radius: 8px; padding: 10px 12px; margin-bottom: 8px; cursor: grab;
}
.lead-card:hover { border-color: var(--acento); }
.lead-card.arrastando { opacity: .45; }
.lead-card .nome { font-weight: 600; font-size: 13px; margin-bottom: 3px; }
.lead-card .meta { color: var(--texto-suave); font-size: 12px; display: flex; justify-content: space-between; }
.lead-card .etiquetas { margin-top: 6px; display: flex; gap: 5px; flex-wrap: wrap; }
.etiqueta {
  font-size: 10.5px; padding: 2px 7px; border-radius: 12px;
  background: #2a3a46; color: var(--acento); font-weight: 600;
}
.etiqueta.empresa { background: #3a3320; color: var(--logo); }
.vazio { color: var(--texto-suave); text-align: center; padding: 14px 0; font-size: 12.5px; }

/* ---------- Configs ---------- */
.motor-linha {
  display: flex; align-items: center; gap: 14px;
  padding: 14px; border: 1px solid var(--borda); border-radius: var(--raio);
  background: var(--painel); margin-bottom: 10px;
}
.motor-linha .info { flex: 1; }
.motor-linha .info b { display: block; }
.motor-linha .info small { color: var(--texto-suave); word-break: break-all; }
.interruptor { position: relative; width: 44px; height: 24px; flex-shrink: 0; }
.interruptor input { opacity: 0; width: 0; height: 0; }
.interruptor .trilho {
  position: absolute; inset: 0; background: #3a3550; border-radius: 20px; transition: .2s;
}
.interruptor .trilho::before {
  content: ""; position: absolute; width: 18px; height: 18px; border-radius: 50%;
  background: var(--texto-suave); top: 3px; left: 3px; transition: .2s;
}
.interruptor input:checked + .trilho { background: var(--acento); }
.interruptor input:checked + .trilho::before { transform: translateX(20px); background: var(--painel); }

/* ---------- Ficha lateral ---------- */
.ficha-fundo { position: fixed; inset: 0; background: rgba(10,8,18,.6); z-index: 40; }
.ficha {
  position: fixed; top: 0; right: 0; width: 420px; max-width: 92vw; height: 100vh;
  background: var(--painel); border-left: 1px solid var(--borda); z-index: 50;
  padding: 22px; overflow-y: auto;
}
.ficha h3 { font-size: 18px; margin-bottom: 2px; }
.ficha .sub { color: var(--texto-suave); margin-bottom: 16px; }
.ficha dl { display: grid; grid-template-columns: 130px 1fr; gap: 7px 10px; font-size: 13px; }
.ficha dt { color: var(--texto-suave); }
.ficha .secao { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--borda); }
.hist-item { font-size: 12.5px; padding: 7px 0; border-bottom: 1px solid #2a2639; }
.hist-item b { color: var(--acento); }
.btn-fechar { float: right; background: none; border: none; color: var(--texto-suave); font-size: 20px; }

@media (max-width: 760px) {
  .app { grid-template-columns: 64px 1fr; }
  .marca span, .sidebar-rodape span { display: none; }
  .nav-item { text-align: center; font-size: 12px; padding: 10px 4px; }
  .grade-2 { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}

/* ---------- v2: coluna colapsada ---------- */
.coluna.colapsada { width: 44px; }
.coluna.colapsada .coluna-corpo { display: none; }
.coluna.colapsada .coluna-cabecalho {
  writing-mode: vertical-rl; border-bottom: none; border-left: 2px solid var(--acento);
  padding: 14px 10px; gap: 8px; height: 200px;
}
.coluna-cabecalho { cursor: pointer; user-select: none; }

/* ---------- v2: tabela ---------- */
.tab-barra { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.acoes-massa { display: flex; gap: 8px; align-items: center; color: var(--texto-suave); }
.tabela-grande { min-width: 900px; }
.tabela-grande th { white-space: nowrap; cursor: pointer; position: sticky; top: 0;
  background: var(--cartao); }
.tabela-grande .cel-nome { color: var(--acento); cursor: pointer; font-weight: 600; }
.dica { color: var(--texto-suave); font-size: 12px; margin-top: 8px; }
.realce { outline: 2px solid var(--logo); border-radius: var(--raio); }

/* ---------- v2: ficha editável ---------- */
.f-contato { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 16px; }
.btn-zap {
  background: #1f3529; color: var(--ok); border: 1px solid #2c4a38;
  padding: 8px 12px; border-radius: var(--raio); font-weight: 600; font-size: 13px;
}
.btn-zap:hover { filter: brightness(1.15); }
.f-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.f-campo { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--texto-suave); }
.f-campo input, .f-campo select {
  background: var(--fundo); border: 1px solid var(--borda); color: var(--texto);
  border-radius: 8px; padding: 8px 10px; font-size: 13px;
}
.f-campo input:focus, .f-campo select:focus { border-color: var(--acento); outline: none; }
.f-secao { margin: 16px 0 8px; font-size: 13px; }
.f-secao small { color: var(--texto-suave); font-weight: 400; }
.f-add summary { cursor: pointer; color: var(--acento); margin: 10px 0; font-size: 13px; }
.f-add .f-grade { margin-bottom: 10px; }
.f-nota textarea {
  width: 100%; background: var(--fundo); border: 1px solid var(--borda);
  color: var(--texto); border-radius: 8px; padding: 10px; resize: vertical;
}
.f-nota-rodape { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; }
.f-nota-rodape span { color: var(--texto-suave); font-size: 12px; }
.nota-meta { color: var(--texto-suave); font-size: 11px; margin-top: 3px; }
.mini-x { float: right; background: none; border: none; color: var(--texto-suave); }
.mini-x:hover { color: var(--alerta); }

/* v3 — Configs: almoço/pausa (Parte 3) */
.btn-fantasma.mini{padding:2px 8px;font-size:11px}
.cel-almoco input[type=time]{width:74px;padding:2px 4px;background:transparent;
  border:1px solid var(--borda,#3a3a4a);border-radius:6px;color:inherit;font:inherit;font-size:12px}

/* v5 — Sessões D/E/F */
.sino-wrap{position:relative}
.sino-qtd{position:absolute;top:-4px;right:-4px;background:#e5484d;color:#fff;
  border-radius:10px;font-size:10px;min-width:16px;height:16px;line-height:16px;
  text-align:center;padding:0 3px}
.sino-lista{position:absolute;right:0;top:110%;width:340px;max-height:420px;
  overflow:auto;background:var(--painel,#1d1d28);border:1px solid var(--borda,#3a3a4a);
  border-radius:10px;z-index:60;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.sino-item{display:flex;justify-content:space-between;gap:8px;padding:10px;
  border-bottom:1px solid var(--borda,#3a3a4a);font-size:13px}
.sino-acoes{display:flex;flex-direction:column;gap:4px;flex-shrink:0}
.pri-item{cursor:pointer}
.pri-item:hover{filter:brightness(1.15)}
.pri-item .selo{margin-left:6px}
.chk-linha{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;
  margin-right:10px;cursor:pointer;white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:4px 2px;margin-bottom:6px}
.contrato-bloco summary{cursor:pointer;padding:6px 0}
.contrato-bloco{border-bottom:1px dashed var(--borda,#3a3a4a);padding-bottom:8px}
.molde-prev{width:100%;margin-top:6px;background:transparent;color:inherit;
  border:1px solid var(--borda,#3a3a4a);border-radius:8px;padding:8px;font:inherit;font-size:13px}
.mini-sel{margin-left:6px;background:transparent;color:inherit;font-size:11px;
  border:1px solid var(--borda,#3a3a4a);border-radius:6px;padding:1px 3px}

/* v6 — editor de moldes multi-linha */
.molde-editor{margin:4px 0 10px;display:flex;flex-direction:column;gap:6px}
.molde-editor .btn-acao,.molde-editor .btn-fantasma{align-self:flex-start}

/* v7 — aba Distribuição + subabas das Configs */
.sub-abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;
  border-bottom:1px solid var(--borda,#3a3a4a);padding-bottom:10px}
.sub-aba{background:transparent;border:1px solid var(--borda,#3a3a4a);
  color:inherit;font:inherit;font-size:13px;padding:6px 14px;border-radius:8px;cursor:pointer}
.sub-aba.ativo{background:var(--destaque,#4f6ef7);border-color:var(--destaque,#4f6ef7);color:#fff}
.sub-aba:hover:not(.ativo){filter:brightness(1.2)}
.fila-tabela td{padding:7px 6px;vertical-align:middle}
.fila-pos{width:34px;font-weight:700}
.fila-prox td{background:rgba(79,110,247,.10)}
.fila-nums{font-family:ui-monospace,monospace;font-size:12px;opacity:.85;white-space:nowrap}
.fila-acao{text-align:right}
.peso-input{width:52px;padding:2px 4px;background:transparent;color:inherit;font:inherit;
  font-size:13px;border:1px solid var(--borda,#3a3a4a);border-radius:6px;text-align:center}

/* v8 — filtro de dia */
#filtro-dia{color-scheme:dark}
input.campo-filtro[type=date]{padding:5px 8px}

/* v9 — ficha reestruturada + filtros */
.f-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.f-entrada-sum{cursor:pointer;font-weight:600;padding:6px 0}
.f-entrada{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;
  font-size:13px;padding:8px 0;opacity:.9}
.f-entrada div{padding:2px 0}
.contrato-abas{margin:8px 0 10px}
.contrato-painel{margin-bottom:8px}
.f-check{flex-direction:row;align-items:center;gap:8px}
.f-check input{width:auto}
#tab-info{background:transparent;color:inherit;border:1px solid var(--borda,#3a3a4a);
  border-radius:8px;padding:5px 8px;font:inherit;font-size:13px}

/* ---------- Ficha: setinha, modo lateral e tela cheia ---------- */
.ficha-topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.btn-voltar {
  background:none; border:1px solid var(--borda); color:var(--texto-suave);
  width:32px; height:32px; border-radius:8px; font-size:15px; cursor:pointer; line-height:1;
}
.btn-voltar:hover { color:var(--acento); border-color:var(--acento); }
.ficha.ficha-cheia {
  width:100vw; max-width:100vw; left:0; right:0; padding:22px 32px;
}
.ficha-cheia .btn-voltar { transform: rotate(180deg); }  /* ◄ vira ► p/ recolher */
.ficha-cab { border-bottom:1px solid var(--borda); margin-bottom:16px; }
.ficha-abas { display:flex; gap:6px; flex-wrap:wrap; margin-top:12px; }
.ficha-aba {
  background:transparent; border:1px solid var(--borda); color:inherit;
  font:inherit; font-size:13px; padding:7px 15px; border-radius:8px 8px 0 0;
  cursor:pointer; border-bottom:none; position:relative; top:1px;
}
.ficha-aba.ativo { background:var(--painel-2,#242233); border-color:var(--acento); color:var(--acento); }
.ficha-aba.enfase:not(.ativo) { border-color:var(--acento); color:var(--acento); }
.ficha-corpo { max-width:1100px; }
.ficha-cheia .ficha-corpo .f-grade { grid-template-columns:repeat(3,1fr); }
.ficha-expandir-dica { margin-top:18px; opacity:.7; }

/* ---------- Aba Financeira ---------- */
.fin-topo { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.fin-selo { font-size:14px; padding:5px 14px; }
.fin-nums { display:flex; gap:22px; flex-wrap:wrap; }
.fin-nums div { display:flex; flex-direction:column; }
.fin-nums small { color:var(--texto-suave); font-size:11px; }
.fin-nums b { font-size:15px; }
.fin-lanc { display:flex; justify-content:space-between; align-items:center; }
.chk-bloq { opacity:.55; }
.doc-preview-vazio {
  border:1px dashed var(--borda); border-radius:10px; padding:40px; text-align:center;
  color:var(--texto-suave); margin-top:12px;
}
.iv-logo-preview { max-height:60px; margin:8px 0; display:block; border:1px solid var(--borda); border-radius:6px; padding:6px; background:#fff; }

/* v11 — mensagens padrão, chips de variável, bloco de form */
.mp-vars { display:flex; gap:6px; margin:8px 0; }
.chip { background:var(--cartao-2); border:1px solid var(--borda); color:var(--acento);
  border-radius:20px; padding:3px 12px; font-size:12px; cursor:pointer; font:inherit; }
.chip:hover { border-color:var(--acento); }
.mp-item { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.mp-acoes { display:flex; gap:4px; align-items:center; flex-shrink:0; }
.btn-fantasma.mini { padding:3px 10px; font-size:12px; }
.secao-form { margin:16px 0 8px; padding-top:12px; border-top:1px solid var(--borda); }
.secao-form h4 { font-size:13px; color:var(--acento); font-weight:600; }
.secao-form h4 small { color:var(--texto-suave); font-weight:400; }

/* ===================== v12 — Documentos / cláusulas / bancos ============== */
.doc-sub{font-size:12px;font-weight:700;color:var(--acento-2);margin:16px 0 6px;
  text-transform:uppercase;letter-spacing:.4px;}
.doc-form{margin-bottom:6px;}
.doc-form .dc-largo{grid-column:1 / -1;}
.doc-form textarea{width:100%;}
.doc-form textarea, .doc-form input, .doc-form select{
  background:var(--fundo);border:1px solid var(--borda);border-radius:8px;
  color:var(--texto);padding:8px 10px;font-size:13px;font-family:inherit;}
.doc-acoes{display:flex;align-items:center;gap:12px;margin-top:14px;}
.doc-tipo-abas{display:flex;gap:6px;margin-bottom:10px;}
.doc-add-clausula, .doc-add-banco{display:flex;flex-direction:column;gap:8px;
  margin-top:14px;padding-top:12px;border-top:1px dashed var(--borda);}
.doc-add-clausula input, .doc-add-clausula textarea,
.doc-add-banco input{background:var(--fundo);border:1px solid var(--borda);
  border-radius:8px;color:var(--texto);padding:8px 10px;font-size:13px;font-family:inherit;}
.doc-add-clausula .btn-fantasma, .doc-add-banco .btn-fantasma{align-self:flex-start;}
.cl-row{border:1px solid var(--borda);border-radius:var(--raio);padding:10px 12px;
  margin-bottom:10px;background:var(--fundo);}
.cl-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap;}
.cl-head .cl-ordem{width:56px;text-align:center;background:var(--cartao);
  border:1px solid var(--borda);border-radius:6px;color:var(--texto);padding:6px;}
.cl-head .cl-titulo{flex:1;min-width:180px;background:var(--cartao);
  border:1px solid var(--borda);border-radius:6px;color:var(--texto);
  padding:6px 8px;font-weight:600;}
.cl-head .cl-ativo{display:flex;align-items:center;gap:4px;font-size:12px;
  color:var(--texto-suave);white-space:nowrap;}
.cl-corpo{width:100%;background:var(--cartao);border:1px solid var(--borda);
  border-radius:6px;color:var(--texto);padding:8px 10px;font-size:12.5px;
  font-family:inherit;line-height:1.5;resize:vertical;}
.btn-mini{background:var(--acento);color:#12261f;border:none;border-radius:6px;
  padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;}
.btn-mini:hover{filter:brightness(1.08);}
.tabela-bancos td:last-child{text-align:right;width:36px;}

/* v13 — ações de documentos */
.doc-acoes{display:flex;flex-direction:column;gap:8px;margin-top:16px;
  padding-top:12px;border-top:1px solid var(--borda);}
.doc-acoes-linha{display:flex;align-items:center;gap:10px;}
.doc-acoes-linha b{min-width:70px;color:var(--texto-suave);font-size:13px;}
.doc-atalho{margin-top:16px;padding-top:12px;border-top:1px dashed var(--borda);
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;}

/* v14 — Cliente / Terceiros / CEP */
.cep-linha{display:flex;gap:6px;align-items:center;}
.cep-linha input{flex:1;}
.tit-card{border:1px solid var(--borda);border-radius:var(--raio);padding:14px 16px;
  margin-bottom:14px;background:var(--cartao);}
.tit-card.tit-novo{border-style:dashed;background:transparent;}
.tit-acoes{display:flex;align-items:center;gap:10px;margin-top:10px;}
.tit-form .f-grade{margin-bottom:6px;}

/* v14b — subabas do Cliente + fix do botão Salvar */
.cli-subabas{display:flex;gap:6px;margin:4px 0 4px;}
.cli-subabas .sub-aba.sub-muted{opacity:.55;font-weight:400;}
.ficha-salvar{display:flex;align-items:center;gap:12px;margin-top:16px;}
.f-grade + .btn-acao,.f-grade + .doc-sub{margin-top:14px;}
.f-grade + h4.doc-sub{margin-top:16px;}

/* v15 — Contratos (banco/protocolo/terceiros) + Proposta + Serviço */
input.ro{background:var(--painel)!important;color:var(--texto-suave);cursor:default;}
.proto{font-family:ui-monospace,monospace;font-size:11px;color:var(--acento-2);
  background:rgba(169,210,222,.12);padding:1px 6px;border-radius:5px;}
.terceiros-bloco{margin-top:8px;padding:10px 12px;border:1px dashed var(--borda);border-radius:var(--raio);}
.tit-novo-inline{margin-top:8px;}
.proposta-preview{margin:6px 0 12px;}
.pp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.pp-box{border:1px solid var(--borda);border-radius:var(--raio);padding:10px 12px;background:var(--fundo);}
.pp-box.pp-ok{border-color:var(--ok);}
.pp-tit{font-weight:700;font-size:12px;color:var(--acento-2);margin-bottom:8px;}
.pp-linha{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:4px 0;
  border-bottom:1px solid var(--borda);color:var(--texto-suave);}
.pp-linha b{color:var(--texto);}
.serv-lista{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;}
.serv-linha{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:6px 10px;border:1px solid var(--borda);border-radius:8px;background:var(--fundo);font-size:13px;}
.serv-linha.total{border-color:var(--acento);font-weight:700;}
.serv-linha .serv-val{width:130px;text-align:right;background:var(--cartao);
  border:1px solid var(--borda);border-radius:6px;color:var(--texto);padding:6px 8px;}

/* v16 — excluir contrato / reset / modal de confirmação */
.btn-perigo{background:transparent;color:#e88;border:1px solid var(--alerta);
  border-radius:var(--raio);padding:9px 14px;font-weight:600;cursor:pointer;}
.btn-perigo:hover{background:var(--alerta);color:#fff;}
.btn-perigo:disabled{opacity:.5;cursor:not-allowed;}
.contrato-rodape{display:flex;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap;}
.zona-perigo{border-top:1px solid var(--alerta)!important;}
.zona-perigo h3{color:#e88;}
.modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;
  align-items:center;justify-content:center;z-index:9999;padding:20px;}
.modal-cx{background:var(--painel);border:1px solid var(--borda);border-radius:14px;
  padding:22px 24px;max-width:440px;width:100%;box-shadow:0 12px 40px rgba(0,0,0,.5);}
.modal-cx h3{margin:0 0 8px;color:var(--texto);}
.modal-cx p{color:var(--texto-suave);font-size:13px;margin:8px 0;}
.modal-inp{width:100%;background:var(--fundo);border:1px solid var(--borda);
  border-radius:8px;color:var(--texto);padding:10px 12px;font-size:14px;margin-top:4px;}
.modal-acoes{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;}
.modal-erro{display:block;margin-top:8px;}

/* v17 — moeda, pré-visualização inline de documento, fix do clipping de cards */
.painel-bloco{margin-bottom:16px;}
.painel-bloco::after{content:"";display:table;clear:both;}   /* neutraliza floats internos (fix bancos) */
.doc-preview-frame{display:none;width:100%;height:70vh;margin-top:14px;border:1px solid var(--borda);
  border-radius:var(--raio);background:#fff;}
.serv-linha .moeda{width:150px;text-align:right;background:var(--cartao);border:1px solid var(--borda);
  border-radius:6px;color:var(--texto);padding:6px 8px;}
input.moeda{font-variant-numeric:tabular-nums;}

/* v18 — taxa maquininha + rótulo de pagamento */
.tx-box{margin-top:10px;display:flex;flex-direction:column;gap:6px;}
.tx-linha{display:flex;align-items:center;gap:8px;}
.tx-linha span:first-child{min-width:110px;color:var(--texto-suave);font-size:13px;}
.tx-linha .tx-val{width:80px;background:var(--fundo);border:1px solid var(--borda);border-radius:6px;color:var(--texto);padding:6px 8px;text-align:right;}
.tx-linha .tx-pct{color:var(--texto-suave);}
.selo-rotulo{display:inline-block;font-size:11px;padding:1px 8px;border-radius:20px;background:rgba(149,205,186,.16);color:var(--acento);margin-left:6px;}

/* v18 — sub-pipes do kanban */
.pipe-subabas{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.followup-lista{display:flex;flex-direction:column;gap:8px;max-width:640px;}

/* v19 — calendário da Home */
.cal-topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.cal-nav{display:flex;gap:6px;}
.cal-grade{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-wd{text-align:center;font-size:11px;color:var(--texto-suave);font-weight:700;padding:4px 0;}
.cal-cel{min-height:78px;border:1px solid var(--borda);border-radius:8px;padding:4px;background:var(--fundo);overflow:hidden;}
.cal-cel.vazia{background:transparent;border:none;}
.cal-cel.hoje{border-color:var(--acento);box-shadow:inset 0 0 0 1px var(--acento);}
.cal-dia{font-size:11px;color:var(--texto-suave);font-weight:700;margin-bottom:3px;}
.cal-ev{font-size:10.5px;padding:2px 5px;border-radius:5px;margin-bottom:2px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-ev.agendamento{background:rgba(169,210,222,.18);color:var(--acento-2);}
.cal-ev.aniversario{background:rgba(149,205,186,.18);color:var(--acento);}

/* ===== Home: sub-abas + janelas + calendário/notificações (v22) ===== */
.subtabs{display:flex;gap:6px;border-bottom:1px solid var(--borda);margin-bottom:20px;flex-wrap:wrap}
.subtab{display:flex;align-items:center;gap:7px;padding:10px 16px;cursor:pointer;color:var(--texto-suave);
  font-weight:600;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px}
.subtab:hover{color:var(--texto)}
.subtab.ativo{color:var(--texto);border-bottom-color:var(--acento)}
.sub-badge{background:var(--alerta);color:#fff;font-size:11px;padding:1px 7px;border-radius:20px;font-weight:700}
.home-grade{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start}
@media (max-width:900px){.home-grade{grid-template-columns:1fr}}
.janela{background:var(--painel);border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden;
  cursor:pointer;transition:transform .12s,border-color .12s}
.janela:hover{transform:translateY(-2px);border-color:var(--acento)}
.jan-cab{display:flex;align-items:center;gap:9px;padding:14px 16px;border-bottom:1px solid var(--borda)}
.jan-cab h3{font-size:15px;margin:0;color:var(--texto)}
.jan-abrir{margin-left:auto;color:var(--acento);font-size:12.5px;font-weight:600}
.jan-corpo{padding:14px 16px}
.mcal-topo{font-weight:700;margin-bottom:8px;font-size:13px}
.mcal-grade{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.mcal-wd{color:var(--texto-suave);font-size:10.5px;text-align:center}
.mcal-cel{aspect-ratio:1;border-radius:8px;background:var(--fundo);border:1px solid var(--borda);
  padding:5px 6px;font-size:11.5px;color:var(--texto-suave);display:flex;flex-direction:column;gap:3px}
.mcal-cel.vazia{background:transparent;border:0}
.mcal-cel.hoje{border-color:var(--acento);color:var(--texto)}
.cal-dots{display:flex;gap:3px;flex-wrap:wrap}
.cal-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--c,#666)}
/* cores por tipo — unifica os 5 tipos (dot/pill/legenda) */
.cal-ev.agendamento,.cal-dot.agendamento,.cal-legenda .lg.agendamento{--c:#A9D2DE}
.cal-ev.aniversario,.cal-dot.aniversario,.cal-legenda .lg.aniversario{--c:#E0B15A}
.cal-ev.pagamento,.cal-dot.pagamento,.cal-legenda .lg.pagamento{--c:#95CDBA}
.cal-ev.cobranca,.cal-dot.cobranca,.cal-legenda .lg.cobranca{--c:#E08A6B}
.cal-ev.anuncio,.cal-dot.anuncio,.cal-legenda .lg.anuncio{--c:#B39DDB}
.cal-ev{border-left:3px solid var(--c,#666);background:var(--cartao-2);color:var(--texto)}
.cal-legenda{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;align-items:center}
.cal-legenda .lg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--texto-suave)}
.cal-legenda .lg::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c,#666)}
.notif-mini{padding:9px 4px;border-bottom:1px solid var(--borda);font-size:13px}
.notif-mini:last-child{border-bottom:0}
.notif-mini .quando{color:var(--texto-suave);font-size:11px;margin-top:2px}
.notif-full{background:var(--painel);border:1px solid var(--borda);border-radius:var(--raio)}
.notif-row{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid var(--borda)}
.notif-row:last-child{border-bottom:0}
.notif-row .txt{flex:1}
.notif-row .quando{color:var(--texto-suave);font-size:11.5px;margin-top:3px}

/* ---- Leads Global (pool) ---------------------------------------------- */
.global-pool { margin-top: 6px; }
.global-grade {
  display: grid; gap: 10px; margin-top: 8px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.global-card { position: relative; }
.global-card .btn-pegar {
  margin-top: 8px; width: 100%; cursor: pointer;
  background: var(--acento); color: var(--painel); border: none;
  border-radius: var(--raio); padding: 7px 10px; font-weight: 600; font-size: 12px;
}
.global-card .btn-pegar:hover { filter: brightness(1.08); }
.global-card .btn-pegar:disabled { opacity: .5; cursor: default; }

/* ---- Follow-up: botões de saída no card ------------------------------- */
.dica-fup { margin: 2px 0 10px; }
.fup-acoes { margin-top: 8px; display: flex; gap: 6px; }
.fup-acao {
  flex: 1; cursor: pointer; border-radius: 8px; padding: 4px 0; font-size: 14px;
  background: var(--cartao-2); border: 1px solid var(--borda);
}
.fup-acao:hover { border-color: var(--acento); }
.fup-acao.ok:hover { border-color: #7FC8A9; }
.fup-acao.gl:hover { border-color: var(--acento-2); }
.fup-acao.rep:hover { border-color: #D8B46A; }

/* ---- misc: valor riscado (desconto no serviço) e acesso rápido ---- */
.riscado { text-decoration: line-through; opacity: .6; font-weight: 500; }
.acesso-rapido { border-left: 3px solid var(--acento); padding-left: 10px; }

/* ---- aba Usuários (Configs) ---- */
.tabela-usuarios td { vertical-align: middle; }
.tabela-usuarios .mini-sel { min-width: auto; padding: 4px 8px; margin-right: 6px; }
.linha-inativa { opacity: .5; }

/* ===================== Resgate (esfriamento) + toggle de dicas ============= */
.rg-topo{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:6px 0 12px}
.rg-kpis{display:flex;gap:8px;flex-wrap:wrap}
.rg-nivel{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px}
.rg-nivel.n-amar{background:rgba(244,183,64,.14);color:#f4b740}
.rg-nivel.n-azul{background:rgba(74,168,255,.14);color:#4aa8ff}
.rg-nivel.n-verm{background:rgba(239,90,111,.16);color:#ef5a6f}
.rg-tabela td{vertical-align:middle}
.rg-nome{font-weight:600}
.rg-fase{display:inline-block;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);font-size:12px}
.rg-dias{font-variant-numeric:tabular-nums;font-weight:600}
.rg-acoes{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.lead-card.esfriando{position:relative}
.esf-selo{display:inline-block;margin-top:6px;font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px}
.esf-selo.esf-amar{background:rgba(244,183,64,.16);color:#f4b740}
.esf-selo.esf-azul{background:rgba(74,168,255,.16);color:#4aa8ff}
.esf-selo.esf-verm{background:rgba(239,90,111,.18);color:#ef5a6f}
.lead-card.esf-azul{box-shadow:inset 3px 0 0 #4aa8ff}
.lead-card.esf-verm{box-shadow:inset 3px 0 0 #ef5a6f}
#toggle-dicas{position:fixed;left:14px;bottom:70px;z-index:60;background:#1e222b;color:#c9d2e0;
  border:1px solid #2b313d;border-radius:999px;padding:7px 12px;font-size:12px;cursor:pointer;opacity:.8}
#toggle-dicas:hover{opacity:1}
body.sem-dicas .dica:not([id]),
body.sem-dicas .ajuda{display:none !important}

/* Resgate: controles (filtro/período/detalhes) + modo compacto */
.rg-ctrls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.rg-ctrl{display:inline-flex;align-items:center;gap:6px;color:#96a0b0;font-size:12px}
.rg-ctrl select,.rg-ctrl input[type=date]{background:#1e222b;color:#e7ebf2;border:1px solid #262b36;border-radius:8px;padding:5px 8px;font-size:12px}
.rg-toggle{cursor:pointer;user-select:none}
.rg-tabela.rg-compacto .rg-det,
.rg-tabela.rg-compacto .rg-col-esc{display:none}

/* ===================== remove o toggle_dicas ============= */
#toggle-dicas{display:none !important}

/* v32 — header enxuto + barra de filtros inline do pipeline + popup */
.topo{padding:9px 24px;gap:12px}
.topo h2{font-size:15px}
.barra-filtros{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin:2px 0 16px;font-size:12px;position:relative;min-height:30px}
.bf-ctrl{display:inline-flex;align-items:center;gap:6px;color:var(--texto-suave);font-size:12px}
.bf-ctrl input,.bf-ctrl select{background:var(--fundo);color:var(--texto);
  border:1px solid var(--borda);border-radius:8px;padding:5px 8px;font-size:12px;color-scheme:dark}
.bf-ctrl input[type=text]{min-width:150px}
.bf-ctrl input[type=date]{min-width:120px}
.bf-sep{color:var(--texto-suave)}
.bf-dir{margin-left:auto;display:inline-flex;gap:10px;align-items:center}
.bf-visao{background:transparent;border:1px solid var(--borda);color:var(--texto-suave);
  border-radius:8px;padding:5px 11px;font-size:12px;cursor:pointer;font-family:inherit}
.bf-visao:hover{filter:brightness(1.2)}
.bf-mais{display:inline-flex;align-items:center;gap:7px;cursor:pointer;background:transparent;
  border:1px solid var(--borda);color:var(--texto-suave);border-radius:8px;padding:5px 11px;
  font-size:12px;font-family:inherit}
.bf-mais:hover{filter:brightness(1.2)}
.bf-mais.ativo{background:var(--acento);border-color:var(--acento);color:var(--painel);font-weight:600}
.bf-mais .pino{width:7px;height:7px;border-radius:50%;background:var(--acento);display:none}
.bf-mais.ativo .pino{background:var(--painel);display:inline-block}
.bf-pop{position:absolute;right:0;top:36px;z-index:30;background:var(--painel);
  border:1px solid var(--borda);border-radius:12px;padding:14px;min-width:230px;
  box-shadow:0 12px 30px rgba(0,0,0,.45);display:none;flex-direction:column;gap:11px}
.bf-pop.aberto{display:flex}
.bf-pop h4{margin:0 0 2px;font-size:12px;color:var(--texto-suave);text-transform:uppercase;letter-spacing:.03em}
.bf-pop label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--texto-suave)}
.bf-pop select,.bf-pop input{background:var(--fundo);color:var(--texto);border:1px solid var(--borda);
  border-radius:8px;padding:6px 9px;font-size:13px;color-scheme:dark}
.bf-pop-rodape{display:flex;justify-content:space-between;margin-top:2px}
.bf-pop-rodape button{background:transparent;border:1px solid var(--borda);color:var(--texto-suave);
  border-radius:8px;padding:5px 12px;font-size:12px;cursor:pointer;font-family:inherit}
.bf-pop-rodape .aplicar{background:var(--acento);border-color:var(--acento);color:var(--painel);font-weight:600}