/* Printed tickets and labels (js/package-tickets.js). One em is the xs line (10pt on the printer);
   set font-size on .tk-paper / .tk-label, or on a parent, to scale a whole ticket. */
.tk-paper {
  --tk-ink: #1f1f24;
  width: 22em; padding: 1.4em 1.3em 2em; color: var(--tk-ink); background: #fbfbf8;
  font-family: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif; font-stretch: condensed;
  font-size: 10px; line-height: 1.32; text-align: left;
  box-shadow: 0 1.8em 3.4em rgba(0, 0, 0, 0.45);
  -webkit-mask: linear-gradient(#000 0 0) top / 100% calc(100% - 0.6em) no-repeat, conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / 1.2em 0.6em repeat-x;
          mask: linear-gradient(#000 0 0) top / 100% calc(100% - 0.6em) no-repeat, conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / 1.2em 0.6em repeat-x;
}
.tk-paper.k { width: 20em; }
.tk-paper .c { text-align: center; }
.tk-paper .b { font-weight: 700; }
.tk-paper .sm { font-size: 1.2em; }
.tk-paper .md { font-size: 1.6em; line-height: 1.2; }
.tk-paper .lg { font-size: 2em; line-height: 1.15; }
.tk-paper .xl { font-size: 3.5em; line-height: 1.05; letter-spacing: 0.01em; }
.tk-paper .ind { padding-left: 1.4em; }
.tk-paper .gap { height: 0.5em; }
.tk-paper .r { display: flex; justify-content: space-between; gap: 0.8em; }
.tk-paper .hr { margin: 0.5em 0; border-top: 1px dashed #555; }
.tk-paper .hrb { height: 1px; margin: 0.6em 0; background: repeating-linear-gradient(90deg, #555 0 0.5em, transparent 0.5em 0.8em, #555 0.8em 1em, transparent 1em 1.3em); }
.tk-paper .logo { display: grid; place-items: center; margin-bottom: 0.4em; }
.tk-paper .logo span { display: grid; place-items: center; width: 3.4em; height: 3.4em; border: 0.2em solid var(--tk-ink); border-radius: 50%; font-weight: 700; font-size: 1.2em; }
.tk-paper .qr { display: block; width: 6.5em; height: 6.5em; margin: 0.4em auto 0.2em; fill: var(--tk-ink); }

.tk-pair { display: flex; gap: 1.6em; align-items: flex-start; justify-content: center; }
.tk-pair .tk-paper + .tk-paper { transform: rotate(1.5deg); }

.tk-labels { display: flex; flex-direction: column; gap: 1.2em; align-items: center; padding: 1.2em; background: #e9e6dc; border-radius: 0.8em; box-shadow: 0 1.4em 2.8em rgba(0, 0, 0, 0.45); }
.tk-label {
  display: grid; grid-template-columns: 59fr 41fr; gap: 0.5em; width: 28em; aspect-ratio: 2 / 1; padding: 0.7em;
  color: #111; background: #fff; border-radius: 0.5em; font-family: Arial, "Helvetica Neue", sans-serif; font-size: 10px; line-height: 1.25;
}
.tk-label .lb-item { padding: 0.5em 0.6em; border: 0.15em solid #111; border-radius: 0.3em; font-size: 1.05em; }
.tk-label .lb-item b { display: block; margin-bottom: 0.3em; font-size: 1.55em; line-height: 1.1; }
.tk-label .lb-item .ind { padding-left: 1.2em; }
.tk-label .lb-side { display: flex; flex-direction: column; gap: 0.35em; min-width: 0; }
.tk-label .lb-blk { padding: 0.35em 0.5em; color: #fff; background: #111; border-radius: 0.25em; font-weight: 700; }
.tk-label .lb-blk .r { display: flex; justify-content: space-between; font-size: 1.15em; }
.tk-label .lb-box { flex: 1; padding: 0.3em 0.5em; border: 0.15em solid #111; border-radius: 0.25em; overflow: hidden; }
.tk-label .lb-pc { text-align: center; font-size: 1.2em; }
.tk-label .lb-tot { flex: none; font-weight: 700; }
