body { background: #f4f5f7; }
.card { border: 0; box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }
.table { background: #fff; }
.auth-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.auth-box { width: 100%; max-width: 24rem; padding: 1rem; }
.auth-box form { display: flex; flex-direction: column; }
.qr svg { display: block; }
[hidden] { display: none !important; }

/* QR-Etiketten 76 x 51 mm, ein Etikett pro Druckseite (Etikettendrucker) */
.labels-page { background: #fff; }
.labels { display: flex; flex-wrap: wrap; gap: 4mm; padding: 4mm; }
.label { width: 76mm; height: 51mm; box-sizing: border-box; border: 1px dashed #bbb; display: flex; align-items: center;
         gap: 2.5mm; padding: 3mm; overflow: hidden; font-family: Arial, Helvetica, sans-serif; color: #000; background: #fff; }
.label .qr { flex: 0 0 38mm; }
.label .qr svg { display: block; width: 38mm; height: 38mm; }
.label-text { flex: 1; min-width: 0; }
.label-title { font-weight: bold; font-size: 10pt; }
.label-sub { font-size: 6.5pt; line-height: 1.25; margin: 1mm 0 1.5mm; }
.label-code { font-family: Consolas, "Courier New", monospace; font-size: 9pt; font-weight: bold; line-height: 1.3; white-space: nowrap; }
.label-sn { font-size: 6.5pt; margin-top: 1.5mm; }
@media print {
  @page { size: 76mm 51mm; margin: 0; }
  html, body { margin: 0; padding: 0; }
  .no-print { display: none !important; }
  .labels { display: block; padding: 0; }
  .label { border: none; page-break-after: always; break-after: page; }
}
