/* ---------- Orçamento assistido em etapas (wizard) ---------- */
.wz-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.wz{min-width:0;background:var(--cm-surface);border:1px solid var(--cm-hairline);border-radius:var(--cm-radius-lg);padding:clamp(18px,3.4vw,36px);box-shadow:0 1px 2px rgb(15 23 42 / 4%),0 12px 32px -18px rgb(15 23 42 / 18%)}
.wz-etapa{min-width:0;margin:0;padding:0;border:0}
.wz-etapa[hidden],.wz-param[hidden],.wz-esboco[hidden],.cot-assist[hidden]{display:none}
.wz-titulo{margin:0;font-family:var(--display,var(--corpo));font-size:clamp(1.25rem,2.2vw,1.55rem);font-weight:700;letter-spacing:-.01em;color:var(--text);outline:none}
.wz-titulo small{font-size:.8em;font-weight:500;color:var(--text-2)}
.wz-sub{margin:6px 0 22px;color:var(--text-2);font-size:.95rem}

/* Barra de progresso */
.wz-passos{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 28px;padding:0;list-style:none;counter-reset:none}
.wz-passos li{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:3px solid var(--cm-hairline);color:var(--text-2);font-size:.9rem;min-width:0}
.wz-passos li span{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;border:1.5px solid var(--cm-hairline);font-size:.8rem;font-weight:700;background:var(--cm-surface)}
.wz-passos li b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wz-passos li.feito{border-color:var(--acao);color:var(--text)}
.wz-passos li.feito span{background:var(--acao);border-color:var(--acao);color:#fff}
.wz-passos li[aria-current="step"]{border-color:var(--acao);color:var(--text)}
.wz-passos li[aria-current="step"] span{border-color:var(--acao);color:var(--acao-texto,var(--acao))}

.wz-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.wz-grade .inteiro{grid-column:1/-1}
.wz-grade .campo{margin:0}
.wz-grade textarea{min-height:120px;resize:vertical}

/* Cards de serviço */
.wz-servicos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}
.wz-card{position:relative;display:flex;align-items:center;gap:12px;min-height:68px;padding:12px 14px;border:1.5px solid var(--cm-hairline);border-radius:var(--cm-radius-md);background:var(--cm-surface);cursor:pointer;transition:border-color .15s,background-color .15s}
.wz-card input{position:absolute;opacity:0;pointer-events:none}
.wz-card:hover{border-color:var(--text-2)}
.wz-card:has(input:checked){border-color:var(--acao);background:var(--ico-bolha)}
.wz-card:has(input:focus-visible){outline:3px solid var(--cm-focus-ring);outline-offset:2px}
.wz-card-ico{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:var(--ico-bolha);color:var(--acao-texto,var(--acao))}
.wz-card-ico .ico{width:20px;height:20px}
.wz-card-txt{display:grid;gap:1px;min-width:0}
.wz-card-txt strong{font-size:.95rem;color:var(--text)}
.wz-card-txt small{font-size:.8rem;color:var(--text-2)}

/* Navegação */
.wz-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--cm-hairline)}
.wz-nav .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.wz-nav .ico{width:18px;height:18px}
.wz-legal{margin:14px 0 0;font-size:.85rem;color:var(--text-2)}
#wzErro{margin:16px 0 0}

/* Resumo */
.wz-resumo{display:grid;margin:0;border:1px solid var(--cm-hairline);border-radius:var(--cm-radius-md);overflow:hidden}
.wz-resumo div{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 16px;border-top:1px solid var(--cm-hairline)}
.wz-resumo div:first-child{border-top:0}
.wz-resumo dt{font-weight:600;font-size:.9rem;color:var(--text-2)}
.wz-resumo dd{margin:0;color:var(--text);overflow-wrap:anywhere;white-space:pre-line}
.wz-editar{border:0;background:none;padding:0;font:inherit;font-size:.88rem;font-weight:600;color:var(--acao-texto,var(--acao));cursor:pointer}
.wz-editar:hover{text-decoration:underline}

/* Painel lateral */
.wz-dicas{position:sticky;top:96px}
.wz-dica{margin:0 0 14px;padding:12px 14px;border-radius:var(--cm-radius-sm);background:var(--ico-bolha);font-size:.92rem;color:var(--text)}
.wz-dicas .lista{margin-bottom:18px}
.wz-dicas .btn{width:100%}

/* ---------- Rascunho técnico ---------- */
.wz-abrir{display:flex;align-items:center;gap:14px;width:100%;padding:16px;border:1.5px dashed var(--cm-hairline);border-radius:var(--cm-radius-md);background:var(--cm-canvas-parchment);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.wz-abrir:hover{border-color:var(--acao)}
.wz-abrir[aria-expanded="true"]{border-style:solid;border-bottom-left-radius:0;border-bottom-right-radius:0}
.wz-abrir-seta{margin-left:auto;width:20px;height:20px;transition:transform .2s}
.wz-abrir[aria-expanded="true"] .wz-abrir-seta{transform:rotate(180deg)}
.cot-assist{min-width:0;margin:0;padding:clamp(14px,2.6vw,22px);border:1.5px solid var(--cm-hairline);border-top:0;border-radius:0 0 var(--cm-radius-md) var(--cm-radius-md);background:var(--cm-surface)}
.wz-abas{display:flex;gap:6px;margin-bottom:18px;padding:4px;border-radius:var(--cm-radius-sm);background:var(--cm-surface-muted);overflow-x:auto;scrollbar-width:none}
.wz-aba{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 0 auto;min-height:40px;padding:6px 12px;border:0;border-radius:6px;background:none;color:var(--text-2);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap}
.wz-aba .ico{width:17px;height:17px}
.wz-aba[aria-selected="true"]{background:var(--cm-surface);color:var(--text);box-shadow:0 1px 3px rgb(15 23 42 / 12%)}
.cot-assist-grade{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:22px;align-items:start}
.cot-assist-grade>div:last-child{order:2}
.cot-assist-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cot-assist-subgrade{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
.cot-assist-subgrade[hidden],#assistCoordenadasCampos[hidden]{display:none}
.cot-assist-campos .campo{margin:0}
.cot-assist-campos .campo label{font-size:.85rem;margin-bottom:4px}
.cot-assist-campos .inteiro{grid-column:1/-1}
.cot-assist-label{margin:0;font-size:.85rem;font-weight:500;color:var(--text-2)}
.cot-assist-furos{display:grid;gap:8px;margin-block:8px}
.cot-assist-furo{display:grid;grid-template-columns:auto minmax(64px,1fr) minmax(64px,1fr) auto;gap:8px;align-items:end}
.cot-assist-furo span{padding-bottom:10px;font-weight:600}
.cot-assist-furo label{display:grid;gap:4px;font-size:.85rem}
.cot-assist-furo input,.cot-assist-cotas input{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--cm-hairline);border-radius:var(--raio);background:var(--campo-bg);color:var(--text);font:inherit}
.cot-assist-canvas{display:block;width:100%;height:auto;border:1px solid var(--cm-hairline);border-radius:var(--cm-radius-sm);background:var(--cm-surface);touch-action:none}
.cot-assist .cot-nota{margin:8px 0 0;font-size:.82rem;color:var(--text-2)}
.cot-assist-canvas:focus-visible,.cot-assist button:focus-visible,.cot-assist input:focus-visible,.wz-abrir:focus-visible{outline:3px solid var(--cm-focus-ring);outline-offset:2px}
.wz-acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
#assistStatus{margin:14px 0 0}
.cot-assist-esboco{margin:0}
.cot-assist-esboco-canvas{aspect-ratio:9/4;max-height:320px;background-color:var(--cm-surface);background-image:linear-gradient(to right,var(--cm-hairline) 1px,transparent 1px),linear-gradient(to bottom,var(--cm-hairline) 1px,transparent 1px);background-size:24px 24px}
.cot-assist-cotas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 12px}
.cot-assist-cotas label{display:grid;gap:5px;font-size:.85rem;font-weight:600}
.cot-assist-acoes-esboco{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.wz-aviso{margin-top:18px;padding:10px 14px;border-radius:var(--cm-radius-sm);background:var(--cm-surface-muted);font-size:.86rem;color:var(--text-2)}
.wz-aviso summary{cursor:pointer;list-style:none}
.wz-aviso summary::-webkit-details-marker{display:none}
.wz-aviso summary span{margin-left:4px;font-weight:600;color:var(--acao-texto,var(--acao));text-decoration:underline}
.wz-aviso p{margin:8px 0 2px}

@media(max-width:1020px){
  .wz-layout{grid-template-columns:1fr}
  .wz-dicas{position:static}
  .wz-dicas .lista{display:none}
  .wz-dicas .btn{width:auto}
}
@media(max-width:760px){
  .wz-servicos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cot-assist-grade{grid-template-columns:1fr}
  .cot-assist-grade>div:last-child{order:-1}
}
@media(max-width:560px){
  .wz{padding:18px 16px;border-radius:var(--cm-radius-md)}
  .wz-passos{gap:6px;margin-bottom:22px}
  .wz-passos li{flex-direction:column;align-items:flex-start;gap:6px;font-size:.78rem}
  .wz-passos li span{flex:none;width:26px}
  .wz-grade{grid-template-columns:1fr}
  .wz-card{flex-direction:column;align-items:flex-start;gap:8px;min-height:0}
  .wz-card-txt small{display:none}
  .wz-resumo div{grid-template-columns:minmax(0,1fr) auto}
  .wz-resumo dd{grid-column:1/-1;grid-row:2}
  .wz-nav .btn-pri{flex:1}
  .cot-assist-furo{grid-template-columns:1fr 1fr}
  .cot-assist-furo span{grid-column:1/-1;padding:0}
  .cot-assist-furo button{grid-column:1/-1;justify-self:start}
  .wz-acoes .btn,.cot-assist-acoes-esboco .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){.wz-abrir-seta,.wz-card{transition:none}}
