/* Cotação online (/orcamento, /acompanhar-cotacao) e cartão de passos da home.
   Só tokens de site.css: funciona nos dois temas sem cor fixa. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.btn-p{min-height:44px;padding:9px 16px;font-size:.95rem;letter-spacing:.08em}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;transform:none}
.cot-largo{width:100%}
.cot-h3{font-size:1.5rem;margin-bottom:.6em}
.cot-nota{font-size:.9rem;color:var(--text-2);margin:.4em 0}
.cot-pendente{color:var(--alerta-txt);font-weight:600}
:root[data-theme="dark"] .cot-pendente{color:var(--alerta)}
.cot-erro-txt{color:var(--erro)}
.cot-quebra{overflow-wrap:anywhere}
.cot-input-arquivo{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
label.btn:has(+ .cot-input-arquivo:focus-visible){outline:2px solid var(--foco);outline-offset:3px}
.cot-link{background:none;border:0;padding:6px 0;font:600 .95rem var(--corpo);color:var(--acao-texto);cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.cot-link-perigo{color:var(--erro)}

/* ---------- Home: hero em duas colunas + cartão de passos ---------- */
.hero-duas{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:end}
@media (max-width:900px){.hero-duas{grid-template-columns:1fr}}
.passos-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--raio-card);padding:24px;box-shadow:var(--sombra-flutuante)}
.passos-card h2{font-size:1.4rem;margin-bottom:14px}
.passos-card ol{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:14px;counter-reset:p}
.passos-card li{counter-increment:p;display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;color:var(--text-2);font-size:.98rem}
.passos-card li::before{content:counter(p);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-family:var(--titulo);font-weight:700}
.passos-card li strong{display:block;color:var(--text);font-weight:600}
.passos-card .btn{width:100%}
.como-cards{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));list-style:none;margin:0;padding:0}
.como-cards li{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--raio-card);padding:24px;box-shadow:var(--sombra)}
.como-cards svg{width:32px;height:32px;color:var(--acao-texto);margin-bottom:12px}
.como-cards h3{font-size:1.3rem;margin-bottom:.4em}
.como-cards p{color:var(--text-2);margin:0;font-size:.98rem}

/* ---------- Landing do /orcamento ---------- */
.cot-hero{display:grid;gap:clamp(28px,5vw,64px);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center}
@media (max-width:900px){.cot-hero{grid-template-columns:1fr}}
.cot-hero h1{font-size:clamp(2.2rem,5vw,3.8rem)}
.cot-upload-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--raio-card);padding:clamp(18px,3vw,28px);box-shadow:var(--sombra-hover)}
.cot-zona{border:1px solid var(--line);border-radius:var(--raio-card);padding:clamp(24px,5vw,48px) 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;transition:border-color .2s,background .2s}
.cot-zona.arrastando{border-color:var(--acao);background:var(--foco-anel)}
.cot-zona-icone{width:52px;height:52px;color:var(--acao-texto)}
.cot-zona-txt{margin:6px 0 0;font-size:1.1rem}
.cot-zona-ou{margin:0;color:var(--text-2);font-size:.9rem}
.cot-selecionar{margin:6px 0}
.cot-privacidade{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;font-size:.9rem;color:var(--text-2)}
.cot-privacidade svg{width:18px;height:18px;flex:none;margin-top:3px}
.cot-retomar{margin-top:20px;padding:16px 18px;border:1px solid var(--line-forte);border-left:4px solid var(--acao);border-radius:var(--raio);background:var(--surface-2)}
.cot-retomar p{margin:0 0 10px}

/* ---------- Etapas ---------- */
.cot-app{padding-block:24px clamp(48px,8vw,96px)}
.cot-etapas{min-height:74px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--raio-card);padding:14px 18px;margin-bottom:24px;box-shadow:var(--sombra)}
.cot-etapas ol{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:10px}
.cot-etapa{display:flex;align-items:center;gap:10px;flex:1;min-width:0;color:var(--text-3)}
.cot-etapa:not(:last-child)::after{content:"";flex:1;height:2px;background:var(--line);min-width:16px}
.cot-etapa[data-estado="feito"]::after{background:var(--sucesso)}
.cot-etapa a,.cot-etapa>span{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;min-height:44px}
.cot-etapa-num{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;border:2px solid currentColor;font-weight:700;font-size:.95rem}
.cot-etapa-num svg{width:18px;height:18px}
.cot-etapa-nome{font-weight:600;white-space:nowrap}
.cot-etapa[data-estado="atual"]{color:var(--acao-texto)}
.cot-etapa[data-estado="feito"]{color:var(--sucesso-txt)}
.cot-etapa[data-estado="feito"] .cot-etapa-num{background:var(--sucesso);border-color:var(--sucesso);color:#fff}
:root[data-theme="dark"] .cot-etapa[data-estado="feito"]{color:var(--text)}
.cot-etapa a:hover .cot-etapa-nome{text-decoration:underline}
.cot-etapas-compacto{display:none;margin:8px 0 0;font-size:.95rem;color:var(--text-2)}
@media (max-width:760px){
  .cot-etapas{padding:12px 14px;min-height:102px}
  .cot-etapa-nome{display:none}
  .cot-etapa{flex:1 1 auto}
  .cot-etapas-compacto{display:block}
}

/* ---------- Estrutura das etapas ---------- */
.cot-view h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin:0}
.cot-view h2:focus{outline:none}
.cot-view-topo{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px}
.cot-view-topo h2{margin-right:auto}
.cot-grade-lado{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) 340px;align-items:start}
@media (max-width:980px){.cot-grade-lado{grid-template-columns:1fr}}
.cot-lado{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--raio-card);padding:20px;box-shadow:var(--sombra)}
@media (min-width:981px){.cot-grade-lado>.cot-lado{position:sticky;top:96px}}
.cot-resumo-titulo{font-size:1.3rem;margin-bottom:12px}
.cot-dl{margin:0 0 12px;display:grid;gap:8px}
.cot-dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:8px}
.cot-dl dt{color:var(--text-2)}
.cot-dl dd{margin:0;text-align:right;font-weight:600;min-width:0}
.cot-dl-total{border-bottom:0!important;font-size:1.1rem}
.cot-dl-preco dd{font-size:1.05rem}
.cot-dl-linha{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:4px 18px}
.cot-dl-linha div{flex-direction:column;gap:0;border:0;padding:0}
.cot-dl-linha dd{text-align:left}
.cot-salvando{min-height:1.4em;margin:0;font-size:.9rem;color:var(--text-2)}

/* ---------- Configuração ---------- */
.cot-chips{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--raio-card);padding:12px;margin-bottom:18px}
.cot-chips-lista{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cot-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:6px 14px;border:1px solid var(--line-forte);border-radius:999px;text-decoration:none;color:var(--text);background:var(--surface);font-size:.95rem}
.cot-chip[aria-current="true"]{border-color:var(--acao);box-shadow:0 0 0 2px var(--foco-anel)}
.cot-chip-nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22ch;font-weight:600}
.cot-chip-estado{color:var(--text-2);font-size:.85rem}
.cot-chip-ponto{width:10px;height:10px;border-radius:50%;background:var(--text-3);flex:none}
.cot-chip[data-estado="ok"] .cot-chip-ponto{background:var(--sucesso)}
.cot-chip[data-estado="revisao"] .cot-chip-ponto{background:var(--alerta)}
.cot-chip[data-estado="erro"] .cot-chip-ponto{background:var(--erro)}
.cot-chip[data-estado="analisando"] .cot-chip-ponto,.cot-chip[data-estado="enviando"] .cot-chip-ponto{background:var(--acao);animation:cot-pulso 1.2s ease-in-out infinite}
@keyframes cot-pulso{50%{opacity:.35}}
.cot-cfg-grade{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}
@media (max-width:900px){.cot-cfg-grade{grid-template-columns:1fr}}
.cot-cfg-dir{display:grid;gap:16px}
.cot-previa{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--raio-card);padding:24px;display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:16px}
.cot-icone{width:72px;height:90px;color:var(--text)}
.cot-card-icone .cot-icone{width:52px;height:65px}
.cot-previa-nome{margin:0;font-weight:600;overflow-wrap:anywhere;text-align:center}
.cot-aviso{border:1px solid var(--line-forte);border-left-width:4px;border-radius:var(--raio);padding:16px 18px;background:var(--surface-2)}
.cot-aviso p{margin:0 0 8px}
.cot-aviso[data-tipo="ok"]{border-color:var(--sucesso);background:var(--sucesso-bg);color:var(--sucesso-txt)}
.cot-aviso[data-tipo="alerta"]{border-color:var(--alerta);background:var(--alerta-bg);color:var(--alerta-txt)}
.cot-aviso[data-tipo="erro"]{border-color:var(--erro);background:var(--erro-bg);color:var(--erro-txt)}
.cot-aviso[data-tipo="info"]{border-left-color:var(--acao)}
.cot-aviso-titulo{font-weight:700;display:flex;align-items:center;gap:10px}
.cot-aviso progress{width:100%;height:10px;accent-color:var(--acao)}
.cot-progresso-txt{font-size:.9rem;color:var(--text-2)}
.cot-acoes-linha{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cot-giro{width:16px;height:16px;border-radius:50%;border:2px solid var(--line-forte);border-top-color:var(--acao);animation:cot-gira .8s linear infinite;flex:none}
@keyframes cot-gira{to{transform:rotate(360deg)}}
.cot-metricas{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:8px 0 0}
.cot-metricas dt{font-size:.8rem;opacity:.85}
.cot-metricas dd{margin:0;font-weight:700}
.cot-avisos-lista{margin:12px 0 0;padding-left:20px;color:var(--text-2);font-size:.92rem}

.cot-accordion{display:grid;gap:10px}
.cot-acc{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--raio-card);box-shadow:var(--sombra)}
.cot-acc[data-aberta]{border-color:var(--line-forte)}
.cot-acc-titulo{margin:0;font:inherit;text-transform:none;letter-spacing:0}
.cot-acc-btn{width:100%;display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:56px;padding:12px 18px;background:none;border:0;color:var(--text);font:600 1.05rem var(--corpo);text-align:left;cursor:pointer;border-radius:var(--raio-card)}
.cot-acc-btn[aria-disabled="true"]{color:var(--text-3);cursor:not-allowed}
.cot-acc-num{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line-forte);font-size:.85rem}
.cot-acc[data-ok="true"] .cot-acc-num{background:var(--sucesso);border-color:var(--sucesso);color:#fff}
.cot-acc-num svg{width:16px;height:16px}
.cot-acc-nome{margin-right:auto}
.cot-acc-resumo{color:var(--text-2);font-weight:500}
.cot-acc-editar{color:var(--acao-texto);font-size:.9rem;text-decoration:underline;text-underline-offset:3px}
.cot-acc-corpo{padding:4px 18px 18px}
.cot-opcoes{border:0;margin:0;padding:0;display:grid;gap:8px}
.cot-opcoes-grade{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.cot-opcao{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--raio);background:var(--campo-bg);cursor:pointer}
.cot-opcao:has(input:checked){border-color:var(--sucesso);background:var(--sucesso-bg);color:var(--sucesso-txt)}
.cot-opcao:has(input:focus-visible){outline:2px solid var(--foco);outline-offset:2px}
.cot-opcao input{width:20px;height:20px;accent-color:var(--acao);flex:none;margin:0}
.cot-opcao span{display:flex;flex-direction:column}
.cot-tag{font-size:.75rem;color:var(--sucesso-txt);font-weight:600}
.cot-sub{margin:0 0 4px 32px}
.cot-sub input{max-width:140px}
.cot-qtd{display:inline-flex;align-items:stretch;border:1px solid var(--line-forte);border-radius:var(--raio);overflow:hidden;background:var(--campo-bg)}
.cot-qtd input{width:110px;border:0;text-align:center;font:600 1.1rem var(--corpo);color:var(--text);background:transparent;min-height:48px}
.cot-qtd input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--foco)}
.cot-qtd-btn{width:48px;border:0;background:var(--surface);color:var(--text);font-size:1.4rem;cursor:pointer}
.cot-qtd-btn:disabled{color:var(--text-3);cursor:not-allowed}
.cot-qtd-btn:focus-visible{outline:2px solid var(--foco);outline-offset:-2px}
.cot-qtd-p input{width:84px;min-height:44px}
.cot-qtd-p .cot-qtd-btn{width:44px}

/* ---------- Carrinho ---------- */
.cot-cards{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.cot-card{display:grid;grid-template-columns:auto minmax(0,1fr) 220px;align-items:start;gap:20px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--raio-card);padding:20px;box-shadow:var(--sombra)}
.cot-card-icone{display:flex;justify-content:center;align-items:flex-start;padding-top:4px}
.cot-card-icone .cot-icone{display:block}
.cot-card-info{min-width:0}
@media (max-width:760px){.cot-card{grid-template-columns:auto minmax(0,1fr)}.cot-card-lado{grid-column:1/-1;border-left:0!important;padding-left:0!important;border-top:1px solid var(--line);padding-top:14px}}
.cot-card h3{font-size:1.3rem;margin-bottom:8px}
.cot-card-lado{border-left:1px solid var(--line);padding-left:20px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.cot-card-rot{margin:0;font-size:.85rem;color:var(--text-2)}
.cot-card-preco{margin:0;font-family:var(--titulo);font-size:1.4rem;font-weight:700;line-height:1.15}
.cot-card-estado{margin:10px 0 0;padding:10px 12px;border-radius:var(--raio);font-size:.92rem;background:var(--surface);border:1px solid var(--line)}
.cot-card-estado[data-tipo="alerta"]{background:var(--alerta-bg);border-color:var(--alerta);color:var(--alerta-txt)}
.cot-card-estado[data-tipo="ok"]{background:var(--sucesso-bg);border-color:var(--sucesso);color:var(--sucesso-txt)}
.cot-card-estado[data-tipo="erro"]{background:var(--erro-bg);border-color:var(--erro);color:var(--erro-txt)}
.cot-card-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:6px}
.cot-confirma{margin:0;width:100%;font-weight:600;font-size:.92rem}
.cot-vazio{text-align:center;padding:40px 16px;background:var(--surface-2);border:1px dashed var(--line-forte);border-radius:var(--raio-card)}

/* ---------- Resumo / acompanhamento ---------- */
.cot-form{display:grid;gap:18px}
.cot-fieldset{border:1px solid var(--line);border-radius:var(--raio-card);padding:18px;margin:0;background:var(--surface-2)}
.cot-fieldset legend{font-family:var(--titulo);text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:0 6px}
.cot-frete{margin:0;color:var(--text-2)}
.cot-res-itens{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.cot-res-itens li{display:grid;gap:2px;border-bottom:1px solid var(--line);padding-bottom:10px;font-size:.95rem}
@media (max-width:640px){.cot-largo-m{width:100%}}
.cot-aco{max-width:820px}
.cot-aco-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--raio-card);padding:clamp(18px,3vw,28px);box-shadow:var(--sombra)}
.cot-aco-topo{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-start}
.cot-protocolo{font-family:var(--titulo);font-size:2rem;font-weight:700;margin:0;letter-spacing:.04em}
.cot-situacao{margin:0;padding:8px 14px;border-radius:999px;font-weight:700;border:1px solid var(--line-forte)}
.cot-situacao[data-tipo="ok"]{background:var(--sucesso-bg);border-color:var(--sucesso);color:var(--sucesso-txt)}
.cot-situacao[data-tipo="erro"]{background:var(--erro-bg);border-color:var(--erro);color:var(--erro-txt)}
.cot-situacao[data-tipo="info"]{background:var(--alerta-bg);border-color:var(--alerta);color:var(--alerta-txt)}
.cot-aco-msg{margin:16px 0 24px;font-size:1.05rem}

.cot-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--flut-borda) + 8px + env(safe-area-inset-bottom,0px));z-index:70;margin:0;max-width:min(92vw,460px);padding:12px 18px;border-radius:var(--raio);background:var(--text);color:var(--bg);box-shadow:var(--sombra-flutuante);font-size:.95rem}
/* Mobile: os botões flutuantes (WhatsApp + tema) não podem cobrir ações do fluxo. */
@media (max-width:980px){
  body.cot-em-fluxo .cot-app{padding-bottom:calc(var(--flut-tam) * 2 + var(--flut-gap) + var(--flut-borda) + 24px)}
  .cot-toast{bottom:calc(var(--flut-tam) * 2 + var(--flut-gap) + var(--flut-borda) + 16px)}
}
.cot-h1-aco{font-size:clamp(2rem,4vw,3rem)}
.cot-turnstile{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:80}
.cot-turnstile:empty{display:none}

/* Reserva de espaço enquanto o acompanhamento carrega (evita CLS no celular). */
.cot-aco-card[aria-busy="true"]{min-height:220px}
.cot-prog{margin:0 0 14px}
.cot-prog-txt{margin:0 0 6px;font-size:.92rem;color:var(--text-2)}
.cot-prog-txt strong{color:var(--text)}
.cot-prog-barra{height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.cot-prog-barra span{display:block;height:100%;background:var(--sucesso);transition:width .25s}
@media (prefers-reduced-motion:reduce){.cot-prog-barra span{transition:none}}

/* ---------- Polimento visual (v4) ---------- */
.como-cards li,.cot-acc,.cot-lado,.cot-card,.passos-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.como-cards li:hover,.cot-card:hover{transform:translateY(-2px);box-shadow:var(--sombra-hover)}
.como-cards svg{width:48px;height:48px;padding:12px;border-radius:12px;background:var(--ico-bolha);stroke-width:1.75}
.como-cards h3{font-size:1.15rem}
.passos-card li::before{font-family:var(--display);font-weight:600}
.cot-fieldset legend{font-family:var(--display);text-transform:none;letter-spacing:-.01em}
.cot-card-preco,.cot-protocolo{font-family:var(--display);letter-spacing:-.02em}
/* Upload: contorno discreto e estado de arrastar */
.cot-zona{border:1px solid var(--line);background:var(--zona-bg);border-radius:var(--raio-card);gap:8px;transition:border-color .2s ease,background-color .2s ease}
.cot-zona-icone{width:72px;height:72px;padding:20px;border-radius:50%;background:var(--zona-ico-bg);box-shadow:var(--sombra-hover);color:var(--acao-texto);transition:transform .2s ease}
.cot-zona.arrastando{border-color:var(--acao);background:var(--ico-bolha)}
.cot-zona.arrastando .cot-zona-icone{transform:translateY(-4px) scale(1.06)}
.cot-zona-txt strong{font-weight:700}
.cot-privacidade{align-items:center}
.cot-privacidade svg{margin-top:0;color:var(--ok-ico)}
/* Accordion abrindo, check com "pop" e barra de progresso animada (transform/opacity) */
.cot-acc-corpo:not([hidden]){animation:cot-abre .22s ease-out}
@keyframes cot-abre{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.cot-acc[data-pop] .cot-acc-num{animation:cot-pop .3s ease-out}
@keyframes cot-pop{0%{transform:scale(.6)}60%{transform:scale(1.15)}100%{transform:scale(1)}}
.cot-prog-barra span{transform-origin:left center;animation:cot-barra .3s ease-out;transition:none}
@keyframes cot-barra{from{transform:scaleX(var(--de,1))}to{transform:scaleX(1)}}
.cot-etapa[data-estado="feito"] .cot-etapa-num{animation:cot-pop .3s ease-out}
.btn-p{letter-spacing:0}
.cot-fieldset legend{font-weight:700}
/* Fim da cotação: convite para salvar no histórico. */
.conta-convite{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:20px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--raio-card);background:var(--surface)}
.conta-convite p{margin:0;flex:1 1 240px}
.conta-preenchido{margin:0 0 8px}

/* ---------- Dados da peça (prévia, selo, avisos, multipeças, 3D, extras) ---------- */
.cot-previa-svg{padding:12px;gap:8px;position:relative}
.cot-previa-quadro{width:100%;aspect-ratio:4/3;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:var(--bg);touch-action:none}
.cot-previa-quadro img{width:100%;height:100%;object-fit:contain;padding:12px;transform-origin:center;transition:transform .2s ease;user-select:none}
.cot-previa-quadro .cot-dfm-overlay{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);pointer-events:none;overflow:visible;transform-origin:center;transition:transform .2s ease}
.cot-dfm-overlay .cot-dfm-alvo{fill:color-mix(in srgb,var(--erro) 22%,transparent);stroke:var(--erro);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-dasharray:4 2}
:root[data-theme="dark"] .cot-previa-quadro img{filter:invert(1) hue-rotate(180deg)}
.cot-previa-quadro.ampliada{cursor:grab}
.cot-previa-quadro.ampliada:active{cursor:grabbing}
.cot-previa-quadro.ampliada img{transition:none}
.cot-previa-carregando{width:60%;height:60%;border-radius:8px;background:linear-gradient(90deg,var(--line) 0%,var(--surface) 50%,var(--line) 100%);background-size:200% 100%;animation:cot-brilho 1.2s linear infinite}
@keyframes cot-brilho{to{background-position:-200% 0}}
.cot-zoom{display:flex;gap:6px;align-self:flex-end}
.cot-ico-btn{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line-forte);border-radius:var(--raio-btn,10px);background:var(--surface-2);color:var(--text);cursor:pointer;transition:background-color .15s ease,transform .15s ease}
.cot-ico-btn:hover{background:var(--surface)}
.cot-ico-btn:active{transform:scale(.96)}
.cot-selo{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:6px 12px;border-radius:999px;background:var(--sucesso-bg);color:var(--sucesso-txt);font-weight:600;font-size:.92rem}
.cot-selo .ico{color:var(--ok-ico)}
.cot-dados{margin-top:12px}
.cot-dados dd{font-weight:600;overflow-wrap:anywhere}
.cot-avisos-ico{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.cot-avisos-ico li{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);font-size:.93rem}
.cot-avisos-ico li>span{flex:1 1 18rem}
.cot-avisos-ico li .ico{margin-top:2px}
.cot-dfm-acao{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;margin-inline-start:auto;padding:6px 10px;border:1px solid var(--line-forte);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer}
.cot-dfm-acao:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
.cot-dfm-acao:disabled{opacity:.65;cursor:wait}
.cot-avisos-ico li[data-nivel="critico"]{border-color:var(--erro);background:var(--erro-bg)}
.cot-avisos-ico li[data-nivel="critico"] .ico{color:var(--erro)}
.cot-avisos-ico li[data-nivel="atencao"]{border-color:var(--alerta);background:var(--alerta-bg)}
.cot-avisos-ico li[data-nivel="atencao"] .ico{color:var(--alerta-txt)}
.cot-avisos-ico li[data-nivel="info"] .ico{color:var(--text-2)}
.cot-mp{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:var(--raio-card);background:var(--surface-2);display:grid;gap:10px}
.cot-mp .cot-h3,.cot-mp p{margin:0}
.cot-mp-lista{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cot-mp-peca{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:12px}
.cot-previa-mini{margin:0;padding:4px}
.cot-previa-mini .cot-previa-quadro img{padding:4px}
.cot-previa-mini .cot-icone{width:40px}
.cot-mp-txt p{margin:2px 0 6px;font-size:.9rem}
.cot-mp-usar{display:flex;gap:10px;align-items:center;min-height:44px;cursor:pointer}
.cot-mp-usar input{width:20px;height:20px;accent-color:var(--acao)}
.cot-mp-qtd{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cot-mp-qtd input{width:96px;min-height:44px;border:1px solid var(--line-forte);border-radius:var(--raio-btn,10px);background:var(--campo-bg);color:var(--text);padding:0 10px}
.cot-3d{width:100%;flex:1 1 100%;display:grid;gap:8px}
.cot-3d h4{margin:0;font-size:1.05rem}
.cot-3d-extra{margin-top:16px}
.cot-3d-extra .cot-3d{padding:12px 14px;gap:10px}
.cot-3d-explica,.cot-3d-detalhes{margin:0;color:var(--text-2);line-height:1.55}
.cot-3d-arquivo{display:grid;gap:6px;color:var(--text-2);font-size:.9rem}
.cot-3d-arquivo input{width:100%;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:var(--raio-btn,10px);background:var(--campo-bg);color:var(--text)}
.cot-3d-acoes{display:flex;flex-wrap:wrap;gap:8px}
.cot-3d-pendente{padding:12px;border:1px solid var(--line);border-left:3px solid var(--alerta);border-radius:var(--raio);background:var(--surface-2)}
.cot-3d-status{margin:0;padding:14px;border-radius:var(--raio);background:var(--surface-2);color:var(--text-2)}
.cot-3d-tela{width:100%;height:300px;border-radius:12px;background:var(--bg);touch-action:none;cursor:grab}
.cot-3d .cot-zoom{align-self:auto}
@media (max-width:640px){.cot-3d-tela{height:240px}.cot-3d-acoes>.btn{flex:1 1 100%}}
.cot-extra{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.cot-extra summary{min-height:48px;display:flex;align-items:center;padding:0 14px;font-weight:600;cursor:pointer}
.cot-extra[open] summary{border-bottom:1px solid var(--line)}
.cot-extra>*:not(summary){margin:10px 14px}
.cot-tabela{width:calc(100% - 28px);border-collapse:collapse;font-size:.93rem}
.cot-tabela th,.cot-tabela td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}
.cot-tabela tr[aria-current]{font-weight:700}
.cot-comp{list-style:none;padding:0;display:grid;gap:6px}
.cot-comp li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-height:44px;border-bottom:1px solid var(--line)}
.cot-comp li[aria-current]{font-weight:600}
.cot-prazo{display:flex;align-items:center;gap:8px;margin:8px 0;color:var(--text-2);font-size:.93rem}
.cot-prazo .ico{width:18px;height:18px}

/* Acabamento da referência OCS: textura leve, cards com profundidade e ícones responsivos ao hover. */
.secao-como{position:relative;isolation:isolate;overflow:hidden}
.secao-como::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.24;background-image:radial-gradient(rgb(100 116 139 / 16%) .8px,transparent .8px);background-size:14px 14px}
.secao-como>.contem{position:relative}
.como-cards li{min-height:270px;display:flex;flex-direction:column;align-items:flex-start;background:var(--surface);box-shadow:0 8px 28px rgb(15 23 42 / 6%)}
.como-passo{margin:0 0 8px;color:var(--text-3);font:700 .75rem/1.3 var(--display);letter-spacing:.16em;text-transform:uppercase}
.como-cards li:hover{box-shadow:0 16px 34px rgb(15 23 42 / 10%)}
.como-cards li:hover svg{transform:translateY(-2px) scale(1.04)}
.como-cards svg{transition:transform .2s ease,color .2s ease}
@media (prefers-reduced-motion:no-preference){
  .como-cards li.revela{transition:opacity .36s ease,transform .36s ease,box-shadow .2s ease,border-color .2s ease}
  .como-cards li.revela:nth-child(2){transition-delay:.07s}
  .como-cards li.revela:nth-child(3){transition-delay:.14s}
  .como-cards li.revela:nth-child(4){transition-delay:.21s}
}

/* Upload com hierarquia semelhante à referência, sem alterar a privacidade nem o fluxo de arquivos. */
.cot-upload-card{box-shadow:0 12px 36px rgb(15 23 42 / 8%)}
.cot-zona{justify-content:center;min-height:330px;overflow:hidden;background-color:var(--zona-bg);background-image:radial-gradient(rgb(100 116 139 / 11%) .75px,transparent .75px);background-size:15px 15px}
.cot-zona-formato{margin:0;color:var(--text-3);font:700 .78rem/1.4 var(--display);letter-spacing:.2em}
.cot-zona-detalhe{margin:.2em 0 0;max-width:48ch}
.btn.cot-selecionar{min-width:190px;justify-content:center;border:1px solid var(--acao);border-radius:999px;background:transparent;color:var(--acao-texto);transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.btn.cot-selecionar:hover{background:var(--acao);color:var(--cm-on-action,#fff);box-shadow:0 6px 18px rgb(196 18 26 / 16%);transform:translateY(-1px)}

/* Indicadores longos ocupam uma linha própria para não se comprimirem entre colunas. */
.cot-dados>div:last-child{grid-column:1/-1}
.cot-dados>div:last-child dd{line-height:1.55}
:root[data-theme="dark"] .como-cards li{box-shadow:0 10px 28px rgb(0 0 0 / 24%)}
:root[data-theme="dark"] .como-cards li:hover{box-shadow:0 16px 34px rgb(0 0 0 / 34%)}
:root[data-theme="dark"] .cot-upload-card{box-shadow:0 12px 36px rgb(0 0 0 / 26%)}
@media (max-width:640px){.como-cards li{min-height:0}.cot-zona{min-height:300px}}
@media (prefers-reduced-motion:reduce){.cot-previa-carregando{animation:none}.cot-previa-quadro img,.cot-previa-quadro .cot-dfm-overlay{transition:none}}

/* Área de upload conforme a referência: clara, espaçosa e com ação contornada. */
.cot-upload-card{background:var(--surface);box-shadow:0 14px 34px rgb(15 23 42 / 7%)}
.cot-zona{box-sizing:border-box;min-height:420px;justify-content:center;gap:10px;overflow:hidden;padding:36px 24px;border:1px solid var(--line);border-radius:24px;background-color:var(--surface);background-image:radial-gradient(rgb(100 116 139 / 9%) .75px,transparent .75px);background-size:14px 14px}
.cot-zona-icone{width:40px;height:40px;padding:0;border-radius:0;background:transparent;box-shadow:none;color:var(--acao);stroke-width:1.8;transition:transform .2s ease}
.cot-zona:hover .cot-zona-icone,.cot-zona.arrastando .cot-zona-icone{transform:translateY(-3px)}
.cot-zona-txt{margin:8px 0 0;color:var(--text);font-size:clamp(1.15rem,1.7vw,1.35rem);line-height:1.45}
.cot-zona-formato{margin:0;color:var(--text-2);font:700 .78rem/1.4 var(--display);letter-spacing:.2em}
.cot-zona-ou{margin:0;color:var(--text-2);font-size:.95rem}
.cot-zona .btn.cot-selecionar{min-width:220px;min-height:48px;justify-content:center;margin:6px 0 4px;padding:10px 24px;border:1px solid var(--acao);border-radius:999px;background:transparent;box-shadow:none;color:var(--acao-texto);font-weight:600;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.cot-zona .btn.cot-selecionar:hover{transform:translateY(-1px);background:var(--acao);color:var(--cm-on-action,#fff);box-shadow:0 6px 18px rgb(196 18 26 / 16%)}
.cot-zona .btn.cot-selecionar:focus-visible{outline:2px solid var(--foco);outline-offset:3px}
.cot-zona-detalhe{max-width:52ch;margin:6px 0 0;color:var(--text-2);font-size:.94rem;line-height:1.55}
:root[data-theme="dark"] .cot-upload-card{box-shadow:0 14px 34px rgb(0 0 0 / 30%)}
:root[data-theme="dark"] .cot-zona{background-image:radial-gradient(rgb(203 213 225 / 8%) .75px,transparent .75px)}
@media (max-width:640px){.cot-zona{min-height:330px;padding:28px 18px;border-radius:18px}.cot-zona .btn.cot-selecionar{min-width:min(100%,220px)}}
@media (prefers-reduced-motion:reduce){.cot-zona,.cot-zona-icone,.cot-zona .btn.cot-selecionar{transition:none!important}}
