/* Etiqueta térmica 100 × 60 mm e folha A4 da ordem de corte. Tudo em preto sobre branco (impressora térmica não tem cor): o estado vai em TEXTO e em faixa. */
.etiqueta, .folha { background: #fff; color: #000; font-family: var(--fonte, system-ui, sans-serif); }
.etiqueta { width: 100mm; height: 60mm; padding: 2.5mm; border: 1px solid #000; display: grid; grid-template-rows: auto auto 1fr auto; gap: 1mm; overflow: hidden; font-size: 2.9mm; line-height: 1.25; }
.et-topo { display: flex; justify-content: space-between; gap: 2mm; font-weight: 700; font-size: 3.2mm; border-bottom: 0.4mm solid #000; padding-bottom: 0.8mm; }
.et-topo span:last-child { white-space: nowrap; }
.et-sub { font-size: 2.8mm; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.et-meio { display: grid; grid-template-columns: 1fr 25mm; gap: 2mm; min-height: 0; }
.et-meio .dados { min-width: 0; display: flex; flex-direction: column; gap: 0.6mm; }
.et-peca { font-weight: 700; font-size: 3.6mm; }
.et-medida { font-weight: 800; font-size: 7.2mm; line-height: 1.05; font-variant-numeric: tabular-nums; white-space: nowrap; }
.et-tec { margin: 0; padding: 0; list-style: none; font-size: 2.6mm; line-height: 1.2; overflow: hidden; }
.et-qr { display: flex; flex-direction: column; align-items: center; gap: 0.5mm; font: 600 2.3mm/1.1 var(--fonte-codigo, ui-monospace, monospace); text-align: center; word-break: break-all; }
.et-qr svg { width: 25mm; height: 25mm; display: block; }
.et-rodape { border-top: 0.4mm solid #000; padding-top: 0.8mm; display: flex; justify-content: space-between; gap: 2mm; font-weight: 800; font-size: 3.3mm; }
.et-rodape.pare { background: #000; color: #fff; padding: 1mm 1.5mm; border-top: 0; }
.etiqueta .codigo, .folha .codigo { font-family: var(--fonte-codigo, ui-monospace, monospace); }

.folha { width: 190mm; min-height: 120mm; padding: 6mm; border: 1px solid #000; font-size: 3.6mm; line-height: 1.35; }
.fo-topo { display: grid; grid-template-columns: 1fr 34mm; gap: 6mm; border-bottom: 0.5mm solid #000; padding-bottom: 3mm; }
.fo-topo h3 { margin: 0 0 1mm; font-size: 6.5mm; line-height: 1.1; }
.fo-topo svg { width: 34mm; height: 34mm; display: block; }
.fo-medida { font-size: 12mm; font-weight: 800; line-height: 1.1; margin: 2mm 0; font-variant-numeric: tabular-nums; }
.fo-estado { display: inline-block; border: 0.6mm solid #000; padding: 1mm 3mm; font-weight: 800; font-size: 4.4mm; }
.fo-estado.pare { background: #000; color: #fff; }
.fo-desenho { margin: 4mm 0; border: 0.3mm solid #000; padding: 2mm; }
.fo-desenho svg { width: 100%; height: auto; max-height: 110mm; display: block; }
.fo-desenho .g-contorno { fill: #f2f2f2; stroke: #000; } .fo-desenho .g-recorte { fill: #fff; stroke: #000; } .fo-desenho .g-cota, .fo-desenho .g-cota-leve { fill: #000; }
.fo-colunas { display: grid; grid-template-columns: 1fr 1fr; gap: 6mm; }
.fo-colunas h4 { margin: 0 0 1mm; font-size: 3.8mm; text-transform: none; border-bottom: 0.3mm solid #000; }
.fo-colunas ul { margin: 0; padding-left: 4mm; }
.fo-assina { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6mm; margin-top: 8mm; font-size: 3.2mm; }
.fo-assina div { border-top: 0.3mm solid #000; padding-top: 1mm; }
.fo-nota { margin-top: 4mm; font-size: 3.2mm; }

@media screen { .etiqueta, .folha { margin: 8px 0 20px; box-shadow: 0 0 0 6px var(--cor-superficie, #fff); max-width: 100%; } .folha { overflow-x: auto; } }
@media print {
  .so-tela, body > header, #faixa-simulado { display: none !important; }
  body, main, main.largo { background: #fff !important; margin: 0 !important; padding: 0 !important; max-width: none !important; }
  .etiqueta, .folha { border: 0; margin: 0; box-shadow: none; }
  body[data-imprimir="etiqueta"] .folha, body[data-imprimir="folha"] .etiqueta { display: none !important; }
  .folha { width: auto; min-height: 0; padding: 0; }
}
