/* Valach System (VS) v2 — címke-generátor (LBL-01, D-VS-241). Az ív mm-pontos; nyomtatáskor
   CSAK az ívek látszanak (@media print), @page margó nélkül — a böngésző nyomtatója a PDF/nyomtató. */

.vs-labels { max-width: 1000px; }
.vs-labels-row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .5rem 0; }
.vs-labels-row[hidden] { display: none; } /* a [hidden]-t felülírná a flex display — ez visszaállítja a rejtést */
.vs-labels-label { opacity: .75; min-width: 5.5rem; }
.vs-labels-chip.vs-labels-active { background: var(--vs-accent); color: var(--vs-accent-ink); border-color: var(--vs-accent); }
.vs-labels-note { color: var(--vs-muted); font-size: .85rem; margin: .15rem 0 .6rem; }
.vs-labels-combo { flex: 1 1 280px; }
.vs-labels-tplsel { min-width: 16rem; }
.vs-labels-unit { opacity: .7; }
.vs-labels-msg { min-height: 1.2em; color: var(--vs-warn); }
.vs-labels-row input[type='number'] { width: 5rem; padding: .35rem .4rem; }
.vs-labels-row input[type='text'] { min-width: 10rem; padding: .35rem .4rem; }

.vs-label-sheet-host { margin-top: .8rem; display: flex; flex-direction: column; gap: 8mm; }
.vs-label-sheet {
  width: 210mm; min-height: 297mm; background: var(--vs-surface); box-shadow: 0 1px 6px rgba(0, 0, 0, .18);
  display: grid;
  grid-template-columns: repeat(var(--lbl-cols), var(--lbl-w));
  grid-auto-rows: var(--lbl-h);
  justify-content: center; align-content: center;
}
.vs-label-sheet.vs-label-roll { width: var(--lbl-w); min-height: var(--lbl-h); }
.vs-label {
  width: var(--lbl-w); height: var(--lbl-h); overflow: hidden; box-sizing: border-box;
  border: 1px dashed rgba(128, 128, 128, .35); /* képernyőn segéd-keret; nyomtatásban eltűnik */
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 1.2mm 2mm; text-align: center; color: var(--vs-ink);
}
.vs-label-line { font-size: 8pt; line-height: 1.15; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vs-label-barcode { flex: 1 1 auto; min-height: 0; width: 100%; display: flex; align-items: center; justify-content: center; }
.vs-label-barcode svg { max-width: 96%; max-height: 100%; height: auto; }
.vs-label-hri { font-family: ui-monospace, monospace; font-size: 7pt; letter-spacing: .04em; }
.vs-label-empty { border-style: dotted; }

.vs-labels-panel[hidden] { display: none; }
.vs-labels-laysel { min-width: 16rem; }
.vs-labels-coname { flex: 1 1 16rem; }
.vs-labels-coaddr { flex: 2 1 22rem; }

/* CÍMKE-ELRENDEZÉS (D-VS-243): egyetlen, megtervezett GS1-címke — a GS1 Logisztikai címke három zónája
   (fej / interpretáció / kód). A kártya mm-pontos; nyomtatva keret + fekete tinta, a vezérlők eltűnnek. */
.vs-label-card-host { margin-top: .8rem; }
.vs-label-card {
  width: var(--card-w); min-height: var(--card-h); box-sizing: border-box;
  background: var(--vs-surface); color: var(--vs-ink); border: 2px solid var(--vs-ink);
  display: flex; flex-direction: column; overflow: hidden;
}
.vs-lc-title { text-align: center; font-weight: 700; font-size: 13pt; padding: 2mm 2mm 1mm; }
.vs-lc-note { text-align: center; color: var(--vs-muted); padding: 0 2mm 1.5mm; border-bottom: 1.5px solid var(--vs-ink); }
.vs-lc-section { display: flex; gap: 3mm; padding: 1.4mm 2mm; border-bottom: 1.5px solid var(--vs-ink); }
.vs-lc-col { flex: 1 1 0; display: flex; flex-direction: column; gap: .4mm; min-width: 0; }
.vs-lc-cap { font-size: 8pt; color: var(--vs-muted); }
.vs-lc-val { font-size: 10pt; }
.vs-lc-section.vs-lc-stacked .vs-lc-field { display: flex; flex-direction: column; }
.vs-lc-section.vs-lc-inline .vs-lc-field { display: flex; flex-wrap: wrap; gap: .2mm 1.2mm; align-items: baseline; }
.vs-lc-section.vs-lc-inline .vs-lc-cap { font-size: 9pt; font-weight: 700; color: var(--vs-ink); }
.vs-lc-section.vs-lc-inline .vs-lc-col + .vs-lc-col { border-left: 1px solid var(--vs-border); padding-left: 3mm; }
.vs-lc-val { overflow-wrap: anywhere; }
.vs-lc-field.vs-lc-strong .vs-lc-val { font-weight: 700; }
.vs-lc-field.vs-lc-big .vs-lc-val { font-family: ui-monospace, monospace; font-size: 14pt; font-weight: 700; }
.vs-lc-field.vs-lc-muted .vs-lc-val { color: var(--vs-muted); }
.vs-lc-barcodes { padding: 2mm; display: flex; flex-direction: column; gap: 2mm; align-items: center; margin-top: auto; }
.vs-lc-bc { width: 100%; text-align: center; }
.vs-lc-bc-img svg { max-width: 92%; height: auto; }
.vs-lc-hri { font-family: ui-monospace, monospace; font-size: 9pt; letter-spacing: .06em; }

@media print {
  body > *:not(main):not(.vs-main) { display: none !important; }
  .vs-nav, .vs-scan-quick { display: none !important; }
  /* csak az aktív mód előnézete marad: minden vezérlő-sor, fejléc, intro, üzenet eltűnik */
  .vs-labels > h1, .vs-labels > .vs-settings-intro, .vs-labels-row, .vs-labels-note, .vs-labels-msg { display: none !important; }
  .vs-labels-panel[hidden] { display: none !important; }
  .vs-label-sheet-host, .vs-label-card-host { margin: 0; }
  .vs-label-sheet-host { gap: 0; }
  .vs-label-sheet { box-shadow: none; page-break-after: always; }
  .vs-label { border: none; }
  .vs-label-card { page-break-after: always; }
  @page { size: A4; margin: 0; }
}
