.cleaning-print-page {
  box-sizing: border-box;
  width: var(--cleaning-paper-width);
  height: var(--cleaning-paper-height);
  padding: 12.7mm;
  background: #fff;
  color: #141819;
  font-family: var(--cleaning-form-font, 'Inter'), sans-serif;
  font-size: 9.5pt;
  line-height: 1.35;
  text-align: left;
  display: flex;
  flex-direction: column;
  overflow: visible;
  flex: none;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}
.cleaning-print-page *, .cleaning-print-page *::before, .cleaning-print-page *::after { box-sizing: border-box; }
.cleaning-print-page[data-paper="a4"][data-orientation="landscape"] { padding-top: 11mm; padding-bottom: 11mm; }
.cleaning-print-page h2, .cleaning-print-page h3, .cleaning-print-page p { margin: 0; }
.cleaning-doc-header { flex: none; margin-bottom: 3mm; }
.cleaning-doc-topline { display: flex; justify-content: space-between; align-items: baseline; gap: 5mm; border-bottom: 1px solid #333; padding-bottom: 1.8mm; margin-bottom: 2.3mm; }
.cleaning-doc-kind { font-weight: 650; font-size: 9pt; }
.cleaning-doc-brand { font-size: 8pt; color: #555; }
.cleaning-print-page .cleaning-doc-title { font-size: 18pt; font-weight: 750; line-height: 1.12; letter-spacing: -.35pt; }
.cleaning-print-page .cleaning-doc-facility { margin-top: 1mm; font-size: 11pt; font-weight: 650; overflow-wrap: anywhere; }
.cleaning-doc-fields { display: grid; grid-template-columns: 2fr 1fr 1.5fr; column-gap: 5mm; row-gap: 1.8mm; margin-top: 2.8mm; }
.cleaning-doc-field { display: flex; gap: 1.5mm; align-items: baseline; min-width: 0; }
.cleaning-doc-label { flex: none; font-size: 8pt; font-weight: 600; color: #4c5050; }
.cleaning-doc-value { flex: 1; min-width: 0; min-height: 4mm; border-bottom: 1px solid #a8aaaa; font-size: 9pt; overflow-wrap: anywhere; }
.cleaning-doc-continuation { font-size: 8pt; margin-top: 2mm !important; color: #555; }
.cleaning-page-body { flex: 1; min-height: 0; width: 100%; overflow: visible; }
.cleaning-print-page .cleaning-table-intro { font-size: 8.5pt; margin-bottom: 2mm; }
.cleaning-task-key { margin: 0 0 2.5mm; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1mm 3mm; font-size: 8.5pt; }
.cleaning-task-key li { overflow-wrap: anywhere; }
.cleaning-log-table { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 0; font: inherit; color: inherit; border: 1px solid #606565; }
.cleaning-log-table th, .cleaning-log-table td { border: 1px solid #606565; vertical-align: top; padding: 2mm 1.6mm; font-size: 9.5pt; line-height: 1.3; overflow-wrap: anywhere; }
.cleaning-log-table th { background: #f0f2f0; text-align: left; font-weight: 650; vertical-align: middle; font-size: 9pt; }
.cleaning-log-table thead { display: table-header-group; }
.cleaning-log-table tr { break-inside: avoid; page-break-inside: avoid; }
.cleaning-log-table td { height: 8.7mm; }
.cleaning-log-table .cleaning-task-name { font-weight: 550; }
.cleaning-table-daily td { height: 10.5mm; }
.cleaning-table-scheduled td { height: 7mm; padding-top: 1.1mm; padding-bottom: 1.1mm; }
.cleaning-table-scheduled th { padding: 1.5mm 1mm; }
.cleaning-table-weekly td { height: 13.5mm; }
.cleaning-log-table .cleaning-mark-cell { text-align: center; vertical-align: middle; }
.cleaning-check-box { display: inline-block; width: 3.5mm; height: 3.5mm; border: 1px solid #323737; border-radius: 0; vertical-align: middle; position: relative; flex: none; background: #fff; }
.cleaning-check-box.is-checked::after { content: ''; position: absolute; width: 1.45mm; height: 2.5mm; border: solid #111; border-width: 0 .45mm .45mm 0; left: .85mm; top: .1mm; transform: rotate(42deg); }
.cleaning-week-cell { text-align: center; }
.cleaning-week-initials { display: block; margin-top: 1.2mm; min-height: 3.3mm; font-weight: 600; }
.cleaning-scheduled-time > span { display: block; }
.cleaning-log-table .cleaning-next-day { font-size: 8pt; color: #444; margin-top: .6mm; }
.cleaning-compact .cleaning-log-table td { height: 7.8mm; padding-top: 1.6mm; padding-bottom: 1.6mm; }
.cleaning-compact .cleaning-table-daily td { height: 9mm; }
.cleaning-compact .cleaning-table-weekly td { height: 11mm; }
.cleaning-print-page .cleaning-section-title { margin: 3mm 0 1mm; font-size: 9pt; line-height: 1.35; font-weight: 650; break-after: avoid; }
.cleaning-print-page .cleaning-notes-text { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 9.5pt; line-height: 1.5; }
.cleaning-review-block { padding-top: 1mm; break-inside: avoid; page-break-inside: avoid; }
.cleaning-writing-line { height: 6.5mm; border-bottom: 1px solid #a0a5a5; }
.cleaning-review-line { display: flex; align-items: flex-end; gap: 2mm; margin-top: 5mm; font-size: 9pt; }
.cleaning-signature-space { flex: 1; min-width: 22mm; height: 5mm; border-bottom: 1px solid #707575; }
.cleaning-review-date-space { width: 29mm; height: 5mm; border-bottom: 1px solid #707575; }
.cleaning-scheduled .cleaning-review-block { padding-top: 0; }
.cleaning-scheduled .cleaning-writing-line { height: 5mm; }
.cleaning-scheduled .cleaning-section-title { margin-top: 2mm; margin-bottom: .5mm; }
.cleaning-scheduled .cleaning-review-line { margin-top: 3mm; }
.cleaning-compact .cleaning-table-scheduled td { height: 6.5mm; padding-top: 1mm; padding-bottom: 1mm; }
.cleaning-page-footer { flex: none; display: flex; justify-content: space-between; align-items: flex-end; gap: 4mm; margin-top: 3mm; padding-top: 1.5mm; border-top: 1px solid #a8aaaa; color: #555; font-size: 7.5pt; line-height: 1.3; }
.cleaning-page-number { white-space: nowrap; }
.cleaning-print-page[data-orientation="portrait"] .cleaning-doc-fields { grid-template-columns: 1.4fr 1fr; }
.cleaning-print-page[data-orientation="portrait"] .cleaning-task-key { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cleaning-print-page[data-orientation="portrait"] .cleaning-table-scheduled th { padding-left: 1mm; padding-right: 1mm; }

@media screen {
  #cleaning-print-root { display: none !important; }
  .cleaning-print-page { box-shadow: 0 2px 9px #1f35341a; }
}
@media print {
  html, body { margin: 0 !important; padding: 0 !important; width: auto !important; min-width: 0 !important; background: #fff !important; }
  body > :not(#cleaning-print-root):not(.cleaning-measurement-root) { display: none !important; }
  #cleaning-print-root { display: block !important; margin: 0 !important; padding: 0 !important; width: auto !important; }
  #cleaning-print-root .cleaning-print-page { margin: 0 !important; box-shadow: none !important; transform: none !important; break-after: page; page-break-after: always; }
  #cleaning-print-root .cleaning-print-page:last-child { break-after: auto; page-break-after: auto; }
}
