.chore-view-switch,.chore-calendar-toolbar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:16px 0; }
.chore-view-switch [aria-current=page] { outline:2px solid currentColor; outline-offset:2px; font-weight:700; }
.chore-calendar-toolbar h3 { flex:1; text-align:center; margin:0; }
.chore-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.calendar-weekday { text-align:center; font-weight:700; padding:8px 0; }
.calendar-day,.calendar-blank { border:1px solid var(--line,#8a95a355); border-radius:8px; min-height:100px; padding:6px; min-width:0; }
.calendar-day h4 { margin:0 0 8px; }
.calendar-scheduled summary { cursor:pointer; border:1px solid var(--line,#8a95a355); border-radius:6px; padding:7px; font-size:12px; font-weight:700; line-height:1.35; }
.calendar-scheduled summary:hover,.calendar-scheduled summary:focus-visible { outline:2px solid #568ad0; outline-offset:2px; }
.calendar-scheduled-list { padding-top:4px; }
.calendar-today { outline:2px solid #568ad0; outline-offset:-2px; }
.calendar-chore { border:1px solid var(--line,#8a95a355); border-radius:6px; padding:7px; margin:6px 0; display:flex; flex-direction:column; gap:5px; overflow-wrap:anywhere; font-size:12px; }
.calendar-chore strong { font-size:13px; }
.calendar-chore .button { padding:6px 8px; min-height:30px; font-size:12px; width:100%; }
.calendar-done { opacity:.7; }
.calendar-done strong { text-decoration:line-through; }
.calendar-mobile-weekday { display:none; }
.calendar-mobile-date,.mobile-week-label,.mobile-week-empty,.mobile-more-button { display:none; }
.calendar-extra-day { display:none; }
.calendar-undated { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; }
@media(max-width:700px) {
 .chore-calendar-grid { grid-template-columns:1fr; }
 .calendar-weekday,.calendar-blank,.calendar-desktop-date { display:none; }
 .calendar-day { min-height:60px; }
 .calendar-mobile-weekday,.calendar-mobile-date { display:inline; }
 .calendar-chore { font-size:14px; }
 .calendar-scheduled summary { font-size:14px; }
 .calendar-extra-day { display:block; }
 [data-mobile-window]:not(.mobile-expanded) .mobile-outside-week { display:none; }
 .mobile-week-label,.mobile-more-button { display:block; }
 .mobile-week-label { margin:14px 0 10px; font-weight:700; }
 .mobile-week-empty { display:block; color:var(--muted,#64748b); }
 .mobile-expanded .mobile-week-empty { display:none; }
 .mobile-more-button { width:100%; margin-top:14px; }
}
