.thumb {
  width: 62px;
  height: 62px;
  border-radius: 12px;
  object-fit: cover;
  flex: none;
}
.grow { flex: 1; min-width: 0; }
.variant {
  display: grid;
  grid-template-columns: 1.2fr 1fr 72px 42px;
  margin-bottom: 8px;
}
.variant input { min-width: 0; }
.variant:has([name="price"]) { grid-template-columns: 1fr .8fr 58px 38px 82px; }
.costConfirm { display: grid; gap: 6px; width: 92px; }
.costConfirm input { padding: 9px; }
.toolbar select { min-width: 0; }
.toolbar button { white-space: nowrap; }
@media (max-width: 480px) {
  .variant { grid-template-columns: 1fr 1fr 64px 38px; padding: 8px; gap: 6px; }
  .variant:has([name="price"]) { grid-template-columns: 1fr 1fr 58px 38px; }
  .variant:has([name="price"]) [name="price"] { grid-column: 1 / -1; }
  .variant input { padding: 9px; }
  .cards .field { margin: 8px 0; }
}

#printLabels { display: none; }
.label-preview { width: 40mm; height: 30mm; margin: 12px auto; border: 1px solid #ccc; background: white; }
.print-label {
  width: 40mm;
  height: 30mm;
  padding: 1.2mm 1.5mm;
  overflow: hidden;
  background: white;
  color: black;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  break-after: page;
  page-break-after: always;
  font-family: "PingFang SC", sans-serif;
}
.print-label strong { width: 100%; font-size: 3.4mm; line-height: 1.15; text-align: center; white-space: nowrap; overflow: hidden; }
.print-label span { width: 100%; font-size: 2.7mm; line-height: 1.2; text-align: center; white-space: nowrap; }
.print-label .ean { width: 36mm; height: 15mm; display: block; }
.label-preview .print-label { transform-origin: top left; }
@page { size: 40mm 30mm; margin: 0; }
@media print {
  body > *:not(#printLabels) { display: none !important; }
  body { margin: 0 !important; background: white !important; }
  #printLabels { display: block !important; }
}
