/* Parent shell. Loaded after styles.css; every override is appearance-scoped. */
:root[data-hh-scheme]{--hh-sidebar-width:196px;--hh-line:var(--bg-elev-2);--hh-positive:#3aab98;--hh-on-accent:#fff;--hh-grid:var(--bg);color-scheme:dark}
:root[data-hh-scheme="paper-sage"]{--bg:#f1ecdf;--bg-elev:#fffdf4;--bg-elev-2:#d6dfca;--accent:#42664e;--accent-hover:#31563e;--text:#303d2a;--text-muted:#59634c;--text-dim:#5d684e;--danger:#a7312d;--shadow:0 3px 12px #213e2512;--hh-positive:#25766a;--hh-grid:#eeebdf;color-scheme:light}
:root[data-hh-scheme="midnight-teal"]{--bg:#0e2027;--bg-elev:#162f36;--bg-elev-2:#29474d;--accent:#61d1bf;--accent-hover:#8ce3d5;--text:#e4f2ee;--text-muted:#a5c0bb;--text-dim:#8ea9a5;--danger:#f78c85;--shadow:0 6px 24px #0005;--hh-on-accent:#102c2a;--hh-positive:#61d1bf;--hh-grid:#132b37}
html[data-hh-scheme] body{background:var(--bg);color:var(--text)}
html[data-hh-scheme] :is(.dashboard-header,.dashboard-header-slim,.month-header,.week-header,.weekly-resources-header,.resource-detail-card>header,.modal-header){background:var(--bg-elev);color:var(--text);border-color:var(--hh-line)}
html[data-hh-layout="mobile"] .weekly-resources{bottom:var(--hh-bottom-nav-height,calc(72px + env(safe-area-inset-bottom)))}
html[data-hh-scheme] :is(.weekly-resources-header,.resource-detail-card>header){padding:10px 14px;gap:10px}
html[data-hh-scheme] :is(.weekly-resources-header h2,.resource-detail-card>header h2){font-size:18px;line-height:1.2}
html[data-hh-scheme] :is(.weekly-resources-header>div:first-child,.resource-detail-card>header>div:first-child){min-width:0}
html[data-hh-scheme] .weekly-resources-eyebrow{display:none}
html[data-hh-scheme] .resource-detail-scroll{min-height:0;overflow-y:auto;flex:1}
html[data-hh-scheme] .resource-detail-scroll>.resource-detail-content{overflow:visible}
html[data-hh-scheme] #resource-detail-eyebrow{font-size:11px;color:var(--text-muted);margin:12px 20px 0}
html[data-hh-scheme] .resource-detail-scroll.is-editing-workshop{display:flex;flex-direction:column;overflow:hidden}
html[data-hh-scheme] .resource-detail-scroll.is-editing-workshop>#resource-detail-eyebrow{display:none}
html[data-hh-scheme] .resource-detail-scroll>.resource-detail-content.is-editing-workshop{overflow:hidden;padding:0}
html[data-hh-scheme] .act-modal-card .modal-header.act-modal-header{padding-block:10px}
html[data-hh-scheme] .act-modal-title-wrap h2{font-size:18px;line-height:1.2}
html[data-hh-scheme] .act-modal-body>.act-modal-subtitle,html[data-hh-scheme] #ws-modal-meta{margin:0 0 10px;color:var(--text-muted);font-size:13px}
/* Mobile Menu retains the existing links and actions. */
html[data-hh-layout="mobile"] #tab-more-drawer{bottom:var(--hh-bottom-nav-height,72px)}
html[data-hh-scheme] #tab-more-drawer .hh-menu-panel{inset:12px 8px 8px auto;width:min(420px,calc(100% - 16px));padding:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--hh-line);border-radius:24px;box-shadow:0 14px 48px #0004;background:var(--bg)}
#tab-more-drawer .tab-drawer-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:3px 12px;flex:none;margin:0;padding:18px 18px 15px;border-bottom:1px solid var(--hh-line);background:var(--bg-elev)}
#tab-more-drawer .hh-menu-brand{color:var(--hh-accent-ink,var(--accent));font-size:10px;font-weight:800;letter-spacing:.16em}
#tab-more-drawer .tab-drawer-title{grid-column:1;color:var(--text);font-size:21px;font-weight:750;line-height:1.2;letter-spacing:-.025em;text-transform:none}
#tab-more-drawer .tab-drawer-header .modal-close{grid-column:2;grid-row:1 / 3;align-self:center;margin:0;width:44px;height:44px;background:var(--bg);border:1px solid var(--hh-line)}
#tab-more-drawer .hh-menu-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 14px 20px;scrollbar-width:thin;scrollbar-color:var(--hh-line) transparent}
#tab-more-drawer .tab-drawer-section{margin:0 0 22px}
#tab-more-drawer .tab-drawer-section-label{margin:0 5px 9px;font-size:10px;font-weight:750;letter-spacing:.12em;color:var(--text-muted)}
#tab-more-drawer .tab-drawer-links{gap:0;background:var(--bg-elev);border:1px solid var(--hh-line);border-radius:16px;overflow:hidden}
#tab-more-drawer .tab-drawer-links li+li{border-top:1px solid var(--hh-line)}
#tab-more-drawer .tab-drawer-link{display:flex;align-items:center;gap:11px;padding:12px 11px;min-height:54px;margin:0;border:0;border-radius:0;background:none;font-size:14px;line-height:1.35;color:var(--text)}
#tab-more-drawer .tab-drawer-link:is(:hover,:focus-visible){background:color-mix(in srgb,var(--accent) 9%,var(--bg-elev))}
#tab-more-drawer .tab-drawer-link:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
#tab-more-drawer .hh-menu-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;color:var(--hh-accent-ink,var(--accent));background:color-mix(in srgb,var(--accent) 10%,var(--bg-elev))}
#tab-more-drawer .hh-menu-icon svg{display:block;width:20px;height:20px}
#tab-more-drawer .hh-menu-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
#tab-more-drawer .hh-menu-label{font-weight:650;overflow-wrap:anywhere}
#tab-more-drawer .hh-menu-description{color:var(--text-muted);font-size:11px;font-weight:400;line-height:1.4}
#tab-more-drawer .hh-menu-chevron{flex:none;width:15px;height:15px;color:var(--text-muted)}
#tab-more-drawer .hh-menu-quick .tab-drawer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0;border-radius:0;background:none;overflow:visible}
#tab-more-drawer .hh-menu-quick .tab-drawer-links>li{border:0}
#tab-more-drawer .hh-menu-quick .tab-drawer-link{height:100%;min-height:94px;align-items:flex-start;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--hh-line);border-radius:16px;background:var(--bg-elev)}
#tab-more-drawer .hh-menu-quick .hh-menu-icon{flex-basis:26px;width:26px;height:26px;background:none}
#tab-more-drawer .hh-menu-quick .hh-menu-chevron{display:none}
#tab-more-drawer .tab-drawer-account{margin:0;padding:0 5px}
#tab-more-drawer .tab-drawer-account:has(#tab-drawer-user-mount:empty){display:none}
#tab-more-drawer .tab-drawer-account:not(:has(#tab-drawer-user-mount)){display:none}
html[data-hh-layout="mobile"] .tab-bar:has([data-tab="more"][aria-expanded="true"]) .tab-bar-item.active{background:none}
html[data-hh-layout="mobile"] .tab-bar [data-tab="more"][aria-expanded="true"]{background:var(--bg-elev-2);color:var(--hh-accent-ink,var(--accent))}
@media(max-height:500px){#tab-more-drawer .tab-drawer-header{padding:9px 14px}#tab-more-drawer .hh-menu-brand{display:none}#tab-more-drawer .tab-drawer-title{font-size:18px}#tab-more-drawer .tab-drawer-header .modal-close{grid-row:1}#tab-more-drawer .hh-menu-scroll{padding-top:10px}#tab-more-drawer .hh-menu-quick .tab-drawer-link{min-height:85px;gap:3px;padding:9px}#tab-more-drawer .hh-menu-quick .hh-menu-description{display:none}}
@media(prefers-reduced-motion:reduce){#tab-more-drawer .tab-drawer-panel,#tab-more-drawer .tab-drawer-backdrop{transition:none}}
html[data-hh-scheme] :is(input,textarea,select){color:var(--text);background-color:var(--bg-elev);border-color:var(--hh-line)}
html[data-hh-scheme] :is(.tab-bar,.schedule-toolbar,.modal-card,.tab-drawer-panel,.weekly-resources-panel,.resource-detail-card,.manual-event-panel,.week-calendar-header,.week-calendar-kid-legend,.schedule-anytime,.week-calendar-time-axis,.calendar-layer-toggle,.schedule-view-toggle,.schedule-period-controls){background:var(--bg-elev);color:var(--text);border-color:var(--hh-line)}
html[data-hh-scheme] :is(.schedule-grid-inner,.week-calendar-lanes){background:var(--hh-grid)!important}
html[data-hh-scheme] :is(.schedule-block,.schedule-anytime-card,.week-calendar-event,.week-calendar-untimed-card,.week-block-chip,.planner-block,.month-event,.hh-agenda-card)[data-calendar-kind]:not([data-calendar-kind="other"]){background:color-mix(in srgb,var(--calendar-kind-color,var(--accent)) 22%,var(--bg-elev));color:var(--text)}
html[data-hh-scheme] .month-event.timed{background:transparent}
html[data-hh-scheme] :is(.schedule-view-btn.active,.resource-kind-tab.active,.weekly-resource-add,.manual-event-save,.act-save-done,.hh-primary-button){background:var(--accent);color:var(--hh-on-accent)}
html[data-hh-scheme] :is(.home-date-label,.schedule-block-label,.week-calendar-event-title,.act-modal-title,.modal-header h2){color:var(--text)}
html[data-hh-scheme] :is(.home-date-meta,.schedule-hour-label,.schedule-block-time,.schedule-block-time-below,.week-calendar-event-time,.week-calendar-event-kids){color:var(--text-muted)}
html[data-hh-scheme] .yesterday-carryover{background:var(--bg-elev);border-color:var(--accent)}
html[data-hh-scheme] .schedule-grid-family-header{background:var(--bg-elev);color:var(--text);border-color:var(--hh-line)}
html[data-hh-scheme] .family-tools :is(section,header,article,dialog){background:var(--bg-elev);color:var(--text);border-color:var(--hh-line)}
html[data-hh-scheme] .family-tools :is(button,nav a){color:var(--text);background:var(--bg-elev-2)}
.hh-sidebar{display:none}
html[data-hh-layout="desktop"] body.has-tab-bar{padding-left:var(--hh-sidebar-width);padding-bottom:68px}
html[data-hh-layout="desktop"] .tab-bar{display:none!important}
html[data-hh-layout="desktop"] .hh-sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:var(--hh-sidebar-width);z-index:70;background:var(--bg-elev);border-right:1px solid var(--hh-line);flex-direction:column;padding:14px 9px;overflow:auto;overscroll-behavior:contain;font-size:13px}
.hh-sidebar-brand{font-size:19px;font-weight:650;padding:0 10px 13px}
.hh-sidebar nav{display:grid;gap:2px;margin-bottom:10px}
.hh-sidebar .tab-drawer-section{padding:8px 0;border-top:1px solid var(--hh-line)}
.hh-sidebar .tab-drawer-section-label{font-size:11px;letter-spacing:.06em;margin:2px 10px 6px;color:var(--text-muted)}
.hh-sidebar :is(.tab-bar-item,.tab-drawer-link){display:flex!important;align-items:center;justify-content:flex-start;gap:8px;flex-direction:row;text-align:left;min-height:33px;width:100%;padding:7px 10px;font-size:12px;line-height:1.3;border-radius:7px;margin:0;color:var(--text);background:none}
.hh-sidebar :is(.tab-bar-item,.tab-drawer-link):hover,.hh-sidebar .active{background:var(--bg-elev-2);color:var(--hh-accent-ink,var(--accent))}
.hh-sidebar .tab-bar-icon{font-size:16px}.hh-sidebar .tab-bar-label{font-size:12px}
.hh-sidebar .tab-drawer-links{list-style:none}.hh-sidebar .tab-drawer-links li{margin:0}
.hh-sidebar .tab-drawer-badge{display:none}
html[data-hh-layout="desktop"] .schedule-toolbar{left:var(--hh-sidebar-width);bottom:0;min-height:62px;gap:12px}
html[data-hh-layout="desktop"] .calendar-add-event-fab{bottom:82px}
html[data-hh-layout="desktop"] body.family-tools-page.has-tab-bar{max-width:none;margin:0;padding-left:var(--hh-sidebar-width)}
html[data-hh-scheme] .family-tools{background:var(--bg);color:var(--text)}
@media print{
 html[data-hh-scheme] .family-tools,html[data-hh-scheme] .family-tools :is(section,header,article,dialog){background:white!important;color:black!important}
 html[data-hh-scheme] .family-tools :is(.muted,p,td,th,a){color:black!important}
}
.family-tools>#event-status,.family-tools>#event-signin{max-width:1100px;margin:0 auto 24px}
.family-tools section{scroll-margin-top:calc(var(--hh-app-header-height) + 16px)}
html[data-hh-scheme] .local-events .event-date{color:var(--hh-accent-ink,var(--accent))}
html[data-hh-layout="mobile"] .tab-bar-desktop-only{display:none!important}
html[data-hh-layout="mobile"] .tab-bar-mobile-only{display:flex!important}
html[data-hh-layout="mobile"] .tab-bar{display:flex;justify-content:space-around;padding:6px}
html[data-hh-layout="mobile"] .tab-bar-item{min-width:0;min-height:48px;padding:7px 12px}
html[data-hh-layout="mobile"] .week-calendar-desktop{display:none!important}
html[data-hh-layout="mobile"] .week-list-mobile{display:block!important}
html[data-hh-layout="mobile"] body.fullbleed-week .week-grid{overflow:auto;min-height:0;flex:1}
html[data-hh-layout="mobile"] .week-header-actions{display:flex!important;flex-wrap:wrap}
html[data-hh-layout="mobile"] #week-tv{display:none}
/* Shared calendar and dock keep one set of live controls, not cloned forms. */
.hh-planner-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;min-height:0;flex:1}
.hh-plan-surface{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;isolation:isolate}
.hh-event-details{min-width:0;min-height:0;border:1px solid var(--hh-line);border-radius:12px;background:var(--bg-elev);overflow:hidden}
html[data-hh-layout="desktop"][data-hh-details="side"] .hh-planner-workspace.hh-has-inspector{grid-template-columns:minmax(0,1fr) 350px}
html[data-hh-layout="desktop"][data-hh-details="below"] .hh-planner-workspace.hh-has-inspector{grid-template-rows:minmax(240px,1fr) minmax(380px,1fr);overflow-y:auto;scrollbar-gutter:stable}
.hh-docked-dialog{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;max-height:100%!important;background:transparent!important;padding:0!important;display:flex;z-index:auto!important;overflow:hidden}
.hh-docked-dialog :is(.modal-card,.manual-event-card){width:100%!important;max-width:none!important;max-height:100%!important;height:100%;border:0;border-radius:0;box-shadow:none;margin:0;display:flex;flex-direction:column}
.hh-docked-dialog :is(.modal-body,.manual-event-body){min-height:0;overflow:auto;flex:1;padding:14px}
.hh-docked-dialog #manual-event-form{min-height:0;overflow:auto;flex:1}
.hh-docked-dialog .modal-header{padding:13px;gap:8px;flex-wrap:wrap}
.hh-docked-dialog .modal-header h2{font-size:19px}
.hh-docked-dialog .act-modal-header{flex-direction:column;align-items:stretch!important}
.hh-docked-dialog .act-modal-header-actions{justify-content:flex-end;flex-shrink:0}
.hh-docked-dialog .act-modal-title-wrap{width:100%}
html[data-hh-scheme] .act-save-still{color:var(--accent);border-color:var(--accent)}
html[data-hh-details="below"] .hh-docked-dialog .act-modal-header{flex-direction:row}
html[data-hh-details="below"] .hh-docked-dialog .act-modal-title-wrap{width:auto;flex:1}
html[data-hh-details="below"] .hh-docked-dialog .act-modal-pinned{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
html[data-hh-details="below"] .hh-docked-dialog .act-mood-row{flex:1;gap:6px;margin:0}
html[data-hh-details="below"] .hh-docked-dialog .act-action-bar{flex:1.5}
html[data-hh-details="below"] .hh-docked-dialog .act-bottom-row{width:100%;margin:0;padding:0;min-height:0}
html[data-hh-details="below"] .hh-docked-dialog .act-bottom-row:has([hidden]):not(:has(.block-form-msg:not(:empty))){display:none}
.hh-docked-dialog :is(.act-modal-pinned,.manual-event-footer){flex:none;padding:10px;background:var(--bg-elev)}
.hh-docked-dialog :is(.block-field-label,.act-photo-section-title,.act-modal-details){font-size:14px}
.hh-docked-dialog :is(input,textarea,select){font-size:16px;min-width:0;max-width:100%}
.hh-docked-dialog .act-action-bar{gap:6px}.hh-docked-dialog .act-save-label{font-size:11px}
.hh-docked-dialog .act-mood-btn{width:40px;height:40px;font-size:24px}
.hh-day-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.hh-day-style{display:flex;border:1px solid var(--hh-line);border-radius:20px;padding:3px;background:var(--bg-elev)}
.hh-day-style button{padding:7px 12px;font-size:13px;min-height:36px;border-radius:18px}
.hh-day-style button[aria-pressed="true"]{background:var(--accent);color:var(--hh-on-accent)}
.hh-day-print{font-size:13px;border:1px solid var(--hh-line);border-radius:8px;min-height:38px;padding:7px 11px}
.hh-day-week-strip{display:none}
html[data-hh-layout="mobile"] .hh-day-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;flex-shrink:0;padding:0 4px 6px}
.hh-day-week-strip button{display:grid;gap:0;place-items:center;min-height:46px;padding:3px;border-radius:10px;line-height:1.3}
.hh-day-week-strip span{font-size:10px;color:var(--text-muted)}.hh-day-week-strip strong{font-size:15px}
.hh-day-week-strip button[aria-pressed="true"]{background:var(--accent);color:var(--hh-on-accent)}
.hh-day-week-strip button[aria-pressed="true"] span{color:inherit}
.hh-day-week-strip button[aria-current="date"]:not([aria-pressed="true"]){outline:1px solid var(--accent);outline-offset:-2px}
html[data-hh-layout="mobile"] .home-date-meta{font-size:11px}
.hh-agenda-list{display:grid;gap:10px;padding:12px;align-content:start}
.hh-agenda-card[data-calendar-kind="curriculum"]{--calendar-kind-color:#d97706}
.hh-agenda-card[data-calendar-kind="book"]{--calendar-kind-color:#2f9e74}
.hh-agenda-card[data-calendar-kind="video"]{--calendar-kind-color:#8b6bc7}
.hh-agenda-card[data-calendar-kind="workshop"]{--calendar-kind-color:#c45a78}
.hh-agenda-card[data-calendar-kind="field_trip"]{--calendar-kind-color:#3b82b8}
.hh-agenda-card[data-calendar-kind="chore"]{--calendar-kind-color:#6f8a51}
.hh-agenda-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 46px;background:var(--bg-elev);border:1px solid var(--hh-line);border-radius:12px;overflow:hidden;min-width:0;border-left:0}
.hh-agenda-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--kid-color-stripe,var(--accent));z-index:1}
.hh-agenda-open{display:grid;gap:5px;padding:14px 12px 14px 17px;text-align:left;min-width:0;align-content:center}
.hh-agenda-title{font-size:16px;font-weight:600;overflow-wrap:anywhere}
.hh-agenda-meta{font-size:13px;color:var(--text-muted)}
.hh-agenda-handle{width:46px;min-height:54px;touch-action:none;cursor:grab;font-size:25px;user-select:none;align-self:stretch}
.hh-agenda-handle:active{cursor:grabbing;background:var(--bg-elev-2)}
.hh-agenda-card.logged{opacity:.65}.hh-agenda-card.hh-agenda-dragging{opacity:.6;outline:2px solid var(--accent)}
.hh-agenda-card.hh-agenda-drop-before{border-top:4px solid var(--hh-positive)}
.hh-agenda-card.hh-agenda-drop-after{border-bottom:4px solid var(--hh-positive)}
.hh-agenda-status{position:sticky;bottom:0;background:var(--bg-elev);padding:9px 12px;border-top:1px solid var(--hh-line);display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;z-index:4}
.hh-agenda-status button{padding:7px 10px;border:1px solid var(--hh-line);border-radius:8px}
.hh-agenda-status [role="status"]{overflow-wrap:anywhere}
.hh-agenda-empty{padding:20px;color:var(--text-muted);font-size:16px}
.act-quick-voice-help{font-size:13px;color:var(--text-muted)}
html[data-hh-scheme] .hh-workshop-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0;padding:10px;border-top:1px solid var(--hh-line);flex-shrink:0;background:var(--bg-elev)}
html[data-hh-scheme] .hh-workshop-footer button{min-width:0;font-size:12px;padding:6px;min-height:48px}
html[data-hh-scheme] .week-calendar-status{background:var(--bg-elev);color:var(--text);border-color:var(--accent)}
html[data-hh-scheme] .week-calendar-status[data-kind="error"]{color:var(--danger);border-color:var(--danger)}
html[data-hh-scheme] .weekly-resources-tabs button.active{color:var(--hh-on-accent)}
html[data-hh-scheme] .family-tools :is(.muted,p,td,a){color:var(--text-muted)}
html[data-hh-scheme] .family-tools :is(#tools-status,#event-status){background:var(--bg-elev-2);color:var(--text)}
html[data-hh-layout="mobile"] .act-quick-log-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-bottom:10px;margin:0}
html[data-hh-layout="mobile"] .act-quick-log-actions button{min-height:48px;font-size:13px}
html[data-hh-scheme] .act-print-event{font-size:13px;min-height:38px;padding:8px 10px;border:1px solid var(--hh-line);border-radius:8px}
.hh-appearance-dialog{position:fixed;inset:auto 16px 12px auto;color:var(--text);background:var(--bg-elev);border:1px solid var(--text-muted);border-radius:18px;width:min(420px,calc(100% - 16px));max-height:65dvh;overflow:auto;margin:0;padding:14px;font-size:16px;box-shadow:0 8px 32px #0004}
.hh-appearance-dialog::backdrop{background:transparent}.hh-appearance-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.hh-appearance-dialog h2{font-size:18px;margin:0}
.hh-appearance-dialog header button{min-width:58px;min-height:44px;padding:8px 12px}.hh-appearance-dialog fieldset{border:0;margin:12px 0 8px;padding:0;min-width:0}.hh-appearance-dialog legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.hh-scheme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.hh-scheme-options label{position:relative;display:grid;grid-template-rows:30px auto;align-items:start;gap:5px;border:1px solid var(--hh-line);border-radius:9px;padding:5px;min-height:72px;cursor:pointer;font-size:11px;line-height:1.2;text-align:center}
.hh-scheme-options input{position:absolute;top:6px;right:6px;width:14px;height:14px;margin:0;accent-color:var(--accent)}
.hh-scheme-options label:has(input:checked){outline:2px solid var(--accent);outline-offset:1px}.hh-scheme-options label:focus-within{outline:3px solid var(--text);outline-offset:1px}
.hh-scheme-swatch{width:100%;height:30px;border-radius:5px;border:1px solid var(--text-muted);background:linear-gradient(90deg,#1a1410 50%,#d97706 50%)}
[data-scheme-choice="paper-sage"] .hh-scheme-swatch{background:linear-gradient(90deg,#f5f4ee 50%,#42664e 50%)}
[data-scheme-choice="midnight-teal"] .hh-scheme-swatch{background:linear-gradient(90deg,#0e2027 50%,#61d1bf 50%)}
.hh-preference{display:grid;gap:7px;margin:15px 0}.hh-preference select{font-size:16px;padding:10px;border:1px solid var(--hh-line);border-radius:8px;max-width:100%}
.hh-appearance-dialog p{font-size:12px;color:var(--text-muted);margin:8px 0}.hh-appearance-dialog header p{margin:3px 0 0}.hh-primary-button{padding:12px 18px;border-radius:10px}
.hh-appearance-status{font-size:12px;color:var(--text-muted)}.hh-layout-preferences summary{min-height:40px;padding-top:12px;font-size:13px;cursor:pointer}
html[data-hh-layout="mobile"] .hh-appearance-dialog{inset:auto 8px max(8px,env(safe-area-inset-bottom)) 8px;width:auto;padding:12px}
/* Compact phone planner: the original controls move here, keeping their handlers. */
html[data-hh-layout="mobile"] body.has-tab-bar{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
.hh-mobile-planner-header{flex:none;min-width:0;padding:4px 10px 8px;background:var(--bg-elev);border-bottom:1px solid var(--hh-line)}
.hh-mobile-date-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px}
.hh-mobile-date-row #hh-mobile-date,.hh-mobile-date-row #hh-mobile-period-label{font-size:16px;font-weight:650;text-align:center;min-width:0;padding:8px 0}
.hh-mobile-date-row #hh-mobile-date{min-height:44px}
html[data-hh-layout="mobile"] .hh-mobile-date-row .schedule-period-nav{width:44px;height:44px;border:0;background:none}
.hh-mobile-filters{display:flex;align-items:center;gap:8px;min-width:0;margin:2px 0 6px}
html[data-hh-layout="mobile"] .hh-mobile-filters .schedule-kid-toggle{display:flex;width:auto;max-width:50%;min-width:0;min-height:44px;padding:5px 9px;gap:6px}
html[data-hh-layout="mobile"] .hh-mobile-filters :is(.schedule-kid-name,.schedule-kid-chevron){display:inline;font-size:12px}
html[data-hh-layout="mobile"] .hh-mobile-filters .schedule-kid-avatar{width:24px;height:24px;font-size:15px;flex:none}
html[data-hh-layout="mobile"] .hh-mobile-filters .calendar-layer-control{margin:0;min-width:0}
html[data-hh-layout="mobile"] .hh-mobile-filters :is(.calendar-layer-toggle,.calendar-layer-label){display:none}
html[data-hh-layout="mobile"] .hh-mobile-filters .calendar-layer-mobile{display:flex;align-items:center;gap:5px;color:var(--text-muted);font-size:11px;width:auto;height:44px}
html[data-hh-layout="mobile"] .hh-mobile-filters .calendar-layer-mobile select{font-size:12px;width:auto;max-width:100px;min-height:44px;padding:4px 6px}
.hh-mobile-filters .hh-day-print{margin-left:auto;font-size:12px;min-height:44px;padding:5px 9px;white-space:nowrap}
.hh-mobile-planner-header #calendar-overlay-health{max-width:none;max-height:90px;overflow:auto;margin-top:6px;font-size:11px}.hh-mobile-planner-header #calendar-overlay-health button{min-height:44px}
.hh-mobile-views{display:flex;align-items:center;gap:8px;justify-content:space-between}
html[data-hh-layout="mobile"] .hh-mobile-views :is(.schedule-view-toggle,.hh-day-style){height:44px;padding:3px;flex-shrink:0}
html[data-hh-layout="mobile"] .hh-mobile-views :is(.schedule-view-btn,.hh-day-style button){font-size:12px;min-height:36px;min-width:42px;padding:6px 9px;line-height:1.2}
html[data-hh-layout="mobile"] :is(#schedule-toolbar,#view-schedule>.home-date-strip,#hh-day-controls){display:none!important}
html[data-hh-layout="mobile"] :is(.schedule-period-copy,.month-header>div){display:none}
html[data-hh-layout="mobile"] .schedule-kid-picker{top:var(--hh-kid-picker-top,110px);bottom:auto;left:12px;right:auto;width:min(300px,calc(100% - 24px));max-height:50dvh;overflow:auto}
html[data-hh-layout="mobile"] .calendar-add-event-fab{bottom:calc(88px + env(safe-area-inset-bottom))}
html[data-hh-layout="mobile"] .tab-bar{height:calc(72px + env(safe-area-inset-bottom));padding:5px 8px calc(5px + env(safe-area-inset-bottom));align-items:center}
html[data-hh-layout="mobile"] .tab-bar-item{flex:1;gap:3px;min-height:56px;padding:5px 4px;border-radius:14px}
html[data-hh-layout="mobile"] .tab-bar-item.active{background:var(--bg-elev-2)}
.tab-bar-icon svg{display:block;width:23px;height:23px}.hh-sidebar .tab-bar-icon svg{width:18px;height:18px}
.hh-print-sheet,.hh-week-print{display:none}
/* The live planner workbench follows the approved calendar / inspector concept. */
:root[data-hh-scheme]{--hh-sidebar-width:218px;--hh-app-header-height:68px}
.hh-app-header{position:fixed;inset:0 0 auto 0;height:var(--hh-app-header-height);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:var(--bg-elev);border-bottom:1px solid var(--hh-line);z-index:75}
.hh-app-brand{font-size:23px;font-weight:700;letter-spacing:-.035em;line-height:1.2;color:var(--text);text-decoration:none}
.hh-app-brand span{display:block;font-size:12px;letter-spacing:.02em;font-weight:400;color:var(--text-muted);margin-top:3px}
#hh-app-account{min-width:32px;display:flex;align-items:center;justify-content:flex-end}
html[data-hh-scheme] body.has-tab-bar{padding-top:var(--hh-app-header-height)}
html[data-hh-layout="desktop"] body.has-tab-bar{padding-bottom:0}
html[data-hh-layout="desktop"] .hh-sidebar{top:var(--hh-app-header-height);padding:15px 10px 24px}
.hh-sidebar nav.tab-drawer-section{margin:0 0 13px;padding:0 0 13px;border-top:0;border-bottom:1px solid var(--hh-line)}
.hh-sidebar nav:last-of-type{border-bottom:0}
.hh-sidebar .tab-drawer-section-label{font-size:11px;font-weight:500;letter-spacing:.01em;text-transform:none;margin:0 10px 7px}
.hh-sidebar :is(.tab-bar-item,.tab-drawer-link){min-height:35px;font-size:13px;padding:8px 10px;gap:11px;border:0;border-radius:10px;line-height:1.3}
.hh-sidebar .hh-nav-icon{flex:none;display:grid;place-items:center;width:20px;height:20px;color:var(--text-muted)}
.hh-nav-icon svg{display:block;width:20px;height:20px}
.hh-sidebar .hh-nav-label{min-width:0;overflow-wrap:anywhere}
.hh-sidebar .active .hh-nav-icon{color:var(--hh-accent-ink,var(--accent))}
.hh-sidebar :is(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.hh-desktop-planner-header{flex:none;padding:0 0 14px}
.hh-desktop-title-row,.hh-desktop-control-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hh-desktop-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;margin-bottom:12px;align-items:center}
.hh-desktop-title-row>.hh-desktop-actions{grid-column:2;justify-content:flex-end}
.hh-desktop-control-row{align-items:flex-end}
.hh-desktop-title-row h1{margin:0;font-size:27px;letter-spacing:-.025em;line-height:1.2}
#hh-desktop-plan-date{font-size:13px;color:var(--text-muted);padding:0 8px;text-align:center;white-space:nowrap;line-height:1.3}
html[data-hh-layout="mobile"] #hh-desktop-plan-date{display:none}
.hh-desktop-actions,.hh-desktop-filters,.hh-desktop-views{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.hh-desktop-filters{max-width:100%}
.hh-planner-kid-chips{display:flex;align-items:center;gap:6px;overflow:auto;min-width:0;max-width:100%;padding:2px}
.hh-planner-kid-chips button{display:flex;align-items:center;gap:7px;flex:none;min-height:38px;padding:7px 13px;border:1px solid var(--hh-line);border-radius:22px;color:var(--text);font-size:13px;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hh-planner-kid-chips button[aria-pressed="true"]{background:var(--bg-elev-2);color:var(--hh-accent-ink,var(--accent))}
.hh-kid-dot{width:9px;height:9px;border-radius:50%;flex:none}
html[data-hh-layout="desktop"] #schedule-kid-toggle{display:none}
.hh-desktop-actions .week-header-actions{display:flex;gap:8px}
.hh-desktop-views .schedule-period-controls{padding:2px}
html[data-hh-layout="desktop"] .hh-desktop-views .schedule-period-nav{height:36px;width:36px;min-height:36px;font-size:23px;background:none;border:0;color:var(--text)}
html[data-hh-layout="desktop"] .hh-desktop-views .schedule-view-toggle{height:42px;padding:3px}
html[data-hh-layout="desktop"] .hh-desktop-views .schedule-view-btn{font-size:13px;min-height:34px;padding:6px 15px}
.hh-desktop-theme-slot:empty{display:none}
.hh-desktop-theme-slot{margin:0 auto;width:100%;max-width:360px;min-width:0;justify-self:center}
.hh-desktop-theme-slot .week-theme{width:100%}
.hh-desktop-theme-slot .week-theme label{font-size:11px;line-height:14px;text-align:left}
.hh-desktop-theme-slot .week-theme-entry :is(input,button){height:42px;min-height:42px;box-sizing:border-box;font-size:13px}
.hh-desktop-theme-slot .week-theme label span{display:none}
.hh-desktop-theme-slot .week-theme-status:empty{display:none}
@media(min-width:1380px){
  .hh-desktop-control-row:has(.hh-desktop-theme-slot:not(:empty)){display:grid;grid-template-columns:minmax(0,1fr) clamp(220px,calc(25vw - 140px),360px) auto;align-items:start;gap:14px}
  .hh-desktop-control-row:has(.hh-desktop-theme-slot:not(:empty)) :is(.hh-desktop-filters,.hh-desktop-views){padding-top:18px}
  .hh-desktop-control-row:has(.hh-desktop-theme-slot:not(:empty)) .hh-desktop-views{justify-content:flex-end}
}
@media(max-width:1379px){
  .hh-desktop-theme-slot{order:3;flex-basis:100%}
}
html[data-hh-layout="desktop"] :is(#schedule-toolbar,#view-schedule>.home-date-strip,#view-week>.home-date-strip,#view-month>.month-header){display:none!important}
html[data-hh-layout="desktop"] body.parent-page .dashboard-shell{padding:20px 20px 14px!important}
html[data-hh-layout="desktop"] .schedule-kid-picker{top:var(--hh-kid-picker-top,200px);bottom:auto;left:calc(var(--hh-sidebar-width) + 20px);max-height:50dvh;overflow:auto}
html[data-hh-layout="desktop"] .hh-planner-workspace{gap:18px}
html[data-hh-layout="desktop"][data-hh-details="side"] .hh-planner-workspace.hh-has-inspector{grid-template-columns:minmax(0,1fr) minmax(300px,28%)}
.hh-event-details{border-radius:16px}
.hh-event-overview{display:grid;gap:14px;margin:0 0 16px}
.hh-event-overview dt{font-size:12px;color:var(--text-muted);margin-bottom:4px}
.hh-event-overview dd{font-size:14px;color:var(--text);margin:0;line-height:1.5}
html[data-hh-layout="mobile"] .hh-event-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html[data-hh-layout="desktop"] #act-event-overview{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:7px 0 0}
html[data-hh-layout="desktop"] #act-event-overview dt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html[data-hh-layout="desktop"] #act-event-overview dd{font-size:12px;color:var(--text-muted);line-height:1.4}
.hh-photo-mobile{display:none}
html[data-hh-layout="mobile"] .hh-photo-mobile{display:flex}
html[data-hh-layout="mobile"] .hh-photo-desktop{display:none}
.hh-photo-mobile .act-photo-add-option{flex-direction:row;min-height:44px;padding:8px;border-color:var(--hh-line)}
.hh-photo-desktop{min-height:44px;border-color:var(--hh-line)}
html[data-hh-layout="desktop"] .week-calendar-untimed-row{min-height:30px}
html[data-hh-layout="desktop"] .week-calendar-untimed-day{gap:3px;padding:4px;max-height:128px;overflow-y:auto;overscroll-behavior:contain}
html[data-hh-layout="desktop"] .week-calendar-untimed-card{flex:none;min-height:24px;gap:0;padding:4px 5px 4px 8px;border-radius:3px}
html[data-hh-layout="desktop"] .week-calendar-untimed-card-label{font-size:11px;line-height:14px;font-weight:600}
html[data-hh-layout="desktop"] .schedule-anytime-card{min-height:30px;padding-block:3px}
html[data-hh-layout="desktop"] .schedule-anytime-copy>span{display:none}
html[data-hh-layout="desktop"] .schedule-anytime-open{padding-block:3px}
@media(pointer:coarse){html[data-hh-layout="desktop"] .week-calendar-untimed-card{min-height:44px}}
html[data-hh-scheme] :is(.schedule-grid-inner,.week-calendar-lanes){background:var(--bg)!important}
html[data-hh-scheme] :is(.schedule-hour-line,.week-calendar-hour-line,.week-calendar-lane){border-color:var(--hh-line)}
.hh-inspector-empty{padding:24px;display:flex;flex-direction:column;align-items:flex-start;min-height:280px}
.hh-inspector-kicker{font-size:11px;letter-spacing:.09em;color:var(--text-muted)}
.hh-inspector-empty-mark{margin:56px 0 15px;color:var(--hh-accent-ink,var(--accent));font-size:32px}
.hh-inspector-empty h2{font-size:20px;line-height:1.25;margin:0 0 12px}
.hh-inspector-empty p{font-size:14px;line-height:1.6;color:var(--text-muted);margin:0 0 16px}
.hh-inspector-empty .hh-inspector-empty-hint{font-size:12px}
html[data-hh-layout="desktop"] .hh-docked-dialog .act-modal-header{padding:18px;gap:12px}
html[data-hh-layout="desktop"] .hh-docked-dialog .act-modal-body{padding:18px}
html[data-hh-layout="desktop"] :is(.schedule-grid,.week-calendar-desktop,.month-grid){border-radius:16px;border-color:var(--hh-line);overflow:hidden}
html[data-hh-layout="desktop"] .schedule-grid{overflow-y:auto}
@media screen{html[data-hh-layout="desktop"] .week-calendar-desktop{min-height:0}}
:root[data-hh-layout="mobile"]{--hh-app-header-height:50px}
html[data-hh-layout="mobile"] .hh-app-header{padding:8px 16px}
html[data-hh-layout="mobile"] .hh-app-brand{font-size:20px}
html[data-hh-layout="mobile"] .hh-app-brand span{display:none}
html[data-hh-layout="mobile"] .hh-mobile-planner-header{background:var(--bg);border-bottom:0;padding:4px 10px 10px}
html[data-hh-layout="mobile"] .schedule-grid{border:1px solid var(--hh-line);border-radius:14px;margin:0 7px 8px}
html[data-hh-layout="mobile"] .hh-mobile-date-row .schedule-period-nav{border:1px solid var(--hh-line);border-radius:12px;background:var(--bg-elev)}
@media(max-height:500px){:root[data-hh-layout="mobile"]{--hh-app-header-height:38px}.hh-app-header{padding-block:4px}}
@media print{.hh-app-header,.hh-desktop-planner-header,.hh-inspector-empty{display:none!important}html[data-hh-scheme] body.has-tab-bar{padding-top:0!important}}
html[data-hh-layout="desktop"] body.tv-calendar-mode{padding:0!important}
body.tv-calendar-mode :is(.hh-app-header,.hh-sidebar,.hh-event-details,.hh-desktop-control-row,.hh-desktop-theme-slot){display:none!important}
body.tv-calendar-mode .hh-planner-workspace.hh-has-inspector{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}
body.tv-calendar-mode .hh-desktop-title-row{margin-bottom:0;padding-right:110px}
body.tv-calendar-mode .hh-desktop-planner-header{padding-bottom:10px}
/* The parent palette must reach nested/older screens, not just their shell.
   Keep paper output independent of the chosen screen palette. */
@media screen{
  html[data-hh-scheme]{--hh-accent-ink:var(--accent)}
  html[data-hh-scheme="paper-sage"]{--hh-accent-ink:var(--accent-hover)}
  html[data-hh-scheme] :is(.records-panel,.external-event-dialog,.week-theme-popover,.month-dow,.month-cell,.year-pacing-card,.fill-pace-row){background:var(--bg-elev);color:var(--text);border-color:var(--hh-line)}
  html[data-hh-scheme] .month-cell.other-month{background:var(--bg)}
  html[data-hh-scheme] .month-cell:hover{background:var(--bg-elev-2)}
  html[data-hh-scheme] :is(.year-pacing-status,.fill-pace-row .fill-pace-meta){color:var(--text-muted)}
  html[data-hh-scheme] .fill-pace-current{color:var(--hh-accent-ink)}
  html[data-hh-scheme] .fill-action-danger{color:var(--danger)}
  html[data-hh-scheme] .edit-pace-days .day-chip{background:var(--bg);color:var(--text-muted);border-color:var(--hh-line)}
  html[data-hh-scheme] :is(.edit-pace-days .day-chip.is-active,.edit-pace-save){background:var(--accent);color:var(--hh-on-accent);border-color:var(--accent)}
  html[data-hh-scheme] .external-event-dialog{inset:0;margin:auto;max-height:calc(100dvh - 28px)}
  html[data-hh-scheme] :is(.resource-workshop-edit-form label,.planner-block-label){color:var(--text)}
  html[data-hh-scheme] :is(.planner-block-time,.planner-block-duration,.resource-workshop-edit-form label span,.month-dow,.month-more,#tab-feedback-screen){color:var(--text-muted)}
  html[data-hh-scheme] :is(.weekly-resource-why,.resource-detail-why,.resource-workshop-edit-note,.calendar-provider-link,.privacy-back,.resource-detail-card>header p){color:var(--hh-accent-ink)}
  html[data-hh-scheme] .tab-drawer-badge{color:var(--text);background:var(--bg-elev-2)}
  html[data-hh-scheme] #tab-feedback-screen{background:var(--bg);color:var(--text-muted)}
  html[data-hh-scheme] #tab-feedback-submit{color:var(--hh-on-accent)!important}
  html[data-hh-scheme] #external-event-source{color:var(--hh-accent-ink)!important}
  html[data-hh-scheme] :is(#weekly-resources-library,.resource-schedule-form small){color:var(--text)}
  html[data-hh-scheme] .tab-bar-item.active .tab-bar-label{color:var(--text)}
  html[data-hh-scheme] :is(.records-tabs button.active,.records-print-week,.student-card button,.theme-builder button,#recovery-apply-button,#resource-schedule-submit,.resource-detail-card .primary-btn,#tab-feedback-submit,#btn-fill-curriculum,.fill-action-primary,.fill-all-btn,.btn-primary,#week-theme-save,.instructional-day-chip.is-active,.calendar-connect-section>h4>span){background:var(--accent);color:var(--hh-on-accent);border-color:var(--accent)}
  html[data-hh-scheme] :is(.month-cell.today .month-cell-number,.act-kid-avatar){color:var(--hh-on-accent)}
  html[data-hh-scheme] .act-edit-event-btn:hover,html[data-hh-scheme] .act-edit-event-btn:focus-visible{color:var(--hh-on-accent)}
  html[data-hh-scheme] .student-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
  html[data-hh-scheme] .student-card{grid-template-columns:minmax(0,1fr);min-width:0}
  html[data-hh-scheme] .student-card :is(div,label,select,button){min-width:0;max-width:100%;overflow-wrap:anywhere}
  html[data-hh-scheme] .student-card select{width:100%}
  html[data-hh-scheme] .student-avatar{flex-shrink:0}
  html[data-hh-scheme] .kid-check{background:var(--bg);border-color:var(--hh-line)}
  html[data-hh-scheme] .kid-check span{color:var(--text)}
  html[data-hh-scheme] :is(.privacy-intro,.privacy-card p,.privacy-label,.privacy-retention,.privacy-count span){color:var(--text-muted)}
  html[data-hh-scheme] .privacy-card{color:var(--text);background:var(--bg-elev);border-color:var(--hh-line)}
  html[data-hh-scheme] :is(.privacy-count,.privacy-btn-secondary){color:var(--text);background:var(--bg-elev-2)}
  html[data-hh-scheme] .privacy-btn:not(.privacy-btn-secondary):not(.privacy-btn-danger){background:var(--accent);color:var(--hh-on-accent)}
  html[data-hh-scheme] :is(.privacy-danger h2,.privacy-status.error){color:var(--danger)}
  html[data-hh-scheme] .privacy-warning{color:var(--danger)!important}
  html[data-hh-scheme] .privacy-status.success{color:var(--hh-positive)}
  html[data-hh-scheme] :is(.tutorial-hero,.tutorial-release,.tutorial-release-header,.tutorial-guide-item,.tutorial-guide-item[open],.tutorial-stay-current,.tutorial-secondary-link,.tutorial-category-nav button){background:var(--bg-elev);color:var(--text);border-color:var(--hh-line)}
  html[data-hh-scheme] :is(.tutorial-release-item,.tutorial-release-newest,.tutorial-guide-body){border-color:var(--hh-line)}
  html[data-hh-scheme] :is(.tutorial-back,.tutorial-hero-copy>p:last-child,.tutorial-order-note,.tutorial-section-heading>p,.tutorial-release-date,.tutorial-release-header p,.tutorial-release-item p,.tutorial-guide-item summary small,.tutorial-guide-chevron,.tutorial-guide-body,.tutorial-stay-current p,.tutorial-search,.tutorial-guide-group>h3,.tutorial-empty){color:var(--text-muted)}
  html[data-hh-scheme] :is(.tutorial-order-note strong,.tutorial-release-item ol,.tutorial-guide-body h4){color:var(--text)}
  html[data-hh-scheme] :is(.tutorial-eyebrow,.tutorial-kicker,.tutorial-item-action,.tutorial-guide-action){color:var(--hh-accent-ink)}
  html[data-hh-scheme] :is(.tutorial-release-icon,.tutorial-guide-icon,.tutorial-order-note span,.tutorial-stay-icon){background:var(--bg-elev-2);color:var(--text)}
  html[data-hh-scheme] :is(.tutorial-primary-link,.tutorial-release-badge,.tutorial-stay-current>a,.tutorial-category-nav button.active,.guided-tour-actions .guided-tour-next){background:var(--accent);color:var(--hh-on-accent);border-color:var(--accent)}
  /* Use textual status with a subtle tint; bright pastel text only works on dark. */
  html[data-hh-scheme] :is(.attendance-present,.attendance-partial,.attendance-absent){color:var(--text)}
}
/* Short windows/landscape must retain usable notes and camera space. Every
   control remains available; the card itself can scroll if text is enlarged. */
@media screen and (max-width:599px){
  html[data-hh-layout="mobile"] .act-modal-header{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;position:relative}
  html[data-hh-layout="mobile"] .act-modal-title-wrap{grid-area:1/1;min-width:0;min-height:44px;padding-right:52px}
  html[data-hh-layout="mobile"] .act-modal-header-actions{display:contents}
  html[data-hh-layout="mobile"] .act-modal-header-actions .modal-close{position:absolute;right:16px;top:12px}
  html[data-hh-layout="mobile"] .act-modal-header-actions .act-print-event{grid-area:2/1;justify-self:start}
  html[data-hh-layout="mobile"] .act-modal-header-actions .act-edit-event-btn{grid-area:2/1;justify-self:end}
}
@media screen and (max-height:600px){
  html[data-hh-layout="mobile"] .act-modal-card{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);overflow-y:auto}
  html[data-hh-layout="mobile"] .act-modal-card .act-modal-header{padding:8px 12px;flex-shrink:0}
  html[data-hh-layout="mobile"] .act-modal-title-wrap h2{font-size:16px;line-height:1.2}
  html[data-hh-layout="mobile"] .act-modal-subtitle{font-size:12px}
  html[data-hh-layout="mobile"] .act-modal-body{min-height:120px;padding:8px 12px}
  html[data-hh-layout="mobile"] .act-modal-pinned{padding:6px 8px;gap:6px}
  html[data-hh-layout="mobile"] .act-quick-log-actions{padding:0;gap:6px}
  html[data-hh-layout="mobile"] .act-quick-log-actions button{min-height:44px;padding:4px;font-size:12px}
  html[data-hh-layout="mobile"] .act-mood-btn{min-height:44px;padding:4px;font-size:22px}
  html[data-hh-layout="mobile"] .act-action-bar :is(.act-action-btn,.act-save-inline){min-height:44px;padding:5px;flex-direction:row;gap:5px}
  html[data-hh-layout="mobile"] .act-action-bar :is(.act-action-icon,.act-kid-avatar){font-size:16px}
  html[data-hh-layout="mobile"] .act-save-btn.act-save-inline .act-save-label{font-size:11px}
  html[data-hh-layout="mobile"] .act-bottom-row{min-height:0;margin:0;padding:0}
  html[data-hh-layout="mobile"] .act-bottom-row:not(:has(.block-form-msg:not(:empty))):has([hidden]){display:none}
  html[data-hh-layout="mobile"] body.has-tab-bar{padding-bottom:calc(56px + env(safe-area-inset-bottom))}
  html[data-hh-layout="mobile"] .tab-bar{height:calc(56px + env(safe-area-inset-bottom));padding-top:2px;padding-bottom:calc(2px + env(safe-area-inset-bottom))}
  html[data-hh-layout="mobile"] .tab-bar-item{min-height:48px;gap:1px;padding:2px}
  html[data-hh-layout="mobile"] .calendar-add-event-fab{bottom:calc(68px + env(safe-area-inset-bottom))}
}
@media screen and (max-height:600px) and (min-width:640px){
  html[data-hh-layout="mobile"] .hh-mobile-planner-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;padding-block:2px}
  html[data-hh-layout="mobile"] .hh-mobile-date-row{grid-area:1/1}
  html[data-hh-layout="mobile"] .hh-mobile-filters{grid-area:1/2;margin:0}
  html[data-hh-layout="mobile"] .hh-mobile-views{grid-area:2/1/3/-1}
  html[data-hh-layout="mobile"] .hh-mobile-week-slot{grid-column:1/-1;grid-row:3}
  html[data-hh-layout="mobile"] .hh-mobile-week-slot:not(:has(#hh-day-week-strip:not([hidden]))){display:none}
  html[data-hh-layout="mobile"] #calendar-overlay-health{grid-column:1/-1}
  html[data-hh-layout="mobile"] .schedule-anytime{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;max-height:84px;padding:6px 10px}
  html[data-hh-layout="mobile"] .schedule-anytime-heading{margin:0;padding:0}
  html[data-hh-layout="mobile"] .schedule-anytime-list{max-height:70px}
  html[data-hh-layout="mobile"] .schedule-grid-family-header{padding-block:5px;min-height:30px}
  html[data-hh-layout="mobile"] .act-modal-pinned{display:grid;grid-template-columns:minmax(244px,1fr) minmax(0,1.1fr)}
  html[data-hh-layout="mobile"] .act-mood-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
  html[data-hh-layout="mobile"] .act-mood-btn{min-width:0;width:100%}
  html[data-hh-layout="mobile"] :is(.act-quick-log-actions,.act-bottom-row){grid-column:1/-1}
}
@media(pointer:coarse){.hh-sidebar :is(.tab-bar-item,.tab-drawer-link),.hh-day-style button{min-height:44px}}
/* A single compact event header and an evenly spaced, square mood picker.
   Scoped to activity details: workshop-guide controls retain their own layout. */
#hh-modal-activity .act-modal-header{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start!important;gap:8px 12px;position:relative;padding:16px 18px 12px}
#hh-modal-activity .act-modal-header::before{content:none}
#hh-modal-activity .act-modal-title-wrap{grid-area:1/1;width:auto;min-height:44px;padding:0;display:flex;align-items:center}
#hh-modal-activity .act-modal-title-wrap h2{font-size:19px;line-height:1.3;letter-spacing:-.015em;overflow-wrap:anywhere}
#hh-modal-activity .act-detail-close{grid-area:1/2;position:static;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--hh-line);border-radius:12px;background:transparent;color:var(--text-muted)}
#hh-modal-activity .act-detail-close:hover{background:var(--bg-elev-2);color:var(--text)}
#hh-modal-activity .act-modal-context{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;min-width:0}
#hh-modal-activity .act-modal-context:not(:has(>:not([hidden]))){display:none}
#hh-modal-activity #act-event-overview{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0}
#hh-modal-activity #act-event-overview dt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#hh-modal-activity #act-event-overview dd{font-size:12px;color:var(--text-muted);line-height:1.5}
#hh-modal-activity #act-event-overview [data-context=children] dd{color:var(--text);font-weight:600}
#hh-modal-activity #act-modal-subtitle{margin:0;font-size:12px;line-height:1.5;font-weight:500;letter-spacing:0;color:var(--text-muted)}
#hh-modal-activity .act-modal-header-actions{grid-column:1/-1;display:flex;justify-content:flex-start;gap:8px;min-width:0}
#hh-modal-activity .act-modal-header-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 11px;border-radius:9px;font-size:12px}
#hh-modal-activity .act-modal-header-actions svg{flex:none}
#hh-modal-activity .act-mood-row{display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;margin:0;max-width:100%}
#hh-modal-activity .act-mood-btn{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--hh-line);border-radius:11px;font-size:25px;line-height:1;background:var(--bg-elev);transform:none}
#hh-modal-activity .act-mood-btn span{display:block;line-height:1;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
#hh-modal-activity .act-mood-btn.selected{background:var(--bg-elev-2);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
#hh-modal-activity .act-mood-btn:hover{background:var(--bg-elev-2)}
#hh-modal-activity:is(.act-modal-chore,.act-modal-meal) .act-mood-row{display:none}
#hh-modal-activity .act-modal-pinned{border-top:1px solid var(--hh-line);gap:12px;padding:12px}
#hh-modal-activity :is(.block-field-label,.act-photo-section-title){text-transform:none;letter-spacing:0;font-size:13px;font-weight:650}
#hh-modal-activity .act-action-bar :is(.act-action-btn,.act-save-inline){border-radius:11px}
@media(pointer:coarse){#hh-modal-activity .act-modal-header-actions button{min-height:44px}}
@media(max-width:599px){
 #hh-modal-activity{padding:8px}
 #hh-modal-activity .act-modal-header{padding:12px;gap:6px 10px}
 #hh-modal-activity .act-modal-title-wrap h2{font-size:17px}
 #hh-modal-activity .act-modal-context{gap:3px 10px}
}
@media(max-height:600px){#hh-modal-activity .act-modal-header{padding:8px 12px;gap:4px 10px}#hh-modal-activity .act-modal-pinned{padding:6px 8px;gap:6px}}
@media(max-width:360px){.hh-scheme-options{gap:4px}.hh-scheme-options label{font-size:10px;padding:4px}.hh-mobile-filters{gap:4px}.hh-mobile-filters .calendar-layer-mobile{font-size:0!important}.hh-mobile-views{gap:4px}html[data-hh-layout="mobile"] .hh-mobile-views :is(.schedule-view-btn,.hh-day-style button){padding-inline:7px}}
@media print{
  html[data-hh-scheme] body{background:white!important;color:black!important;padding:0!important;height:auto!important;overflow:visible!important}
  .hh-sidebar,.hh-appearance-dialog,.hh-event-details,.hh-day-controls,.hh-day-week-strip,.hh-agenda-status,.hh-mobile-planner-header{display:none!important}
  :root[data-hh-scheme]{background:#fff!important;color-scheme:light!important}
  /* Day and event sheets (HHAppearance.print): US Letter portrait whatever the screen theme. */
  @page hh-day{size:letter portrait;margin:.5in .6in}
  body.hh-simple-print> :not(.hh-print-sheet){display:none!important}
  body.hh-simple-print .hh-print-sheet{page:hh-day;display:block!important;color:#000!important;background:#fff!important;font:11pt/1.4 Arial,Helvetica,sans-serif;padding:0}
  .hh-print-sheet *{color:#000!important}
  .hh-print-sheet h1{font-size:18pt;line-height:1.25;margin:0 0 4pt;padding:0 0 6pt;border-bottom:1.5pt solid #000}.hh-print-sheet h2{font-size:12.5pt;line-height:1.3;margin:0 0 1pt}
  .hh-print-sheet article{break-inside:avoid;border-bottom:.75pt solid #bbb;padding:7pt 0}.hh-print-sheet p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
  /* Print day (agenda.js): the time sits in a left column beside each event. */
  body.hh-print-day-plan .hh-print-sheet article{display:grid;grid-template-columns:1.7in minmax(0,1fr);grid-template-rows:repeat(3,auto);column-gap:.2in;align-items:baseline}
  body.hh-print-day-plan .hh-print-sheet article>*{grid-column:2}
  body.hh-print-day-plan .hh-print-sheet article>p:first-of-type{grid-column:1;grid-row:1/-1;font-size:10.5pt;font-weight:700}
  body.hh-print-day-plan .hh-print-sheet article>p:not(:first-of-type){font-size:10.5pt;color:#333!important}
  /* Print week (planner-tools.js): seven day columns on US Letter landscape. */
  @page hh-week{size:letter landscape;margin:.35in .4in}
  body.hh-week-print-mode> :not(.hh-week-print){display:none!important}
  body.hh-week-print-mode .hh-week-print{page:hh-week;display:block!important;width:auto!important;margin:0!important;padding:0!important;color:#000!important;background:#fff!important;font:9.5pt/1.3 Arial,Helvetica,sans-serif;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .hh-week-print *{color:#000!important;box-shadow:none!important;text-shadow:none!important}
  .hh-week-print-header{display:flex;align-items:baseline;justify-content:space-between;gap:.25in;margin:0 0 6pt;padding:0 0 5pt;border-bottom:1.5pt solid #000}
  .hh-week-print h1{margin:0;font-size:15pt;line-height:1.2;font-weight:700}
  .hh-week-print-kids{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3pt 12pt;margin:0;font-size:10pt}
  .hh-week-print-kid{display:inline-flex;align-items:center;gap:4pt}.hh-week-print-kid::before{content:"";width:8pt;height:8pt;border-radius:50%;background:var(--hh-print-bar,#777)}
  .hh-week-print-grid{width:100%;table-layout:fixed;border-collapse:collapse}
  .hh-week-print-grid th{padding:3pt 5pt 4pt;border:.75pt solid #999;border-bottom:1.25pt solid #000;text-align:left;vertical-align:bottom;font-weight:400}
  .hh-week-print-dayname{display:block;font-size:10pt;font-weight:700}.hh-week-print-date{display:block;font-size:9pt;color:#333!important}
  .hh-week-print-grid td{padding:4pt 4pt 1pt;border:.75pt solid #999;vertical-align:top}
  .hh-week-print-anytime{margin:0 0 5pt;padding:0 0 1pt;border-bottom:.75pt dashed #999}
  .hh-week-print-label{margin:0 0 2pt;font-size:9pt;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#333!important}
  .hh-week-print-item{position:relative;margin:0 0 5pt;padding:0 0 0 6pt;break-inside:avoid}
  .hh-week-print-item::before{content:"";position:absolute;left:0;top:1pt;bottom:1pt;width:2.5pt;border-radius:2pt;background:var(--hh-print-bar,#888)}
  .hh-week-print-personal::before{width:0;border-left:1.5pt dashed #555;border-radius:0;background:none}
  .hh-week-print-item p{margin:0;overflow-wrap:anywhere}
  .hh-week-print-time{font-size:9pt;font-weight:700}.hh-week-print-title{font-size:9.5pt;line-height:1.25}.hh-week-print-who{font-size:9pt;color:#333!important}
  .hh-week-print-personal .hh-week-print-who,.hh-week-print-empty{font-style:italic}.hh-week-print-empty{margin:0;font-size:9pt;color:#555!important}
  /* A crowded week tightens spacing (type stays at least 9pt) to keep one page when it can. */
  .hh-week-print-dense .hh-week-print-item{margin-bottom:3pt}.hh-week-print-dense .hh-week-print-item p{line-height:1.17}.hh-week-print-dense .hh-week-print-title{font-size:9pt}
  .hh-planner-workspace,.hh-plan-surface{display:block!important;overflow:visible!important;height:auto!important}
}

/* Direct-entry guidance uses the existing Homeschool palette and controls. */
[data-planner-entry]{box-sizing:border-box;width:min(680px,100%);margin:40px auto;padding:24px;border:1px solid var(--bg-elev-2);border-radius:12px;background:var(--bg-elev);color:var(--text);overflow-wrap:anywhere}
[data-planner-entry] h1{font-size:clamp(24px,4vw,32px);line-height:1.25}
[data-planner-entry] p{line-height:1.6;color:var(--text-muted)}
[data-planner-entry] .homeschool-account-entry{justify-content:flex-start;margin:20px 0 0}
[data-planner-entry] .homeschool-account-entry>*{min-height:44px;white-space:normal}
[data-planner-entry] .homeschool-account-entry.lp-ui .lp-button,[data-planner-entry] .homeschool-account-entry>button{flex:1 1 180px;min-width:0}
/* Desktop week header: the theme label sits beside the field and the save message floats below it, so the
   control row keeps the same height in Day, Week and Month and the pills never move (October 6, 2026). */
html[data-hh-layout="desktop"] .hh-desktop-theme-slot{max-width:480px}
html[data-hh-layout="desktop"] .hh-desktop-theme-slot .week-theme{position:relative}
html[data-hh-layout="desktop"] .hh-desktop-theme-slot #week-theme-form{display:flex;align-items:center;gap:10px}
html[data-hh-layout="desktop"] .hh-desktop-theme-slot .week-theme label{margin:0;white-space:nowrap;flex:none}
html[data-hh-layout="desktop"] .hh-desktop-theme-slot .week-theme-entry{flex:1;min-width:0}
html[data-hh-layout="desktop"] .hh-desktop-theme-slot .week-theme-status{position:absolute;left:0;right:0;top:calc(100% + 3px);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
/* Light themes: the dark text shadow that lifts hour and "now" labels off the dark gradient blurs them on paper. */
html:is([data-hh-scheme="paper-sage"],[data-hh-scheme="crisp-sky"]) :is(.schedule-hour-label,.schedule-now-time){text-shadow:none}
/* Clerk sign-in card (October 6, 2026): the page already has its own heading, and the app's dark-theme field
   styles must not leak into Clerk's white card, where they made the email field dark on dark. */
html .cl-rootBox .cl-headerTitle, html .cl-rootBox .cl-headerSubtitle { display: none !important; }
html .cl-rootBox input.cl-formFieldInput { background: #ffffff !important; color: #1d2b28 !important; border: 1px solid #c9d3cc !important; }
html .cl-rootBox input.cl-formFieldInput::placeholder { color: #6b7a74 !important; opacity: 1; }
html .cl-rootBox .cl-socialButtonsBlockButton { background: #ffffff !important; color: #1d2b28 !important; border: 1px solid #c9d3cc !important; }
/* Week view now-line: the time label sits centered on today's red line. */
.week-calendar-now-line > .week-calendar-now-label{left:50%;right:auto;top:50%;transform:translate(-50%,-50%);padding:1px 6px}
/* Light themes: events without a category ("Other") used the dark theme's near-black card. */
html:is([data-hh-scheme="paper-sage"],[data-hh-scheme="crisp-sky"]) .week-calendar-event:is(:not([data-calendar-kind]),[data-calendar-kind="other"]){background:var(--bg-elev);border-color:var(--bg-elev-2);color:var(--text)}
html[data-hh-layout="desktop"] .hh-desktop-views #month-today-button{height:42px;min-height:42px;padding:0 16px;font-size:13px}
html[data-hh-layout="desktop"] .hh-desktop-theme-slot:not(:empty){min-width:min(360px,100%);flex:1 1 360px}
/* With date and view buttons in the title row, the second row is filters · theme · tools: give the theme room. */
@media(min-width:1380px){
  html[data-hh-layout="desktop"] .hh-desktop-control-row:has(.hh-desktop-theme-slot:not(:empty)){grid-template-columns:minmax(0,1fr) minmax(340px,440px) auto;align-items:center}
  html[data-hh-layout="desktop"] .hh-desktop-control-row:has(.hh-desktop-theme-slot:not(:empty)) :is(.hh-desktop-filters,.hh-desktop-views,.hh-desktop-actions){padding-top:0}
}
/* Week view: hour labels centered in the time column, matching the day names' size and spacing. */
.week-calendar-time-label{left:0;right:0;text-align:center;font-size:11px;font-weight:700;letter-spacing:.06em}
.week-calendar-corner{font-size:11px}
/* Extracurricular activities (Nature School, Jiu-Jitsu, 4H…) get their own color like the other event types. */
:is(.schedule-block,.schedule-anytime-card,.week-calendar-event,.week-calendar-untimed-card,.week-block-chip,.planner-block,.month-event,.hh-agenda-card)[data-calendar-kind="extracurricular"]{--calendar-kind-color:#2a9d8f}
/* Add an event: with no saved curriculum, offer clear buttons instead of a paragraph of directions. */
.manual-curriculum-empty{display:grid;gap:12px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--bg-elev-2);border-radius:12px;background:var(--bg)}
.manual-curriculum-empty[hidden]{display:none}
.manual-curriculum-empty p{margin:0;color:var(--text);font-size:14px;line-height:1.45}
.manual-curriculum-empty-actions{display:flex;flex-wrap:wrap;gap:10px}
.manual-curriculum-empty-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;text-decoration:none;font-size:14px}
.manual-curriculum-status{margin:-4px 0 14px;color:var(--text-muted);font-size:13px;line-height:1.45}
.manual-curriculum-status:empty{display:none}
.manual-curriculum-empty-actions .btn-secondary{border:1px solid var(--bg-elev-2)}
/* Local events opened from a day: that day's events sit under its own heading. */
.weekly-event-day-heading{margin:6px 2px 2px}
.weekly-event-day-heading h3{margin:0;color:var(--text);font-size:14px;font-weight:700;letter-spacing:.01em}
.weekly-event-day-heading p{margin:2px 0 0;color:var(--text-muted);font-size:12px}
/* Status text (errors, saved, warnings, "why" lines) in light mode. styles.css uses these tokens with its
   original pastel as the fallback, which is what dark mode and unthemed pages keep. */
:root[data-hh-scheme="paper-sage"]{--hh-ink-danger:#a3271b;--hh-ink-success:#2b6624;--hh-ink-warning:#7a4904;--hh-ink-highlight:#7d4f0e}
html[data-hh-scheme="paper-sage"] .yesterday-carryover-actions .yesterday-carryover-complete{border-color:color-mix(in srgb,var(--hh-ink-success) 45%,transparent);background:color-mix(in srgb,var(--hh-ink-success) 7%,var(--bg-elev))}
/* Faint hourly grid lines in the day and week views (Derek, October 6). Event cards are opaque and
   stacked above (z-index 2), so a line never shows through an event. */
:root[data-hh-scheme="paper-sage"]{--hh-hour-line:rgba(48,61,42,.10)}
:root[data-hh-scheme="midnight-teal"]{--hh-hour-line:rgba(228,242,238,.08)}
html[data-hh-scheme] .schedule-hour-row{border-top:1px solid var(--hh-hour-line)!important}
html[data-hh-scheme] .schedule-hour-row:first-child{border-top-color:transparent!important}
html[data-hh-scheme] .week-calendar-lane{background-image:repeating-linear-gradient(to bottom,var(--hh-hour-line) 0 1px,transparent 1px 80px)}
/* Dark theme too: plain ("Other") events use the themed card instead of the old near-black brown. */
html[data-hh-scheme="midnight-teal"] .week-calendar-event:is(:not([data-calendar-kind]),[data-calendar-kind="other"]){background:var(--bg-elev);border-color:var(--bg-elev-2);color:var(--text)}
/* Header rows swapped (Derek, October 6): the title row carries the view's own tools, the second row the
   child filters and Today · date · Day/Week/Month, which therefore sit in the same place in every view. */
html[data-hh-layout="desktop"] .hh-desktop-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
html[data-hh-layout="desktop"] .hh-desktop-title-row h1{flex:0 0 auto;margin-right:auto}
html[data-hh-layout="desktop"] .hh-desktop-title-row .hh-desktop-theme-slot:not(:empty){flex:1 1 320px;max-width:480px;margin:0}
html[data-hh-layout="desktop"] .hh-desktop-title-row .hh-desktop-actions{flex:0 0 auto;justify-content:flex-end}
html[data-hh-layout="desktop"] .hh-desktop-control-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
html[data-hh-layout="desktop"] .hh-desktop-control-row .hh-desktop-views{margin-left:auto;justify-content:flex-end}
/* Discover → Videos (October 6, 2026): where each video plays, at the right of its card. Kids Videos show the
   YouTube icon; Movie Night documentaries show up to three service logos (the variant drawn for the current
   scheme, each on a chip of its own background) or the service's name. Phones get 44px targets. */
.weekly-resource-card.weekly-resource-card--service{grid-template-columns:auto minmax(0,1fr) auto}
.weekly-resource-service{display:flex;flex-direction:column;align-items:flex-end;gap:5px;align-self:start;min-width:28px;max-width:76px}
.weekly-resource-service svg{display:block;width:28px;height:20px}
.weekly-resource-service-logo{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:26px;max-width:76px;padding:3px 7px;border:1px solid var(--bg-elev-2);border-radius:6px}
.weekly-resource-service-logo img{display:block;width:auto;height:auto;max-width:60px;max-height:18px;object-fit:contain}
.weekly-resource-service-logo[data-logo-variant="dark"]{background:#11181c;border-color:#11181c}
.weekly-resource-service-logo[data-logo-variant="light"]{background:#fff;border-color:#d9dcd5}
html[data-hh-scheme="paper-sage"] .weekly-resource-service-logo[data-logo-pair][data-logo-variant="dark"],html:not([data-hh-scheme="paper-sage"]) .weekly-resource-service-logo[data-logo-pair][data-logo-variant="light"]{display:none}
.weekly-resource-service-logo.is-text{height:auto;min-height:24px;color:var(--text);background:var(--bg);font-size:11px;font-weight:700;line-height:1.2;text-align:right;overflow-wrap:anywhere}
.weekly-resource-service-more{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:22px;padding:2px 6px;border:1px solid var(--bg-elev-2);border-radius:999px;color:var(--text);background:var(--bg);font-size:11px;font-weight:700}
.weekly-resource-card-thumb.weekly-resource-poster{height:87px;object-fit:cover}
.weekly-resource-rating-note{margin:7px 0 0;color:var(--hh-ink-warning,#f2c97d);font-size:12px;font-weight:700;line-height:1.35}
.weekly-video-group-heading{margin:2px 0 10px}
.weekly-video-group-heading:not(:first-child){margin-top:18px}
.weekly-video-group-heading h3{margin:0;color:var(--text);font-size:15px;line-height:1.3}
.weekly-video-group-heading p,.weekly-video-group-empty{margin:3px 0 0;color:var(--text-muted);font-size:12px;line-height:1.45}
.weekly-video-group-empty{margin:0 0 10px}
.weekly-video-attribution{margin:12px 0 4px;color:var(--text-muted);font-size:12px;line-height:1.45}
.weekly-video-attribution a{color:var(--hh-accent-ink,var(--accent));text-decoration:underline;text-underline-offset:2px}
.resource-documentary-facts{margin:0 0 6px;color:var(--text);font-weight:700}
.resource-documentary-services h3{margin:14px 0 6px;font-size:14px}
.resource-documentary-services ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.resource-documentary-services li{display:flex;align-items:center;gap:10px;min-height:32px}
.resource-documentary-service-name{color:var(--text);font-weight:700}
.resource-documentary-service-kind{margin-left:auto;color:var(--text-muted);font-size:12px}
.resource-documentary-services>p{margin:8px 0 0;color:var(--text-muted);font-size:12px;line-height:1.45}
.resource-documentary-facts~.resource-detail-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;font-size:13px}
html[data-hh-layout="mobile"] .weekly-video-shelf .weekly-resource-actions :is(a,button){min-height:44px;padding:8px 14px;font-size:12px}
html[data-hh-layout="mobile"] .weekly-video-attribution a{display:inline-flex;align-items:center;min-height:44px}
/* Header v3 (Derek, October 7): every tool for the view sits at the right of the title row; the weekly theme sits
   between the child filters and the date controls. Where the theme can't fit there it takes its own line below,
   so filters and date controls never move between Day, Week and Month. */
html[data-hh-layout="desktop"] #hh-desktop-planner-header .hh-desktop-title-row .hh-desktop-actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
html[data-hh-layout="desktop"] #hh-desktop-planner-header .hh-desktop-control-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"filters . views" "theme theme theme";align-items:center;gap:0 16px}
html[data-hh-layout="desktop"] #hh-desktop-planner-header .hh-desktop-control-row>.hh-desktop-filters{grid-area:filters;padding-top:0}
html[data-hh-layout="desktop"] #hh-desktop-planner-header .hh-desktop-control-row>.hh-desktop-views{grid-area:views;justify-self:end;margin-left:0;padding-top:0}
html[data-hh-layout="desktop"] #hh-desktop-planner-header .hh-desktop-control-row>.hh-desktop-theme-slot{grid-area:theme;justify-self:start;width:100%;max-width:520px;margin:10px 0 0;flex:none}
@media (min-width:1500px){
  html[data-hh-layout="desktop"] #hh-desktop-planner-header .hh-desktop-control-row{grid-template-areas:"filters theme views"}
  html[data-hh-layout="desktop"] #hh-desktop-planner-header .hh-desktop-control-row>.hh-desktop-theme-slot{justify-self:center;margin:0}
}
/* Guided tour in the app's own colors in light and dark, instead of the original amber theme (Derek, October 7). */
html[data-hh-scheme] .guided-tour-spotlight{border-color:var(--accent);box-shadow:0 0 0 9999px rgba(9,14,12,.55),0 0 0 6px color-mix(in srgb,var(--accent) 30%,transparent)}
html[data-hh-scheme] .guided-tour-bubble{border-color:var(--accent);background:var(--bg-elev);color:var(--text);box-shadow:0 18px 50px rgba(0,0,0,.28)}
html[data-hh-scheme] .guided-tour-progress{background:var(--bg-elev-2)}
html[data-hh-scheme] .guided-tour-progress span{background:var(--accent)}
html[data-hh-scheme] :is(.guided-tour-count,.guided-tour-bubble #guided-tour-body){color:var(--text-muted)}
html[data-hh-scheme] .guided-tour-name{color:var(--hh-accent-ink,var(--accent))}
html[data-hh-scheme] .guided-tour-bubble h2{color:var(--text)}
html[data-hh-scheme] :is(.guided-tour-close,.guided-tour-availability,.guided-tour-actions button){border-color:var(--bg-elev-2);background:var(--bg);color:var(--text)}
html[data-hh-scheme] .guided-tour-actions .guided-tour-end{border-color:transparent;background:transparent;color:var(--text-muted)}
html[data-hh-scheme] .guided-tour-actions .guided-tour-next{border-color:var(--accent);background:var(--accent);color:var(--hh-on-accent)}
html[data-hh-scheme] :is(.guided-tour-actions button,.guided-tour-close):focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent)}
/* Moving between pages keeps the header and sidebar still while only the main panel changes, in browsers
   that support cross-page view transitions (Chrome and Edge today); others load pages as before. */
@view-transition{navigation:auto}
.hh-sidebar{view-transition-name:hh-sidebar}
.hh-app-header{view-transition-name:hh-app-header}
::view-transition-group(hh-sidebar),::view-transition-group(hh-app-header){animation-duration:0s}
::view-transition-old(root),::view-transition-new(root){animation-duration:.12s}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
/* The + sits clear of the calendar's own scrollbar, low in the corner (Derek, October 7). */
html[data-hh-layout="desktop"] .calendar-add-event-fab{bottom:28px;right:calc(58px + env(safe-area-inset-right,0px))}
/* The page body must not be a scroll container: its sideways clipping stopped sticky tab rows from sticking.
   The root element already clips sideways scrolling. Modal and panel scroll locks (body.<state>) still win. */
:where(html[data-hh-scheme]) body{overflow:visible}
