/* Shared physical-label geometry. Page size is injected from validated JS. */
.ak-label-print-root { display: none; }
.ak-label-measure-root {
  position: fixed; left: -10000px; top: 0; z-index: -1;
  display: block !important; visibility: hidden; width: auto; height: auto;
}
/* Shared on-screen proof scaling. The frame reserves the reduced footprint for
   layout while the scaler shrinks the true millimetre label inside it, so text
   and padding scale with the box and the proof matches what measure() reports.
   Keeping the transform off .ak-label leaves any entry animation free to use it. */
.label-proof-frame { position: relative; z-index: 1; flex: 0 0 auto; }
.label-proof-scale { position: absolute; top: 0; left: 0; transform-origin: top left; }
.ak-label {
  box-sizing: border-box; overflow: hidden; overflow-wrap: anywhere;
  padding: 4mm 5mm; background: #fff; color: #000;
  font: 7pt/1.35 Arial, Helvetica, sans-serif;
}
.ak-label .l-name { margin: 0 0 1.5mm; font: 800 9pt/1.2 Arial, Helvetica, sans-serif; color: #000; }
.ak-label .l-ing { font-size: 7pt; line-height: 1.35; }
.ak-label .l-may { margin-top: 1mm; font-size: 7pt; font-weight: 600; }
.ak-label .l-foot { margin-top: 1.5mm; color: #444; font-size: 6pt; }
.ak-label-compact .ak-label .l-ing { font-size: 6.3pt; line-height: 1.25; }
.ak-label-thermal-page .ak-label { width: 100%; height: 100%; padding: 3mm; }

@media print {
  body.ak-label-printing { margin: 0 !important; }
  body.ak-label-printing > *:not(.ak-label-print-root) { display: none !important; }
  body.ak-label-printing .ak-label-print-root { display: block !important; }
  body.ak-label-printing .ak-label-thermal-page {
    box-sizing: border-box; display: block; margin: 0; padding: 0;
    break-after: page; page-break-after: always;
  }
  body.ak-label-printing .ak-label-thermal-page:last-child {
    break-after: auto; page-break-after: auto;
  }
  body.ak-label-printing .ak-label-sheet {
    box-sizing: border-box; display: grid; width: 210mm;
    break-after: page; page-break-after: always;
  }
  body.ak-label-printing .ak-label-sheet:last-child {
    break-after: auto; page-break-after: auto;
  }
  body.ak-label-printing .ak-label-sheet.l7165 {
    padding: 13mm 4.6mm 0; grid-template-columns: 99.1mm 99.1mm;
    grid-auto-rows: 67.7mm; column-gap: 2.5mm;
  }
  body.ak-label-printing .ak-label-sheet.l7163 {
    padding: 15.1mm 4.6mm 0; grid-template-columns: 99.1mm 99.1mm;
    grid-auto-rows: 38.1mm; column-gap: 2.5mm;
  }
}
