/* Printable ticket-check sheets: A4 portrait, 1/2/4/6 boards per sheet, colour or ink-saving. */
@page{size:A4 portrait;margin:8mm}
*{box-sizing:border-box}
body{margin:0;background:#e9ecf1;color:#111;font:12px/1.3 Arial,Helvetica,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:14px;padding:10px 16px;background:#1d3f73;color:#fff;font-size:14px}
.toolbar button{padding:8px 16px;border:0;border-radius:6px;background:#b3202a;color:#fff;font-weight:700;font-size:14px;cursor:pointer}
.toolbar a{color:#fff}
.toolbar span{margin-left:auto;opacity:.85}
.empty{max-width:600px;margin:40px auto;padding:20px;background:#fff;text-align:center;font-size:15px}
.sheet{width:194mm;height:281mm;margin:12px auto;padding:0;background:#fff;box-shadow:0 2px 10px #0003;display:grid;gap:4mm;page-break-after:always;break-after:page;overflow:hidden}
.per-1 .sheet{grid-template:1fr/1fr}
.per-2 .sheet{grid-template:repeat(2,1fr)/1fr}
.per-4 .sheet{grid-template:repeat(2,1fr)/repeat(2,1fr)}
.per-6 .sheet{grid-template:repeat(3,1fr)/repeat(2,1fr)}
.ticket{display:flex;flex-direction:column;min-width:0;min-height:0;border:1.5px solid #b3202a;border-radius:3mm;overflow:hidden}
.ticket header{display:flex;flex-direction:column;align-items:center;padding:1.5mm 2mm;background:#b3202a;color:#fff;text-align:center}
.ticket header strong{font-size:1.25em;letter-spacing:.3px}
.ticket table{flex:1;width:100%;border-collapse:collapse;table-layout:fixed;text-align:center}
.ticket th,.ticket td{border:1px solid #c9ced6;padding:.6mm .8mm;font-weight:700;font-variant-numeric:tabular-nums}
.ticket tbody th{width:12%;color:#555;font-weight:600}
.ticket thead th{background:#eef2f8;color:#1d3f73;overflow-wrap:anywhere}
.ticket thead small{display:block;font-weight:400;color:#555;font-size:.8em}
.ticket tbody td{font-size:1.45em;letter-spacing:.3px}
.ticket tr.special td,.ticket tr.special th{color:#c8161e}
.ticket tr.special td{font-size:1.7em}
.ticket tr.code td{font-size:1em;color:#1d3f73}
.ticket footer{padding:1.2mm 2mm;border-top:1px solid #c9ced6;text-align:center;font-size:.95em}
.ticket footer small{display:block;color:#555;font-size:.8em;margin-top:.5mm}
.per-1 .ticket{font-size:17px}
.per-2 .ticket{font-size:13px}
.per-4 .ticket{font-size:10.5px}
.per-6 .ticket{font-size:9px}
.style-ink .ticket{border-color:#333}
.style-ink .ticket header{background:none;color:#000;border-bottom:1.5px solid #333}
.style-ink .ticket thead th{background:none;color:#000}
.style-ink .ticket tr.special td,.style-ink .ticket tr.special th{color:#000;text-decoration:underline}
@media print{
 body{background:#fff}
 .toolbar{display:none}
 .sheet{margin:0;box-shadow:none}
}
@media screen and (max-width:820px){.sheet{transform-origin:top left;zoom:.48}}
