/* Objetos do CRM (1.1.0.3): Desenvolvimento › Objetos e as telas genéricas de registro */
.obj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.obj-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}
.obj-cab{display:flex;gap:10px;align-items:flex-start}
.obj-cab > div{flex:1;min-width:0}
.obj-cab b{display:block;font-size:14px}
.obj-cab span{font-size:12px;color:var(--ink-3)}
.obj-cab .chip{display:inline-flex;flex:none}
.obj-ic{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--brand-soft);color:var(--brand);flex:none}
.obj-ic.sm{width:28px;height:28px;border-radius:8px}
.obj-ic.g{width:44px;height:44px;border-radius:12px}
.obj-nums{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.obj-nums div{background:var(--bg);border-radius:8px;padding:6px 4px;text-align:center}
.obj-nums b{display:block;font-size:16px;line-height:1.1}
.obj-nums span{font-size:10.5px;color:var(--ink-3)}
.obj-meta{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--ink-3)}
.obj-meta span{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.obj-meta .chip{height:17px;font-size:9.5px}
.obj-acoes{display:flex;gap:6px;align-items:center;margin-top:2px}
.obj-acoes .btn{text-decoration:none}
.chip.legado{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
/* opção bloqueada que continua mostrando o que falta (tag em cor cheia, o resto apagado) */
.check.off-parcial{cursor:not-allowed}
.check.off-parcial > input,.check.off-parcial b,.check.off-parcial > div > span:not(.tag-omni){opacity:.55}
.check .tag-omni{display:inline-flex;align-items:center;gap:4px;margin:4px 0 4px;font-size:10.5px;font-weight:600;color:#9a3412}
.contador-card.legado b{color:#c2410c}
.origem-campo .check select{width:100%;font:inherit;font-size:12px;height:32px;padding:0 8px;line-height:30px;border:1px solid var(--line);border-radius:6px;background:#fff}
.origem-campo .check .campo label{font-size:11.5px}
.exp-obj{border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px 10px;margin-bottom:10px}
.exp-obj h3{display:flex;align-items:center;gap:6px;font-size:12.5px;margin:0 0 4px}
/* faixa da extensão embaixo do painel do core (plugins.js: rodarExtensoes) */
.pl-ext{margin:0 14px 12px;border:1px dashed var(--brand-line, #bfdbfe);border-radius:8px;padding:8px 12px 10px;background:var(--brand-soft,#eff6ff)}
.pl-ext.erro{border-color:var(--alerta-line);background:var(--alerta-soft)}
.pl-ext-t{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:4px;flex-wrap:wrap}
.pl-ext-t .chip{height:17px;font-size:9.5px}
.pl-ext .dl{margin:0}
.pl-ext-acoes{margin-top:6px;display:flex;gap:6px;flex-wrap:wrap}
.pl-ext-wrap:empty{display:none}
.ver-ext{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--ink-3);margin-top:4px}
@media (max-width:1100px){.obj-grid{grid-template-columns:1fr}}

/* lista de objetos (padrão dos cadastros) e cadastro de objeto personalizado */
.obj-nome{display:flex;align-items:center;gap:10px}
.obj-nome .nome-grupo span{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.obj-chave{font-size:11px;color:var(--ink-2);background:#f3f4f6;border-radius:4px;padding:1px 6px}
tr.inativa .obj-ic{opacity:.5}
.obj-icones{display:flex;flex-wrap:wrap;gap:6px}
.obj-icones button{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink-2);cursor:pointer;display:grid;place-items:center}
.obj-icones button.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
.obj-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.obj-links .link{display:inline-flex;align-items:center;gap:4px;font-size:12px}

/* variação do layout do perfil (gaveta Novo objeto / Editar objeto) */
.lay-ops{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.lay-op{display:flex;flex-direction:column;gap:6px;align-items:stretch;font:inherit;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;cursor:pointer;color:var(--ink)}
.lay-op b{font-size:11px;font-weight:500;text-align:center;line-height:1.3}
.lay-op.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}
.lay-op.on b{color:var(--brand);font-weight:600}
.lm{display:flex;flex-direction:column;gap:3px;height:58px}
.lm > u{display:block;height:9px;border-radius:3px;background:#dbe3ee}
.lm-t{display:flex;gap:3px}
.lm-t s{width:18px;height:5px;border-radius:2px;background:#cbd5e1;text-decoration:none}
.lm-t s:first-child{background:var(--brand)}
.lm-c{flex:1;display:grid;gap:3px}
.lm-c.duas{grid-template-columns:2fr 3fr}
.lm-c.lateral{grid-template-columns:3fr 1.3fr}
.lm-c.um{grid-template-columns:1fr}
.lm-c > div{display:flex;flex-direction:column;gap:3px}
.lm-c i{flex:1;border-radius:3px;background:#eef2f7;border:1px solid #e2e8f0}
.lay-op.on .lm-c i{background:var(--brand-soft)}
/* variações do perfil genérico (registros.js: pgRegistro) */
.perfil.lateral{grid-template-columns:minmax(0,1fr) minmax(300px,360px)}
.perfil.uma{grid-template-columns:minmax(0,900px)}
.perfil-abas > .abas-pg{margin-bottom:12px}
.perfil-abas{max-width:1000px}
.lay-op:disabled{cursor:not-allowed;opacity:.55}
/* Vincular campos existentes (vincular.js): colunas do banco do cliente à esquerda, seções do objeto à direita */
.vc-grid{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:16px;align-items:start}
.vc-cols{position:sticky;top:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.vc-cols .combo{width:100%}
.vc-col-t{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink-2);margin:0 2px 8px}
.vc-lista{display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow:auto;padding-right:2px}
.vc-colcard{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;cursor:grab}
.vc-colcard:hover{border-color:var(--brand-line,#bfdbfe)}
.vc-colcard.sel{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}
.vc-colcard > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.vc-colcard b{font-size:11.5px}
.vc-colcard span{font-size:11.5px;color:var(--ink-2)}
.vc-colcard .mini{color:var(--ink-3)}
.vc-secs{display:flex;flex-direction:column;gap:12px}
.vc-sec{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;transition:border-color .1s,background .1s}
.vc-sec-t{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:13px}
.vc-campo{display:flex;align-items:center;gap:8px;border:1px solid var(--line-soft);border-radius:8px;padding:7px 10px;margin-bottom:6px;font-size:12.5px;background:#fff;cursor:copy}
.vc-campo.fixo{cursor:default;opacity:.7}
.vc-campo .vc-nm{flex:1;min-width:0}
.vc-campo .chip{display:inline-flex;align-items:center;gap:4px}
.vc-campo.pend{border-color:var(--brand);background:var(--brand-soft)}
.vc-x{border:0;background:0;padding:0 0 0 2px;cursor:pointer;color:inherit;display:inline-flex}
.vc-solte{border:1px dashed var(--line);border-radius:8px;padding:8px 10px;font-size:11.5px;color:var(--ink-3);display:flex;align-items:center;gap:6px;cursor:copy}
body.vc-arrastando .vc-solte{border-color:var(--brand);color:var(--brand)}
.vc-sec.vc-sobre{border-color:var(--brand);background:#f8fbff}
.vc-campo.vc-sobre{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}
@media (max-width:1000px){.vc-grid{grid-template-columns:1fr}.vc-cols{position:static}}
/* Formulários (formularios.js) */
/* lista de formulários: a descrição encurta antes de empurrar as ações para fora do cartão */
.fm-tab .obj-nome .nome-grupo span{max-width:300px}
.fm-tab td.col-acoes{white-space:nowrap}
.fm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:16px;align-items:start}
.fm-lado{display:flex;flex-direction:column;gap:12px;position:sticky;top:12px}
.fm-lado .preview{margin:0}
.fm-usos{padding:12px}
.fm-usos-t{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink-2);margin-bottom:8px}
.fm-uso{display:flex;gap:10px;align-items:flex-start;padding:8px;border-radius:8px;text-decoration:none;color:var(--ink)}
.fm-uso:hover{background:var(--bg)}
.fm-uso > div{display:flex;flex-direction:column;gap:2px}
.fm-uso b{font-size:12.5px}
.fm-uso span{font-size:11.5px;color:var(--ink-3)}
.fm-sec-t{font-size:11px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 2px}
@media (max-width:1100px){.fm-grid{grid-template-columns:1fr}.fm-lado{position:static}}
/* aba Painéis do objeto: abas verticais (plugins, formulários, objetos vinculados) */
.pnl-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}
.pnl-nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:12px}
.pnl-nav button{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:none;cursor:pointer;font:inherit;color:var(--ink-2)}
.pnl-nav button:hover{background:var(--bg)}
.pnl-nav button.on{background:var(--brand-soft);border-color:#cfe0ff;color:var(--brand-2)}
.pnl-ic{display:flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:7px;background:#fff;border:1px solid var(--line)}
.pnl-nav button.on .pnl-ic{border-color:#cfe0ff;color:var(--brand)}
.pnl-tx{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.pnl-tx b{font-size:13px;font-weight:600}
.pnl-tx span{font-size:11.5px;color:var(--ink-3);line-height:1.35}
.pnl-nav .bolha{margin-top:4px}
.pnl-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.pnl-cab h3{margin:0;font-size:15px}
.pnl-cab p{margin:3px 0 0;font-size:12px;color:var(--ink-3)}
.pnl-conteudo .tit-sec{margin-top:22px}
@media (max-width:1300px){.pnl-conteudo .pl-cards{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.pnl-grid{grid-template-columns:1fr}.pnl-nav{flex-direction:row;position:static;overflow-x:auto}.pnl-nav button{min-width:200px}}
/* respostas do formulário: dono e tabela do cliente */
.chip.alerta{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}
.nome-grupo .fm-col{display:inline-flex;align-items:center;gap:3px;margin-top:4px;width:max-content}
.fm-resumo{margin:-2px 0 8px;color:var(--ink-3)}
.fm-resumo-cab{display:flex;align-items:center;gap:5px;margin:6px 0 0;font-size:12px;color:var(--ink-3)}
.fmh-nova-chave{margin-top:10px;max-width:420px}
.fmh-ajuda select{width:100%;min-width:260px}
/* padrão do formulário (One / HTML livre) */
.fm-pads{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.fm-pad{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font:inherit;color:var(--ink)}
.fm-pad > div{display:flex;flex-direction:column;gap:3px}
.fm-pad b{font-size:13px}
.fm-pad > div > span{font-size:11.5px;color:var(--ink-3);line-height:1.35}
.fm-pad:hover{border-color:var(--brand)}
.fm-pad.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand) inset}
/* editor do HTML livre */
.fmh-grid{grid-template-columns:minmax(0,1fr) minmax(360px,460px)}
.fmh-ed{display:flex;flex-direction:column;overflow:hidden}
.fmh-abas{display:flex;align-items:center;gap:2px;padding:6px 8px 0;border-bottom:1px solid var(--line);background:var(--bg)}
.fmh-abas button{border:0;background:none;padding:8px 14px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.fmh-abas button.on{color:var(--brand-2);border-bottom-color:var(--brand)}
.fmh-pt{color:#f59e0b;font-size:9px;vertical-align:2px}
.fmh-st{margin-left:auto;padding:0 6px 4px;font-size:11.5px;max-width:60%;text-align:right}
.fmh-st .erro-msg{margin:0}
.fmh-cod{display:block;width:100%;box-sizing:border-box;min-height:calc(100vh - 290px);border:0;border-radius:0;padding:14px 16px;resize:vertical;tab-size:2;
  font:12.5px/1.6 ui-monospace,"Cascadia Mono",Consolas,monospace;font-variant-ligatures:none;background:#0f172a;color:#e2e8f0;outline:none}
.fmh-cod[readonly]{opacity:.85}
.fmh-ajuda{padding:16px 18px;font-size:13px;line-height:1.55;min-height:calc(100vh - 290px);box-sizing:border-box}
.fmh-ajuda table{width:100%;margin:10px 0}
.fmh-ajuda td{vertical-align:top}
.fmh-ajuda td:first-child{white-space:nowrap;width:1%}
.fmh-one summary{cursor:pointer;font-weight:600;color:var(--brand-2)}
.fmh-one pre{margin:8px 0 0;padding:12px 14px;border-radius:8px;background:#0f172a;color:#e2e8f0;font:11.5px/1.55 ui-monospace,"Cascadia Mono",Consolas,monospace;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto}
.fmh-prev{padding:12px}
.fmh-prev .fm-usos-t{flex-wrap:wrap}
.fmh-modo{margin-left:8px}
.fmh-modo button{font-size:11.5px;padding:3px 10px}
/* painel do perfil com o próprio formulário (HTML livre, modo leitura) */
.fm-perfil{padding:4px 16px 12px}
.fm-perfil-aviso{display:flex;align-items:center;gap:4px;margin:8px 0 0;color:var(--ink-3)}
.fm-frame{display:block;width:100%;border:0;background:#fff}
#fmh-prev{border:1px dashed var(--line);border-radius:8px;padding:8px}
.fmh-dica{margin:10px 0 0}
.fmh-ok{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.fmh-ok .dl{margin:0}
/* editor do Layout do perfil na variação salva no objeto (layout.js) */
.ly-grid.lateral{grid-template-columns:minmax(0,1fr) minmax(300px,360px)}
.ly-grid.uma,.ly-grid.abas,.ly-grid.secoes{grid-template-columns:minmax(0,760px)}
.ly-variacao{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:14px;max-width:520px}
.ly-variacao .lm{width:84px;height:46px;flex:none}
.ly-variacao b{display:block;font-size:12.5px}
.ly-variacao span{font-size:11.5px;color:var(--ink-3)}
@media (max-width:900px){.lay-ops{grid-template-columns:repeat(2,1fr)}}

/* seletor de ícone padrão (abrirSeletorIcone em app.js): busca, categorias e grade */
.modal.icsel .cab{position:relative}
.modal.icsel .cab .fechar{position:absolute;top:14px;right:14px;border:0;background:0;color:var(--ink-3);cursor:pointer}
.icsel-cats{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.icsel-cats button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 12px;font:inherit;font-size:12px;color:var(--ink-2);cursor:pointer}
.icsel-cats button.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:600}
.icsel-grade{padding:10px}
.icsel-grade .g{grid-template-columns:repeat(6,1fr)}
/* Eventos do objeto (eventos.js) */
.ev-item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:10px}
.ev-item.ligado{border-color:#cfe0ff;box-shadow:inset 3px 0 0 var(--brand)}
.ev-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.ev-cab b{font-size:13.5px;font-weight:600}
.ev-cab p{margin:4px 0 0;font-size:12.5px;color:var(--ink-3);line-height:1.45;max-width:760px}
.ev-cab .btn{flex:none}
.ev-ligs{margin-top:10px;border-top:1px solid var(--line)}
.ev-lig{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.ev-lig.inativa{opacity:.6}
.ev-fluxo{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-weight:500}
.ev-det{color:var(--ink-3);font-size:12px}
.ev-acoes{display:flex;gap:2px}
.ev-info{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:10px;font-size:11.5px;color:var(--ink-3)}
.ev-info b{color:var(--ink-2);font-weight:600}
.ev-campos{max-height:220px;overflow:auto}
.ev-previa{margin-top:-4px;margin-bottom:12px;padding:8px 10px;border-radius:8px;background:var(--bg);font-size:12px;color:var(--ink-2)}
@media (max-width:900px){.ev-lig{grid-template-columns:1fr}}
/* Edição na tela do perfil (edicao.js): uma linha por campo, ✓ preenchido, "Adicionar" no vazio */
.ie-lista{display:flex;flex-direction:column}
.ie-linha{display:grid;grid-template-columns:20px minmax(110px,min(34%,190px)) minmax(0,1fr);align-items:center;gap:8px;min-height:34px;padding:2px 0;font-size:13px}
.ie-st{display:flex;align-items:center;justify-content:center;width:18px;height:18px}
.ie-st.ok{color:#16a34a}
.ie-st i{display:block;width:14px;height:14px;border-radius:50%;background:var(--bg);border:1px solid var(--line)}
.ie-rot{color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ie-rot.on,.ie-linha.editando .ie-rot{color:var(--brand)}
.ie-trava{color:var(--ink-4)}
.ie-val{display:flex;align-items:center;gap:6px;min-width:0;min-height:28px;padding:3px 8px;margin-left:-8px;border-radius:6px;color:var(--ink);word-break:break-word}
.ie-linha.pode .ie-val{cursor:pointer}
.ie-linha.pode .ie-val:hover,.ie-linha.pode .ie-val:focus-visible{background:var(--bg);outline:none}
.ie-add{color:var(--ink-3)}
.ie-linha.pode .ie-val:hover .ie-add{color:var(--brand)}
.ie-lapis{margin-left:auto;color:var(--ink-4);opacity:0}
.ie-linha.pode .ie-val:hover .ie-lapis{opacity:1}
.ie-ed{display:flex;align-items:flex-start;gap:4px;min-width:0;margin-left:-8px}
.ie-ed .campo{flex:1;min-width:0;margin:0}
.ie-ed .campo .lbl-l{display:none}
.ie-ed input,.ie-ed select,.ie-ed textarea{padding:4px 8px;min-height:30px;font-size:13px;box-shadow:0 0 0 3px var(--brand-soft);border-color:var(--brand)}
.ie-ed .erro-msg,.ie-ed .dica{font-size:11.5px}
.ie-bts{display:flex;gap:2px;flex:none;padding-top:2px}
.ie-linha.ruim .ie-ed input,.ie-linha.ruim .ie-ed select{border-color:var(--erro);box-shadow:0 0 0 3px var(--erro-soft)}.ev-ciclo{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:6px;margin:0 0 14px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;counter-reset:passo}
.ev-passo{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);cursor:pointer;font:inherit;text-align:left}
.ev-passo b{font-size:12px;font-weight:600;color:var(--ink-2);line-height:1.25}
.ev-passo i{font-style:normal;font-size:10.5px;font-weight:600;color:var(--ink-4)}
.ev-passo.ligado i{color:var(--brand)}
.ev-passo span{font-size:11px;color:var(--ink-3)}
.ev-passo.ligado{background:var(--brand-soft);border-color:#cfe0ff}
.ev-passo.ligado b{color:var(--brand-2)}
.ev-passo:hover{border-color:var(--brand)}
.ev-seta{color:var(--ink-4);display:flex}
.ev-sub{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 8px}
.ev-sub:first-of-type{margin-top:4px}
.ev-sub h4{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:var(--ink-2)}
.escolhas-linha{display:flex;flex-wrap:wrap;gap:6px 16px}
/* eventos: vários por momento, cada um com um ou mais fluxos em sequência */
.ev-bts{display:flex;gap:6px;flex:none}
.ev-ligs-cab{padding:8px 0 2px;font-size:11.5px;color:var(--ink-3)}
.ev-corpo{display:flex;flex-direction:column;gap:3px;min-width:0}
.ev-nome{font-size:13px;font-weight:600;color:var(--ink)}
.ev-seq{display:inline-flex;color:var(--ink-4)}
.ev-ordem{display:flex;flex-direction:column}
.ev-fluxos{display:flex;flex-direction:column;gap:6px}
.ev-fluxo-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:6px}
.ev-num{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--brand-soft);color:var(--brand-2);font-size:11px;font-weight:600}
.ev-pc td{vertical-align:middle}
.ev-pc select{width:100%}