/* FM Draws · mini ERP (v65) — shell, telas de cadastro, login, post-it. Usa os tokens do editor (ds). */
#telaLogin{z-index:90;background:var(--fm-grafite);align-items:center;justify-content:center;padding:16px;overflow:auto}
.lgCard{width:min(420px,100%);background:var(--surf-0);border-radius:var(--r-4);box-shadow:var(--sh-3);padding:24px 22px;display:grid;gap:12px;text-align:center}
.lgCard.treme{animation:treme .35s}
@keyframes treme{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.lgLogo{height:64px;margin:0 auto;object-fit:contain}
.lgCard h1{font-family:var(--font-marca);font-weight:800;font-size:var(--t-xl);margin:4px 0 0}
.lgSub{color:var(--ink-3);font-size:var(--t-s);margin:0}
.lgUsers{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.lgNome{border:1px solid var(--linha-2);border-radius:var(--r-2);padding:12px 14px;font-size:16px;font-family:inherit}
.lgPin{display:flex;gap:10px;justify-content:center;min-height:16px}
.lgPin i{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink-3)}
.lgPin i.on{background:var(--fm-grafite);border-color:var(--fm-grafite)}
.lgPin i[hidden]{display:none}
.lgErro{color:var(--erro);font-size:var(--t-s);min-height:18px;font-weight:600}
.kp{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kp button{min-height:56px;border-radius:var(--r-2);border:1px solid var(--linha-2);background:var(--surf-1);font-size:22px;font-weight:600;color:var(--ink-1);display:grid;place-items:center;font-family:inherit;touch-action:manipulation}
.kp button:active{background:var(--fm-amarelo-soft)}
.kp button.btn-pri{font-size:16px;font-weight:700}

/* caixas de diálogo */
#dlg{z-index:80}
.dlgCorpo{display:grid;gap:8px;margin:12px 0}
.dlgIn{width:100%;margin:12px 0;border:1px solid var(--linha-2);border-radius:var(--r-2);padding:12px;font-size:16px;font-family:inherit}
.mPe{display:flex;align-items:center;gap:8px;margin-top:12px}
.mPe>span{flex:1;color:var(--ink-3);font-size:var(--t-xs)}
.cfLin{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--linha)}
.cfLin span{color:var(--ink-3)} .cfLin.tot b{font-size:var(--t-l)}
.cfInt,.intBox,.intLin{font-size:var(--t-xs);color:var(--info)}
.intBox{background:var(--surf-2);border-radius:var(--r-2);padding:8px 12px;margin:8px 0}
.intLin{display:block}
.cfAviso{background:var(--pend-soft);color:var(--pend);border-radius:var(--r-2);padding:8px 12px;font-size:var(--t-s);font-weight:600}
.cfNota{color:var(--ink-3);font-size:var(--t-xs);margin:4px 0 0}
.impLista{max-height:40dvh;overflow:auto;display:grid;gap:2px;font-size:var(--t-s)}
.impLista div{display:flex;justify-content:space-between;gap:8px;padding:4px 6px;border-radius:6px}
.impLista .novo span{color:var(--ok)} .impLista .casa span{color:var(--info)}

/* escolher cliente */
.cpCard{display:flex;flex-direction:column;max-height:86dvh}
.cpBusca,.barraBusca{display:flex;align-items:center;gap:8px;border:1px solid var(--linha-2);border-radius:var(--r-2);padding:0 12px;background:var(--surf-0);margin:10px 0}
.cpBusca input,.barraBusca input{flex:1;border:0;outline:0;padding:12px 0;font-size:16px;font-family:inherit;background:transparent;min-width:0}
.cpLista{overflow:auto;display:grid;gap:4px;min-height:120px}
.cpIt{display:flex;align-items:center;gap:12px;text-align:left;padding:10px 12px;border-radius:var(--r-2);border:1px solid transparent;background:var(--surf-1);font-family:inherit;color:var(--ink-1)}
.cpIt:hover{border-color:var(--linha-2)} .cpIt.cf{background:var(--fm-amarelo-soft)}
.cpIt span{display:grid} .cpIt small{color:var(--ink-3)}
.cpVazio{padding:16px;text-align:center}

/* formulários */
.fGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.fCampo{display:grid;gap:6px;font-size:var(--t-s);color:var(--ink-3);font-weight:600}
.fCampo.w2{grid-column:1/-1}
.fCampo input,.fCampo select{border:1px solid var(--linha-2);border-radius:var(--r-2);padding:11px 12px;font-size:16px;font-family:inherit;color:var(--ink-1);background:var(--surf-0);font-weight:400}
.seg{display:flex;border:1px solid var(--linha-2);border-radius:var(--r-2);overflow:hidden}
.seg.col{flex-direction:column}
.seg button{flex:1;padding:10px 12px;border:0;background:var(--surf-0);font-family:inherit;font-size:var(--t-s);font-weight:600;color:var(--ink-2);min-height:44px}
.seg button+button{border-left:1px solid var(--linha-2)} .seg.col button+button{border-left:0;border-top:1px solid var(--linha-2)}
.seg button.on{background:var(--fm-amarelo-soft);color:var(--ink-1);box-shadow:inset 0 0 0 2px var(--fm-grafite)}
.adBox{background:var(--surf-1);border-radius:var(--r-2);padding:12px}
.adBox[hidden]{display:none}
.adLin{display:grid;gap:8px}
.adVal{display:flex;align-items:center;gap:6px;color:var(--ink-1)} .adVal[hidden]{display:none}
.adVal input{width:110px}
.adHist{font-weight:400;font-size:var(--t-xs)} .adHist div{padding:2px 0}
@media (max-width:560px){ .fGrid{grid-template-columns:1fr} }

/* SHELL */
#telaInicio.shell{flex-direction:row}
#navLat{width:220px;flex:none;background:var(--fm-grafite);color:#fff;display:flex;flex-direction:column;padding:14px 10px;gap:4px;transition:width var(--dur-2) var(--ease)}
.nlMarca{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}
.nlMarca img{height:30px} .nlMarca span{font-family:var(--font-marca);font-weight:800;font-size:17px}
.nlIt{display:flex;align-items:center;gap:12px;padding:12px;border:0;border-radius:var(--r-2);background:transparent;color:#d8d6da;font-family:inherit;font-size:15px;font-weight:600;text-align:left;min-height:48px}
.nlIt:hover{background:rgba(255,255,255,.07);color:#fff}
.nlIt.on{background:var(--fm-amarelo);color:var(--acc-tx)}
.nlIt .ic{flex:none}
.nlPe{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:8px}
#shMain{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.shTopo{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:20px 24px 12px;flex-wrap:wrap}
.shTopo h1{font-family:var(--font-marca);font-weight:800;font-size:var(--t-2xl);margin:0;line-height:1.15}
.shTopo p{margin:2px 0 0;color:var(--ink-3);font-size:var(--t-s)}
#shAcoes{display:flex;gap:8px;flex-wrap:wrap}
.bTop{min-height:44px;padding:8px 14px;display:inline-flex;align-items:center;gap:6px;font-size:14px}
#shCorpo{flex:1;overflow:auto;padding:4px 24px 32px;display:flex;flex-direction:column;gap:16px}
/* tablet deitado: barra lateral compacta (ícones), libera largura */
body[data-layout="tab"] #navLat{width:84px;padding:12px 8px}
body[data-layout="tab"] .nlIt{flex-direction:column;gap:4px;font-size:11px;padding:10px 4px;text-align:center}
body[data-layout="tab"] .nlMarca span,body[data-layout="tab"] #nlUserNome{display:none}
body[data-layout="tab"] .nlMarca{justify-content:center;padding:4px 0 12px}
/* celular: barra inferior */
body[data-layout="cel"] #telaInicio.shell{flex-direction:column-reverse}
body[data-layout="cel"] #navLat{width:auto;flex-direction:row;padding:4px 4px calc(4px + env(safe-area-inset-bottom));gap:0}
body[data-layout="cel"] .nlMarca,body[data-layout="cel"] .nlPe{display:none}
body[data-layout="cel"] .nlIt{flex:1;flex-direction:column;gap:2px;font-size:10.5px;padding:6px 2px;min-height:54px;text-align:center}
body[data-layout="cel"] .shTopo{padding:14px 16px 8px}
body[data-layout="cel"] .shTopo h1{font-size:var(--t-xl)}
body[data-layout="cel"] #shCorpo{padding:4px 16px 24px}

/* blocos */
.acoesRap{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.acoesRap .novoSlab{margin:0}
.acaoSec{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--linha-2);background:var(--surf-0);border-radius:var(--r-3);padding:16px;font-family:inherit;color:var(--ink-1)}
.acaoSec span{display:grid} .acaoSec b{font-size:16px} .acaoSec small{color:var(--ink-3)}
body[data-layout="cel"] .acoesRap{grid-template-columns:1fr}
.secH{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.secH h2{font-size:var(--t-m);margin:0;font-weight:700}
.segP{display:inline-flex;background:var(--surf-2);border-radius:999px;padding:3px;gap:2px;flex-wrap:wrap}
.segP button{border:0;background:transparent;border-radius:999px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink-2);min-height:36px}
.segP button.on{background:var(--surf-0);color:var(--ink-1);box-shadow:var(--sh-1)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.kpi{background:var(--surf-0);border:1px solid var(--linha);border-radius:var(--r-3);padding:14px;display:grid;gap:4px}
.kpi span{font-size:var(--t-xs);color:var(--ink-3);font-weight:600}
.kpi b{font-size:var(--t-xl);font-family:var(--font-marca);font-weight:800;font-variant-numeric:tabular-nums}
.kpi small{font-size:11px;color:var(--ink-4)}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:16px}
body[data-layout="cel"] .duas{grid-template-columns:1fr}
.lst{display:flex;flex-direction:column;gap:6px}
.lin{background:var(--surf-0);border:1px solid var(--linha);border-radius:var(--r-2);padding:10px 12px;cursor:pointer;display:grid;gap:4px}
.lin:hover{border-color:var(--linha-2);box-shadow:var(--sh-1)}
.lin1,.lin2{display:flex;align-items:center;gap:8px;min-width:0}
.lin1 .dt{margin-left:auto;color:var(--ink-4);font-size:var(--t-xs)}
.lin2 .cli{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}
.lin2 .val,.itCard .val{font-variant-numeric:tabular-nums;white-space:nowrap}
.lin .ths{display:flex;gap:4px} .lin .th{width:40px;height:26px;display:grid} .lin .th svg{width:100%;height:100%}
.num{font-variant-numeric:tabular-nums}
.mut{color:var(--ink-3)}
.lnk{border:0;background:none;color:var(--info);font-weight:600;font-family:inherit;font-size:var(--t-s);padding:4px;cursor:pointer}
.bdg{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;background:var(--surf-2);color:var(--ink-2)}
.st-rascunho{background:var(--surf-2);color:var(--ink-2)}
.st-enviado{background:#e0ecff;color:#1d4ed8}
.st-aprovado,.sp-entregue{background:var(--ok-soft);color:var(--ok)}
.st-recusado,.st-cancelado,.sp-cancelado{background:var(--erro-soft);color:var(--erro)}
.st-expirado{background:var(--pend-soft);color:var(--pend)}
.sp-confirmado{background:var(--fm-amarelo-soft);color:var(--ink-1)}
.sp-em_producao{background:#e0ecff;color:#1d4ed8}
.sp-pronto,.sp-montagem{background:#dcf5ef;color:#0f766e}
.filtros{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filtros .barraBusca{flex:1;min-width:220px;margin:0}
.gradeDes{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.desCard{background:var(--surf-0);border:1px solid var(--linha);border-radius:var(--r-3);overflow:hidden;display:flex;flex-direction:column}
.desTh{height:110px;display:grid;place-items:center;background:var(--surf-1);padding:8px}
.desTh svg{width:100%;height:100%}
.desInfo{padding:10px 12px;display:grid;gap:2px;font-size:var(--t-s)}
.desAc{display:flex;border-top:1px solid var(--linha);margin-top:auto}
.desAc button{flex:1;border:0;background:none;padding:10px 4px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink-2);min-height:44px}
.desAc button+button{border-left:1px solid var(--linha)}
.desAc button:hover{background:var(--fm-amarelo-soft)}
.detTopo{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;background:var(--surf-0);border:1px solid var(--linha);border-radius:var(--r-3);padding:14px}
.detTopo>div{display:grid;gap:2px;align-content:start} .detTopo .mut{font-size:var(--t-xs);font-weight:600}
.detTopo small{color:var(--ink-3);font-size:var(--t-xs)}
.detTot b{font-size:var(--t-xl);font-family:var(--font-marca);font-weight:800}
.detCli .lnk{justify-self:start;padding:0}
.detAcoes{display:flex;flex-wrap:wrap;gap:8px}
.detAcoes .opt{min-height:44px;padding:8px 14px;display:inline-flex;align-items:center;gap:6px;font-size:14px}
.opt.perigo{color:var(--erro);border-color:var(--erro-soft)}
.bFechar{margin-left:auto;min-height:44px;padding:8px 18px;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:10px 16px}
.itCard{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;background:var(--surf-0);border:1px solid var(--linha);border-radius:var(--r-2);padding:8px 12px 8px 8px}
.itCard .desTh{height:70px;border-radius:var(--r-1)}
.itInfo{display:grid;gap:2px;font-size:var(--t-s);color:var(--ink-2)} .itInfo b{color:var(--ink-1)}
body[data-layout="cel"] .itCard{grid-template-columns:80px 1fr}
body[data-layout="cel"] .itCard .val{grid-column:2}
.hist{font-size:var(--t-s);color:var(--ink-2);background:var(--surf-0);border:1px solid var(--linha);border-radius:var(--r-2);padding:10px 12px}
.hist summary{font-weight:700;cursor:pointer} .hist div{padding:3px 0}
.etapas{display:flex;gap:6px;flex-wrap:wrap}
.etapa{flex:1;min-width:120px;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--r-2);border:1px solid var(--linha-2);background:var(--surf-0);font-family:inherit;font-weight:600;font-size:14px;color:var(--ink-3);min-height:48px}
.etapa i{font-style:normal;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--surf-2);font-size:12px}
.etapa.feita{color:var(--ink-1)} .etapa.feita i{background:var(--fm-grafite);color:#fff}
.etapa.atual{border-color:var(--fm-grafite);background:var(--fm-amarelo-soft)}
.etapa:disabled{cursor:default}
.cfgSec{background:var(--surf-0);border:1px solid var(--linha);border-radius:var(--r-3);padding:14px 16px;display:grid;gap:4px}
.cfgSec h2{font-size:var(--t-m);margin:0 0 6px}
.cfgLin{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--linha)}
.cfgLin>div:first-child{display:grid;gap:2px} .cfgLin span{color:var(--ink-3);font-size:var(--t-xs)}
.cfgVal{display:flex;align-items:center;gap:6px;white-space:nowrap}
.cfgVal input{width:90px;border:1px solid var(--linha-2);border-radius:var(--r-2);padding:9px 10px;font-size:16px;font-family:inherit;text-align:right}
.cfgPe{display:flex;align-items:center;gap:12px;justify-content:space-between;padding-top:10px}
.cfgPe .mut{font-size:var(--t-xs)}
.audLista{font-size:12px;display:grid;gap:3px;max-height:260px;overflow:auto;font-variant-numeric:tabular-nums}
.esqueleto{height:44px;border-radius:var(--r-2);background:var(--surf-2)}

/* editor: cliente no cabeçalho */
.pedCliBtn{border:0;background:none;padding:0 4px;font-family:inherit;font-size:inherit;font-weight:600;color:var(--ink-1);text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer}
.pedCliBtn.vazio{color:var(--pend)}
#pedNum .bdg{margin-left:4px;vertical-align:1px}
#rvFechar{display:inline-flex;align-items:center;gap:6px;min-height:48px}
#rvFechar[hidden]{display:none}

/* =====================================================================================
   v66 · TOKENS DE MOVIMENTO, FOCO E CAMADAS  (reaproveita os tokens do editor; não cria outra biblioteca)
   ===================================================================================== */
:root{
  --m-rapido:120ms; --m-base:180ms; --m-painel:260ms;
  --ease-out:cubic-bezier(.2,.8,.2,1); --ease-mola:cubic-bezier(.3,1.25,.5,1);
  --foco:0 0 0 2px var(--surf-0),0 0 0 4px var(--fm-grafite);
  --z-postit:6; --z-tela:30; --z-modal:80; --z-aviso:95; --z-login:90;
}

/* ---------- componentes: estados completos ---------- */
button,.opt,.kpi,.lin,.cpIt,.desCard{-webkit-tap-highlight-color:transparent}
button{transition:transform var(--m-rapido) var(--ease-out),background-color var(--m-rapido) var(--ease-out),border-color var(--m-rapido) var(--ease-out),color var(--m-rapido) var(--ease-out),box-shadow var(--m-base) var(--ease-out),opacity var(--m-base)}
button:active:not(:disabled){transform:scale(.98)}
:where(button,a,input,select,textarea,[tabindex]):focus{outline:none}
:where(button,a,[tabindex],summary):focus-visible{box-shadow:var(--foco)!important;outline:none}
:where(input,select,textarea):focus-visible{border-color:var(--fm-grafite)!important;box-shadow:0 0 0 3px var(--fm-amarelo-soft)!important}
button:disabled{cursor:default}
.opt:hover:not(:disabled):not(.on){border-color:var(--ink-4);background:var(--surf-1)}
.btn-pri:disabled{opacity:.55}
/* carregando / feito / falhou — o estado aparece só depois da resposta real */
button[aria-busy="true"]{position:relative;color:transparent!important;pointer-events:none}
button[aria-busy="true"]>*{opacity:0}
button[aria-busy="true"]::after{content:"";position:absolute;inset:0;margin:auto;width:16px;height:16px;border-radius:50%;border:2px solid var(--ink-3);border-right-color:transparent;animation:gira .7s linear infinite}
.btn-pri[aria-busy="true"]::after,.bFechar[aria-busy="true"]::after{border-color:var(--fm-grafite);border-right-color:transparent}
@keyframes gira{to{transform:rotate(360deg)}}
button.feito{box-shadow:inset 0 0 0 1.5px var(--ok)!important}
button.feito::before{content:"";position:absolute;right:8px;top:6px;width:6px;height:10px;border:solid var(--ok);border-width:0 2px 2px 0;transform:rotate(45deg);animation:sobe var(--m-base) var(--ease-out)}
button.feito{position:relative}
button.falhou{animation:treme .32s}
/* campos e validação junto do campo */
input[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--erro)!important;box-shadow:0 0 0 3px var(--erro-soft)!important}
.fErro{display:block;color:var(--erro);font-size:12px;font-weight:600;margin-top:2px;animation:sobe var(--m-base) var(--ease-out)}
.cfgVal{position:relative;flex-wrap:wrap;justify-content:flex-end}
.cfgVal .fErro{flex-basis:100%;text-align:right}

/* ---------- avisos ---------- */
.toast{z-index:var(--z-aviso)!important;display:flex!important;align-items:center;gap:8px;padding:11px 16px!important;max-width:min(440px,calc(100vw - 32px));pointer-events:none;opacity:0}
.toast.show{opacity:1;pointer-events:auto}
.toast .ic{color:#7ee2b8;flex:none}
.toast.erro{background:var(--surf-0)!important;color:var(--ink-1)!important;border:1px solid var(--erro);border-radius:14px!important;cursor:pointer}
.toast .tErr{flex:none;width:20px;height:20px;border-radius:50%;background:var(--erro);color:#fff;display:grid;place-items:center;font-size:13px}
.toast .tFecha{font-style:normal;font-weight:700;font-size:12px;color:var(--ink-3);margin-left:6px;padding-left:10px;border-left:1px solid var(--linha)}

/* ---------- modais: entram do gatilho/base, saem coerentes ---------- */
.modal:not([hidden]){animation:fundoEntra var(--m-base) var(--ease-out)}
.modal:not([hidden]) .mCard{animation:cartaoEntra var(--m-painel) var(--ease-out)}
.modal.saindo{animation:fundoSai 160ms var(--ease-out) forwards}
.modal.saindo .mCard{animation:cartaoSai 160ms var(--ease-out) forwards}
@keyframes fundoEntra{from{background:rgba(31,29,31,0)}}
@keyframes fundoSai{to{background:rgba(31,29,31,0)}}
@keyframes cartaoEntra{from{opacity:0;transform:translateY(10px) scale(.98)}}
@keyframes cartaoSai{to{opacity:0;transform:translateY(6px) scale(.985)}}
@media (max-width:699px){ @keyframes cartaoEntra{from{opacity:.4;transform:translateY(40px)}} @keyframes cartaoSai{to{opacity:0;transform:translateY(30px)}} }
@keyframes sobe{from{opacity:0;transform:translateY(6px)}}
.mCard{overscroll-behavior:contain}

/* ---------- shell: menu com indicador deslizante, migalha, troca de tela ---------- */
#navLat{position:relative}
.nlInd{position:absolute;left:0;top:0;border-radius:var(--r-2);background:var(--fm-amarelo);pointer-events:none;opacity:0;transition:transform var(--m-painel) var(--ease-out),width var(--m-painel) var(--ease-out),height var(--m-painel) var(--ease-out),opacity var(--m-base);z-index:0}
.nlIt{position:relative;z-index:1}
.nlIt.on{background:transparent!important;color:var(--fm-grafite)}
.nlIt .ic{transition:transform var(--m-base) var(--ease-out)}
.nlIt.on .ic{transform:scale(1.06)}
body[data-layout="cel"] .nlInd{border-radius:12px}
#shMiga{display:flex;align-items:center;gap:4px;margin:0 0 2px -6px}
#shMiga[hidden]{display:none}
.migaBtn{display:inline-flex;align-items:center;gap:2px;border:0;background:none;color:var(--ink-3);font-family:inherit;font-weight:600;font-size:var(--t-s);padding:6px 8px 6px 4px;border-radius:8px;min-height:36px}
.migaBtn:hover{background:var(--surf-2);color:var(--ink-1)}
.migaBtn .ic{transition:transform var(--m-base) var(--ease-out)} .migaBtn:hover .ic{transform:translateX(-2px)}
.tipoDoc{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;font-family:var(--font-ui);font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;margin-left:6px;letter-spacing:0}
.tipoDoc.orc{border:1.5px solid var(--linha-2);color:var(--ink-2)}
.tipoDoc.ped{background:var(--fm-grafite);color:#fff} .tipoDoc.ped .ic{color:var(--fm-amarelo)}
#shCorpo.entra>*{animation:sobe var(--m-painel) var(--ease-out) both}
#shCorpo.entra>*:nth-child(2){animation-delay:30ms} #shCorpo.entra>*:nth-child(3){animation-delay:60ms} #shCorpo.entra>*:nth-child(4){animation-delay:90ms} #shCorpo.entra>*:nth-child(n+5){animation-delay:110ms}
#telaInicio:not(.shell)>*{visibility:hidden}
.shTopo{border-bottom:1px solid transparent}
/* segmentados com indicador que desliza */
.temInd{position:relative;isolation:isolate}
.segInd{position:absolute;left:0;top:0;border-radius:999px;background:var(--surf-0);box-shadow:var(--sh-1);pointer-events:none;z-index:-1;transition:transform var(--m-base) var(--ease-out),width var(--m-base) var(--ease-out),opacity var(--m-base)}
.temInd>button.on{background:transparent!important;box-shadow:none!important}
.segP button{position:relative}
/* listas, cartões, indicadores */
.lin{position:relative;padding-right:34px;transition:border-color var(--m-rapido),box-shadow var(--m-base) var(--ease-out),transform var(--m-rapido) var(--ease-out)}
.lin::after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;border:solid var(--ink-4);border-width:2px 2px 0 0;transform:translateY(-50%) rotate(45deg);transition:transform var(--m-base) var(--ease-out),border-color var(--m-base)}
.lin:hover::after{transform:translate(3px,-50%) rotate(45deg);border-color:var(--ink-2)}
.lin:active{transform:scale(.995)}
.kpi{text-align:left;font-family:inherit;color:inherit;cursor:default}
button.kpi{cursor:pointer;position:relative}
button.kpi:hover{border-color:var(--linha-2);box-shadow:var(--sh-2)}
button.kpi::after{content:"";position:absolute;right:14px;top:16px;width:6px;height:6px;border:solid var(--ink-4);border-width:2px 2px 0 0;transform:rotate(45deg);opacity:0;transition:opacity var(--m-base),transform var(--m-base) var(--ease-out)}
button.kpi:hover::after{opacity:1;transform:translateX(2px) rotate(45deg)}
.desCard{transition:box-shadow var(--m-base) var(--ease-out),border-color var(--m-rapido)}
.desCard:hover{box-shadow:var(--sh-2);border-color:var(--linha-2)}
.lst>.vazio,#shCorpo>.vazio,.duas .vazio{position:relative;padding-top:64px!important}
.lst>.vazio::before,#shCorpo>.vazio::before,.duas .vazio::before{content:"";position:absolute;top:22px;left:50%;width:30px;height:30px;transform:translateX(-50%);border-radius:10px;background:var(--surf-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a7680' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7v10h6V11h10v6'/%3E%3C/svg%3E") center/18px no-repeat}
.esqueleto{background:linear-gradient(90deg,var(--surf-2) 0%,var(--surf-1) 50%,var(--surf-2) 100%);background-size:200% 100%;animation:brilho 1.2s linear infinite}
details>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:32px}
details>summary::-webkit-details-marker{display:none}
details>summary::before{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(-45deg);transition:transform var(--m-base) var(--ease-out);margin:0 4px}
details[open]>summary::before{transform:rotate(45deg)}
details[open]>:not(summary){animation:sobe var(--m-base) var(--ease-out)}
.etapa{transition:background-color var(--m-base),border-color var(--m-base),color var(--m-base)}
.etapa:not(:disabled):hover{border-color:var(--fm-grafite)}
.etapa i{transition:background-color var(--m-painel) var(--ease-out),color var(--m-painel)}

/* ---------- editor: painel da direita substituído pelo post-it ---------- */
body.semPainel #side{display:none!important}
body.semPainel{--side-w:0px!important}
#saveState[data-st="local"]::before{background:var(--fm-amarelo-2);animation:pulsa 900ms var(--ease) infinite}
#saveState[data-st="offline"]::before{background:var(--pend)} #saveState[data-st="offline"]{color:var(--pend)}

/* ---------- POST-IT de medidas: nota técnica premium, ancorada à direita do canvas ---------- */
#postit{position:absolute;right:74px;top:12px;z-index:var(--z-postit);width:340px;max-height:calc(100% - 24px);display:flex;flex-direction:column;
  background:#FFFCEF;border:1px solid #EDE2B4;border-top:4px solid var(--fm-amarelo);border-radius:6px 6px 14px 14px;
  box-shadow:0 1px 0 rgba(31,29,31,.04),0 10px 28px rgba(31,29,31,.14);color:var(--fm-grafite);font-variant-numeric:tabular-nums;
  transition:opacity var(--m-base) var(--ease-out),transform var(--m-base) var(--ease-out)}
#postit[hidden]{display:none}
body.tracando #postit{opacity:.22;pointer-events:none}
.piTopo{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;padding:10px 14px;font-family:inherit;font-size:14px;color:inherit;min-height:46px;text-align:left;flex:none;border-radius:0}
.piTopo:hover{background:rgba(252,200,0,.10)}
.piTopo .piSeta{transition:transform var(--m-painel) var(--ease-out)} #postit.aberto .piSeta{transform:rotate(90deg)}
.piResumo{margin-left:auto;font-weight:700;font-size:14px}
.piCorpoW{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--m-painel) var(--ease-out);min-height:0}
#postit.aberto .piCorpoW{grid-template-rows:1fr}
.piCorpo{min-height:0;overflow:hidden;display:flex;flex-direction:column}
#postit.aberto .piCorpo{overflow:auto;overscroll-behavior:contain}
.piIn{display:grid;gap:8px;padding:2px 12px 12px;opacity:0;transform:translateY(-6px);transition:opacity var(--m-base) var(--ease-out),transform var(--m-painel) var(--ease-out)}
#postit.aberto .piIn{opacity:1;transform:none;transition-delay:40ms}
.piSeg{display:flex;width:100%;background:rgba(31,29,31,.06)}
.piSeg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px}
.piPane[hidden]{display:none}
.piPane[data-pane="escrever"]{display:flex;flex-direction:column}
.piPane #nota{height:clamp(220px,44vh,420px);flex:none;border-radius:10px;border-color:#EDE2B4;background:#FFFEF8}
.piPane .notaHead{display:none}
.piPane .notaBar{padding:6px}
.piPane .notaBar button{min-height:36px}
.piCab,.piLin{display:grid;grid-template-columns:1fr auto 70px 34px;gap:6px;align-items:center}
.piCab{font-size:11px;font-weight:700;color:var(--ink-3)}
.piLinhas{display:grid;gap:4px;max-height:34vh;overflow:auto}
.piLin{animation:sobe var(--m-base) var(--ease-out)}
.piLin input{width:100%;border:0;border-bottom:1.5px solid rgba(31,29,31,.22);background:transparent;font-size:18px;font-weight:700;padding:6px 2px;font-family:inherit;color:inherit;text-align:right;border-radius:0;outline:0;transition:border-color var(--m-rapido),background-color var(--m-rapido)}
.piLin input.ativo,.piLin input:focus{border-bottom-color:var(--fm-grafite);background:rgba(252,200,0,.14)!important;box-shadow:none!important}
.piLin .un{font-size:12px;color:var(--ink-3)}
.piDel{border:0;background:none;color:var(--ink-3);width:34px;height:34px;display:grid;place-items:center;border-radius:8px}
.piDel:hover{background:var(--erro-soft);color:var(--erro)}
.piDel[hidden]{visibility:hidden;display:grid}
.piAdd{border:1.5px dashed rgba(31,29,31,.25);background:transparent;border-radius:10px;padding:8px;font-family:inherit;font-weight:600;color:var(--ink-2);min-height:42px;width:100%;margin-top:4px}
.piAdd:hover{border-color:var(--fm-grafite);color:var(--ink-1)}
.piTot{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #EDE2B4;padding-top:8px;font-size:13px;color:var(--ink-2)}
.piTot b{font-size:18px;color:var(--ink-1)}
.piVal{font-size:13px;color:var(--ink-2);text-align:right} .piVal b{font-size:15px;color:var(--ink-1)}
.piKp{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}
.piKp:not([hidden]){display:grid;animation:sobe var(--m-base) var(--ease-out)}
.piKp[hidden]{display:none}
.piKp button{min-height:46px;font-size:20px;background:#fff;border-color:#EDE2B4}
.piKp .piOk{grid-column:1/-1;font-size:15px}
body[data-layout="pc"] #postit{width:360px}
body[data-layout="cel"] #postit{left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:56%}
body[data-layout="cel"] .piPane #nota{height:22vh}
body[data-layout="cel"] .piIn{gap:6px}
body.foco #postit{display:none}

/* ---------- movimento reduzido: tudo instantâneo ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
}

/* v67: pílula da chapa só informa; nenhum balão de dica sobre o canvas */
#chapaPill{pointer-events:none;cursor:default}
#hint{display:none!important}

/* =====================================================================================
   v68 · telas que faltavam no padrão: novo orçamento, revisão, tabela de preços; gráfico; carregamento; ordenação
   ===================================================================================== */
.srOnly{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.esqLista{display:grid;gap:6px}
.esqLista .esqueleto{height:62px}
.ordem{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-s);color:var(--ink-3);font-weight:600}
.ordem select{border:1px solid var(--linha-2);border-radius:var(--r-2);padding:10px 30px 10px 12px;font-family:inherit;font-size:14px;color:var(--ink-1);background:var(--surf-0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6870' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 8px center/16px no-repeat;-webkit-appearance:none;appearance:none;min-height:44px;transition:border-color var(--m-rapido)}
.ordem select:hover{border-color:var(--ink-4)}
.modal.fantasma{pointer-events:none}

/* gráfico discreto (uma série, grafite; hoje em amarelo; sem legenda; dica ao passar/tocar) */
.graf{background:var(--surf-0);border:1px solid var(--linha);border-radius:var(--r-3);padding:14px 16px 10px}
.graf .secH{margin-bottom:10px} .gMax{font-size:var(--t-xs)}
.gArea{position:relative;height:96px}
.gArea svg{width:100%;height:100%;display:block;overflow:visible}
.gBar path{fill:var(--ink-3);transition:fill var(--m-rapido)}
.gBar.hoje path{fill:var(--fm-amarelo-3,#C99A00)}
.gBar.ativo path{fill:var(--fm-grafite)}
.gBar .gHit{fill:transparent;cursor:default}
.gZero{fill:var(--linha-2)}
.gTip{position:absolute;top:-4px;transform:translateX(-50%);background:var(--fm-grafite);color:#fff;border-radius:10px;padding:6px 10px;display:grid;gap:1px;font-size:12px;white-space:nowrap;pointer-events:none;box-shadow:var(--sh-2);animation:sobe var(--m-rapido) var(--ease-out)}
.gTip b{font-size:13px} .gTip span{color:#d8d6da}
.gEixo{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-4);margin-top:6px}

/* novo orçamento: mesmo cabeçalho e cartões do resto do app */
#telaNovo .nvTopo,#telaRevisao .nvTopo,#telaPrecos .nvTopo{height:auto;min-height:64px;padding:10px var(--e-4,20px);gap:10px;background:var(--surf-0)}
.nvSub{margin:2px 0 0;font-size:var(--t-s);color:var(--ink-3)}
#telaNovo .nvCorpo{max-width:720px;padding:20px 20px 24px;gap:12px}
#telaNovo .nvPasso{grid-template-columns:36px minmax(0,1fr);padding:16px 18px;transition:border-color var(--m-base),box-shadow var(--m-base);animation:sobe var(--m-painel) var(--ease-out) both}
#telaNovo .nvPasso:nth-child(2){animation-delay:40ms} #telaNovo .nvPasso:nth-child(3){animation-delay:80ms}
#telaNovo .nvPasso:focus-within{border-color:var(--linha-2);box-shadow:var(--sh-1)}
#telaNovo .nvN{width:32px;height:32px;font-size:15px;position:relative;transition:background-color var(--m-painel) var(--ease-out),color var(--m-painel)}
#telaNovo .nvPasso.feito .nvN{background:var(--fm-grafite);color:transparent}
#telaNovo .nvPasso.feito .nvN::after{content:"";position:absolute;width:6px;height:11px;border:solid var(--fm-amarelo);border-width:0 2.5px 2.5px 0;transform:translate(0,-1px) rotate(45deg);animation:sobe var(--m-base) var(--ease-out)}
#telaNovo .nvC h2{font-size:var(--t-m);margin:5px 0 12px}
.nvIn{width:100%;max-width:520px;border:1px solid var(--linha-2);border-radius:var(--r-2);padding:12px 14px;font-size:16px;font-family:inherit;color:var(--ink-1);background:var(--surf-0);min-height:48px;transition:border-color var(--m-rapido),box-shadow var(--m-base)}
.nvIn::placeholder{color:var(--ink-4)}
#nvCliSel{display:flex;flex-wrap:wrap;gap:8px}
#nvCliSel .opt{min-height:46px;padding:10px 16px}
.matOpt{display:inline-flex;align-items:center;gap:12px;text-align:left;min-height:56px}
.matOpt small{font-weight:500;color:var(--ink-3)}
#telaNovo .nvRodape{max-width:none;background:var(--surf-0)}
#nvFalta{font-size:var(--t-s);color:var(--ink-3)}

/* revisão antes do PDF: cartões e rodapé no padrão dos detalhes */
#rvTitulo{font-size:var(--t-l);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#rvLista{max-width:980px;width:100%;margin:0 auto;padding:18px 20px;gap:10px}
.rvCard{grid-template-columns:132px minmax(0,1fr) auto!important;gap:16px!important;padding:12px 14px!important;background:var(--surf-0)!important;border:1px solid var(--linha)!important;border-left:4px solid var(--ok)!important;border-radius:var(--r-3)!important;animation:sobe var(--m-painel) var(--ease-out) both;transition:box-shadow var(--m-base)}
.rvCard.pend{border-left-color:var(--pend)!important}
.rvCard:hover{box-shadow:var(--sh-1)}
.rvCard:nth-child(2){animation-delay:30ms} .rvCard:nth-child(3){animation-delay:60ms} .rvCard:nth-child(n+4){animation-delay:90ms}
.rvDes{height:84px;border-radius:var(--r-2);background:var(--surf-1)!important;border:0!important}
.rvInfo{display:grid;gap:3px} .rvL{font-size:var(--t-s);color:var(--ink-2)} .rvVal{font-weight:700;color:var(--ink-1)}
.rvH{display:flex;align-items:baseline;gap:8px} .rvH b{font-size:var(--t-m)} .rvH span{color:var(--ink-3);font-size:var(--t-s)}
.rvPend{font-size:var(--t-s);font-weight:600;color:var(--pend)} .rvOk{font-size:var(--t-s);font-weight:600;color:var(--ok)}
.rvEd{min-height:44px;padding:8px 16px;border:1px solid var(--linha-2);border-radius:var(--r-2);background:var(--surf-0);font-family:inherit;font-weight:600}
.rvEd:hover{border-color:var(--ink-4)}
#telaRevisao .nvRodape{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:12px;background:var(--surf-0);padding:12px 20px}
#rvTot{font-size:var(--t-s);color:var(--ink-2)} #rvTot b{font-size:var(--t-l);color:var(--ink-1)}
#rvAviso{font-size:var(--t-xs);font-weight:600} #rvAviso.ok{color:var(--ok)} #rvAviso.warn{color:var(--pend)}
.rvChk{gap:10px!important;cursor:pointer;min-height:44px;padding:0 6px}
.rvChk input{appearance:none;-webkit-appearance:none;width:38px;height:22px;border-radius:999px;background:var(--linha-2);position:relative;margin:0;cursor:pointer;transition:background-color var(--m-base) var(--ease-out);flex:none}
.rvChk input::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform var(--m-base) var(--ease-out)}
.rvChk input:checked{background:var(--fm-grafite)} .rvChk input:checked::after{transform:translateX(16px)}
#rvFechar{border:1px solid var(--linha-2);border-radius:var(--r-2);background:var(--surf-0);font-family:inherit;font-weight:700;padding:0 18px}
#rvFechar:hover{border-color:var(--fm-grafite)}
@media (max-width:699px){
  #telaRevisao .nvRodape{grid-template-columns:1fr 1fr;padding:10px 12px} #telaRevisao .nvRodape>div:first-child{grid-column:1/-1} #rvGerar{grid-column:1/-1}
  .rvCard{grid-template-columns:88px minmax(0,1fr)!important} .rvCard .rvEd{grid-column:1/-1} }

/* tabela de preços: cabeçalho claro e fixo, linha em destaque, célula vazia sem "mancha" */
#telaPrecos .nvCorpo,#telaPrecos>div:not(.nvTopo){max-width:900px}
#prTab{border:1px solid var(--linha);border-radius:var(--r-3);overflow:hidden;background:var(--surf-0);border-collapse:separate;border-spacing:0}
#prTab thead th{background:var(--surf-2)!important;color:var(--ink-2)!important;font-size:12px;font-weight:700;padding:10px 8px;border-bottom:1px solid var(--linha-2);z-index:1}
#prTab tbody th{background:var(--surf-1)!important;color:var(--ink-1);font-size:13px;border-right:1px solid var(--linha)}
#prTab tbody tr{transition:background-color var(--m-rapido)}
#prTab tbody tr:hover{background:var(--fm-amarelo-soft)}
#prTab tbody tr:hover th{background:var(--fm-amarelo-soft)!important}
#prTab input{min-height:40px;transition:border-color var(--m-rapido),background-color var(--m-rapido),box-shadow var(--m-base)}
#prTab input:hover{border-color:var(--linha-2)}
#prTab input:placeholder-shown{background:transparent!important;border:1px dashed var(--linha-2)!important;color:var(--ink-4)}
#prTab input:placeholder-shown:focus{border-style:solid!important;border-color:var(--fm-grafite)!important}
#prTab input[readonly]{pointer-events:none}
#prSalvo{transition:color var(--m-base)}
#prSalvo[data-st="salvando"]{color:var(--ink-3)} #prSalvo[data-st="ok"]{color:var(--ok)} #prSalvo[data-st="erro"]{color:var(--erro);font-weight:600}

/* v70 · correções da auditoria */
.gTip[hidden]{display:none!important}
.piPane[hidden]{display:none!important}
.pedCliBtn{max-width:min(42vw,420px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
#pedInfo .l1{min-width:0}
.toast{white-space:normal!important;text-align:left;line-height:1.3}
@media (max-width:699px){ .cfgLin{flex-direction:column;align-items:stretch;gap:8px} .cfgVal{justify-content:flex-start} .cfgVal .fErro{text-align:left} }
/* celular: cabeçalho do desenho sem aperto (vendedor fica só no ícone; a faixa de peças ganha espaço) */
body[data-layout="cel"] #pedVend{display:none}
body[data-layout="cel"] #perfilBtn>span{display:none}
body[data-layout="cel"] #perfilBtn{min-width:44px;padding:0 10px;justify-content:center}
body[data-layout="cel"] #pecasLista{flex:1 1 auto;min-width:78px}
body[data-layout="cel"] #pedNum .bdg{max-width:72px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
body[data-layout="cel"] #btnProxima{font-size:0!important;min-width:46px;padding:0 12px!important;gap:0}
body[data-layout="cel"] #btnProxima .ic{width:20px;height:20px}
body[data-layout="cel"] #pecasLista{min-width:64px}
/* v71 · confirmação de leitura duvidosa: candidatos grandes, um toque escolhe */
#leitPop{position:fixed;z-index:72;background:var(--surf-0);border:1px solid var(--linha-2);border-radius:16px;box-shadow:var(--sh-3);padding:12px;display:grid;gap:10px;min-width:220px;animation:cartaoEntra var(--m-base) var(--ease-out)}
#leitPop[hidden]{display:none}
.lpTit{font-size:13px;font-weight:700;color:var(--ink-2)}
.lpOps{display:flex;gap:8px}
.lpOps button{flex:1;min-width:72px;min-height:64px;border:1.5px solid var(--linha-2);border-radius:12px;background:var(--surf-0);font-family:var(--font-marca);font-weight:800;font-size:28px;color:var(--ink-1);display:flex;align-items:baseline;justify-content:center;gap:3px;font-variant-numeric:tabular-nums}
.lpOps button small{font-family:var(--font-ui);font-size:12px;font-weight:600;color:var(--ink-3)}
.lpOps button.lpPri{border-color:var(--fm-grafite);background:var(--fm-amarelo-soft)}
.lpOps button:hover{border-color:var(--fm-grafite)}
.lpPe{display:flex;gap:8px}
.lpPe button{flex:1;min-height:40px;border:0;border-radius:10px;background:var(--surf-2);font-family:inherit;font-weight:600;font-size:13px;color:var(--ink-2)}
.lpPe button:hover{background:var(--linha)}
.leitLista{display:grid;gap:6px;max-height:420px;overflow:auto}
.ldIt{display:grid;grid-template-columns:72px auto 1fr;gap:12px;align-items:center;padding:8px;border:1px solid var(--linha);border-radius:var(--r-2);background:var(--surf-0)}
.ldIt.duv{border-left:3px solid var(--pend)}
.ldTr{width:72px;height:56px;background:var(--surf-1);border-radius:8px}
.ldIms{display:flex;gap:4px}
.ldIm{width:42px;height:42px;image-rendering:pixelated;border:1px solid var(--linha);border-radius:4px}
.ldTx{display:grid;gap:2px;font-size:var(--t-s)} .ldTx b{font-size:var(--t-l);font-family:var(--font-marca)}
.ldTx .bdg{justify-self:start}

/* =====================================================================================
   v72 · MOTION DESIGN SYSTEM — um só vocabulário de tempo e curva para o app inteiro
   (valores de partida; ajustar no Redmi Pad)
   ===================================================================================== */
:root{
  --fm-dur-instant:100ms; --fm-dur-fast:160ms; --fm-dur-standard:240ms; --fm-dur-layout:300ms; --fm-dur-navigation:340ms;
  --fm-ease-enter:cubic-bezier(.22,1,.36,1); --fm-ease-exit:cubic-bezier(.4,0,1,1); --fm-ease-standard:cubic-bezier(.2,0,0,1);
  /* mola amortecida (sem quique visível: passa 1,5% e assenta) para painéis que mudam a geometria */
  --fm-spring:linear(0, .06 3%, .23 8%, .5 16%, .76 26%, .92 37%, 1.012 50%, 1.015 58%, 1.004 72%, 1);
  --fm-dist-micro:4px; --fm-dist-small:8px; --fm-dist-panel:12px;
  /* superfícies e foco com nomes de função (aliases dos tokens que já existem) */
  --surface:var(--surf-0); --surfaceRaised:var(--surf-0); --surfaceOverlay:rgba(31,29,31,.28); --textPrimary:var(--ink-1); --textMuted:var(--ink-3);
  --border:var(--linha); --focusRing:var(--foco); --brandAccent:var(--fm-amarelo); --selection:var(--fm-amarelo-soft);
  /* os tokens antigos passam a apontar para os novos */
  --m-rapido:var(--fm-dur-fast); --m-base:var(--fm-dur-standard); --m-painel:var(--fm-dur-layout); --ease-out:var(--fm-ease-enter);
}
button{transition:transform var(--fm-dur-instant) var(--fm-ease-standard),background-color var(--fm-dur-fast) var(--fm-ease-standard),border-color var(--fm-dur-fast) var(--fm-ease-standard),color var(--fm-dur-fast) var(--fm-ease-standard),box-shadow var(--fm-dur-fast) var(--fm-ease-standard),opacity var(--fm-dur-fast)}
button:active:not(:disabled){transform:scale(.985);transition-duration:60ms}
.piCorpoW{transition:grid-template-rows var(--fm-dur-layout) var(--fm-spring)}
.nlInd{transition:transform var(--fm-dur-layout) var(--fm-spring),width var(--fm-dur-layout) var(--fm-spring),height var(--fm-dur-layout) var(--fm-spring),opacity var(--fm-dur-fast)}
.segInd{transition:transform var(--fm-dur-standard) var(--fm-spring),width var(--fm-dur-standard) var(--fm-spring),opacity var(--fm-dur-fast)}
.modal:not([hidden]) .mCard{animation:cartaoEntra var(--fm-dur-standard) var(--fm-ease-enter)}
.modal.saindo .mCard{animation:cartaoSai 150ms var(--fm-ease-exit) forwards}
button.falhou{animation:none;box-shadow:inset 0 0 0 1.5px var(--erro)!important}
/* troca de tela da gestão: crossfade curto; o item aberto vira o cabeçalho do detalhe */
::view-transition-old(root),::view-transition-new(root){animation-duration:var(--fm-dur-standard);animation-timing-function:var(--fm-ease-standard)}
::view-transition-group(fmItem){animation-duration:var(--fm-dur-navigation);animation-timing-function:var(--fm-ease-enter)}
::view-transition-old(fmItem),::view-transition-new(fmItem){animation-duration:var(--fm-dur-navigation)}
#navLat{view-transition-name:fmNav}
::view-transition-group(fmNav){animation:none}

/* ---- popover genérico (nasce do botão de origem, sai com animação própria) */
.fmPop{position:fixed;z-index:75;min-width:250px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh-3);padding:6px;display:grid;gap:2px;animation:popEntra var(--fm-dur-fast) var(--fm-ease-enter)}
.fmPop[hidden]{display:none}
.fmPop.saindo{animation:popSai 130ms var(--fm-ease-exit) forwards}
@keyframes popEntra{from{opacity:0;transform:scale(.96)}}
@keyframes popSai{to{opacity:0;transform:scale(.97)}}
.fmPop button{display:flex;align-items:center;gap:10px;border:0;background:transparent;border-radius:10px;padding:10px 12px;min-height:44px;font-family:inherit;font-size:14px;font-weight:600;color:var(--textPrimary);text-align:left}
.fmPop button:hover,.fmPop button:focus-visible{background:var(--surf-1)}
.fmPop button em{margin-left:auto;font-style:normal;font-weight:500;font-size:12px;color:var(--textMuted)}
.fmPop button.perigo{color:var(--erro)}
.fmPopSep{height:1px;background:var(--border);margin:4px 6px}
/* menos ícones fixos: o que é eventual mora no "Mais" */
#btnPng,#btnFoco,#maoChip,#autoChip,#modeChip{display:none!important}
body[data-layout="cel"] #btnMais{flex:1 1 0}

/* ---- barra de contexto do editor */
#ctxBar{position:absolute;left:12px;top:12px;z-index:5;display:flex;align-items:center;gap:6px;max-width:calc(100% - 100px);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--sh-2);padding:5px 5px 5px 12px;overflow:hidden;white-space:nowrap;font-size:13px;transition:opacity var(--fm-dur-fast)}
#ctxBar[hidden]{display:none}
.cbTx{display:flex;align-items:baseline;gap:8px;padding-right:4px;min-width:0;overflow:hidden;text-overflow:ellipsis}
.cbTx b{font-weight:700;color:var(--textPrimary);font-variant-numeric:tabular-nums} .cbTx small{color:var(--textMuted);font-size:12px}
#ctxBar button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surf-1);border-radius:10px;padding:0 12px;min-height:38px;font-family:inherit;font-size:13px;font-weight:600;color:var(--textPrimary);white-space:nowrap}
#ctxBar button:hover{border-color:var(--ink-4);background:var(--surface)}
#ctxBar button.cbPri{background:var(--brandAccent);border-color:var(--brandAccent);color:var(--fm-grafite)}
#ctxBar[data-k="lado"]{border-color:var(--fm-amarelo-linha);background:var(--selection)}
body.tracando #ctxBar{opacity:.18;pointer-events:none}
body.foco #ctxBar{display:none}
body[data-layout="cel"] #ctxBar{left:8px;right:56px;max-width:none;top:8px;overflow-x:auto}
body[data-layout="cel"] #ctxBar button span{display:none}
body[data-layout="cel"] #ctxBar button.cbPri span,body[data-layout="cel"] #ctxBar button[data-a="medir"] span{display:inline}

/* ---- canhoto: ferramentas do lado direito (a palma fica longe delas) */
body.railDir[data-layout="tab"] .toolbar,body.railDir[data-layout="pc"] .toolbar{order:99;border-right:0;border-left:1px solid var(--linha)}
body.railDir[data-layout="tab"] #postit,body.railDir[data-layout="pc"] #postit{right:auto;left:12px;top:64px}
body.railDir[data-layout="tab"] .zoomBox,body.railDir[data-layout="pc"] .zoomBox{right:auto;left:12px;top:auto;bottom:60px}
.lpAviso{font-size:12px;color:var(--pend);background:var(--pend-soft);border-radius:8px;padding:6px 8px;max-width:300px;white-space:normal}

/* v77: entrada por senha */
.lgSenha{position:relative;display:flex}
.lgSenha .lgNome{flex:1;padding-right:48px}
.lgOlho{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;background:none;color:var(--ink-3);display:grid;place-items:center;border-radius:var(--r-2);cursor:pointer}
.lgOlho:active{background:var(--surf-2)}
.lgEntrar{min-height:52px;font-size:16px;font-weight:700;border-radius:var(--r-2)}
.lgEntrar:disabled{opacity:.6}

/* v79: comportamento de app (PWA instalado): nada de selecionar texto, menu de copiar/colar, "pesquisar no Google",
   lupa, arrastar imagem ou aumentar fonte do sistema nos elementos do programa. Campos de digitação continuam normais. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body,body *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,select,[contenteditable="true"],[contenteditable=""],.selecionavel,.selecionavel *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
img,svg,canvas,a{-webkit-user-drag:none;user-drag:none}
::selection{background:rgba(255,204,0,.35)}
#shCorpo,.lst,.nvCorpo,#notaScroll,.mCard,#postit{overscroll-behavior:contain}
body.pwa{overscroll-behavior:none}

/* =====================================================================================================
   v80 — FUSÃO COM AS REFERÊNCIAS (pacote UI/Motion): shell claro e calmo, superfícies em camadas, botões com
   pressão, listas em painel, modal com véu, post-it amarelo de verdade. O canvas/editor fica como está.
   ===================================================================================================== */
:root{--fx-bg:#f5f6f8;--fx-linha:#e6e8ec;--fx-sub:#79828d;--fx-amarelo-suave:#fff1b9;--fx-amarelo-barra:#f2bf16;
  --fx-sombra:0 12px 40px rgba(24,31,43,.07),0 2px 6px rgba(24,31,43,.035);--fx-ease:cubic-bezier(.22,1,.36,1)}
/* ---- shell: barra lateral clara, item ativo amarelo-suave com filete à esquerda que desliza entre as seções */
#telaInicio.shell{background:var(--fx-bg)}
#navLat{background:#fbfbfc;color:#6e7782;border-right:1px solid var(--fx-linha)}
.nlIt{color:#6e7782;font-weight:600;transition:background 150ms,color 150ms,transform 150ms var(--fx-ease)}
.nlIt:hover{background:#f0f1f4;color:#222930}
.nlIt:active{transform:scale(.97)}
.nlIt.on{color:#171a1f!important}
.nlInd{background:var(--fx-amarelo-suave)!important;border-radius:12px}
.nlInd::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--fx-amarelo-barra)}
body[data-layout="cel"] .nlInd::before{left:28%;right:28%;top:auto;bottom:2px;width:auto;height:3px}
body[data-layout="cel"] #navLat{border-right:0;border-top:1px solid var(--fx-linha);box-shadow:0 -4px 30px rgba(23,34,46,.06)}
.nlPe{border-top-color:var(--fx-linha)!important}
.nlMarca{gap:10px}
.nlMarca img{width:40px;height:40px;border-radius:12px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.06),0 2px 6px rgba(24,31,43,.08);object-fit:cover}
.nlMarca span{color:#192027;letter-spacing:.01em}
.nlMarca small{display:block;font-family:var(--font-ui);font-weight:500;font-size:11px;color:#9096a0;letter-spacing:0}
body[data-layout="tab"] .nlMarca small{display:none}
.shTopo h1{letter-spacing:-.03em}
.shTopo p{color:var(--fx-sub)}
/* ---- botões: mesma curva, mesmo raio, pressão discreta (nunca nos controles de desenho) */
.bTop,.opt,.btn-pri,.acaoSec,#cfgSalva{border-radius:11px!important;transition:transform 150ms var(--fx-ease),box-shadow 150ms,background 150ms,border-color 150ms}
.bTop:hover,.opt:hover:not(:disabled){box-shadow:0 4px 12px rgba(20,27,41,.07)}
.btn-pri:hover:not(:disabled){box-shadow:0 5px 15px rgba(237,188,41,.22)}
.bTop:active,.opt:active:not(:disabled),.btn-pri:active:not(:disabled),.acaoSec:active,.kpi:active{transform:scale(.975)}
:is(button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(246,189,26,.5)!important;outline-offset:2px}
/* ---- cartões do resumo e ações rápidas: superfície branca com sombra em camadas, leve elevação no hover */
.kpi,.acaoSec,.graf{border-color:var(--fx-linha)!important;border-radius:18px!important}
button.kpi{transition:transform 250ms var(--fx-ease),box-shadow 250ms}
button.kpi:hover{transform:translateY(-3px);box-shadow:var(--fx-sombra)}
.acaoSec:hover{box-shadow:var(--fx-sombra)}
/* ---- "continue de onde parou": cartão grafite com a peça e o atalho amarelo */
.contCard{display:flex;align-items:center;gap:18px;border-radius:18px;padding:18px 22px;background:linear-gradient(120deg,#20272f,#303942);color:#fff;border:0;text-align:left;font-family:inherit;cursor:pointer;
  box-shadow:0 12px 30px rgba(24,31,43,.16);transition:transform 250ms var(--fx-ease),box-shadow 250ms}
.contCard:hover{box-shadow:0 16px 40px rgba(24,31,43,.22)}
.contCard:active{transform:scale(.99)}
.contTh{width:92px;height:62px;flex:none;border-radius:12px;background:rgba(255,255,255,.96);display:grid;place-items:center;padding:6px}
.contTh svg{width:100%;height:100%}
.contTx{flex:1;min-width:0;display:grid;gap:4px}
.contTx small{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#aeb7c0;font-weight:700}
.contTx b{font-family:var(--font-marca);font-size:19px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contTx span{font-size:12.5px;color:#b4bdc6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contBt{flex:none;display:inline-flex;align-items:center;gap:8px;background:var(--fm-amarelo);color:var(--acc-tx);border-radius:11px;padding:11px 16px;font-weight:700;font-size:14px}
body[data-layout="cel"] .contCard{padding:14px;gap:12px} body[data-layout="cel"] .contTh{width:68px;height:48px} body[data-layout="cel"] .contBt span{display:none}
/* ---- listas em painel: uma superfície, linhas separadas por filete, hover que desliza e toque com amarelo */
.rows{background:#fff;border:1px solid var(--fx-linha);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.rows>.lin{border:0!important;border-bottom:1px solid #f0f1f3!important;border-radius:0!important;box-shadow:none!important;padding:13px 40px 13px 18px;transition:background 150ms,padding 250ms var(--fx-ease)}
.rows>.lin:last-child{border-bottom:0!important}
.rows>.lin:hover{background:#fafbfc;padding-left:22px}
.rows>.lin:active{background:#fff8da}
.bdg{border-radius:18px}
/* ---- modal: véu com desfoque leve, cartão que sobe 15px e acomoda; campos nunca estouram a largura */
.modal{background:rgba(25,32,41,.25)!important;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.mCard{border-radius:22px!important;border:1px solid #e3e6eb;box-shadow:0 30px 80px rgba(32,37,43,.19)!important}
@keyframes fxModal{from{opacity:0;transform:translateY(15px) scale(.978)}to{opacity:1;transform:none}}
.modal:not([hidden]) .mCard{animation:fxModal 340ms var(--fx-ease)!important}
.fGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.fCampo{min-width:0}
.fGrid .seg{flex-wrap:wrap} .fGrid .seg button{white-space:normal;min-width:0}
.mPe .btn-pri,.mPe .opt{min-height:46px;padding:10px 18px;font-size:15px}
@media (max-width:560px){ .fGrid{grid-template-columns:minmax(0,1fr)!important} }
/* ---- aviso (toast): grafite, cantos de cartão, entra subindo com leve escala; no canto direito no tablet/PC */
.toast{border-radius:12px!important;box-shadow:0 12px 40px rgba(24,31,43,.18)!important;transition:opacity 250ms,transform 250ms var(--fx-ease)!important}
body:not([data-layout="cel"]):not([data-tela="editor"]) .toast{left:auto!important;right:24px!important;bottom:24px!important;transform:translateY(12px) scale(.97)!important}
body:not([data-layout="cel"]):not([data-tela="editor"]) .toast.show{transform:none!important}
/* ---- post-it: amarelo de bloco de notas (não mais creme), borda dourada e sombra quente; recolhe com continuidade */
#postit{background:linear-gradient(160deg,#fff4bf 0%,#ffeb9c 100%)!important;border:1px solid #f1d06e!important;border-top:1px solid #f1d06e!important;border-radius:14px!important;
  box-shadow:0 12px 30px rgba(157,125,34,.16),0 2px 6px rgba(157,125,34,.08)!important}
#postit .piSeg{background:rgba(255,255,255,.5)!important}
#notaScroll{background:#fffdf3!important;border-color:#eacb72!important}
#postit .piLinhas input{background:#fff9f1!important;border-color:#eacb72!important}
@media (prefers-reduced-motion:reduce){ .nlIt,.bTop,.opt,.btn-pri,button.kpi,.contCard,.rows>.lin{transition:none!important} .modal:not([hidden]) .mCard{animation:none!important} }

/* v81: post-it mais limpo — cabeçalho numa linha só (título · resumo · ícones escrever/digitar · desfazer · lixeira);
   sem a dica "Anote as peças" nem a barra de botões: o espaço vai todo para a área de escrever */
.piHead{display:flex;align-items:center;gap:6px;padding-right:8px;flex:none}
.piHead .piTopo{flex:1;min-width:0;padding-right:4px}
.piHead .piResumo{margin-left:auto;font-weight:700;white-space:nowrap}
.piFer{display:flex;align-items:center;gap:4px;flex:none;transition:opacity var(--m-base) var(--ease-out)}
#postit:not(.aberto) .piFer .piIco{display:none}
#postit[data-modo="digitar"] .piFer .piIco{display:none}
.piFer .piSeg{width:auto;padding:3px;border-radius:10px;background:rgba(255,255,255,.55)!important;gap:2px}
.piFer .piSeg button{flex:none;width:38px;min-height:34px;padding:0;border-radius:8px}
.piIco{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(157,125,34,.22);background:rgba(255,255,255,.55);border-radius:10px;color:#5c4a12;cursor:pointer;
  transition:background 150ms,color 150ms,transform 150ms var(--fx-ease),border-color 150ms}
.piIco:hover{background:rgba(255,255,255,.85)}
.piIco:active{transform:scale(.94)}
.piIco.armado{background:#dc2626;border-color:#dc2626;color:#fff}
.piIco[data-f="limpar"]{position:relative}
.piIco.armado::after{content:"toque de novo para apagar tudo";position:absolute;right:0;top:calc(100% + 6px);white-space:nowrap;font-size:11.5px;font-weight:700;color:#fff;background:#dc2626;
  padding:5px 9px;border-radius:8px;box-shadow:0 6px 16px rgba(220,38,38,.25);z-index:3;pointer-events:none}
#postit .piPane .notaHead,#postit .piPane .notaBar{display:none!important}
#postit .piIn{padding-top:0}

/* v81: cor própria de cada ferramenta ativa (uma por vez). O realce amarelo genérico antigo não vale mais para elas. */
#btnDraw.on:not(.fOn),#btnPan.on:not(.fOn){background:none!important;box-shadow:none!important;color:var(--ink-2)!important}
#btnDraw.on:not(.fOn) .ic,#btnPan.on:not(.fOn) .ic{color:inherit!important}
#writeChip[aria-pressed="true"]:not(.fOn),#penChip[aria-pressed="true"]:not(.fOn){background:none!important;box-shadow:none!important}
#btnDraw.fOn{--c:#C99700;--cs:#FFF3C4}
#penChip.fOn{--c:#2563EB;--cs:#E0EBFF}
#writeChip.fOn{--c:#16A34A;--cs:#DCFCE7}
#btnPan.fOn{--c:#7C3AED;--cs:#EDE9FE}
#btnDraw.fOn,#penChip.fOn,#writeChip.fOn,#btnPan.fOn{background:var(--cs)!important;color:var(--c)!important;box-shadow:inset 0 0 0 1.5px var(--c)!important;font-weight:700!important}
#btnDraw.fOn .ic,#penChip.fOn .ic,#writeChip.fOn .ic,#btnPan.fOn .ic{color:var(--c)!important}
:is(#btnDraw,#penChip,#writeChip,#btnPan){transition:background 150ms,color 150ms,box-shadow 150ms,transform 150ms var(--fx-ease)}
:is(#btnDraw,#penChip,#writeChip,#btnPan):active{transform:scale(.95)}
/* o canvas mostra discretamente qual ferramenta está ligada: um filete da cor no topo da área de desenho */
#board{box-shadow:inset 0 3px 0 var(--ferr-cor,transparent);transition:box-shadow 200ms}
body[data-tela="editor"] #board{box-shadow:inset 0 3px 0 var(--ferr-cor,transparent)}
#postit .piSeg [data-m="escrever"].on{color:#16A34A} #postit .piSeg [data-m="digitar"].on{color:#1F1D1F}

/* v83: no post-it (teclado) a quantidade vem primeiro, depois o comprimento — como se fala: "2 × 3,40 m" */
.piCab,.piLin{grid-template-columns:64px auto 1fr auto 34px!important}
.piCab span:nth-child(3){text-align:right}
.piLin .unM{margin-left:-2px}

/* medidas do post-it (modo teclado): número não se seleciona nem abre copiar/colar — só digita */
#postit .piLin input,input[readonly]{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;caret-color:transparent}
#postit .piLin input:focus{caret-color:auto}
#postit .piLin input::selection{background:transparent}

/* v85: trilho de ferramentas — respiro entre texto e borda do realce (o texto não encosta mais na caixa) */
body[data-layout="tab"] .toolbar, body[data-layout="pc"] .toolbar{padding-left:8px!important;padding-right:8px!important}
.toolbar button, #railChips button{padding:8px 6px 7px!important;gap:4px!important}
.toolbar button .lbl, #railChips button .lbl{font-size:10.5px;letter-spacing:-.005em;padding:0 2px}
:is(#btnDraw,#penChip,#writeChip,#btnPan).fOn{box-shadow:inset 0 0 0 1.5px var(--c)!important;margin:1px 0}

/* v86: canto superior direito do editor só com ícones — "+" (nova peça / → próxima) e "✓" (finalizar) */
#btnProxima,#btnFinalizar{width:44px;min-width:44px;height:44px;padding:0!important;justify-content:center;gap:0!important;border-radius:12px!important}
#btnProxima .ic,#btnFinalizar .ic{width:22px;height:22px;stroke-width:2.2}
#btnFinalizar .ic{stroke-width:2.6}
#btnProxima:active:not(:disabled),#btnFinalizar:active{transform:scale(.94)}

/* v88: CABEÇALHO DO EDITOR compacto numa linha — ‹  [ícone]  OR-0032 [Desenho] │ (👤 cliente) (📍 obra) ……  (A Alife)  • Salvo */
body[data-tela="editor"] header{height:56px;gap:10px;padding:0 14px 0 6px;background:#fff;border-bottom:1px solid var(--fx-linha,#e6e8ec)}
header .hMarca{width:30px;height:30px;border-radius:9px;object-fit:cover;box-shadow:inset 0 -2px 0 rgba(0,0,0,.06),0 1px 3px rgba(24,31,43,.1)}
#pedInfo{display:flex!important;align-items:center;gap:12px;flex:1;min-width:0}
#pedInfo .l1{display:flex;align-items:center;gap:8px;min-width:0;overflow:visible}
#pedInfo .l2{display:none!important}
#pedNum{display:inline-flex;align-items:center;gap:8px;flex:none;padding-right:12px;margin-right:2px;border-right:1px solid var(--fx-linha,#e6e8ec);height:28px}
#pedNum .pnNum{font-family:var(--font-marca);font-weight:800;font-size:18px;letter-spacing:-.01em;color:var(--ink-1)}
#pedNum .bdg{margin:0!important;font-size:11px}
#pedCli{display:contents}
.hChip{display:inline-flex;align-items:center;gap:6px;height:32px;max-width:260px;padding:0 12px 0 10px;border:1px solid var(--fx-linha,#e6e8ec);background:#fafbfc;border-radius:999px;
  font-family:inherit;font-size:13px;font-weight:600;color:var(--ink-1);white-space:nowrap;overflow:hidden;min-width:0;flex:0 1 auto}
.hChip>span,.hChip>img{overflow:hidden;text-overflow:ellipsis;min-width:0}
.hChip .ic{flex:none;color:var(--ink-3)}
.hChip .tintaImg{height:18px!important;vertical-align:middle}
button.hChip{cursor:pointer;transition:background 150ms,border-color 150ms,transform 150ms var(--fx-ease,ease)}
button.hChip:hover{background:#fff;border-color:var(--linha-2)}
button.hChip:active{transform:scale(.97)}
.pedCliBtn.hChip.vazio{border:1.5px dashed #F59E0B;background:#FFFBEB;color:#B45309;text-decoration:none}
.pedCliBtn.hChip.vazio .ic{color:#D97706}
.obraChip[hidden]{display:none!important}
#pedMat{display:none!important}
#perfilBtn.vendBtn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px 0 4px;border:1px solid var(--fx-linha,#e6e8ec);border-radius:999px;background:#fff;font-weight:600;font-size:13px;color:var(--ink-1)}
#perfilBtn.vendBtn .vAv{width:28px;height:28px;border-radius:50%;background:var(--fm-grafite);color:#fff;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:12.5px;font-family:var(--font-marca)}
#perfilBtn.vendBtn.cal .vAv{background:var(--fm-amarelo);color:var(--acc-tx)}
#perfilBtn.vendBtn:hover{border-color:var(--linha-2)}
#saveState{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3)}
#appVer{font-size:10px;color:var(--ink-4,#a1a8b0);margin-left:-2px}
/* celular: só nº + cliente; obra e nome do vendedor somem (avatar fica) */
body[data-layout="cel"] .obraChip{display:none!important}
body[data-layout="cel"] #pedNum{padding-right:8px;gap:6px} body[data-layout="cel"] #pedNum .pnNum{font-size:16px}
body[data-layout="cel"] .hChip{max-width:150px;height:30px;padding:0 10px 0 8px;font-size:12.5px}
body[data-layout="cel"] #perfilBtn.vendBtn{padding:0 4px} body[data-layout="cel"] #perfilBtn.vendBtn span{display:none}
body[data-layout="cel"] header .hMarca{display:none}
body[data-layout="cel"] #pedNum .bdg{display:none}
body[data-layout="cel"] #pedNum{border-right:0;padding-right:0}
body[data-layout="cel"] #pedInfo{gap:8px} body[data-layout="cel"] #pedInfo .l1{flex:1}
body[data-layout="cel"] .pedCliBtn.hChip{flex:1 1 auto;max-width:none}
body[data-layout="cel"] #appVer{display:none}

/* v89: sugestão de modelo ("Parece: …") abaixo da barra de contexto e por cima dos blocos do canvas */
#matchChip{top:72px!important;z-index:7!important}
body[data-layout="cel"] #matchChip{top:62px!important;max-width:calc(100% - 24px)}
#matchChip #matchClose{width:30px;height:30px;padding:0!important;display:grid;place-items:center;font-size:18px;line-height:1;background:transparent;color:var(--ink-3)}
#matchChip #matchClose:hover{background:var(--surf-2,#f0f1f4);color:var(--ink-1)}

/* v90: post-it minimiza nos DOIS sentidos — fechado vira um bloco curto "› Medidas  6,80 m" (sem os ícones).
   Abrir: primeiro alarga (horizontal), depois desce (vertical). Fechar: o inverso — sobe e depois estreita. */
:root{--pi-w:340px;--pi-wmin:212px;--pi-t-h:260ms;--pi-t-v:300ms}
body[data-layout="pc"]{--pi-w:360px}
body:not([data-layout="cel"]) #postit{width:var(--pi-w)}
body:not([data-layout="cel"]) #postit:not(.aberto){width:var(--pi-wmin)}
/* abrir: largura já, altura depois */
body:not([data-layout="cel"]) #postit.aberto{transition:width var(--pi-t-h) cubic-bezier(.22,1,.36,1),opacity var(--m-base),transform var(--m-base),box-shadow 250ms}
body:not([data-layout="cel"]) #postit.aberto .piCorpoW{transition:grid-template-rows var(--pi-t-v) cubic-bezier(.22,1,.36,1) calc(var(--pi-t-h) - 60ms)}
body:not([data-layout="cel"]) #postit.aberto .piIn{transition-delay:calc(var(--pi-t-h) + 60ms)}
/* fechar: altura já, largura depois */
body:not([data-layout="cel"]) #postit:not(.aberto){transition:width var(--pi-t-h) cubic-bezier(.22,1,.36,1) calc(var(--pi-t-v) - 80ms),opacity var(--m-base),transform var(--m-base),box-shadow 250ms}
body:not([data-layout="cel"]) #postit:not(.aberto) .piCorpoW{transition:grid-template-rows var(--pi-t-v) cubic-bezier(.22,1,.36,1)}
/* ícones (caneta/teclado/desfazer/lixeira) somem quando fechado, com fade curto */
.piFer{transition:opacity 160ms,transform 220ms cubic-bezier(.22,1,.36,1)}
body:not([data-layout="cel"]) #postit:not(.aberto) .piFer{opacity:0;transform:translateX(8px);pointer-events:none;width:0;overflow:hidden;margin:0}
body:not([data-layout="cel"]) #postit.aberto .piFer{transition-delay:calc(var(--pi-t-h) - 40ms)}
#postit:not(.aberto) .piHead{padding-right:6px}
#postit:not(.aberto) .piResumo{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){ #postit,#postit .piCorpoW,#postit .piFer,#postit .piIn{transition:none!important} }
.piHead{position:relative}
.piFer>*{flex:none} .piFer .piSeg{flex-wrap:nowrap}
body:not([data-layout="cel"]) #postit:not(.aberto) .piFer{position:absolute;right:6px;top:50%;width:auto;margin-top:-19px}

/* v91: post-it aberto não repete os metros no título (já estão em "Metros totais"); fechado, o título mostra o total */
#postit.aberto .piResumo{display:none}
#ctxBar[data-k="orcar"] .cbTx b::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#16A34A;margin-right:7px;vertical-align:1px}

/* v93: amostra do material no lugar do ícone de camadas */
.matSw{display:inline-block;flex:none;width:22px;height:22px;border-radius:7px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.55),0 1px 2px rgba(24,31,43,.12)}
#ctxBar button[data-a="material"]{gap:8px;padding-left:6px}
/* v94: área de escrever do post-it com altura certa para 3 linhas inteiras (3 × 100 px + respiro), em qualquer tela de tablet/PC */
body:not([data-layout="cel"]) .piPane #nota{height:314px!important;min-height:314px}
body:not([data-layout="cel"]) #postit{max-height:calc(100% - 16px)}
/* v94: faixa de rolagem do post-it acompanha a folha inteira (fica presa à vista enquanto rola) e com tom um pouco mais escuro */
#notaGrip{position:sticky;top:0;align-self:flex-start;height:100%;min-height:100%;
  background:repeating-linear-gradient(#e3d4a4 0 2px,transparent 2px 9px)!important;border-left:1px solid #e0cf9c!important;background-color:#fbf6e3!important}

/* v95 — correções da auditoria */
/* selo de verificação: só aparece quando há alerta, centralizado e do tamanho do texto (antes ocupava a largura toda
   do rodapé do canvas, invisível, e podia roubar toques do desenho) */
#verChip:not(.alert){display:none!important}
#railChips #verChip.alert{left:50%!important;right:auto!important;width:auto!important;transform:translateX(-50%);white-space:nowrap}
/* biblioteca de modelos aberta: a barra de contexto, a sugestão e o post-it saem da frente */
body:has(#tplPanel:not([hidden])) #ctxBar,body:has(#tplPanel:not([hidden])) #matchChip,body:has(#tplPanel:not([hidden])) #postit,body:has(#tplPanel:not([hidden])) #chapaPill{display:none!important}
/* celular: com um lado selecionado, a barra mostra só o lado (o material cortava sem texto) */
body[data-layout="cel"] #ctxBar[data-k="lado"] [data-a="material"]{display:none}

/* ===== v96: fluxo do pedido e produção estilo lista de papel ===== */
body[data-layout="cel"] #navLat [data-v="desenhos"]{display:none}
body[data-layout="cel"] .nlIt{font-size:10px}
.secH h2 .cont{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:6px;border-radius:11px;background:var(--fx-amarelo-suave);color:#5b4500;font-size:12px;font-weight:800;vertical-align:2px}
.lst+.lst{margin-top:18px}
/* régua do fluxo: orçamento → pedido → produção → pronto → entregue */
.fluxo{margin-bottom:14px}
.fluxo .etapa{min-width:0;flex:1 1 0;padding:9px 10px;gap:7px;font-size:13.5px;line-height:1.15;border-color:var(--fx-linha);border-radius:12px}
.fluxo .etapa span{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.fluxo .etapa small{font-size:11px;font-weight:600;color:var(--fx-sub)}
.fluxo .etapa i{flex:none}
body[data-layout="cel"] .fluxo{gap:4px;flex-wrap:nowrap}
body[data-layout="cel"] .fluxo .etapa{flex-direction:column;padding:8px 2px;font-size:11px;text-align:center;gap:4px}
body[data-layout="cel"] .fluxo .etapa span{align-items:center}
body[data-layout="cel"] .fluxo .etapa small{display:none}
/* barra de progresso */
.pgBar{height:8px;border-radius:8px;background:#eceef1;overflow:hidden}
.pgBar>span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#16A34A,#22c55e);transition:width 450ms var(--fx-ease)}
.pgBar.mini{height:5px;flex:1}
.pgContas{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:12.5px;color:var(--fx-sub)}
.pgContas b{color:var(--ink-1);font-variant-numeric:tabular-nums}
.pgContas .ok b{color:#15803d}
.lin3{display:flex;align-items:center;gap:8px;margin-top:7px;font-size:11.5px}
/* início: atalho da fila */
.filaProd{display:flex;align-items:center;gap:14px;width:100%;margin:12px 0 4px;padding:14px 16px;border:1px solid var(--fx-linha);border-radius:18px;background:#fff;font-family:inherit;text-align:left;color:var(--ink-1);transition:transform 150ms var(--fx-ease),box-shadow 150ms}
.filaProd:hover{box-shadow:var(--fx-sombra)}
.filaProd:active{transform:scale(.99)}
.fpIc{width:42px;height:42px;border-radius:12px;background:#e9f7ee;color:#15803d;display:grid;place-items:center;flex:none}
.fpIc .ic{width:22px;height:22px}
.fpTx{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.fpTx b{font-size:15px}
.fpTx small{color:var(--fx-sub);font-size:13px}
.fpTx em{font-style:normal;font-weight:800;color:var(--ink-1)}
/* caixa da produção no detalhe do pedido */
.prodBox{display:flex;flex-direction:column;gap:10px;margin:14px 0;padding:16px;border:1px solid #cdebd8;border-radius:18px;background:linear-gradient(180deg,#f3fbf6,#fff)}
.pbTx{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pbTx b{display:flex;align-items:center;gap:6px;font-size:15px}
.prodBox .btn-pri{align-self:flex-start}
/* lista de pedidos na produção */
.pcSec .secH{flex-wrap:wrap}
.pcSec .secH .mut{font-size:12.5px}
.pcGrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:12px}
.pcCard{display:flex;flex-direction:column;gap:9px;padding:14px 16px;border:1px solid var(--fx-linha);border-radius:18px;background:#fff;font-family:inherit;text-align:left;color:var(--ink-1);transition:transform 150ms var(--fx-ease),box-shadow 150ms}
.pcCard:hover{box-shadow:var(--fx-sombra)} .pcCard:active{transform:scale(.99)}
.pcCard.st-em_producao{border-left:4px solid #16A34A}
.pcCard.st-confirmado{border-left:4px solid var(--fx-amarelo-barra)}
.pc1{display:flex;align-items:center;gap:8px} .pc1 .num{font-size:16px} .pc1 .dt{margin-left:auto;color:var(--fx-sub);font-size:12px}
.pc2{display:flex;align-items:center;gap:8px;justify-content:space-between} .pc2 .cli{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.pc2 .ths{display:flex;gap:4px;flex:none} .pc2 .th{width:34px;height:26px;display:grid;place-items:center} .pc2 .th svg{width:100%;height:100%}
/* tela da lista de produção */
.pdTopo{position:sticky;top:-4px;z-index:3;display:flex;flex-direction:column;gap:10px;padding:12px 14px;margin:0 0 14px;border:1px solid var(--fx-linha);border-radius:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 6px 20px rgba(24,31,43,.05)}
.pdProg{display:flex;flex-direction:column;gap:7px}
.pdProgTx{display:flex;align-items:baseline;gap:8px} .pdProgTx b{font-size:18px;font-variant-numeric:tabular-nums} .pdProgTx span{color:var(--fx-sub);font-size:13px}
.pdFiltro{align-self:flex-start;max-width:100%;overflow-x:auto}
.pdFiltro button{white-space:nowrap}
.pdAviso{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#f4f6f9;color:var(--ink-2);font-size:14px}
.pdAviso.pronto{background:#e9f7ee;border:1px solid #bfe5cc;color:#14532d}
.pdAviso.ok{background:#eef6ff;color:#1e3a5f}
.pdLista{display:flex;flex-direction:column;gap:16px}
.pdPeca{border:1px solid #e8e2cf;border-radius:16px;background:#fffdf7;box-shadow:0 2px 8px rgba(60,50,20,.05);overflow:hidden;transition:opacity 250ms}
.pdPeca>header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px dashed #e4dcc2}
.pdPeca>header b{font-size:15.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdN{flex:none;display:grid;place-items:center;min-width:34px;height:26px;border-radius:7px;background:var(--fm-amarelo,#F2C21B);color:#1d232b;font-weight:800;font-size:13px}
.pdMat{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--fx-sub);flex:none}
.pdMat .matSw{width:22px;height:16px}
.pdCorpo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:4px 16px;padding:10px 14px 4px}
body[data-layout="cel"] .pdCorpo{grid-template-columns:1fr}
.pdDes{background:#fff;border:1px solid #efe9d6;border-radius:12px;display:grid;place-items:center;min-height:150px}
.pfSvg{width:100%;max-height:210px}
.pfLinha{fill:none;stroke:#1d232b;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.pfPt{fill:#fff;stroke:#1d232b;stroke-width:1.4}
.pfMed{font:700 13px system-ui,sans-serif;fill:#1d232b;text-anchor:middle}
.pfMed.falta{fill:#c2410c}
.pfLado{font:600 9px system-ui,sans-serif;fill:#9aa1aa;text-anchor:middle}
.pfGrau{font:700 11px system-ui,sans-serif;fill:#2563EB;text-anchor:middle}
.pdDados{display:flex;flex-direction:column;gap:10px;padding:4px 0}
.pdDados small{display:block;font-size:11.5px;font-weight:600;color:var(--fx-sub);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.pdCorte b{font-size:22px;font-variant-numeric:tabular-nums}
.pdCorte .mut{display:block;font-size:12px}
.pdRegua{padding:34px 0 30px;margin:2px 10px}
.prBarra{position:relative;height:16px;border-radius:3px;background:linear-gradient(180deg,#e9ecef,#d5d9de);border:1px solid #c3c8cf}
.prTick{position:absolute;top:-6px;bottom:-6px;width:0;border-left:2px dashed #2563EB}
.prTick b,.prTick i{position:absolute;left:0;transform:translateX(-50%);white-space:nowrap;font-size:11px;font-variant-numeric:tabular-nums}
.prTick b{top:-17px;color:#1d232b} .prTick i{bottom:-17px;font-style:normal;font-weight:700;color:#2563EB}
.prTick.longe b{top:-31px} .prTick.longe i{bottom:-31px}
.prEixo{display:flex;justify-content:space-between;font-size:10.5px;color:#9aa1aa;margin-top:4px}
.pdMarcas ol{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 10px}
.pdMarcas li{display:flex;align-items:baseline;gap:8px;font-size:13.5px;padding:3px 0;border-bottom:1px solid #f0ead8}
.pdMarcas li span{color:var(--fx-sub);font-size:12px;min-width:52px}
.pdMarcas li b{font-variant-numeric:tabular-nums} .pdMarcas li i{margin-left:auto;font-style:normal;font-weight:700;color:#2563EB}
.pdLados span{font-size:13px;font-variant-numeric:tabular-nums} .pdLados em{font-style:normal;color:#9aa1aa;font-size:11px}
/* as linhas de quantidade: papel pautado, riscar como caneta */
.pdLinhas{list-style:none;margin:8px 0 0;padding:0 14px 6px}
.pdLin{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 14px;min-height:64px;padding:8px 0;border-top:1px solid #efe6c8}
.pdQ{position:relative;display:flex;align-items:baseline;gap:6px;font-size:20px;font-variant-numeric:tabular-nums;min-width:118px}
.pdQ span{color:var(--fx-sub);font-size:15px}
.pdQ::after{content:"";position:absolute;left:-4px;right:-4px;top:55%;height:2.5px;border-radius:2px;background:#1d232b;transform:scaleX(0);transform-origin:left;transition:transform 320ms var(--fx-ease)}
.pdLin.feita .pdQ{color:#7d858f} .pdLin.feita .pdQ::after{transform:scaleX(1)}
.pdChk{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.pdB{display:flex;align-items:center;gap:8px;min-height:46px;padding:6px 12px 6px 8px;border:1.5px solid #d9dde3;border-radius:12px;background:#fff;font:600 14.5px/1 inherit;font-family:inherit;color:var(--ink-1);touch-action:manipulation;transition:background 150ms,border-color 150ms,transform 120ms var(--fx-ease)}
.pdB:active{transform:scale(.96)}
.pdB .cx{width:26px;height:26px;border-radius:7px;border:2px solid #b8bec7;display:grid;place-items:center;background:#fff;transition:background 150ms,border-color 150ms}
.pdB .cx svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset 260ms var(--fx-ease)}
.pdB .tx{position:relative}
.pdB .tx::after{content:"";position:absolute;left:-2px;right:-2px;top:52%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 260ms var(--fx-ease) 60ms}
.pdB.on{background:#f0faf3;border-color:#86d19f;color:#4b6b55}
.pdB.on .cx{background:#16A34A;border-color:#16A34A}
.pdB.on .cx svg{stroke-dashoffset:0}
.pdB.on .tx::after{transform:scaleX(1)}
.pdB:disabled{opacity:.6}
.pdQuem{grid-column:1/-1;justify-self:end;font-size:11.5px;color:#9aa1aa;margin-top:-2px}
.pdPeca.feita{opacity:.72} .pdPeca.feita>header b{text-decoration:line-through;text-decoration-thickness:2px}
body[data-layout="cel"] .pdLin{grid-template-columns:1fr;gap:8px}
body[data-layout="cel"] .pdChk{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
body[data-layout="cel"] .pdB{justify-content:center;padding:6px 4px;font-size:13.5px;min-height:50px;gap:6px}
body[data-layout="cel"] .pdLinhas{background:none}
body[data-layout="cel"] .pdTopo{top:-4px;padding:10px 12px}
@media (prefers-reduced-motion:reduce){.pdB .cx svg,.pdB .tx::after,.pdQ::after,.pgBar>span{transition:none}}

.prodBox .btn-pri,.pdAviso .btn-pri{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.pdRegua{position:relative}.pdRegua .prEixo{position:absolute;left:0;right:0;bottom:0}
/* v96b: lista de produção — topo compacto, régua em largura toda, peça feita recolhe */
.pdProg{flex-direction:row;align-items:center;gap:12px}
.pdProgTx{flex:none;flex-direction:column;gap:0;align-items:flex-start;line-height:1.05}
.pdProgTx b{font-size:20px} .pdProgTx b small{font-size:13px;color:var(--fx-sub);font-weight:600}
.pdProgTx span{font-size:11.5px}
.pdProg .pgBar{flex:1;height:10px}
.pdPdf{flex:none;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:1px solid var(--fx-linha);border-radius:11px;background:#fff;font:600 13.5px inherit;font-family:inherit;color:var(--ink-1)}
.pdFiltro em{font-style:normal;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;margin-left:4px;border-radius:10px;background:#fde8d3;color:#9a3412;font-size:11.5px;font-weight:800}
.pdFiltro em.zero{background:#dcfce7;color:#166534}
.pdPeca>header{cursor:pointer;user-select:none}
.pdPeca>header::after{content:"";flex:none;width:8px;height:8px;margin-left:2px;border-right:2px solid #b5ad96;border-bottom:2px solid #b5ad96;transform:rotate(45deg) translateY(-2px);transition:transform 200ms var(--fx-ease)}
.pdPeca.rec>header::after{transform:rotate(-45deg)}
.pdPeca.rec .pdCorpo{display:none}
.pdPeca.rec>header{border-bottom-color:transparent}
.pdCorpo>.pdRegua{grid-column:1/-1;margin:0 14px 6px}
.pdAviso>span{flex:1;min-width:0;line-height:1.4}
/* ===== celular: tudo pensado para uma mão, dedão e luva ===== */
body[data-layout="cel"] .pdTopo{position:sticky;top:-4px;margin:0 -16px 12px;border-radius:0;border-width:0 0 1px;padding:10px 16px 8px;gap:8px;box-shadow:0 6px 16px rgba(24,31,43,.06)}
body[data-layout="cel"] .pdFiltro{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;align-self:stretch;margin:0 -16px;padding:0 16px;background:none;gap:6px;-webkit-overflow-scrolling:touch}
body[data-layout="cel"] .pdFiltro::-webkit-scrollbar{display:none}
body[data-layout="cel"] .pdFiltro .segInd{display:none}
body[data-layout="cel"] .pdFiltro button{flex:none;height:36px;padding:0 12px;border-radius:18px;border:1px solid var(--fx-linha);background:#fff;font-size:13px}
body[data-layout="cel"] .pdFiltro button.on{background:#1d232b;border-color:#1d232b;color:#fff}
body[data-layout="cel"] .pdPdf span{display:none}
body[data-layout="cel"] .pdPdf{width:38px;justify-content:center;padding:0}
body[data-layout="cel"] .pdAviso{font-size:13.5px;padding:11px 12px}
body[data-layout="cel"] .pdAviso.pronto{position:fixed;left:10px;right:10px;bottom:calc(70px + env(safe-area-inset-bottom));z-index:20;margin:0;box-shadow:0 10px 30px rgba(20,83,45,.22);animation:pdSobe 320ms var(--fx-ease)}
body[data-layout="cel"] .pdAviso.pronto .btn-pri{min-height:44px}
body[data-layout="cel"] .pdAviso.pronto~.pdLista{padding-bottom:96px}
@keyframes pdSobe{from{transform:translateY(20px);opacity:0}}
body[data-layout="cel"] .pdLista{gap:12px}
body[data-layout="cel"] .pdPeca{margin:0 -6px;border-radius:14px}
body[data-layout="cel"] .pdPeca>header{padding:11px 12px;gap:8px}
body[data-layout="cel"] .pdPeca>header b{font-size:15px}
body[data-layout="cel"] .pdMat{font-size:11.5px}
body[data-layout="cel"] .pdCorpo{grid-template-columns:minmax(0,46%) minmax(0,1fr);gap:8px 10px;padding:10px 12px 2px}
body[data-layout="cel"] .pdDes{min-height:0;align-self:start}
body[data-layout="cel"] .pfSvg{max-height:150px}
body[data-layout="cel"] .pfMed{font-size:15px} body[data-layout="cel"] .pfGrau{font-size:13px}
body[data-layout="cel"] .pdDados{gap:8px;padding:0}
body[data-layout="cel"] .pdDados small{font-size:10.5px;margin-bottom:1px}
body[data-layout="cel"] .pdCorte b{font-size:26px;line-height:1.05}
body[data-layout="cel"] .pdCorte .mut{font-size:11px}
body[data-layout="cel"] .pdMarcas ol{grid-template-columns:1fr;gap:0}
body[data-layout="cel"] .pdMarcas li{font-size:14px;padding:4px 0;gap:6px}
body[data-layout="cel"] .pdMarcas li span{min-width:18px;font-weight:700;color:#9aa1aa}
body[data-layout="cel"] .pdMarcas .dl{display:none}
body[data-layout="cel"] .pdLados{display:none}
body[data-layout="cel"] .pdCorpo>.pdRegua{margin:0 8px 4px;padding:30px 0 28px}
body[data-layout="cel"] .pdLinhas{padding:0 12px 4px;margin-top:4px}
body[data-layout="cel"] .pdLin{padding:12px 0 10px;gap:8px;min-height:0}
body[data-layout="cel"] .pdQ{font-size:22px}
body[data-layout="cel"] .pdB{min-height:54px;border-radius:13px;font-size:14px}
body[data-layout="cel"] .pdB .cx{width:24px;height:24px}
body[data-layout="cel"] .pdQuem{justify-self:start;margin-top:0}
body[data-layout="cel"] .pcGrade{grid-template-columns:minmax(0,1fr);gap:10px}
body[data-layout="cel"] .pcCard{padding:13px 14px}
body[data-layout="cel"] .pcSec .secH .mut{display:none}
body[data-layout="cel"] .prodBox .btn-pri{align-self:stretch;justify-content:center;min-height:48px}
body[data-layout="cel"] .pdFiltro button.on{background:#1d232b!important;border-color:#1d232b!important;color:#fff!important;box-shadow:none!important}
body[data-layout="cel"] .pdCorpo{grid-template-columns:1fr}
body[data-layout="cel"] .pdDes{padding:4px 0}
body[data-layout="cel"] .pfSvg{max-height:180px}
body[data-layout="cel"] .pdDados{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 18px;align-items:start}
body[data-layout="cel"] .pdCorte{padding-right:14px;border-right:1px dashed #e4dcc2}
.pcCard{min-width:0} .pc2{min-width:0}
/* v96c: lote de peças iguais */
.pdChapa{display:flex;align-items:center;gap:8px;margin:6px 2px -4px;font-size:13px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#5d6570}
.pdChapa .matSw{width:24px;height:16px}
.pdChapa:not(:first-child){margin-top:14px}
.pdTot{margin-left:auto;flex:none;padding:3px 10px;border-radius:12px;background:#1d232b;color:#fff;font-weight:800;font-size:13px;font-variant-numeric:tabular-nums}
.pdPeca>header .pdN{min-width:34px;padding:0 7px;width:auto}
.pdLote{display:flex;flex-direction:column;gap:10px;margin:8px 14px 0;padding:12px 0 12px;border-top:1px solid #efe6c8}
.pdComp{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
.pdComp .pdQ{min-width:0;font-size:20px}
.pdSoma{margin-left:auto;font-size:12.5px;color:var(--fx-sub);font-variant-numeric:tabular-nums}
.pdLote.feita .pdQ{color:#7d858f} .pdLote.feita .pdQ::after{transform:scaleX(1)}
.pdLote .pdChk{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;justify-content:stretch}
.pdB{justify-content:flex-start}
.pdB .tx{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.1}
.pdB .tx small{font-size:11px;font-weight:600;color:var(--fx-sub)}
.pdB.prox{border-color:var(--fx-amarelo-barra);box-shadow:0 0 0 3px rgba(242,191,22,.22)}
.pdB.prox .cx{border-color:#d4a514}
.pdB.on .tx small{color:#6a8a74}
.pdB .tx::after{top:34%}
.pdLote .pdQuem{justify-self:auto;align-self:flex-end;margin:0}
body[data-layout="cel"] .pdLote{margin:4px 12px 0;padding:10px 0}
body[data-layout="cel"] .pdComp .pdQ{font-size:20px}
body[data-layout="cel"] .pdSoma{flex-basis:100%;margin-left:0}
body[data-layout="cel"] .pdLote .pdChk{gap:6px}
body[data-layout="cel"] .pdB{justify-content:center;padding:6px 6px}
body[data-layout="cel"] .pdLote .pdQuem{align-self:flex-start}
/* v98: corte peça por peça, marcação e dobra do lote todo */
.pdCorteL{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1.5px solid #e3e6ea;border-radius:14px;background:#fff;transition:border-color 150ms,box-shadow 150ms}
.pdCorteL.prox{border-color:var(--fx-amarelo-barra);box-shadow:0 0 0 3px rgba(242,191,22,.18)}
.pdCorteL.ok{border-color:#86d19f;background:#f6fcf8}
.pdEt{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.pdEt b{display:flex;align-items:center;gap:8px;font-size:15px}
.pdEt b .cx{width:22px;height:22px;border-radius:6px;border:2px solid #b8bec7;display:grid;place-items:center}
.pdEt b .cx svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.pdCorteL.ok .pdEt b .cx{background:#16A34A;border-color:#16A34A}
.pdEt span{font-size:12px;color:var(--fx-sub)}
.pdEt em{margin-left:auto;font-style:normal;font-weight:800;font-variant-numeric:tabular-nums;font-size:15px}
.pdCorteL.ok .pdEt em{color:#15803d}
.pdTal{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:10px;padding:7px 0;border-top:1px dashed #edf0f2}
.pdTal .pdQ{font-size:18px;min-width:0}
.pdTal.ok .pdQ{color:#7d858f} .pdTal.ok .pdQ::after{transform:scaleX(1)}
.pdUn{display:flex;flex-wrap:wrap;gap:6px}
.pdU{width:42px;height:42px;border-radius:10px;border:2px solid #c3c9d1;background:#fff;display:grid;place-items:center;padding:0;touch-action:manipulation;transition:background 120ms,border-color 120ms,transform 100ms var(--fx-ease)}
.pdU:active{transform:scale(.92)}
.pdU .cx{display:grid;place-items:center}
.pdU svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset 220ms var(--fx-ease)}
.pdU.on{background:#16A34A;border-color:#16A34A}
.pdU.on svg{stroke-dashoffset:0}
.pdU:disabled{opacity:.6}
.pdCnt{font-size:12.5px;font-weight:700;color:var(--fx-sub);font-variant-numeric:tabular-nums;min-width:34px;text-align:right}
.pdTal.ok .pdCnt{color:#15803d}
.pdLote .pdChk{grid-template-columns:repeat(2,1fr)}
.pdLote .pdChk .pdB{min-height:56px}
.pdLote .pdChk .pdB .tx{font-size:14.5px}
body[data-layout="cel"] .pdTal{grid-template-columns:74px 1fr auto;gap:8px}
body[data-layout="cel"] .pdTal .pdQ{font-size:16px}
body[data-layout="cel"] .pdU{width:44px;height:44px}
body[data-layout="cel"] .pdCorteL{padding:9px 10px}
body[data-layout="cel"] .pdEt span{display:none}
body[data-layout="cel"] .pdLote .pdChk .pdB{justify-content:flex-start;padding:6px 10px;min-height:58px}
body[data-layout="cel"] .pdLote .pdChk,.pdLote .pdChk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.pdLote .pdChk .pdB .tx{text-align:left;align-items:flex-start;white-space:nowrap}
.pdLote .pdChk .pdB .tx small{white-space:nowrap}
/* v99: cada lote mostra só a etapa da vez */
.pdPeca>header::after{display:none}
.pdVer{flex:none;font-size:12px;font-weight:700;color:#8a7a3e;padding:4px 8px;border-radius:8px;background:#f5eed6}
.pdPassos{display:flex;gap:6px;padding:10px 14px 0;flex-wrap:wrap}
.pdPs{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px 0 5px;border-radius:16px;border:1px solid #e3e6ea;background:#fff;font:600 13px inherit;font-family:inherit;color:#8a929c}
.pdPs i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#eef0f3;font-size:12px;font-weight:800}
.pdPs small{font-weight:800;color:inherit;font-variant-numeric:tabular-nums}
.pdPs.vez{border-color:var(--fx-amarelo-barra);background:#fffaea;color:#1d232b}
.pdPs.vez i{background:var(--fx-amarelo-barra);color:#1d232b}
.pdPs.ok{color:#15803d;border-color:#bfe5cc;background:#f3fbf6}
.pdPs.ok i{background:#16A34A;color:#fff}
.pdPs.fix{box-shadow:0 0 0 2px #86d19f}
.pdPs:disabled{cursor:default}
.pdRef{display:flex;align-items:center;gap:12px}
.pdRef .th{width:58px;height:44px;flex:none;display:grid;place-items:center;background:#fff;border:1px solid #efe9d6;border-radius:10px}
.pdRef .th svg{width:100%;height:100%}
.pdRef small{display:block;font-size:12px;color:var(--fx-sub)} .pdRef b{font-size:14px;font-variant-numeric:tabular-nums}
.pdDepois{margin:0;font-size:12.5px;color:#9aa1aa;display:flex;align-items:center;gap:6px}
.pdDepois::before{content:"🔒";font-size:11px;filter:grayscale(1);opacity:.7}
.pdEtapa{display:flex;flex-direction:column;gap:10px;padding:12px;border:1.5px solid var(--fx-amarelo-barra);border-radius:14px;background:#fff;box-shadow:0 0 0 3px rgba(242,191,22,.15)}
.pdEtT{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap} .pdEtT b{font-size:16px} .pdEtT span{font-size:12.5px;color:var(--fx-sub)}
.pdEtapa .pdRegua{margin:0 8px}
.pdEtapa .pdDes{border:1px solid #efe9d6;border-radius:12px;min-height:0}
.pdPos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}
.pdPos li{display:flex;align-items:baseline;gap:8px;padding:8px 10px;border-radius:10px;background:#f7f8fa}
.pdPos li span{font-size:12px;font-weight:800;color:#9aa1aa} .pdPos li b{font-size:18px;font-variant-numeric:tabular-nums}
.pdPos.grau li i{margin-left:auto;font-style:normal;font-weight:800;font-size:17px;color:#2563EB}
.pdBig{width:100%;min-height:58px;justify-content:flex-start;padding:8px 14px}
.pdBig .tx{font-size:15.5px;align-items:flex-start;text-align:left}
.pdChk.um{grid-template-columns:1fr!important}
.pdPeca>.pdQuem{display:block;padding:0 14px 10px;text-align:right}
.pdPeca.feita .pdPassos{padding-bottom:12px}
.pdPeca .pdLote:empty{display:none}
.pdPeca.tudo .pdLote .pdCorteL{border-color:#e3e6ea;box-shadow:none}
body[data-layout="cel"] .pdPassos{padding:9px 12px 0;gap:5px}
body[data-layout="cel"] .pdPs{height:30px;font-size:12.5px;padding-right:9px}
body[data-layout="cel"] .pdEtapa{padding:10px}
body[data-layout="cel"] .pdPos{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-layout="cel"] .pdPeca>.pdQuem{text-align:left;padding:0 12px 10px}
body[data-layout="cel"] .pdVer{font-size:11px;padding:3px 6px}
/* v100: ações raras no "Mais"; filtros sem quebrar linha no celular; lista de clientes no celular */
.maisAc{position:relative;display:inline-block}
.maisAc>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:10px 16px}
.maisAc>summary::-webkit-details-marker{display:none}
.maisPop{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:210px;display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--fx-linha);border-radius:14px;background:#fff;box-shadow:0 14px 40px rgba(24,31,43,.16);animation:pdSobe 200ms var(--fx-ease)}
.maisPop .opt{width:100%;justify-content:flex-start}
body[data-layout="cel"] .maisPop{left:auto;right:0}
body[data-layout="cel"] .filtros .segP{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}
body[data-layout="cel"] .filtros .segP::-webkit-scrollbar{display:none}
body[data-layout="cel"] .filtros .segP button{flex:none;white-space:nowrap}
body[data-layout="cel"] [data-cli] .lin1{flex-wrap:wrap;row-gap:4px}
body[data-layout="cel"] [data-cli] .lin1>b{flex-basis:100%}
body[data-layout="cel"] [data-cli] .lin2{flex-wrap:wrap;row-gap:2px}
body[data-layout="cel"] .detAcoes .bFechar{flex-basis:100%;justify-content:center;min-height:50px;order:-1}
body[data-layout="cel"] .maisAc[open]{flex-basis:100%}
body[data-layout="cel"] .maisPop{position:static;margin-top:6px;box-shadow:0 6px 18px rgba(24,31,43,.08)}
.maisAc>summary::before{display:none}
/* ===== v102: Produção em funil — mesma estética do resto do app (neutro + amarelo FM; verde só para "feito") ===== */
.hoje{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:2px 0 18px}
.hj{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--fx-linha);border-radius:18px;background:#fff}
.hj b{font-size:28px;line-height:1;font-variant-numeric:tabular-nums}
.hj span{font-size:12.5px;color:var(--fx-sub);font-weight:600}
.fcLista{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr));gap:12px}
.fcCard{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border:1px solid var(--fx-linha);border-radius:18px;background:#fff;font-family:inherit;text-align:left;color:var(--ink-1);min-width:0;transition:transform 150ms var(--fx-ease),box-shadow 150ms}
.fcCard:hover{box-shadow:var(--fx-sombra)} .fcCard:active{transform:scale(.99)}
.fc1{display:flex;align-items:baseline;gap:10px;min-width:0}
.fc1 .num{font-size:17px;flex:none} .fc1 .cli{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fx-sub);font-weight:600}
.fcNovo{flex:none;font-size:11px;font-weight:700;color:#5b4500;background:var(--fx-amarelo-suave);padding:2px 8px;border-radius:8px}
.fcProx{font-size:13px;color:var(--fx-sub)} .fcProx b{color:var(--ink-1)}
/* funil: Cortar → Marcar → Dobrar → Prontos (quantos lotes em cada) */
.funil{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--fx-linha);border-radius:14px;overflow:hidden;background:#fff}
.fu{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:8px 4px;border:0;background:none;font-family:inherit;color:#a2a9b2;min-width:0}
.fu+.fu{border-left:1px solid var(--fx-linha)}
.fu b{font-size:20px;line-height:1.1;font-variant-numeric:tabular-nums;color:inherit} .fu span{font-size:11.5px;font-weight:600;white-space:nowrap}
.fu.tem{color:var(--ink-1)}
.fu.fu-pronto.tem{color:#15803d}
.funil.abas .fu{cursor:pointer;padding:10px 4px;transition:background 150ms}
.funil.abas .fu.sel{background:var(--fx-amarelo-suave);color:var(--ink-1)}
.funil.abas .fu.sel::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--fx-amarelo-barra)}
.funil.abas .fu:not(.sel):hover{background:#f7f8fa}
.pdCab{position:sticky;top:-4px;z-index:5;display:flex;gap:8px;align-items:stretch;padding:8px 0 12px;margin-bottom:4px;background:var(--fx-bg)}
.pdCab .funil{flex:1}
.pdCab .pdPdf{height:auto;width:46px;justify-content:center;padding:0}
.pdCab .pdPdf span{display:none}
.abaCorpo{display:flex;flex-direction:column;gap:12px}
.chapaT{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:8px 2px -2px}
.chapaT b{font-size:16px} .chapaT span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--fx-sub);font-weight:600}
.chapaT .matSw{width:20px;height:14px}
.tk{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:18px;background:#fff;border:1px solid var(--fx-linha)}
.tk>header{display:flex;align-items:center;gap:10px;min-width:0}
.tk .th,.mini .th{width:52px;height:40px;flex:none;display:grid;place-items:center;border-radius:9px;background:#f7f8fa}
.tk .th svg,.mini .th svg{width:100%;height:100%}
.tkNm{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:0 8px}
.tkNm b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;max-width:100%}
.tkNm small{flex-basis:100%;font-size:12px;color:var(--fx-sub)}
.tkQ{flex:none;font-weight:800;font-variant-numeric:tabular-nums;font-size:14px;padding:3px 10px;border-radius:10px;background:#f2f3f5}
.tkDica{margin:0;font-size:12px;color:#9aa1aa}
.tk .pdTal{border-top:1px dashed #edf0f2}
.tk .pdDes{border:1px solid #eef0f2;border-radius:12px;background:#fcfcfd}
.tk .pdPos li b{font-size:19px}
.tk .pdPos.grau li i{color:#2563EB}
.tkOk{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;font-size:15.5px}
.tkVolta{align-self:center;font-size:12.5px;color:var(--fx-sub)!important}
.mini{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--fx-linha)}
.mini .tkVolta{flex:none}
.abaVazia{gap:6px} .abaOnde{margin-top:6px}
.prontosSec{margin-top:22px} .prontosSec>summary{list-style:none;cursor:pointer} .prontosSec>summary::-webkit-details-marker{display:none}
.prLin .lin1{align-items:center} .prLin .cli{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fx-sub)}
body[data-layout="cel"] .hoje{gap:6px} body[data-layout="cel"] .hj{padding:10px 12px} body[data-layout="cel"] .hj b{font-size:24px} body[data-layout="cel"] .hj span{font-size:11.5px}
body[data-layout="cel"] .fcCard{padding:12px 13px;gap:10px}
body[data-layout="cel"] .pdCab{margin:0 -16px 2px;padding:8px 16px 12px}
body[data-layout="cel"] .fu b{font-size:18px} body[data-layout="cel"] .fu span{font-size:11px}
body[data-layout="cel"] .tk{padding:11px 12px}
/* ===== v103: Produção = pedidos → peças → peça ===== */
.fc1{align-items:center}
.fcCli{flex:1;min-width:0;font-size:17px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fcSub{display:block;margin-top:-8px;font-size:12.5px;color:var(--fx-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc2{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fc2 .ths{display:flex;gap:4px} .fc2 .th{width:40px;height:30px;display:grid;place-items:center;border-radius:8px;background:#f7f8fa} .fc2 .th svg{width:100%;height:100%}
.fcQ{font-size:13px;color:var(--fx-sub)} .fcQ b{font-size:15px;color:var(--ink-1);font-variant-numeric:tabular-nums}
.fcCard .pgBar{height:6px}
.prLin .lin1 .cli{flex:1;font-weight:700;color:var(--ink-1)}
/* lista de peças do pedido */
.pdResumo{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;padding:12px 14px;margin-bottom:12px;border:1px solid var(--fx-linha);border-radius:16px;background:#fff;font-size:14px}
.pdResumo b{font-size:17px;font-variant-numeric:tabular-nums}
.pdResumo .pgBar{grid-column:1/-1;height:6px}
.pcLista{display:flex;flex-direction:column;gap:8px}
.pcItem{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px 10px 10px;border:1px solid var(--fx-linha);border-radius:16px;background:#fff;font-family:inherit;text-align:left;color:var(--ink-1);min-width:0;transition:transform 150ms var(--fx-ease),box-shadow 150ms}
.pcItem:hover{box-shadow:var(--fx-sombra)} .pcItem:active{transform:scale(.99)}
.pcItem.pronta{background:#fbfcfb}
.pcTh{width:76px;height:58px;flex:none;display:grid;place-items:center;border-radius:12px;background:#f5f6f8}
.pcTh svg{width:100%;height:100%}
.pcTx{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.pcNm{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%}
.pcNm b{font-size:15.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pcTx small{font-size:12px;color:var(--fx-sub)}
.pcQ{flex:none;display:flex;flex-direction:column;align-items:flex-end;line-height:1.05}
.pcQ b{font-size:24px;font-variant-numeric:tabular-nums} .pcQ small{font-size:11px;color:var(--fx-sub);font-weight:600} .pcQ em{font-style:normal;font-size:11.5px;color:var(--fx-sub);margin-top:3px}
.selo{display:inline-flex;align-items:center;gap:4px;margin-top:2px;padding:2px 9px 2px 7px;border-radius:9px;font-size:11.5px;font-weight:700;line-height:1.5}
.selo .ic{width:12px;height:12px}
.s-andando{background:var(--fx-amarelo-suave);color:#5b4500;padding-left:9px}
.s-feito{background:#eef0f3;color:#3f4750}
.s-ok{background:#e7f6ec;color:#15803d}
/* a peça aberta */
.paTopo{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--fx-linha);border-radius:18px;background:#fff}
.paTh{width:104px;height:80px;flex:none;display:grid;place-items:center;border-radius:14px;background:#f5f6f8} .paTh svg{width:100%;height:100%}
.paInfo{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-size:13px;color:var(--fx-sub)}
.paInfo span:last-child{color:var(--ink-1);font-weight:600;font-variant-numeric:tabular-nums}
.paPassos{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0;padding:0}
.paPassos li{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:12px;background:#fff;border:1px solid var(--fx-linha);color:#a2a9b2;min-width:0}
.paPassos i{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:800;background:#eef0f3;color:#7b838d}
.paPassos i .ic{width:13px;height:13px}
.paPassos span{display:flex;flex-direction:column;min-width:0;line-height:1.15} .paPassos b{font-size:13.5px;color:inherit} .paPassos small{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.paPassos li.vez{border-color:var(--fx-amarelo-barra);background:var(--fx-amarelo-suave);color:var(--ink-1)} .paPassos li.vez i{background:var(--fx-amarelo-barra);color:#1d232b}
.paPassos li.ok{color:#3f4750} .paPassos li.ok i{background:var(--c-ok,#16A34A);color:#fff}
.paAcao{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--fx-linha);border-radius:18px;background:#fff}
.paAcao h3{margin:0;font-size:17px} .paAcao>p{margin:-6px 0 0;font-size:13px}
.paAcao .pdTal{border-top:1px dashed #edf0f2}
.paAcao .pdDes{border:1px solid #eef0f2;border-radius:12px;background:#fcfcfd}
.paAcao .pdPos li b{font-size:19px} .paAcao .pdPos.grau li i{color:#2563EB}
.paFim{align-items:center;text-align:center;padding:24px 16px}
.paFim .okG{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#16A34A;color:#fff} .paFim .okG .ic{width:24px;height:24px}
.paFim .btn-pri{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:10px 16px}
.paVolta{display:block;margin:14px auto 0;font-size:12.5px;color:var(--fx-sub)!important}
body[data-layout="cel"] .pcItem{padding:9px 12px 9px 8px;gap:10px}
body[data-layout="cel"] .pcTh{width:64px;height:50px}
body[data-layout="cel"] .paTh{width:84px;height:64px}
body[data-layout="cel"] .paPassos li{padding:8px 7px;gap:6px} body[data-layout="cel"] .paPassos i{width:20px;height:20px;font-size:11px}
body[data-layout="cel"] .paAcao{padding:12px}
.paFim .btn-pri{min-height:48px;padding:0 20px;font-size:15px;justify-content:center} .paFim .opt{min-height:44px}
.cfgSec>summary{list-style:none;cursor:pointer} .cfgSec>summary::-webkit-details-marker{display:none} .cfgSec>summary h2{display:inline;margin:0} .cfgSec[open]>summary{margin-bottom:10px}
/* v105: marcação em espaços entre marcas |— 8 cm —| */
.vaos{display:flex;align-items:stretch;margin:6px 2px 2px;height:56px}
.vao{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-width:0;border-left:2px solid #1d232b}
.vao:last-child{border-right:2px solid #1d232b}
.vao i{position:absolute;left:0;right:0;bottom:12px;height:2px;background:#1d232b}
.vao i::before,.vao i::after{content:"";position:absolute;top:-4px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent}
.vao i::before{left:0;border-right:7px solid #1d232b}
.vao i::after{right:0;border-left:7px solid #1d232b}
.vao b{position:absolute;left:50%;top:2px;transform:translateX(-50%);font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap;background:#fff;padding:0 3px}
.vao b small{font-size:11px;font-weight:600;color:var(--fx-sub)}
.vao.sobra{opacity:.55} .vao.sobra i{background:repeating-linear-gradient(90deg,#1d232b 0 4px,transparent 4px 7px)}
.vaoLista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}
.vaoLista li{display:flex;align-items:baseline;gap:8px;padding:8px 10px;border-radius:10px;background:#f7f8fa}
.vaoLista span{font-size:12px;font-weight:800;color:#9aa1aa} .vaoLista b{font-size:19px;font-variant-numeric:tabular-nums}
.vaoLista .sobra{opacity:.6}
/* v106: régua prata com os espaços entre marcas em azul */
.vaosR{padding:30px 0 30px}
.vaosR .prTick b,.vaosR .prTick i{display:none}
.vaoR{position:absolute;top:-22px;transform:translateX(-50%);font-size:13px;font-weight:700;color:#2563EB;white-space:nowrap;font-variant-numeric:tabular-nums}
.vaoR.baixo{top:auto;bottom:-22px}
.vaoR.sobra{color:#9aa1aa;font-weight:600}
/* v107: quem vai escrever */
.escCard{max-width:420px}
.escLista{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;padding:4px 0 6px}
.escIt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px 14px;border:1.5px solid var(--fx-linha);border-radius:16px;background:#fff;font-family:inherit;color:var(--ink-1);transition:transform 120ms var(--fx-ease),border-color 150ms}
.escIt:active{transform:scale(.97)}
.escIt .vAv{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:22px;font-weight:800;background:#eef0f3;color:#1d232b}
.escIt b{font-size:15px} .escIt small{font-size:11.5px;color:var(--fx-sub)}
.escIt.on{border-color:var(--fx-amarelo-barra);background:var(--fx-amarelo-suave)} .escIt.on .vAv{background:var(--fx-amarelo-barra)}
.pItem.alheio{display:none}
/* v105: caixa do ERP no detalhe do orçamento */
.erpBox{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surf-2);border-radius:var(--r-2);padding:10px 12px;margin:8px 0}
.erpBox .erpTx{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px}
.erpBox .erpTx small{color:var(--muted);font-size:var(--t-xs)}
.erpBox .ok{color:#15803d}.erpBox .erro{color:#b91c1c}
/* v109: corretor enquanto escreve */
#inkSug{position:fixed;z-index:60;display:flex;align-items:center;gap:6px;padding:5px;border-radius:14px;background:rgba(255,255,255,.96);border:1px solid var(--fx-linha);box-shadow:0 8px 24px rgba(24,31,43,.14);backdrop-filter:blur(8px);animation:pdSobe 160ms var(--fx-ease)}
#inkSug .isLado{font-size:11px;font-weight:700;color:var(--fx-sub);padding:0 4px 0 6px;white-space:nowrap}
#inkSug button{display:inline-flex;align-items:center;gap:3px;min-height:40px;min-width:52px;justify-content:center;padding:0 12px;border-radius:10px;border:1px solid var(--fx-linha);background:#fff;font-size:18px;font-weight:700;line-height:1;font-family:inherit;font-variant-numeric:tabular-nums;color:var(--ink-1)}
#inkSug button small{font-size:11px;font-weight:600;color:var(--fx-sub)}
#inkSug button.pri{background:#16A34A;border-color:#16A34A;color:#fff} #inkSug button.pri small{color:rgba(255,255,255,.8)}
#inkSug button.pri.duv{background:var(--fx-amarelo-barra);border-color:var(--fx-amarelo-barra);color:#1d232b} #inkSug button.pri.duv small{color:#5b4500}
#inkSug[hidden]{display:none}

/* =====================================================================================================
   COMERCIAL (v200): conta, onboarding, empresa (logo e cores) e chapas
   ===================================================================================================== */
.nlMarca img{object-fit:contain!important;background:#fff}
.nlMarca span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lgCard .lnk.lgTroca{justify-self:center;background:none;border:0;color:var(--ink-2);font-weight:600;padding:8px;text-decoration:underline;text-underline-offset:3px}
.obCard{width:min(720px,100%);text-align:left;max-height:calc(100dvh - 32px);overflow:auto}
.obCard h1{text-align:left}
.obPassos{display:flex;gap:8px;flex-wrap:wrap}
.obPassos span{font-size:var(--t-xs);font-weight:600;color:var(--ink-3);background:var(--surf-2);border-radius:99px;padding:5px 10px}
.obPassos span.on{background:var(--fm-amarelo);color:var(--acc-tx)}
.obPassos span.feito{color:var(--ok);background:var(--ok-soft)}
.obCorpo{display:grid;gap:14px}
.obPe{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;bottom:-24px;background:var(--surf-0);padding:12px 0 4px}
.obPe .lnk{background:none;border:0;color:var(--ink-3);font-weight:600;padding:10px 4px}
.mLargo{width:min(720px,calc(100vw - 24px))!important}
.mCorpo{display:grid;gap:14px;max-height:min(68dvh,640px);overflow:auto;padding:2px 2px 8px}
.emLogo{display:flex;gap:14px;align-items:center}
.emLogoBox{width:132px;height:84px;flex:none;border:1.5px dashed var(--linha-2);border-radius:var(--r-3);display:grid;place-items:center;background:
  repeating-conic-gradient(#f1f1f3 0 25%,#fff 0 50%) 50%/16px 16px;overflow:hidden}
.emLogoBox img{max-width:92%;max-height:80%;object-fit:contain}
.emLogoBox span{font-size:var(--t-s);color:var(--ink-3);background:#fff;padding:2px 6px;border-radius:6px}
.emLogoTx{display:grid;gap:4px}
.emLogoTx span{font-size:var(--t-s);color:var(--ink-3)}
.emLogoBt{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.emLogoBt label.opt{cursor:pointer}
.emCores{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px;border:1px solid var(--linha);border-radius:var(--r-3);background:var(--surf-1)}
.emCores>b{width:100%}
.emCor{display:flex;align-items:center;gap:10px;cursor:pointer}
.emCor input{width:44px;height:44px;border:1px solid var(--linha-2);border-radius:12px;padding:3px;background:#fff;cursor:pointer}
.emCor span{display:grid;font-weight:600;font-size:var(--t-s)}
.emCor small{font-weight:400;color:var(--ink-3);font-size:var(--t-xs)}
.emPrevia{margin-left:auto;display:flex;align-items:center;gap:0;border:1px solid var(--linha);border-radius:12px;overflow:hidden;background:#fff}
.emPvTopo{width:46px;height:44px}
.emPvBt{margin:0 10px;padding:7px 14px;border-radius:10px;font-weight:700;font-size:var(--t-s)}
.fCampo textarea{width:100%;resize:vertical;border:1px solid var(--linha-2);border-radius:var(--r-2);padding:10px;font:inherit}
.chIntro{margin:0;font-size:var(--t-s)}
.chLista{display:grid;gap:10px}
.chIt{border:1px solid var(--linha);border-radius:var(--r-3);padding:12px;display:grid;gap:8px;background:var(--surf-0)}
.chCampos{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.chCampos [hidden]{display:none!important}
.chCampos select,.chCampos input{width:100%}
.chRes{font-size:var(--t-xs)}
.cfgEmpLogo{width:56px;height:40px;flex:none;display:grid;place-items:center;border:1px solid var(--linha);border-radius:10px;background:#fff;overflow:hidden}
.cfgEmpLogo img{max-width:90%;max-height:85%;object-fit:contain}
.cfgEmpTx{display:flex!important;align-items:center;gap:12px;text-align:left}
.cfgEmpTx>span:last-child{display:grid;gap:2px}
.segP button .cont{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:4px;border-radius:99px;font-size:11px;background:var(--surf-3);color:var(--ink-2)}
@media (max-width:560px){ .chCampos{grid-template-columns:1fr 1fr} .emPrevia{margin-left:0} .emLogo{align-items:flex-start} }
.obPe .btn-pri,.cfgPe .btn-pri,.mPe .btn-pri{padding:12px 20px;border-radius:12px;font-size:15px;min-height:44px}
.chMed summary{cursor:pointer;font-size:var(--t-xs);font-weight:600;color:var(--ink-2)}
.chTab{max-height:260px;overflow:auto;margin-top:6px}
.chTab table{width:100%;border-collapse:collapse;font-size:var(--t-xs);font-variant-numeric:tabular-nums}
.chTab th,.chTab td{text-align:right;padding:4px 8px;border-bottom:1px solid var(--linha)}
.chTab th:first-child,.chTab td:first-child{text-align:left}
/* v204: vista 3D da peça */
.v3d{position:fixed;inset:0;z-index:82;background:rgba(20,22,26,.42);display:grid;place-items:center;padding:16px}
.v3d[hidden]{display:none}
.v3Card{background:#fff;border-radius:22px;border:1px solid #e3e6eb;box-shadow:0 30px 80px rgba(32,37,43,.22);width:min(760px,100%);height:min(640px,100%);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}
.v3Head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid #eceef1}
.v3Head>div{flex:1;min-width:0;display:grid}
.v3Head b{font-size:var(--t-m,16px);color:var(--ink-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v3Head small{color:var(--ink-3);font-size:var(--t-xs,12px)}
.v3Area{position:relative;touch-action:none;cursor:grab;background:radial-gradient(circle at 50% 40%,#fbfbfc,#eef0f3)}
.v3Area:active{cursor:grabbing}
.v3Svg{position:absolute;inset:0;width:100%;height:100%}
.v3Cota{fill:#1F1D1F;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:.35em;font-family:inherit}
.v3Pe{padding:10px 14px;color:var(--ink-3);font-size:var(--t-xs,12px);text-align:center;border-top:1px solid #eceef1}
@media (max-width:600px){.v3d{padding:0}.v3Card{border-radius:0;height:100%;width:100%}}
/* v204: folha de medida aberta nunca fica embaixo do post-it (celular: o post-it some enquanto mede) */
body.folhaAberta[data-layout="cel"] #postit{display:none}
body.folhaAberta #sheet.open{z-index:calc(var(--z-postit,20) + 2)}
.v3Head .opt{display:inline-flex;flex-direction:row;align-items:center;gap:6px;white-space:nowrap}

/* v205 — etapas do pedido */
.pedDica{margin:6px 2px 0;font-size:13px}
.detAcoes .btn-pri[data-a="avanca"]{order:-1;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:10px 16px}
@media (max-width:600px){.detAcoes .btn-pri[data-a="avanca"]{flex:1 1 100%;justify-content:center}}
/* v205 — revisão visual: campos lado a lado não passam da borda do formulário; ícone ao lado do texto nos botões das configurações */
.fCampo input,.fCampo select{width:100%;min-width:0}
.cfgLin .opt{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.duas>.lst+.lst{margin-top:0}
/* v207 — teclado aberto e avisos que não cobrem botões */
#sheet,#postit,#chapaPill{transition-property:transform,visibility,opacity,translate;transition-duration:.2s,0s,.2s,.18s}
body.teclado[data-layout="cel"] #navLat{display:none}
body.teclado .tela{bottom:auto}
body.teclado .modal{align-items:flex-end;padding:8px}
body.teclado .mCard{overflow:auto}
/* celular e tablet: o aviso aparece no alto (embaixo ele cobria os botões de PDF e o "Fechar pedido") */
body[data-layout="cel"] .toast{top:calc(var(--vvtop,0px) + env(safe-area-inset-top,0px) + 12px)!important;bottom:auto!important}
/* janelas compridas (cliente, usuário, empresa): o botão de salvar fica sempre à vista no rodapé do cartão */
.mCard>.mPe:last-child,.mCard>div>.mPe:last-child{position:sticky;bottom:-18px;z-index:2;background:var(--surf-0);margin-bottom:-18px;padding:10px 0 18px;box-shadow:0 -10px 12px -10px rgba(20,24,31,.14)}
/* v207 — pagamento do pedido */
.pg-pago{background:var(--ok-soft);color:var(--ok)} .pg-parcial{background:#fff1d6;color:#8a5a00} .pg-a_receber{background:#f1f3f6;color:var(--ink-2)} .pg-vencido{background:var(--erro-soft);color:var(--erro)}
.bdg.pg-pago,.bdg.pg-parcial,.bdg.pg-a_receber,.bdg.pg-vencido{margin-left:4px}
.finBox{background:var(--surf-0);border:1px solid var(--linha);border-radius:var(--r-3,14px);padding:14px 16px;margin:12px 0;display:grid;gap:10px}
.finBox.pg-pago,.finBox.pg-parcial,.finBox.pg-a_receber,.finBox.pg-vencido,.finBox.pg-canc{color:inherit;background:var(--surf-0)}
.finBox.pg-pago{border-color:color-mix(in srgb,var(--ok) 40%,var(--linha))} .finBox.pg-vencido{border-color:color-mix(in srgb,var(--erro) 45%,var(--linha))} .finBox.pg-parcial{border-color:#f0c76a}
.finTopo{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.finTopo>div{display:grid;gap:2px} .finTopo .mut{font-size:var(--t-xs)} .finSit{font-size:18px} .finFalta{text-align:right} .finFalta b{font-size:22px;font-variant-numeric:tabular-nums}
.pg-pago .finSit{color:var(--ok)} .pg-vencido .finSit,.pg-vencido .finFalta b{color:var(--erro)} .pg-parcial .finSit{color:#8a5a00}
.finNums{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:var(--t-s);color:var(--ink-2)} .finNums span{display:grid} .finNums b{color:var(--ink-1);font-variant-numeric:tabular-nums} .finNums small{color:var(--ink-3);font-size:var(--t-xs)}
.pgLista{display:grid;border-top:1px solid var(--linha)}
.pgLin{display:grid;grid-template-columns:52px 1fr auto auto auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--linha);font-size:var(--t-s)}
.pgLin .pgD{color:var(--ink-3);font-variant-numeric:tabular-nums} .pgLin .pgF{display:grid} .pgLin .pgF small{color:var(--ink-3)} .pgLin .pgV{font-variant-numeric:tabular-nums}
.pgLin.pend .pgV{color:var(--ink-3)} .pgLin.venc .pgF{color:var(--erro)}
.pgLin .pgRec{min-height:38px;padding:6px 12px} .pgLin .pgX{width:38px;height:38px;border:0;background:transparent;color:var(--ink-3);font-size:20px;border-radius:10px} .pgLin .pgX:hover{background:var(--erro-soft);color:var(--erro)}
.finAcoes{display:flex;flex-wrap:wrap;gap:8px} .finAcoes .btn-pri,.finAcoes .opt{min-height:46px;padding:10px 16px;display:inline-flex;align-items:center;gap:6px}
@media (max-width:600px){ .finAcoes .btn-pri{flex:1 1 100%;justify-content:center} .finFalta b{font-size:20px} }
.pgFormas{flex-wrap:wrap} .pgFormas button{flex:1 1 40%;min-height:48px;font-size:15px}
.pgResumo{margin:2px 0 0} .dsResumo{margin:10px 0 0;font-size:var(--t-s)}
.fCampo[hidden]{display:none!important}
.finBox{margin-top:14px}
@media (max-width:600px){ .pgLin{grid-template-columns:44px 1fr auto 38px} .pgLin .pgRec{grid-column:2/-1;grid-row:2;justify-self:start} .pgLin .pgX{grid-row:1;grid-column:4} }
/* v207 — quadro do trabalho na tela de Pedidos */
.quadro{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:4px 0 12px}
.qdCard{display:grid;gap:2px;text-align:left;padding:10px 12px;border-radius:var(--r-3,14px);border:1px solid var(--linha);background:var(--surf-0);color:var(--ink-1);min-height:76px;cursor:pointer;font:inherit}
.qdCard .qdT{font-size:var(--t-xs);font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .qdCard .qdN{font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}
.qdCard .qdS{font-size:var(--t-xs);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qdCard.on{border-color:var(--fm-grafite);box-shadow:inset 0 0 0 1.5px var(--fm-grafite);background:var(--fm-amarelo-soft)}
.qdCard.aviso .qdN{color:#8a5a00} .qdCard.alerta{border-color:color-mix(in srgb,var(--erro) 45%,var(--linha))} .qdCard.alerta .qdN,.qdCard.alerta .qdS{color:var(--erro)}
.qdCard:active{transform:scale(.98)}
body[data-layout="tab"] .quadro{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:1100px){ body[data-layout="tab"] .quadro{grid-template-columns:repeat(6,minmax(0,1fr))} }
body[data-layout="cel"] .quadro{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px} body[data-layout="cel"] .qdCard{padding:8px 10px;min-height:66px} body[data-layout="cel"] .qdCard .qdN{font-size:20px}
.grpH{font-size:var(--t-s);font-weight:700;color:var(--ink-2);margin:12px 2px 6px} .grpH:first-child{margin-top:0}
.filtroAtivo{display:flex;align-items:center;gap:10px;font-size:var(--t-s);color:var(--ink-2);margin:0 2px 8px}
/* v207 — data combinada */
.agLin{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:10px 14px;border:1px solid var(--linha);border-radius:var(--r-3,14px);background:var(--surf-0);font-size:var(--t-s)}
.agLin>.ic{flex:none;color:var(--ink-2)} .agLin>span{flex:1} .agLin .opt{min-height:42px;padding:8px 14px} .agLin.atras{border-color:color-mix(in srgb,var(--erro) 45%,var(--linha))} .agLin.atras b{color:var(--erro)}
.agChip{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-xs);font-weight:600;color:var(--ink-2);background:#eef2f7;border-radius:999px;padding:2px 8px;white-space:nowrap}
.agChip.hoje{background:var(--fm-amarelo-soft);color:var(--ink-1)} .agChip.atras{background:var(--erro-soft);color:var(--erro)} .agChip .ic{width:13px;height:13px}
/* v207 — Início (mini painel) */
.bIco{width:46px;padding:0!important;display:inline-flex;align-items:center;justify-content:center}
.iniSec{background:var(--surf-0);border:1px solid var(--linha);border-radius:var(--r-3,14px);padding:14px 16px;margin:0 0 12px}
.iniH{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px} .iniH h2{font-size:var(--t-m);margin:0} .iniH .mut{font-size:var(--t-xs)}
.iniTot{font-variant-numeric:tabular-nums}
.iniDuas{display:grid;grid-template-columns:1fr 1fr;gap:12px} .iniDuas .iniSec{margin:0} .iniDuas+.iniSec{margin-top:12px}
body[data-layout="cel"] .iniDuas{grid-template-columns:1fr}
.iniLst{display:grid}
.iniLin{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--linha);padding:10px 2px;font:inherit;color:inherit;cursor:pointer;min-height:52px}
.iniLin:first-child{border-top:0} .iniLin:active{background:var(--surf-1)}
.iniDia{flex:none;min-width:66px;font-size:var(--t-xs);font-weight:700;color:var(--ink-2);background:#eef2f7;border-radius:10px;padding:6px 8px;text-align:center}
.iniDia.hoje{background:var(--fm-amarelo-soft);color:var(--ink-1)} .iniDia.atras{background:var(--erro-soft);color:var(--erro)}
.iniTx{flex:1;min-width:0;display:grid} .iniTx b,.iniTx span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .iniTx span{font-size:var(--t-xs);color:var(--ink-3)}
.iniVal{font-variant-numeric:tabular-nums;white-space:nowrap} .iniVal.atras{color:var(--erro)}
.iniVazio{margin:4px 0 0;font-size:var(--t-s)}
.iniKpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px} .iniKpis div{display:grid;gap:2px} .iniKpis span{font-size:var(--t-xs);color:var(--ink-2);font-weight:600} .iniKpis b{font-size:20px;font-variant-numeric:tabular-nums} .iniKpis small{font-size:var(--t-xs);color:var(--ink-3)}
body[data-layout="cel"] .iniKpis b{font-size:16px}
.iniComeco ol{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:10px} .iniComeco li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:10px 12px;border:1px dashed var(--linha-2);border-radius:12px}
.iniComeco li span{grid-column:1;font-size:var(--t-xs);color:var(--ink-3)} .iniComeco li button{grid-column:2;grid-row:1/3;min-height:44px;padding:8px 14px} .iniComeco li.ok{opacity:.55}
/* v207 — Tabelas: peças prontas */
.pcCab{display:flex;align-items:center;justify-content:space-between;gap:10px} .pcCab h2{margin:0} .pcCab .btn-pri{min-height:44px;padding:8px 14px;display:inline-flex;align-items:center;gap:6px}
.pcAjuda{font-size:var(--t-s);margin:8px 0 12px}
.pcGrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
body[data-layout="cel"] .pcGrade{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pcCard{display:grid;gap:4px;align-content:start;text-align:left;padding:10px;border:1px solid var(--linha);border-radius:12px;background:var(--surf-0);font:inherit;color:inherit;cursor:pointer;min-height:150px}
.pcCard .pcSvg{width:100%;height:86px;background:var(--surf-1);border-radius:8px} .pcCard b{font-size:var(--t-s);line-height:1.2} .pcCard span{font-size:var(--t-xs);color:var(--ink-3);display:flex;gap:4px;align-items:center}
.pcCard span .ic{color:var(--ok);flex:none} .pcCard.oculta{opacity:.55}
.pcFig .pcSvg.grande{width:100%;height:190px;background:var(--surf-1);border-radius:12px} body[data-layout="cel"] .pcFig .pcSvg.grande{height:150px}
.pcLados{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.pcLado{display:grid;gap:4px;font-size:var(--t-xs);color:var(--ink-2);font-weight:600} .pcIn{display:flex;align-items:center;gap:6px} .pcIn input{min-width:0} .pcIn i{font-style:normal;color:var(--ink-3)}
.pcNota{margin:0;font-size:var(--t-xs)}
/* editor de formato aberto pelas Tabelas: só o editor de modelo, em tela cheia */
body.soModelo #mdPanel{position:fixed;inset:0;z-index:70;padding-top:max(12px,env(safe-area-inset-top))}
.pcFig [data-seg].on{stroke:var(--fm-amarelo,#f5c400);stroke-opacity:.85}
.mPe .opt,.mPe .btn-pri{display:inline-flex;align-items:center;justify-content:center;gap:6px}
/* v209 — cartão "carregando" (só aparece no que demora) */
#carrega{position:fixed;inset:0;z-index:8800;display:grid;place-items:center;background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s linear .2s}
#carrega.on{opacity:1;visibility:visible;transition:opacity .2s}
#carrega .crCard{display:grid;justify-items:center;gap:12px;padding:22px 28px;border-radius:20px;background:var(--surf-0,#fff);box-shadow:0 18px 50px -18px rgba(20,24,31,.35);min-width:220px}
#carrega .crIco{width:64px;height:64px;border-radius:18px;background:var(--fm-amarelo,#FCC800);display:grid;place-items:center} #carrega .crIco svg{width:44px;height:44px}
#carrega p{margin:0;font-weight:600;color:var(--ink-1,#1F1D1F);font-size:15px}
/* login com a marca nova */
.lgLogo{width:min(70vw,260px)!important;height:auto!important;max-height:none!important;object-fit:contain}
/* v209 — Tabelas organizada em abas (Preços · Modelos prontos) */
.tbAbas{margin-bottom:4px}
.tbSec{background:var(--surf-0);border:1px solid var(--linha);border-radius:var(--r-3,14px);padding:16px;margin:12px 0}
.tbCab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px} .tbCab h2{margin:0;font-size:var(--t-m)} .tbCab p{margin:2px 0 0;font-size:var(--t-xs)}
.tbCab .opt{min-height:42px;padding:8px 14px;display:inline-flex;align-items:center;gap:6px;flex:none}
.tbLinhas{display:grid}
.tbLin{display:grid;grid-template-columns:1fr auto;grid-template-areas:"n v" "s v";align-items:center;gap:0 12px;padding:11px 0;border-top:1px solid var(--linha)}
.tbLin:first-child{border-top:0} .tbLin .tbNome{grid-area:n;font-weight:600} .tbLin .tbSub{grid-area:s;font-size:var(--t-xs);color:var(--ink-3)} .tbLin>b,.tbLin .tbIn{grid-area:v;font-variant-numeric:tabular-nums;white-space:nowrap}
.tbLin .tbIn{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2)} .tbLin .tbIn input{width:92px;text-align:right;border:1px solid var(--linha-2);border-radius:var(--r-2);padding:10px 10px;font-size:16px;font-family:inherit;background:var(--surf-0)}
.tbLarg{margin-top:8px;display:inline-flex;align-items:center;gap:6px}
.tbAjuda{font-size:var(--t-s);margin:2px 2px 10px}
.tbOcultos{min-height:44px;padding:8px 14px;white-space:nowrap} .tbOcultos.on{background:var(--fm-amarelo-soft);box-shadow:inset 0 0 0 1.5px var(--fm-grafite)}
.mdGrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
body[data-layout="cel"] .mdGrade{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mdCard{display:grid;gap:4px;align-content:start;text-align:left;padding:8px 8px 10px;border:1px solid var(--linha);border-radius:14px;background:var(--surf-0);font:inherit;color:inherit;cursor:pointer}
.mdCard:active{transform:scale(.98)} .mdCard.oculta{opacity:.55}
.mdCard .md3d{display:block;aspect-ratio:3/2;border-radius:10px;background:linear-gradient(180deg,#F4F6F8,#E9EDF1);overflow:hidden} .mdCard .md3d svg{width:100%;height:100%;display:block}
.mdCard b{font-size:var(--t-s);line-height:1.25;padding:0 2px} .mdCard .mdSub{font-size:var(--t-xs);color:var(--ink-3);display:flex;gap:4px;align-items:center;padding:0 2px} .mdCard .mdSub .ic{color:var(--ok);flex:none}
.md3dG{aspect-ratio:3/2;max-height:220px;border-radius:12px;background:linear-gradient(180deg,#F4F6F8,#E9EDF1);overflow:hidden;margin:4px 0 6px} .md3dG svg{width:100%;height:100%;display:block}
.mmMed button{display:grid;gap:2px;padding:10px 8px} .mmMed button small{font-weight:500;font-size:var(--t-xs);color:var(--ink-3)} .mmMed button:disabled{opacity:.45}
/* modo modelo: a tela de desenho sem nada de orçamento (cabeçalho, peças, total, quantidades) */
#mmBar{display:none}
body.modoModelo #mmBar{display:flex;align-items:center;gap:10px;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));background:var(--surf-0,#fff);border-bottom:2px solid var(--fm-amarelo,#FCC800)}
body.modoModelo #mmBar .mmTx{flex:1;min-width:0;display:grid} body.modoModelo #mmBar .mmTx small{font-size:var(--t-xs);color:var(--ink-3);font-weight:600} body.modoModelo #mmBar .mmTx b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.modoModelo #mmBar .btn-pri{min-height:44px;padding:8px 16px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
body.modoModelo #app>header, body.modoModelo #pecasBar, body.modoModelo #app>nav.tabs, body.modoModelo #postit, body.modoModelo #chapaPill{display:none!important}

/* ===== v211: PREÇO POR MULTIPLICADOR (Tabelas › Preços) ===== */
.mlPad{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.mlBt{width:52px;height:52px;border-radius:14px;border:1.5px solid var(--linha-2);background:var(--surf-0);font-family:inherit;font-weight:600;font-size:28px;line-height:1;color:var(--ink-1);display:grid;place-items:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.mlBt:active{transform:scale(.94);background:var(--surf-2)}
.mlIn{display:inline-flex;align-items:center;gap:4px;height:52px;padding:0 14px;border:1.5px solid var(--linha-2);border-radius:14px;background:var(--surf-0)}
.mlIn:focus-within{border-color:var(--fm-amarelo);box-shadow:0 0 0 3px color-mix(in srgb,var(--fm-amarelo) 30%,transparent)}
.mlIn input{width:72px;border:0;outline:0;background:transparent;font-family:inherit;font-weight:800;font-size:24px;line-height:1;text-align:center;color:var(--ink-1);font-variant-numeric:tabular-nums;padding:0}
.mlIn i{font-style:normal;font-weight:700;font-size:20px;color:var(--ink-3)}
.mlIn input.ruim,.chMultIn input.ruim{color:#C62828}
.mlVal{font-size:26px}
.mlEx{flex:1 1 180px;font-size:var(--t-s);color:var(--ink-2)} .ruimTx{color:#C62828;font-weight:600}
.tbPrSt{display:block;min-height:16px;margin-top:6px} .tbPrSt[data-st="erro"]{color:#C62828} .tbPrSt[data-st="ok"]{color:#2E7D32}
.tbChSeg{margin:6px 0 4px;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%} .tbChSeg::-webkit-scrollbar{display:none}
.tbChSeg button{flex:1 0 auto}
.lgLista{margin-top:4px}
.lgLin{position:relative;display:grid;grid-template-columns:62px 1fr auto auto;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 26px 8px 2px;border:0;border-top:1px solid var(--linha);background:transparent;font:inherit;color:var(--ink-1);text-align:left;-webkit-tap-highlight-color:transparent}
div.lgLin{padding-right:2px}
.lgLin:first-child{border-top:0}
button.lgLin::after{content:"";position:absolute;right:8px;top:50%;width:7px;height:7px;border:solid var(--ink-4);border-width:2px 2px 0 0;transform:translateY(-50%) rotate(45deg)}
button.lgLin:active{background:var(--surf-2)}
.lgW{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap} .lgC{font-size:var(--t-xs);color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.lgLin>b{font-variant-numeric:tabular-nums;min-width:78px;text-align:right}
.lgTag{font-size:12px;font-weight:600;color:var(--ink-3);padding:3px 8px;border-radius:999px;background:var(--surf-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.lgTag.aj{background:#FFF4C2;color:#6B5200} .lgTag.fixo{background:#E6EEF9;color:#1F4E8C}
.lgLimpa{margin-top:10px}
.chMultIn{display:flex;align-items:center;gap:6px} .chMultIn input{flex:1;min-width:0} .chMultIn i{font-style:normal;font-weight:700;color:var(--ink-3)}
.chGeral{margin:6px 0 14px} .chGeral small{display:block;margin-top:4px}
.chRes.alerta,.ajRes.alerta{color:#B45309}
.chLeg{display:block;margin-top:6px;font-size:var(--t-xs);color:#B45309}
.ajCusto{display:block;margin-top:2px;font-weight:500}
.ajModo{display:flex;flex-wrap:nowrap;margin:4px 0 14px;width:100%} .ajModo button{flex:1;padding:8px 6px;white-space:nowrap}
.ajCampo[hidden]{display:none}
.ajRes{margin-top:12px;font-size:var(--t-s);color:var(--ink-2);min-height:20px}

/* ===== v211: CELULAR COMO APP — janelas viram folha de baixo (ou tela cheia), botões do rodapé esticados ===== */
body[data-layout="cel"] .modal{padding:0!important;align-items:flex-end!important}
body[data-layout="cel"] .mCard{width:100%!important;max-width:none!important;max-height:94dvh;border-radius:22px 22px 0 0!important;border:0!important;
  padding:10px 16px calc(14px + env(safe-area-inset-bottom))!important;animation:folhaSobe 300ms cubic-bezier(.2,.8,.2,1)!important}
body[data-layout="cel"] .mCard::before{content:"";display:block;width:40px;height:5px;border-radius:5px;background:var(--linha-2,#d6d9de);margin:0 auto 10px}
body[data-layout="cel"] .modal.saindo .mCard{animation:folhaDesce 180ms ease-in forwards!important}
body[data-layout="cel"] .mCard.mCheia,body[data-layout="cel"] .mCard.mLargo{height:100dvh;max-height:100dvh;border-radius:0!important;padding-top:calc(6px + env(safe-area-inset-top))!important;display:flex;flex-direction:column}
body[data-layout="cel"] .mCard.mCheia::before,body[data-layout="cel"] .mCard.mLargo::before{display:none}
body[data-layout="cel"] .mCard.mCheia>.mCorpo,body[data-layout="cel"] .mCard.mLargo>.mCorpo{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}
body[data-layout="cel"] .mCard.mCheia>.mHead,body[data-layout="cel"] .mCard.mLargo>.mHead{position:sticky;top:0;z-index:2;background:var(--surf-0);padding:8px 0 10px;border-bottom:1px solid var(--linha);margin-bottom:10px}
body[data-layout="cel"] .mCard>.mPe:last-child{bottom:calc(-14px - env(safe-area-inset-bottom))!important;margin-bottom:calc(-14px - env(safe-area-inset-bottom))!important;padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}
body[data-layout="cel"] .mCard.mCheia>.mPe:last-child,body[data-layout="cel"] .mCard.mLargo>.mPe:last-child{position:static;margin:0 -16px calc(-14px - env(safe-area-inset-bottom))!important;padding:10px 16px calc(12px + env(safe-area-inset-bottom))!important;border-top:1px solid var(--linha);box-shadow:none}
body[data-layout="cel"] .mPe{flex-wrap:nowrap}
body[data-layout="cel"] .mPe>.opt,body[data-layout="cel"] .mPe>.btn-pri{flex:1 1 0;min-height:50px}
body[data-layout="cel"] .mPe>span{display:none}
@keyframes folhaSobe{from{transform:translateY(100%)}to{transform:none}}
@keyframes folhaDesce{to{transform:translateY(100%)}}
@media (prefers-reduced-motion:reduce){ body[data-layout="cel"] .mCard,body[data-layout="cel"] .modal.saindo .mCard{animation:none!important} }
/* v211: botão principal flutuante (celular) e avisos em baixo, acima dele — no topo só com o teclado aberto */
body[data-layout="cel"] #shAcoes .bFab{position:fixed;right:16px;bottom:calc(var(--navH,64px) + 14px);z-index:40;min-height:56px;padding:0 22px;border-radius:18px;font-size:16px;
  box-shadow:0 12px 30px rgba(20,20,20,.24),0 2px 6px rgba(20,20,20,.12);display:inline-flex;align-items:center;gap:8px;animation:fabEntra 260ms cubic-bezier(.2,.8,.2,1)}
body[data-layout="cel"] #shAcoes .bFab:active{transform:scale(.96)}
body.teclado #shAcoes .bFab{display:none!important}
body.temFab[data-layout="cel"] #shCorpo{padding-bottom:96px}
@keyframes fabEntra{from{opacity:0;transform:translateY(16px) scale(.9)}to{opacity:1;transform:none}}
body[data-layout="cel"]:not(.teclado):not([data-tela="editor"]) .toast{top:auto!important;bottom:calc(var(--navH,64px) + 14px)!important}
body.temFab[data-layout="cel"]:not(.teclado):not([data-tela="editor"]) .toast{bottom:calc(var(--navH,64px) + 84px)!important}
@media (prefers-reduced-motion:reduce){ body[data-layout="cel"] #shAcoes .bFab{animation:none} }
/* v211: barra de ferramentas do desenho no celular — rótulos inteiros (antes "Desenh…"), botões dividindo a largura */
body[data-layout="cel"] .toolbar button{min-width:0;padding-left:1px!important;padding-right:1px!important}
body[data-layout="cel"] .toolbar button .lbl{font-size:10px;letter-spacing:-.02em;padding:0;text-overflow:clip}
