/* ---------- steps ---------- */
.steps{display:flex;gap:4px;margin-bottom:22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:6px;overflow:auto;backdrop-filter:blur(18px)}
.step{flex:1;min-width:96px;text-align:center;padding:9px 8px;border-radius:11px;font-size:12.5px;color:var(--dim2);white-space:nowrap;transition:.16s}
.step b{display:block;font-size:9.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--dim2);font-weight:700}
.step.on{background:linear-gradient(120deg,rgba(125,92,255,.32),rgba(61,123,255,.16));color:#fff;border:1px solid rgba(125,92,255,.4)}
.step.on b{color:var(--acc-fg)}
/* ---- centro de custo em checklist (ccMarcar) ---- */
.cc-check{display:flex;flex-direction:column;gap:6px}
.cc-opt{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--sf2);
  font-size:13.5px;color:var(--txt);cursor:pointer;transition:border-color .15s,background .15s}
.cc-opt:hover{border-color:var(--line2)}
.cc-opt input{width:16px;height:16px;margin:0;flex:none;accent-color:var(--acc);cursor:pointer}
.cc-opt:has(input:checked){border-color:var(--acc-bd);background:var(--acc-bg)}
.cc-opt:has(input:focus-visible){outline:2px solid var(--acc);outline-offset:1px}
/* ---- um plano de pagamento por centro de custo (planos.js) ---- */
.plano-cc{font-weight:500;color:var(--acc-fg)}
.f:has(> input.moeda){position:relative}
.f:has(> input.moeda)::after{content:"R$";position:absolute;left:12px;bottom:11px;font-size:13.5px;color:var(--dim);pointer-events:none}
input.moeda{padding-left:36px;text-align:right;font-variant-numeric:tabular-nums}
.plano-grid{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr));max-width:1040px}
.plano-grid .f.sp2{max-width:none}   /* quantas colunas o cronograma ocupa: planoFormato() em planos.js */
@media(max-width:900px){.plano-grid{grid-template-columns:1fr 1fr}}
.planos-total{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 12px;margin:-4px 0 16px;padding:4px 4px 0;font-size:13.5px}
.planos-total i{font-style:normal;color:var(--dim2)}
/* ---- stepper do fechamento: círculos numerados ligados por linha, clicáveis (irParaPasso).
   Dois ids na frente para valer sobre o theme-light e a barra de progresso do clientes.css.
   A numeração sai de um counter: passos ocultos no modo Sebrae não contam. */
#closingWizard #closingSteps{counter-reset:passo;gap:0;padding:12px 8px 10px}
#closingWizard #closingSteps::before,#closingWizard #closingSteps::after{display:none}
#closingWizard #closingSteps .step{counter-increment:passo;position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;
  padding:6px 4px 8px;border:0;border-radius:12px;background:none;color:var(--dim2);font-size:12.5px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}
#closingWizard #closingSteps .step b{display:none}
#closingWizard #closingSteps .step::before{content:counter(passo);position:relative;z-index:1;width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;font-size:12.5px;font-weight:700;border:2px solid var(--line2);background:var(--sf1);color:var(--dim);
  transition:transform .15s,border-color .15s,background .15s,color .15s,box-shadow .15s}
/* linha até o próximo passo; fica verde quando o passo já foi concluído */
#closingWizard #closingSteps .step::after{content:"";position:absolute;top:20px;left:calc(50% + 19px);right:calc(-50% + 19px);height:2px;border-radius:2px;background:var(--line2)}
#closingWizard #closingSteps .step:last-child::after{display:none}
/* passo 3 (pagamento) foi fundido ao 2 - some da faixa e não entra na contagem */
#closingWizard #closingSteps #s3,#closingWizard #closingSteps #s4{display:none}   /* emissor foi para o Faturamento */
#closingWizard #closingSteps .step.done{color:var(--txt)}
#closingWizard #closingSteps .step.done::before{content:"✓";background:var(--ok-bg);border-color:var(--ok-bd);color:var(--ok-fg)}
#closingWizard #closingSteps .step.done::after{background:var(--ok-fg)}
#closingWizard #closingSteps .step.on{color:var(--txt);font-weight:650;cursor:default}
#closingWizard #closingSteps .step.on::before{background:linear-gradient(135deg,var(--acc),var(--acc2));border-color:transparent;color:#fff;box-shadow:0 0 0 4px var(--acc-bg)}
/* hover: fundo, borda colorida e leve elevação deixam claro que o passo é clicável */
#closingWizard #closingSteps .step:not(.on):hover{background:var(--sf2);color:var(--txt)}
#closingWizard #closingSteps .step:not(.on):hover::before{border-color:var(--acc);color:var(--acc-fg);transform:translateY(-2px);box-shadow:0 4px 12px -4px rgba(125,92,255,.55)}
#closingWizard #closingSteps .step.done:hover::before{border-color:var(--ok-fg);color:var(--ok-fg);box-shadow:0 4px 12px -4px rgba(47,212,143,.55)}
#closingWizard #closingSteps .step:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.step.done{color:var(--ok)}
.step.done b{color:var(--ok)}
/* ---------- clausulas ---------- */
.cl{border:1px solid var(--line);border-radius:13px;margin-bottom:9px;overflow:hidden;background:var(--sf1);transition:.16s}
.cl:hover{border-color:var(--line2)}
.cl-h{display:flex;align-items:center;gap:11px;padding:12px 14px;cursor:pointer}
.cl-h:hover{background:var(--sf1)}
.cl-h .t{flex:1;font-size:13.5px;font-weight:500}
.cl-h .t small{display:block;color:var(--dim2);font-size:11.5px;font-weight:400}
.tag{font-size:10.5px;padding:3px 9px;border-radius:20px;background:var(--sf3);color:var(--dim);border:1px solid var(--line);white-space:nowrap}
.tag.fix{background:rgba(47,212,143,.13);color:var(--ok-fg);border-color:rgba(47,212,143,.3)}
.cl-b{padding:0 14px 14px;border-top:1px solid var(--line);display:none}
.cl.open .cl-b{display:block;padding-top:14px}
.cl.off{opacity:.42}
/* dados que a cláusula usa (clDadosRender): somente leitura, para revisar */
.cl-dados:empty{display:none}
.cl-dados{margin-bottom:12px}
.cl-dados + .vars{margin-top:4px}
.cl-resumo{margin:0 0 10px;font-size:12.5px;color:var(--dim);line-height:1.5}
.cl-dados-tit{font-size:10.5px;letter-spacing:.7px;text-transform:uppercase;font-weight:700;color:var(--dim2);margin-bottom:6px}
.cl-dados dl{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 18px}
.cl-dados dl>div{display:flex;flex-direction:column;gap:1px;padding:7px 10px;border-radius:9px;background:var(--sf2)}
.cl-dados dt{font-size:11px;color:var(--dim2)}
.cl-dados dd{margin:0;font-size:13px;font-weight:600;color:var(--txt)}
.cl-dados dd.falta{color:var(--warn-fg);font-weight:500;font-style:italic}
input[type=checkbox]{width:auto;accent-color:var(--acc);transform:scale(1.2)}
.vars{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.varchip{font-family:ui-monospace,Menlo,monospace;font-size:10.5px;color:var(--acc-fg)}
/* ---------- documento ---------- */
.doc{background:#fbfaf7;border:1px solid var(--sh1);color:#191919;border-radius:12px;padding:46px 54px;
  font-family:Georgia,"Times New Roman",serif;font-size:14px;line-height:1.78;min-height:420px;max-height:560px;overflow:auto;outline:none;
  box-shadow:0 26px 60px -26px var(--sh3)}
.doc h2{text-align:center;font-size:16px;letter-spacing:.5px;margin:0 0 26px;text-transform:uppercase}
.doc h4{font-size:13.5px;margin:22px 0 6px;text-transform:uppercase;letter-spacing:.3px}
.doc p{margin:0 0 10px;text-align:justify}
.doc .fill{background:#fdeeb0;padding:0 3px;border-radius:3px}
.doc .miss{background:#fbd5d9;padding:0 3px;border-radius:3px;color:#a02029}
.editbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:12.5px;color:var(--dim2)}
/* ---------- assinatura ---------- */
.routes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.route{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--sf1);transition:.16s}
/* o botão vai para o rodapé do card: os dois caminhos ficam na mesma linha, centralizados */
.route>.btn.pri{margin-top:auto;align-self:center;min-width:212px}
.route>[id$=St]{align-self:stretch}
.route.rec{border-color:rgba(125,92,255,.5);background:linear-gradient(160deg,rgba(125,92,255,.14),var(--sf1));box-shadow:0 0 0 1px rgba(125,92,255,.25),0 24px 50px -30px rgba(125,92,255,.9)}
.route h4{margin:0 0 3px;font-size:14.5px;font-weight:650}
.route p{color:var(--dim2);font-size:12.5px;margin:0 0 14px;min-height:56px}
.badge{font-size:9.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--acc-fg);font-weight:800;margin-bottom:8px;display:block;min-height:14px}
.linkbox{display:flex;gap:8px;margin-top:10px}
.linkbox input{font-family:ui-monospace,monospace;font-size:11.5px}
/* ---------- painel lateral ---------- */
.mini{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;backdrop-filter:blur(18px);
  box-shadow:0 20px 46px -30px var(--sh3), inset 0 1px 0 var(--sf2)}
.mini.glow{background:linear-gradient(160deg,rgba(125,92,255,.22),rgba(61,123,255,.06));border-color:rgba(125,92,255,.3)}
.mini h4{margin:0 0 14px;font-size:12px;text-transform:uppercase;letter-spacing:.9px;color:var(--dim2);font-weight:700;display:flex;align-items:center;gap:8px}
.kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.kv:last-child{border-bottom:none}
.kv span{color:var(--dim2);flex:none}
.kv b{font-weight:600;text-align:right;word-break:break-word}
.big{font-size:26px;font-weight:800;letter-spacing:-.8px;margin:2px 0 2px}
.big small{font-size:12px;color:var(--dim2);font-weight:500;letter-spacing:0}
.trk{display:flex;flex-direction:column;gap:9px}
.trk div{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--dim2)}
.trk i{width:17px;height:17px;border-radius:50%;border:1.5px solid var(--line2);flex:none;font-style:normal;font-size:9.5px;display:flex;align-items:center;justify-content:center}
.trk div.on{color:#fff;font-weight:600}
.trk div.on i{background:linear-gradient(140deg,var(--acc),var(--acc2));border-color:transparent;color:#fff}
.trk div.done{color:var(--dim)}
.trk div.done i{background:rgba(47,212,143,.18);border-color:rgba(47,212,143,.45);color:var(--ok-fg)}

.done-hero{text-align:center;padding:36px 20px 28px}
.done-hero .ic{width:62px;height:62px;border-radius:50%;background:linear-gradient(140deg,#18b877,#2fd48f);color:#04231a;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px;box-shadow:0 16px 40px -14px rgba(47,212,143,.9)}
.done-hero h2{margin:0 0 6px;font-size:21px;font-weight:750;letter-spacing:-.4px}
.done-hero p{color:var(--dim2);margin:0}
.nexts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:8px}
.next{border:1px solid var(--line);border-radius:13px;padding:17px;background:var(--sf1)}
.next h4{margin:0 0 4px;font-size:13px;font-weight:650}
.next p{margin:0;color:var(--dim2);font-size:12px}
.next .soon{font-size:9.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--dim2);border:1px solid var(--line);padding:3px 8px;border-radius:6px;display:inline-block;margin-top:12px}

.actions{display:flex;gap:10px;align-items:center;margin-top:20px}
.actions .sp{flex:1}
.note{background:linear-gradient(120deg,rgba(125,92,255,.16),rgba(61,123,255,.07));border:1px solid rgba(125,92,255,.28);color:var(--acc-fg);border-radius:12px;padding:12px 15px;font-size:12.5px;margin-bottom:16px}
.note b{color:#fff}
/* ---------- importar dados do CNPJ ---------- */
.imp{border:1px solid rgba(125,92,255,.3);border-radius:14px;padding:16px 17px;margin-bottom:20px;
  background:linear-gradient(150deg,rgba(125,92,255,.13),rgba(61,123,255,.04))}
.imp-h b{font-size:13.5px;font-weight:650;display:block;letter-spacing:-.1px}
.imp-h small{color:var(--dim2);font-size:12px;display:block;margin-top:2px}
.imp-b{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin-top:15px;align-items:end}
.imp .linkbox{margin-top:0}
.imp .linkbox .btn{flex:none;white-space:nowrap}
.drop{display:flex;align-items:center;justify-content:center;gap:8px;height:41px;padding:0 14px;
  border:1.5px dashed var(--line2);border-radius:11px;color:var(--dim2);font-size:12.5px;font-weight:500;
  cursor:pointer;text-align:center;transition:.16s;background:var(--sf1)}
.drop:hover{border-color:rgba(125,92,255,.7);color:var(--txt);background:rgba(125,92,255,.09)}
.drop.has{border-style:solid;border-color:rgba(47,212,143,.5);color:var(--ok-fg);background:rgba(47,212,143,.09)}
.imp-msg{margin-top:14px;padding:10px 13px;border-radius:11px;font-size:12.5px;border:1px solid transparent}
.imp-msg b{font-weight:650}
.imp-msg.ok{background:rgba(47,212,143,.12);border-color:rgba(47,212,143,.3);color:var(--ok-fg)}
.imp-msg.err{background:rgba(255,107,125,.12);border-color:rgba(255,107,125,.3);color:var(--dang-fg)}
input.got{border-color:rgba(47,212,143,.45);background:rgba(47,212,143,.08);
  animation:gotFlash .9s ease-out}
@keyframes gotFlash{0%{background:rgba(47,212,143,.34)}100%{background:rgba(47,212,143,.08)}}

/* ---------- kanban de contratos ---------- */
/* 1fr = minmax(auto,1fr): as etiquetas nowrap empurravam a 4ª coluna para fora da tela */
#pg-lista .kb4{grid-template-columns:repeat(4,minmax(0,1fr))}
#pg-lista .kcol{min-width:0}
.pj.ct-ras{border-left-color:var(--dim2)}
.pj.ct-agu{border-left-color:var(--warn)}
.pj.ct-ass{border-left-color:var(--ok)}
.pj.ct-rec{border-left-color:var(--dang)}
.pj .ctval{font-size:14px;font-weight:700;letter-spacing:-.3px}
.pj .ctval span{font-size:11px;font-weight:400;margin-left:2px}
.pj .ctem{font-size:11.5px;color:var(--dim2);margin-top:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#pg-lista .pj .cli{white-space:normal;overflow:visible}   /* nome inteiro, pode ocupar duas linhas */
.pj .dts{min-width:0}
.pj .dts span{overflow:hidden;text-overflow:ellipsis;max-width:100%}

/* ---------- alternador de visão em Contratos ---------- */
.seg{display:flex;width:max-content;margin:0 auto 16px;gap:3px;background:var(--sf2);border:1px solid var(--line);
  border-radius:22px;padding:3px}
.segb{border:none;background:none;color:var(--dim);font:inherit;font-size:12.5px;font-weight:500;
  padding:7px 16px;border-radius:20px;cursor:pointer;transition:.15s}
.segb:hover{color:var(--txt)}
.segb.on{background:var(--acc);color:#fff;font-weight:600}

/* ---------- biblioteca de cláusulas ---------- */
.clz{border:1px solid var(--line);border-radius:13px;padding:14px;margin-bottom:10px;background:var(--sf2)}
.clz .lin{display:flex;align-items:center;gap:10px}
.clz .cli{flex:1;font-size:13.5px;font-weight:650}
.clz .rito{font-size:12px;color:var(--dim2);margin-top:3px}
.clz .tag.opt{border-style:dashed}
.clzauto{font-size:11.5px;color:var(--dim2);margin-top:9px;padding-left:11px;border-left:2px solid var(--line2)}
.clzvars{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin-top:11px}
.clzvars > div{border:1px solid var(--line);border-radius:10px;padding:9px 11px}
.clzvars b{display:block;font-size:12px;font-weight:600;margin-top:3px}
.clzvars small{display:block;font-size:11px;color:var(--dim2);margin-top:2px}
.clzvars.vazio{display:block;font-size:11.5px;color:var(--dim2);margin-top:9px}
.clz .tag.so{background:rgba(125,92,255,.14);border-color:rgba(125,92,255,.32);color:var(--acc-fg)}

/* ---------- modelos de contrato (nível 1 da biblioteca) ---------- */
.mgrp{margin-bottom:26px}
.mgrp-h{display:flex;align-items:baseline;gap:10px;margin-bottom:11px}
.mgrp-h b{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--dim2);font-weight:700}
.mgrp-h .mut{font-size:11.5px}
.mcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:12px}
.mcard{border:1px solid var(--line);border-radius:14px;padding:15px;background:var(--sf2);
  cursor:pointer;transition:.15s;display:flex;flex-direction:column}
.mcard:hover{border-color:var(--acc);background:var(--sf3);transform:translateY(-1px)}
.mcard .lin{display:flex;align-items:center;gap:8px}
.mcard .cli{flex:1;font-size:14px;font-weight:650;min-width:0}
.mcard .rito{font-size:12px;color:var(--dim2);margin-top:4px;line-height:1.4}
.mcard.rasc{border-style:dashed}
.mfoot{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:13px}
.mfoot .mut{flex:1;font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
input.bad,input.bad:hover{border-color:var(--dang-bd);background:var(--dang-bg)}
.erro{display:block;font-size:11.5px;color:var(--dang-fg);margin-top:5px}

/* v3 - arquivo CNPJ, testemunhas e variáveis longas */
.file-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.file-search-row .drop{min-width:0}
.file-search-row .btn{white-space:nowrap}
.witness-head{display:flex;align-items:center;gap:14px;justify-content:space-between;margin:18px 0 10px}
.witness-head small{display:block;color:var(--dim);font-size:11.5px;margin-top:3px}
.witness-row{display:grid;grid-template-columns:1.2fr .65fr 1.1fr auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--sf2);margin-bottom:9px}
.witness-row .btn{margin-bottom:1px}
.vars .var-wide{grid-column:1/-1}
.vars textarea{min-height:110px;resize:vertical}
@media(max-width:760px){.file-search-row{grid-template-columns:1fr}.witness-head{align-items:flex-start;flex-direction:column}.witness-row{grid-template-columns:1fr}}


/* ================= Sebrae Tec / origem do fechamento ================= */
.origin-card{margin-top:14px;margin-bottom:16px}
.origin-card.bad-origin{border-color:var(--dang-bd);box-shadow:0 0 0 1px var(--dang-bd) inset}
.origin-head,.sebrae-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.eyebrow{display:block;text-transform:uppercase;letter-spacing:.9px;font-size:10.5px;font-weight:750;color:var(--acc-fg);margin-bottom:5px}
.origin-head h3,.sebrae-panel-head h3{margin:0 0 3px}
.origin-required{font-size:11.5px;color:var(--dang-fg);border:1px solid var(--dang-bd);background:var(--dang-bg);border-radius:999px;padding:6px 10px;white-space:nowrap}
.origin-required.ok{color:var(--ok-fg);border-color:rgba(47,212,143,.3);background:rgba(47,212,143,.1)}
.origin-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}
.origin-option{display:flex;gap:12px;align-items:flex-start;text-align:left;border:1px solid var(--line2);border-radius:14px;background:var(--sf2);color:var(--txt);padding:15px 16px;cursor:pointer;font:inherit;transition:.16s}
.origin-option:hover{border-color:rgba(125,92,255,.65);background:rgba(125,92,255,.06)}
.origin-option.on{border-color:var(--acc);background:rgba(125,92,255,.1);box-shadow:0 0 0 1px rgba(125,92,255,.12) inset}
.origin-option b{display:block;font-size:14px;margin-bottom:4px}
.origin-option small{display:block;color:var(--dim2);font-size:11.8px;line-height:1.42}
.origin-radio{width:17px;height:17px;border:1.5px solid var(--line2);border-radius:50%;margin-top:1px;flex:none;position:relative}
.origin-option.on .origin-radio{border-color:var(--acc)}
.origin-option.on .origin-radio:after{content:'';position:absolute;inset:3px;background:var(--acc);border-radius:50%}
.sebrae-panel{border-color:rgba(125,92,255,.28);background:linear-gradient(150deg,rgba(125,92,255,.075),rgba(61,123,255,.02))}
.sebrae-flow{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:8px;margin-top:17px;overflow-x:auto;padding-bottom:5px}
.sebrae-stage{position:relative;min-height:105px;border:1px solid var(--line);background:var(--sf2);border-radius:13px;padding:13px 12px 12px;min-width:135px}
.sebrae-stage:after{content:'→';position:absolute;right:-9px;top:41px;color:var(--dim2);z-index:2}
.sebrae-stage:last-child:after{display:none}
.sebrae-stage .n{display:flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;background:var(--sf3);border:1px solid var(--line2);font-size:10.5px;font-weight:750;color:var(--dim);margin-bottom:8px}
.sebrae-stage b{display:block;font-size:11.8px;line-height:1.3}
.sebrae-stage small{display:block;color:var(--dim2);font-size:10.5px;line-height:1.35;margin-top:4px}
.sebrae-stage.done{border-color:rgba(47,212,143,.34);background:rgba(47,212,143,.075)}
.sebrae-stage.done .n{border-color:rgba(47,212,143,.5);background:rgba(47,212,143,.16);color:var(--ok-fg)}
.sebrae-stage.on{border-color:rgba(125,92,255,.65);background:rgba(125,92,255,.105)}
.sebrae-stage.on .n{background:var(--acc);border-color:var(--acc);color:#fff}
.sebrae-stage.wait{border-color:rgba(246,177,73,.48);background:rgba(246,177,73,.095)}
.sebrae-stage.wait .n{background:rgba(246,177,73,.18);border-color:rgba(246,177,73,.5);color:var(--warn-fg)}
.sebrae-flow-action{margin-top:13px;border-top:1px solid var(--line);padding-top:13px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sebrae-flow-action .sebrae-status{flex:1;min-width:220px;font-size:12px;color:var(--dim)}
.sebrae-flow-action .sebrae-status b{color:var(--txt)}
.sebrae-inline{border:1px solid rgba(125,92,255,.25);background:rgba(125,92,255,.07);border-radius:11px;padding:11px 13px;margin:12px 0 15px;font-size:12px;line-height:1.45}
.sebrae-inline b{display:block;margin-bottom:3px}
.sebrae-inline span{color:var(--dim)}
.origin-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:9.5px;font-weight:750;letter-spacing:.45px;text-transform:uppercase;margin-left:6px;vertical-align:1px;background:rgba(125,92,255,.12);color:var(--acc-fg);border:1px solid rgba(125,92,255,.24)}
@media(max-width:760px){.origin-options{grid-template-columns:1fr}.origin-head,.sebrae-panel-head{flex-direction:column}.origin-required{white-space:normal}.sebrae-flow{grid-template-columns:repeat(6,145px)}}

/* ================= v0.8.0 · fechamento guiado / diagnóstico / propostas ================= */
.origin-landing{min-height:calc(100vh - 150px);display:flex;align-items:center;justify-content:center;padding:22px 0 70px}
.origin-landing-inner{width:min(860px,100%);text-align:center}
.origin-landing-inner h2{font-size:32px;line-height:1.08;letter-spacing:-1.2px;margin:4px 0 10px}
.origin-landing-inner>p{color:var(--dim);font-size:14px;max-width:650px;margin:0 auto;line-height:1.55}
.origin-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px;text-align:left}
.origin-choice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:150px;padding:24px;border:1px solid var(--line2);border-radius:20px;background:var(--sf2);color:var(--txt);font:inherit;cursor:pointer;transition:.18s;box-shadow:0 16px 50px rgba(0,0,0,.04)}
.origin-choice:hover{transform:translateY(-3px);border-color:rgba(125,92,255,.7);background:rgba(125,92,255,.075);box-shadow:0 20px 55px rgba(74,54,180,.12)}
.origin-choice.sebrae:hover{border-color:rgba(70,160,255,.7);background:rgba(70,160,255,.065)}
.origin-choice-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(125,92,255,.12);border:1px solid rgba(125,92,255,.25);font-weight:800;color:var(--acc-fg)}
.origin-choice.sebrae .origin-choice-icon{background:rgba(70,160,255,.12);border-color:rgba(70,160,255,.28)}
.origin-choice b{display:block;font-size:18px;margin-bottom:6px}
.origin-choice small{display:block;color:var(--dim2);font-size:12.5px;line-height:1.5}
.origin-choice-arrow{font-size:24px;color:var(--dim2);transition:.18s}
.origin-choice:hover .origin-choice-arrow{transform:translateX(4px);color:var(--acc-fg)}
.closing-origin-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);background:var(--sf2);border-radius:13px;padding:10px 12px;margin-bottom:14px}
.closing-origin-bar>div{display:flex;align-items:center;gap:9px;min-width:0}
.closing-origin-bar .mut{font-size:11px}.closing-origin-bar b{font-size:12px}

.sebrae-workspace{margin-top:14px}
.sebrae-work-card{border:1px solid var(--line);background:var(--sf1);border-radius:14px;padding:16px}
.sebrae-work-card.compact{display:flex;align-items:center;min-height:92px}
.sebrae-work-card.compact.success{border-color:rgba(47,212,143,.3);background:rgba(47,212,143,.06)}
.sebrae-work-card h4{margin:1px 0 4px;font-size:15px}
.sebrae-work-card p{margin:0;color:var(--dim);font-size:12px;line-height:1.5}
.sebrae-work-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}
.sebrae-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sebrae-edit-grid .wide{grid-column:1/-1}
.sebrae-edit-grid textarea,.sebrae-work-card textarea{min-height:82px;resize:vertical}
.btn.pri-soft{border-color:rgba(125,92,255,.35);background:rgba(125,92,255,.11);color:var(--acc-fg)}
.btn.pri-soft:hover{background:rgba(125,92,255,.17)}
.sebrae-doc-preview{border:1px solid var(--line);background:var(--sf2);border-radius:12px;padding:15px;margin-top:10px}
.sebrae-doc-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:11px;margin-bottom:11px}
.sebrae-doc-title span{font-size:10px;font-weight:750;letter-spacing:.8px;color:var(--acc-fg)}
.sebrae-doc-title b{font-size:13px;text-align:right}
.sebrae-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
.sebrae-doc-grid>div{border:1px solid var(--line);border-radius:9px;padding:9px 10px}
.sebrae-doc-grid small,.sebrae-doc-section small{display:block;color:var(--dim2);font-size:9.5px;text-transform:uppercase;letter-spacing:.55px;margin-bottom:3px}
.sebrae-doc-grid b{font-size:11.5px;display:block}
.sebrae-doc-section{padding:9px 0;border-top:1px solid var(--line)}
.sebrae-doc-section:first-of-type{border-top:none}.sebrae-doc-section p{color:var(--txt);font-size:11.5px;line-height:1.5}
.sebrae-stage.clickable{cursor:pointer}.sebrae-stage.clickable:hover{transform:translateY(-2px);border-color:rgba(125,92,255,.45)}
.sebrae-flow-action>.btn:first-child{flex:none}

.proposal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 14px}
.proposal-stats>div{border:1px solid var(--line);border-radius:13px;background:var(--sf2);padding:13px 15px}
.proposal-stats small{display:block;font-size:10px;color:var(--dim2);text-transform:uppercase;letter-spacing:.65px;margin-bottom:5px}.proposal-stats b{font-size:22px}
.proposal-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:12px;margin-top:14px}
.proposal-card{border:1px solid var(--line);border-radius:14px;background:var(--sf2);padding:15px}
.proposal-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.proposal-card h3{font-size:14px;margin:9px 0 3px}.proposal-card p{font-size:11.5px;color:var(--dim);margin:0}
.proposal-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.proposal-card-meta small{display:block;font-size:9.5px;color:var(--dim2);text-transform:uppercase;letter-spacing:.45px}.proposal-card-meta b{display:block;font-size:11.5px;margin-top:3px}
.proposal-empty{grid-column:1/-1;border:1px dashed var(--line2);border-radius:15px;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:var(--dim)}
.proposal-empty b{color:var(--txt);font-size:15px}.proposal-empty span{font-size:12px;margin:5px 0 15px}

@media(max-width:760px){
  .origin-choice-grid{grid-template-columns:1fr}.origin-landing{align-items:flex-start;padding-top:30px}.origin-landing-inner h2{font-size:27px}
  .sebrae-work-head,.sebrae-doc-title{flex-direction:column}.sebrae-edit-grid,.sebrae-doc-grid{grid-template-columns:1fr}.proposal-stats{grid-template-columns:repeat(2,1fr)}
}

/* ================= v0.8.1 - proposta editavel e fluxo Sebrae enxuto ================= */
#closingWizard.sebrae-mode .steps .sebrae-hidden-step{display:none!important}
#closingWizard.sebrae-mode .steps .step{min-width:120px}
.sebrae-proposal-editor{border:1px solid var(--line);background:var(--sf2);border-radius:13px;padding:14px}
.proposal-fixed-line{display:grid;grid-template-columns:1fr 220px;gap:10px;margin-bottom:12px}
.proposal-fixed-line>div{border:1px solid var(--line);border-radius:10px;padding:10px 11px;background:var(--sf1)}
.proposal-fixed-line small{display:block;color:var(--dim2);font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.proposal-fixed-line b{display:block;font-size:12px}
.proposal-edit-grid{display:grid;grid-template-columns:1.3fr .7fr .55fr;gap:10px}
.proposal-edit-grid .wide{grid-column:1/-1}
.proposal-edit-grid textarea{min-height:92px;resize:vertical}
.proposal-edit-grid .proposal-deliverables{min-height:118px;white-space:pre-wrap}
.proposal-editor-note{margin-top:11px;padding:9px 11px;border-radius:9px;background:rgba(125,92,255,.07);border:1px solid rgba(125,92,255,.18);color:var(--dim);font-size:11px;line-height:1.45}
.preline{white-space:pre-line}
#closingWizard.sebrae-mode #p2 #fCC{pointer-events:none}
@media(max-width:760px){
  .proposal-fixed-line,.proposal-edit-grid{grid-template-columns:1fr}
  .proposal-edit-grid .wide{grid-column:1}
  #closingWizard.sebrae-mode .steps .step{min-width:108px}
}
#closingWizard.sebrae-mode .seb-optional{display:none!important}
#closingWizard.sebrae-mode #p2 .grid3,#closingWizard.sebrae-mode #p3 .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}

/* a faixa "Origem da contratação / Alterar origem" só faz sentido no modo Sebrae;
   na contratação direta o pop-up já abre na origem certa */
#closingWizard:not(.sebrae-mode) .closing-origin-bar{display:none}

/* ---- passo Assinatura: duas opções em botão, centralizadas (assinatura.js) ----
   #sigHint e os selos continuam no HTML (sigRender escreve neles), só não aparecem */
#p8 .sig-card{background:none;border:0;box-shadow:none;backdrop-filter:none;padding:0}
#p8 .sig-card>h3{margin-bottom:14px}
#p8 .sig-card #sigHint,#p8 .sig-card .badge,#p8 #linkSt{display:none!important}
.sig-opcoes{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}
.sig-rota{width:250px;display:flex;flex-direction:column;gap:8px}
.sig-opt{display:flex;flex-direction:column;align-items:center;gap:3px;padding:18px 16px 16px;border:1px solid var(--line);border-radius:14px;
  background:var(--sf1);color:var(--txt);font:inherit;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.sig-opt:hover{border-color:var(--acc);background:var(--acc-bg);transform:translateY(-1px)}
.sig-opt:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.sig-rota.rec .sig-opt{border-color:var(--acc-bd)}
.sig-opt b{font-size:13.5px;font-weight:650}
.sig-opt small{font-size:11.5px;color:var(--dim2)}
.sig-opt.feito small{color:var(--ok-fg);font-weight:600}
.sig-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;margin-bottom:6px;background:var(--acc-bg);color:var(--acc-fg)}
.sig-ic svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sig-status{text-align:center}
.sig-status p{font-size:12px;margin:6px 0 0}
.sig-status a{font-size:12px;margin-top:4px;display:inline-block}
.sig-modal .gi9-confirm h3{margin:0 0 6px}
.sig-modal .f{margin:12px 0 4px}
.sig-modal .linkbox{margin:12px 0 4px}
.sig-modal .gi9-confirm-message.err{color:var(--dang-fg)}
.sig-modal .gi9-confirm{background:linear-gradient(180deg,var(--mdl1),var(--mdl2));border:1px solid var(--line2,var(--line));border-radius:16px;padding:20px 22px;box-shadow:0 28px 80px rgba(10,10,25,.35)}
/* termos do Traction CRM no passo Cláusulas (planos.js) */
#cliMontagemCard.crm-oculto{display:none!important}
.crm-termos-lista{margin:4px 0 0;padding-left:18px;font-size:13px;line-height:1.7;color:var(--dim)}
.crm-termos-lista b{color:var(--txt)}
.sig-modal .linkbox a.btn{display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none}
/* implantação do Traction (planos.js): só quando o CRM é contratado sozinho */
.impl-toggle{display:inline-flex;align-items:center;gap:9px;margin:2px 0 4px;font-size:13.5px;color:var(--txt);cursor:pointer}
.impl-toggle input{width:16px;height:16px;margin:0;accent-color:var(--acc)}
.impl-campos{margin-top:12px}
.impl-sec{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.plano-sub{margin:4px 0 10px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc-fg)}
.impl-sec .plano-sub{margin-top:0}
