/* Cleaning checklist: a paper-inspired worksheet with a dedicated print view. */
.clean-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:28px 0 20px; flex-wrap:wrap; }
.clean-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.clean-actions label { font-size:13px; }
.clean-actions select { width:auto; min-height:44px; font:inherit; padding:8px; color:var(--ink); background:var(--card); border:1px solid var(--line); border-radius:6px; }
.clean-sheet { background:var(--paper); color:var(--ink); border:1px solid var(--line); padding:44px 48px 26px; margin-bottom:32px; box-shadow:0 8px 35px #00000008; }
.clean-sheet-head { text-align:center; padding-bottom:24px; border-bottom:1px solid var(--ink); }
.clean-sheet-head .eyebrow { font-size:10px; letter-spacing:3px; }
.clean-sheet-head h2 { font:normal clamp(30px,5vw,46px)/1.15 var(--serif); letter-spacing:-1px; margin:14px 0 10px; }
.clean-sheet-head > p:not(.eyebrow) { font-size:13px; color:var(--ink-soft); }
.clean-date { display:flex; align-items:center; justify-content:center; gap:12px; font-size:11px; margin-top:22px; }
.clean-date span { border-bottom:1px solid var(--line); width:150px; height:16px; }
.clean-group { display:grid; grid-template-columns:155px 1fr; gap:28px; padding:25px 0; border-bottom:1px solid var(--line); break-inside:avoid; }
.clean-frequency { position:relative; }
.clean-number { font-size:10px; letter-spacing:2px; color:var(--ink-subtle); }
.clean-frequency h3 { font:normal 25px/1.15 var(--serif); margin:6px 0; }
.clean-frequency p { font-size:11px; color:var(--ink-soft); margin:0; }
.clean-frequency svg { display:block; width:68px; height:68px; margin:12px 0 0 10px; }
.clean-tasks { padding-top:4px; }
.clean-task { display:flex; position:relative; align-items:flex-start; gap:10px; min-height:28px; padding:4px 0; cursor:pointer; font-size:13px; line-height:1.4; }
/* Keep native checkboxes keyboard-accessible; draw a consistent box for paper. */
.clean-task input { position:absolute; width:18px; height:18px; opacity:0; margin:0; }
.clean-box { flex:0 0 14px; width:14px; height:14px; border:1px solid currentColor; margin-top:2px; position:relative; }
.clean-task input:focus-visible + .clean-box { outline:2px solid var(--ink); outline-offset:4px; }
.clean-task input:checked + .clean-box::after { content:''; position:absolute; left:3px; top:0; width:5px; height:9px; border:solid currentColor; border-width:0 1.5px 1.5px 0; transform:rotate(45deg); }
.clean-task input:checked ~ span:last-child { text-decoration:line-through; color:var(--ink-subtle); }
.clean-reset { font:inherit; font-size:11px; color:var(--ink-soft); border:0; background:transparent; text-decoration:underline; padding:8px 0; cursor:pointer; }
.clean-sheet-foot { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:20px; }
.clean-sheet-foot p { font:italic 13px var(--serif); margin:0; }
.clean-sheet-foot > span { font-size:9px; color:var(--ink-subtle); }
@media(max-width:600px) {
 .clean-sheet { padding:28px 20px 20px; }
 .clean-group { grid-template-columns:100px 1fr; gap:16px; }
 .clean-frequency h3 { font-size:21px; }
 .clean-task { font-size:12px; min-height:32px; }
 .clean-sheet-foot { flex-direction:column; text-align:center; }
}
@page { size:auto; margin:12mm; }
@media print {
 html, body { background:white !important; color:#171717 !important; }
 .site-masthead, .site-sidebar, [data-site-masthead], .no-print, .cleaning-page > header, noscript { display:none !important; }
 .site-layout, .site-layout__main { display:block !important; margin:0 !important; padding:0 !important; }
 .site-layout__main > .page-content, .cleaning-page { width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
 .clean-sheet { --ink:#171717; --ink-soft:#333; --ink-subtle:#555; --line:#bdbdbd; margin:0; padding:3mm 6mm; border:0; box-shadow:none; background:white; }
 .clean-sheet-head { padding-bottom:4mm; }
 .clean-sheet-head h2 { font-size:30pt; margin:3mm 0 2mm; }
 .clean-sheet-head .eyebrow { font-size:7pt; margin:0; }
 .clean-sheet-head > p:not(.eyebrow) { font-size:9pt; margin:0; }
 .clean-date { margin-top:3mm; font-size:8pt; }
 .clean-group { grid-template-columns:38mm 1fr; gap:7mm; padding:4mm 0; }
 .clean-frequency h3 { font-size:19pt; }
 .clean-frequency p { font-size:8pt; }
 .clean-frequency svg { width:15mm; height:15mm; margin:2mm 0 0 3mm; }
 .clean-task { font-size:9pt; min-height:0; line-height:1.35; padding:1mm 0; gap:2.5mm; }
 .clean-box { width:3mm; height:3mm; flex-basis:3mm; margin-top:.5mm; }
 .clean-sheet-foot { padding-top:4mm; }
 .clean-sheet-foot p { font-size:9pt; }
 .clean-sheet-foot > span { font-size:7pt; }
 .clean-sheet a::after { content:none !important; }
 body[data-clean-print="blank"] .clean-task input:checked + .clean-box::after { display:none; }
 body[data-clean-print="blank"] .clean-task input:checked ~ span:last-child { text-decoration:none; color:#171717; }
}

@media print { .cleaning-page > .tool-faq { display:none !important; } }
.clean-box { pointer-events:none; }
.clean-task { font-weight:400; margin:0; }
.clean-sheet-head .eyebrow { color:var(--ink-soft); }
@media print {
 .print-brand { display:none !important; }
 .clean-sheet-head h2 { margin:2mm 0 !important; }
 .clean-sheet-head p { margin:0 !important; }
 .clean-group { padding:3mm 0; }
 .clean-task { margin:0; padding:.7mm 0; font-weight:400; }
 .clean-frequency h3 { margin:1mm 0 !important; }
 .clean-frequency p { margin:0 !important; }
}
@media print {
 .clean-sheet .clean-sheet-head { padding-bottom:3mm; }
 .clean-sheet .clean-frequency { line-height:1.2; }
 .clean-sheet .clean-frequency p { font-size:8pt; line-height:1.3; }
 .clean-sheet .clean-frequency svg { width:13mm; height:13mm; margin-top:1mm; }
 .clean-sheet .clean-task { font-size:9pt; line-height:1.3; padding:.45mm 0; }
 .clean-sheet .clean-group { padding:2.4mm 0; }
 .clean-sheet .clean-sheet-foot { padding-top:3mm; }
 .clean-sheet .clean-sheet-foot p { margin:0; }
}
