/* Cleaning schedule maker: extra editor bits and sheet layout (uses chore-chart.css for the base) */

.steppers { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin-bottom: 14px; }
.stepper { display: flex; align-items: center; justify-content: space-between; gap: 8px; border: 1.5px solid var(--line); background: var(--cream); border-radius: 12px; padding: 7px 8px 7px 14px; }
.stepper span { font-size: .88rem; font-weight: 600; }
.stepper div { display: flex; align-items: center; gap: 8px; }
.stepper b { min-width: 14px; text-align: center; }
.stepper button { width: 30px; height: 30px; border-radius: 8px; border: 1.5px solid var(--line); background: #fff; font: 600 1rem var(--sans); color: var(--ink); cursor: pointer; }
.stepper button:disabled { opacity: .35; cursor: default; }
.room-btn { padding: 6px 12px; }
.room-btn[aria-pressed="true"] { background: var(--sage-soft); border-color: var(--sage-dark); color: var(--ink); }
.rest-day[aria-pressed="true"] { background: var(--blush); border-color: var(--blush); color: #fff; }
.time-summary { margin: 4px 0 0; font-size: .88rem; color: var(--ink-2); background: var(--cream); border-radius: 10px; padding: 10px 12px; }
.task-list { max-height: 360px; overflow-y: auto; border: 1.5px solid var(--line); border-radius: 14px; padding: 6px 12px; background: var(--cream); }
.task-group { padding: 8px 0; border-bottom: 1px solid var(--line); }
.task-group:last-child { border-bottom: 0; }
.task-group .meta-label { margin-bottom: 4px; }
.task-row { display: flex; align-items: center; gap: 10px; padding: 4px 0; font-size: .9rem; cursor: pointer; }
.task-row input[type="checkbox"] { accent-color: var(--sage-dark); width: 16px; height: 16px; margin: 0; flex: none; }
.task-row span { flex: 1; }
.task-row input[type="text"] { flex: 1; padding: 5px 9px; background: #fff; }
.task-row small { color: var(--ink-3); font-size: .74rem; white-space: nowrap; }
.add-row select { width: auto; flex: 1 1 140px; min-width: 0; }

/* sheet */
.cs-sheet .s-rule { margin-bottom: 3mm; }
.cs-label { font-size: 7pt; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--t-accent); margin: 2.5mm 0 2mm; flex: none; }
.cs-label span { letter-spacing: .06em; text-transform: none; font-weight: 500; color: #9A958B; }
.cs-daily { flex: none; }
.cs-daily .s-cell { min-height: 7.2mm; }
.cs-dtask { justify-content: flex-start !important; padding: 1.2mm 3mm 1.2mm 4mm; font-family: var(--serif); font-weight: 700; font-size: 10pt; line-height: 1.2; }
.cs-dtask small { font-family: var(--sans); font-weight: 500; font-size: 6.6pt; color: #9A958B; margin-left: 1.5mm; }
.cs-box { --mk: 6.4mm; flex: none; }
.cs-days { flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 3mm; }
.cs-weeks { flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 3mm; margin-bottom: 1mm; }
.cs-card { border: 1.2px solid var(--t-border); border-radius: 3mm; overflow: hidden; display: flex; flex-direction: column; min-height: 0; }
.cs-card-hd { background: var(--t-head); padding: 1.8mm 3mm; display: flex; justify-content: space-between; align-items: baseline; gap: 2mm; border-bottom: 1.2px solid var(--t-border); }
.cs-card-hd b { font-size: 7pt; letter-spacing: .16em; text-transform: uppercase; color: #4A4A44; }
.cs-card-hd span { font-size: 6.5pt; color: #6E6A62; white-space: nowrap; }
.cs-card-bd { padding: 2mm 2.6mm; flex: 1; min-height: 0; overflow: hidden; }
.cs-zone { font-family: var(--serif); font-weight: 700; font-size: 9pt; margin: 1.2mm 0 .8mm; }
.cs-zone:first-child { margin-top: 0; }
.cs-task { display: flex; align-items: flex-start; gap: 1.8mm; font-size: 7.6pt; line-height: 1.3; margin-bottom: 1.1mm; }
.cs-task .cs-box { --mk: 4.6mm; margin-top: .1mm; }
.cs-task small { display: block; font-size: 6.2pt; color: #9A958B; }
.cs-rest, .cs-free { height: 100%; display: grid; place-items: center; align-content: center; gap: 1.5mm; color: #A39E94; font-size: 8pt; text-align: center; }
.cs-rest svg { width: 7mm; height: 7mm; color: var(--t-accent); opacity: .6; }
.cs-card.rest .cs-card-hd { background: #F7F4EE; }
.cs-notes .cs-card-bd { display: flex; flex-direction: column; justify-content: space-around; }
.cs-notes i { display: block; border-bottom: 1px solid #E6E3DD; }
.cs-season { flex: none; }
.cs-season .s-cell { min-height: 7mm; }
.cs-sheet.dense .cs-task { font-size: 6.8pt; margin-bottom: .6mm; }
.cs-sheet.dense .cs-zone { font-size: 8pt; }
.cs-sheet.dense .cs-dtask { font-size: 9pt; }
.cs-sheet.dense .cs-daily .s-cell { min-height: 6mm; }
.cs-sheet .s-title { font-size: 26pt; }
.cs-sheet .s-namebox { min-width: 42mm; }

/* chores by age sheet */
.age-grid { flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 4mm; }
.age-sheet .cs-card-bd { display: flex; flex-direction: column; justify-content: space-around; padding: 2.5mm 4mm; }
.age-item { display: flex; align-items: center; gap: 3mm; font-family: var(--serif); font-weight: 700; font-size: 10.5pt; }
.age-item .ic { flex: none; width: 9mm; height: 9mm; border-radius: 50%; display: grid; place-items: center; color: #55554E; }
.age-item .ic svg { width: 60%; height: 60%; }
.age-tips p { margin: 0; font-size: 9pt; line-height: 1.45; color: #55554E; padding-left: 4mm; position: relative; }
.age-tips p::before { content: ""; position: absolute; left: 0; top: 1.6mm; width: 1.6mm; height: 1.6mm; border-radius: 50%; background: var(--t-border); }
.sheet-holder.solo { margin: 0 auto; }
.print-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; }
@media (max-width: 860px) { .print-card { grid-template-columns: 1fr; } }
.print-card .preview-stage { max-height: none; }

.panel { min-width: 0; }
.energy-grid { grid-template-rows: repeat(3, minmax(0, 1fr)); }
.energy-note { margin: 2mm 0 0; font-size: 7.4pt; color: #9A958B; font-style: italic; }
.energy-num { flex: none; width: 4.4mm; height: 4.4mm; border-radius: 50%; background: var(--t-head); display: grid; place-items: center; font-size: 6.4pt; font-weight: 700; color: #4A4A44; }
