/* 14.1–14.4 estoque, relatório, orçamento, etiqueta de retalho. Só tokens do app.css. */
.sub.bloco{display:block;margin-top:2px;font-weight:400;font-size:12.5px;color:var(--tx3)}

/* aba Estoque */
.st-grade{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:18px;align-items:start}
#st-novo h2,.st-lista h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:16px}
#st-novo h2 svg,.st-lista h2 svg{width:20px;height:20px;color:var(--cy-tx)}
.st-tipo{grid-template-columns:1fr 1fr}
.st-forma{margin:4px 0 10px}
.st-forma .bt{width:100%;justify-content:center}
#st-add{margin-top:6px}
.st-lista-cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.st-lista-cab h2{margin:0}
.st-busca{flex:1;max-width:300px;min-width:180px}
.st-total{margin:4px 0 10px;font-size:13px}
.st-tb{width:100%;border-collapse:collapse;font-size:14px}
.st-tb th{padding:8px 10px;border-bottom:1px solid var(--borda);font-size:12px;font-weight:600;color:var(--tx3);text-align:left;white-space:nowrap}
.st-tb td{padding:10px;border-bottom:1px solid var(--borda);vertical-align:middle}
.st-tb .n{text-align:right;font-variant-numeric:tabular-nums}
.st-tb tr.st-zero td{color:var(--tx3)}
.st-tb tr.st-zero .st-q{color:var(--erro)}
.st-esp{color:var(--tx2);font-variant-numeric:tabular-nums}
.st-med{white-space:nowrap;font-variant-numeric:tabular-nums}
.st-tag{display:inline-block;margin-left:4px;padding:1px 8px;border-radius:999px;background:var(--cy-suave);color:var(--cy-tx);font-size:11.5px;font-weight:650;vertical-align:1px}
.st-tb .passo{justify-content:flex-end;gap:6px}
.st-tb .passo .ico-bt{width:34px;height:34px}
.st-q{min-width:26px;text-align:center}
.st-acoes{white-space:nowrap;text-align:right}
.st-acoes .bt,.st-acoes .ico-bt{vertical-align:middle}.st-acoes .ico-bt{margin-left:6px}
.st-acoes .bt{min-height:36px;padding:0 12px;font-size:13px}
.st-acoes .bt svg{width:16px;height:16px}
.st-acoes .ico-bt svg,.rl-estoque svg,.orc-res svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ico-bt.perigo:hover{color:var(--erro);border-color:var(--erro)}
.st-nada{text-align:center;padding:18px}

/* trabalho: chapa do estoque */
.st-sel-info{margin:-2px 0 8px}
.st-sel-info .chave>span:last-child{display:grid;gap:2px}
.campo.st-travado input{background:var(--sup2);color:var(--tx2)}
.st-custos summary .sub{font-weight:400}

/* relatório */
.st-rel h2,.st-orc h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:16px}
.st-rel h2 svg,.st-orc h2 svg{width:20px;height:20px;color:var(--cy-tx)}
.st-rel,.st-orc{margin-bottom:18px}
.rl-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rl-bloco{margin:0;padding:12px 14px;border:1px solid var(--borda);border-radius:var(--r2);background:var(--sup2)}
.rl-bloco h3{margin:0 0 6px;font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--tx3)}
.rl-l{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--borda)}
.rl-l:first-of-type{border-top:0}
.rl-l dt{color:var(--tx2);font-size:13.5px}
.rl-l dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;font-size:14px}
.rl-l dd .sub.bloco{max-width:190px;margin-left:auto}
.rl-preco{color:var(--cy-tx);font-size:16px}
.rl-estoque{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;font-size:14px;color:var(--tx2)}
.rl-estoque svg{flex:none;width:18px;height:18px;margin-top:1px}
.rl-estoque.ok svg{color:var(--ok)}
.rl-pecas{margin-top:12px}
.rl-tb{width:100%;border-collapse:collapse;font-size:13.5px}
.rl-tb th,.rl-tb td{padding:7px 10px;border-bottom:1px solid var(--borda);text-align:left}
.rl-tb th{font-size:12px;font-weight:600;color:var(--tx3)}
.rl-tb .n{text-align:right;font-variant-numeric:tabular-nums}

/* orçamento */
.st-orc-campos{display:grid;grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr));gap:0 12px}
.st-orc-res{margin-top:12px;padding-top:12px;border-top:1px solid var(--borda)}
.orc-linhas{margin:0 0 8px;max-width:440px}
.orc-linhas>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-variant-numeric:tabular-nums}
.orc-linhas dt{color:var(--tx2)}.orc-linhas dd{margin:0}
.orc-linhas .sub{font-size:11.5px;color:var(--tx3)}
.orc-base{border-top:1px solid var(--borda)}
.orc-total{border-top:2px solid var(--tx);font-size:17px;font-weight:700}.orc-total dt{color:var(--tx)}
.st-orc-res .acoes{margin-top:10px}
.st-orc-res .bt svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}

/* passo a passo: relatório e orçamento só no passo 5 */
#tab-job[data-modo=assistente]:not([data-passo="5"]) #rl-card,
#tab-job[data-modo=assistente]:not([data-passo="5"]) #orc-card{display:none}

/* PDF do orçamento: folha A4 sempre clara */
.orc-dlg{width:min(860px,calc(100vw - 24px));max-height:calc(100vh - 24px);display:none;flex-direction:column}
.orc-dlg[open]{display:flex}
.orc-cab,.orc-pe{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--borda)}
.orc-cab h2{margin:0;font-size:16px}
.orc-pe{border-top:1px solid var(--borda);border-bottom:0;justify-content:flex-end}
.orc-pe .bt svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.orc-palco{flex:1;overflow:auto;padding:20px;background:var(--sup2)}
.orc-folha{box-sizing:border-box;width:100%;max-width:794px;min-height:600px;margin:0 auto;padding:48px 52px;background:#fff;color:#14161c;font:400 13px/1.45 var(--fonte);box-shadow:0 2px 12px rgba(0,0,0,.18)}
.of-cab{display:flex;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:2px solid #14161c}
.of-cab>div{display:grid;gap:2px}
.of-emp{font-size:18px}
.of-num{text-align:right}.of-num b{font-size:18px;color:#0e7490}
.of-cli{display:grid;gap:2px;margin:18px 0}
.of-cli span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#5b6170}
.of-cli b{font-size:15px}
.of-tb{width:100%;border-collapse:collapse}
.of-tb th{padding:7px 8px;border-bottom:1px solid #14161c;font-size:11px;text-transform:uppercase;letter-spacing:.04em;text-align:left;color:#5b6170}
.of-tb td{padding:7px 8px;border-bottom:1px solid #e3e5ea}
.of-tb .n{text-align:right;font-variant-numeric:tabular-nums}
.of-obs{margin:12px 0 20px;color:#5b6170}
.of-tot{width:300px;margin:0 0 0 auto}
.of-tot>div{display:flex;justify-content:space-between;padding:5px 0;font-variant-numeric:tabular-nums}
.of-tot dd{margin:0}
.of-total{border-top:2px solid #14161c;margin-top:4px;padding-top:8px!important;font-size:17px;font-weight:700}
.of-pe{margin-top:36px;padding-top:12px;border-top:1px solid #e3e5ea;color:#5b6170;font-size:12px}

@media print{
  body.imprimindo-orc>*:not(#orc-dlg){display:none!important}
  body.imprimindo-orc #orc-dlg{position:static;display:block;width:auto;max-height:none;border:0;box-shadow:none;padding:0;background:#fff}
  body.imprimindo-orc #orc-dlg::backdrop{display:none}
  body.imprimindo-orc .orc-cab,body.imprimindo-orc .orc-pe{display:none}
  body.imprimindo-orc .orc-palco{padding:0;background:#fff;overflow:visible}
  body.imprimindo-orc .orc-folha{box-shadow:none;max-width:none;padding:0}
  @page{size:A4;margin:16mm}
}

@media (max-width:900px){
  .st-grade{grid-template-columns:minmax(0,1fr)}
  .rl-grade{grid-template-columns:minmax(0,1fr)}
  .st-orc-campos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .st-orc-cli{grid-column:1/-1}
}
@media (max-width:720px){
  .st-busca{max-width:none;flex-basis:100%}
  .st-tb thead{display:none}
  .st-tb,.st-tb tbody,.st-tb tr,.st-tb td{display:block;width:100%}
  .st-tb tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:12px 0;border-bottom:1px solid var(--borda)}
  .st-tb td{padding:0;border:0}
  .st-tb td[data-r=Material]{grid-column:1/-1}
  .st-tb td[data-r=Medidas]{grid-column:1}
  .st-tb td[data-r="Preço"]{grid-column:2;grid-row:2;text-align:right}
  .st-tb td[data-r="Qtd."]{grid-column:1;text-align:left}
  .st-tb td[data-r="Qtd."] .passo{justify-content:flex-start}
  .st-tb .st-acoes{grid-column:2;grid-row:3;align-self:center}
  .orc-palco{padding:10px}
  .orc-folha{padding:24px 18px;font-size:12px}
  .of-tot{width:100%}
}
