/* Keep spacing INSIDE the sheet: Chrome adds its own headers in @page margins. */
@page { size: A4 portrait; margin: 0; }
#printSheet { display: none; }
#printSheet, #printSheet * { box-sizing: border-box; }
#printSheet {
    width: 100%;
    margin: 0;
    padding: 12mm 14mm 10mm;
    color: #000;
    background: #fff;
    font: 14pt/1.18 Arial, Helvetica, sans-serif;
    color-scheme: light;
}
#printSheet h1 { margin: 0 0 4mm; font: 400 17pt/1.15 Arial, Helvetica, sans-serif; letter-spacing: normal; }
#printSheet table { width: 100%; border-collapse: collapse; table-layout: fixed; break-inside: avoid; page-break-inside: avoid; }
#printSheet th, #printSheet td { border: 1.2pt solid #000; text-align: center; vertical-align: middle; font-weight: 400; }
#printSheet th { height: 9mm; }
#printSheet td { height: 33mm; padding: 2mm 4mm; white-space: pre-wrap; overflow-wrap: anywhere; }
#printSheet tr, #printSheet td { break-inside: avoid; page-break-inside: avoid; }
#printSheet .print-day { width: 48mm; }
.ios-print-safe #printSheet { padding: 16mm 17mm 10mm; }
.ios-print-safe #printSheet th { height: 8mm; }
.ios-print-safe #printSheet td { height: 30mm; }
@media print {
    html, body { width: auto !important; min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; background: #fff !important; }
    body > :not(#printSheet) { display: none !important; }
    #printSheet { display: block; }
}
