:root{--ink:#253b34;--green:#244f42;--muted:#6f7d76;--border:#e2e7de;--paper:#f6f7f2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b07936;outline-offset:3px}aside{width:248px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--border);padding:36px 24px;display:flex;flex-direction:column}.brand{font-size:30px;color:var(--green);display:flex;gap:11px;text-decoration:none;font-weight:800;letter-spacing:-1px}.brand small{font-size:8px;letter-spacing:2px;display:block;margin-top:7px;font-weight:600}nav{display:grid;gap:10px;margin-top:58px}nav button{background:none;border:0;text-align:left;padding:15px 13px;border-radius:9px;color:#68766e;font-weight:600}nav button.active{background:#edf3e8;color:var(--green)}.aside-note{margin-top:auto;padding:35px 5px;color:#66776c}.aside-note span{font-size:9px;letter-spacing:1.7px}.aside-note p{font-size:13px;line-height:1.7}.plant{font-size:74px;color:#9baa81}.profile{border-top:1px solid var(--border);padding-top:20px}.profile label{font-size:11px;color:var(--muted);display:block;margin-bottom:8px}.profile select{width:100%;padding:11px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--ink)}main{margin-left:248px;padding:32px 44px;max-width:1600px}header{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:1.6px;color:var(--muted);align-items:center}.demo{background:#eaeedf;border-radius:20px;padding:8px 12px;letter-spacing:0;font-size:11px;color:#51653d}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:48px 0 28px}.eyebrow{font-size:10px;letter-spacing:2px;color:#748360}h1{font-family:Manrope,system-ui,sans-serif;font-size:clamp(27px,3.2vw,43px);font-weight:600;letter-spacing:-1.8px;margin:12px 0}h2{font-size:19px;letter-spacing:-.5px;margin:0}h3{font-size:15px;margin:0}.heading p:last-child{color:var(--muted);line-height:1.6}.primary{background:var(--green);color:#fff;border:0;padding:13px 20px;border-radius:8px;white-space:nowrap}.filters{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap}.filters button,.weeknav button{border:1px solid var(--border);background:white;color:var(--muted);padding:9px 15px;border-radius:25px}.filters button.active{background:var(--green);border-color:var(--green);color:white}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.blue{background:#82a6c3}.peach{background:#d3a279}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:25px}.stat{border:1px solid var(--border);background:#fff;padding:20px 23px;border-radius:12px}.stat small{color:var(--muted)}.stat strong{display:block;font-size:32px;margin:9px 0 4px;font-weight:500}.stat span{font-size:12px;color:var(--muted)}.grid{display:grid;grid-template-columns:1.45fr 1fr;gap:23px}.panel{background:white;border:1px solid var(--border);border-radius:14px;padding:25px}.panel-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.panel-top span{font-size:11px;color:var(--muted)}.row{display:flex;gap:15px;padding:19px 0;border-top:1px solid #eff1eb;align-items:flex-start}.time{min-width:56px;font-weight:600;font-size:14px}.time small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.row-body{flex:1}.row p{color:var(--muted);margin:7px 0 9px;font-size:12px;line-height:1.6}.tag{display:inline-block;background:#eaf0f6;color:#45687f;padding:4px 8px;border-radius:5px;font-size:10px;margin-right:5px}.tag.c2{background:#f8eee3;color:#8b6240}.tag.all{background:#edf2e5;color:#5e7248}.source{font-size:10px;color:#758176}.check{appearance:none;flex-shrink:0;width:21px;height:21px;border:1.5px solid #b6c2b3;border-radius:6px;margin:0;cursor:pointer}.check:checked{background:var(--green);border-color:var(--green)}.check:checked:after{content:'✓';color:white;display:block;text-align:center}.done h3{text-decoration:line-through;color:#8e998e}.prep{background:#eaf0de;border:0;margin-top:20px}.prep p{line-height:1.8;font-size:13px;color:#58694a}.link{border:0;background:none;color:var(--green);padding:0;font-size:12px;text-decoration:underline}.empty{color:var(--muted);padding:25px 0;line-height:1.8}.weeknav{display:flex;align-items:center;gap:16px;margin-bottom:22px}.weekgrid{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:10px;overflow-x:auto}.day{min-height:250px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:12px}.day>h3{font-size:11px;text-transform:uppercase;color:var(--muted);margin-bottom:20px}.day>h3 strong{display:block;font-size:25px;color:var(--ink);margin-top:8px}.event{border-left:3px solid #86a7bd;background:#f0f4f8;border-radius:5px;padding:10px 8px;margin-bottom:10px;font-size:11px;line-height:1.6}.event.c2{background:#f9f1e8;border-color:#c99d72}.event.all{background:#eef3e6;border-color:#98ae77}.event b{display:block}.event small{display:block;color:#657265}.source-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.channel p{line-height:1.7;color:var(--muted)}.badge{display:inline-block;background:#f0f1eb;padding:5px 8px;font-size:10px;border-radius:4px;margin-top:10px}.notice{background:#f1eddf;color:#6e654a;padding:15px 20px;border-radius:10px;margin-bottom:20px;line-height:1.7;font-size:12px}.approve{border:1px solid var(--border);padding:6px 9px;background:#fff;border-radius:5px;color:var(--green)}footer{font-size:10px;color:var(--muted);margin:28px 0}dialog{border:0;border-radius:16px;padding:28px;max-width:500px;width:calc(100% - 30px);color:var(--ink);box-shadow:0 20px 90px #203c3433}dialog::backdrop{background:#17362a66}dialog label{display:grid;gap:7px;margin:15px 0;font-size:12px}dialog input,dialog select{border:1px solid #cfd7cb;padding:11px;border-radius:6px;min-width:0;width:100%;background:white;color:var(--ink)}.modal-top{display:flex;justify-content:space-between;align-items:center}.modal-top button{background:none;border:0;font-size:25px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.muted{color:var(--muted);font-size:11px;line-height:1.6}#toast{position:fixed;bottom:24px;right:24px;background:var(--green);color:white;padding:13px 20px;border-radius:10px;display:none;z-index:10}@media(min-width:1450px){main{margin-right:auto}}@media(max-width:1000px){aside{width:200px;padding:25px 17px}main{margin-left:200px;padding:25px}.grid{grid-template-columns:1fr}.heading{align-items:flex-start}.heading .primary{margin-top:22px}}@media(max-width:680px){aside{position:static;width:auto;padding:18px;border:0}.brand{font-size:25px}.brand small{font-size:7px}nav{display:flex;overflow-x:auto;margin-top:20px;gap:4px}nav button{white-space:nowrap;padding:10px;font-size:12px}.aside-note{display:none}.profile{display:flex;align-items:center;gap:12px;padding-top:12px;margin-top:8px}.profile label{white-space:nowrap;margin:0}.profile select{padding:8px}main{margin:0;padding:22px 18px}header{font-size:8px}.heading{margin-top:25px;display:block}.heading .primary{margin:10px 0}.stats{gap:8px}.stat{padding:14px 10px}.stat strong{font-size:27px}.stat span{font-size:10px}.panel{padding:19px}.source-grid{grid-template-columns:1fr}.demo{font-size:9px}.weekgrid{grid-template-columns:repeat(7,145px)}h1{letter-spacing:-1px}}
[hidden]{display:none!important}

.family-setup{margin-bottom:20px}.family-setup p{line-height:1.8}.family-setup a{color:var(--green)}

.auth-pending main,.auth-pending aside{visibility:hidden}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{max-width:460px;width:100%;padding:35px;background:white;border:1px solid var(--border);border-radius:18px}.login-card .brand{margin-bottom:45px}.login-card h1{font-size:32px}.login-card form label{display:grid;gap:7px;margin:20px 0;font-size:13px}.login-card input{padding:12px;border:1px solid #cfd7cb;border-radius:7px;width:100%;color:var(--ink);background:white}.login-card .primary{width:100%}button:disabled{opacity:.5;cursor:wait}[role=alert]{color:#9b3224;font-size:13px}.account-entry{padding:12px 0;border-bottom:1px solid var(--border)}.profile #accountName{font-weight:700}.profile #accountRole{margin-top:5px}

.pending-panel{margin-top:22px}

.school-grid{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;overflow-x:auto}.school-child h2{font-size:15px}.school-child+.school-child{margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.schedule-warning{font-size:11px;color:#7c4b19;background:#fff4dc;padding:6px;border-radius:4px}.school-summary{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid var(--border)}.school-summary span{color:var(--muted)}.school-lesson p{margin:7px 0 0}.school-grid .day{min-height:0}.school-grid .day>h3{margin-bottom:12px}

.tomorrow-panel{margin-bottom:24px}.tomorrow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}.tomorrow-child{background:#f3f6fa;border-radius:10px;padding:20px}.tomorrow-child.c2{background:#fbf5ee}.tomorrow-child h3{font-size:20px}.tomorrow-child h4{margin:22px 0 8px;font-size:13px}.school-times{display:flex;gap:35px;margin:18px 0 12px}.school-times small{display:block;color:var(--muted);font-size:11px}.school-times strong{display:block;font-size:26px;font-weight:600;margin-top:4px}.tomorrow-child summary{cursor:pointer;color:var(--green);padding:10px 0;font-size:12px}.tomorrow-child summary:focus-visible{outline:3px solid #b07936;outline-offset:3px}.packing-note{background:#eaf0de;padding:12px 15px;border-radius:8px;margin-top:15px;font-size:12px}.packing-note p{line-height:1.7;margin:5px 0 0}

.mail-entry{padding:22px 0;border-bottom:1px solid #e1e5dc}.mail-links a{overflow-wrap:anywhere}.mail-actions{display:flex;gap:12px;flex-wrap:wrap}.mail-choice{display:flex;gap:10px;align-items:flex-start}.mail-choice input{width:auto;flex:none}.mail-text{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.6}.mail-entry button{margin:6px 5px 0 0}#mailOriginal{width:min(800px,94vw)}

.task-priority{margin:0 6px 8px 0}.task-priority.urgent{background:#fff0db;color:#713e0b}.row-body>button[data-edit]{margin-left:10px}

.priority-hint{font-weight:600;color:#245144}.event .task-priority{display:inline-block;margin-top:8px}

/* Everyday dashboard: planning first, details on demand. */
.dashboard-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;margin-bottom:24px}.dashboard-grid>.panel,.dashboard-grid>div>.panel{height:100%}.dashboard-grid .panel-top h2{font-size:22px}.item-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.due-date{font-size:12px;font-weight:700;color:var(--green)}.row-body h3{font-size:17px;line-height:1.45}.row .item-note{font-size:14px;color:#43584e;margin:8px 0;line-height:1.65}.row .action-label{font-size:12px;font-weight:600;margin:5px 0;color:#746041}.item-edit{min-height:36px;padding:8px 0;margin:0!important}.item-details summary{font-size:12px;color:var(--muted);cursor:pointer;padding:6px 0}.item-details p.source{font-size:12px}.row .tag{font-size:12px;padding:4px 9px}.check{width:28px;height:28px;margin-top:3px}.check:checked:after{line-height:25px}.check:disabled{cursor:default}.time{font-size:16px;min-width:65px}.time small{font-size:12px}.section-link{display:inline-block;min-height:44px;padding:14px 0 4px;font-size:14px;font-weight:600}.past-reminder{padding:12px 14px;background:#fff4dc;color:#6d4a21;border-radius:8px;margin-top:12px;line-height:1.6}.school-preview{margin-top:20px}.preview-date{margin-top:-10px;font-size:13px}.day-toggle{display:flex;gap:6px}.day-toggle button{border:1px solid var(--border);border-radius:20px;background:white;padding:10px 14px;min-height:44px;color:var(--green)}.day-toggle button[aria-pressed=true]{background:var(--green);color:white}.tomorrow-child .school-times{margin:14px 0}.tomorrow-child .school-times strong{font-size:28px}.tomorrow-child .school-times small{font-size:12px}.tomorrow-child summary{font-size:13px;min-height:44px}.packing-note{font-size:14px}.completed-panel{margin-top:22px}summary{cursor:pointer}summary:focus-visible{outline:3px solid #b07936;outline-offset:3px}.completed-panel summary{min-height:44px;padding:10px 0;font-size:15px;font-weight:600}.lesson-details summary{font-size:10px;color:var(--muted);padding:4px 0}.lesson-details small{overflow-wrap:anywhere}.schedule-info{margin-bottom:20px}.schedule-info>summary{font-size:14px;min-height:44px;padding:10px 0}.weekgrid{grid-template-columns:repeat(auto-fit,minmax(225px,1fr));overflow:visible;gap:16px}.weekgrid .day{min-height:0;padding:18px}.weekgrid .day>h3{display:flex;gap:12px;align-items:center;font-size:14px;margin-bottom:14px}.weekgrid .day>h3 strong{font-size:22px;margin:0}.weekgrid .day.is-today{border:2px solid var(--green)}.week-lessons{margin:0 0 16px}.week-lessons>summary{font-size:13px;color:var(--green);min-height:44px;padding:12px 0}.weekgrid .event{font-size:13px;padding:13px;overflow-wrap:anywhere}.weekgrid .event b{font-size:15px;line-height:1.5}.weekgrid .priority-hint{display:none}.weekgrid .task-priority{font-size:11px}.connection-group{margin-bottom:18px}.connection-group>summary{min-height:48px;padding:10px 0}.connection-group>summary strong{font-size:18px;margin-right:14px}.connection-group>summary span{font-size:13px;color:var(--muted)}.connection-body{padding-top:20px}.connection-body>.panel{margin-bottom:15px}.heading{margin:30px 0 24px}.panel-top span{font-size:12px}.muted{font-size:12px}.empty{font-size:14px}footer{font-size:12px}.profile .link{min-height:30px}.dashboard-grid details>summary{min-height:40px;padding:10px 0;color:var(--green)}
@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .panel{height:auto}.weekgrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media(max-width:680px){.dashboard-grid{gap:16px}.heading{margin:20px 0}.row{gap:10px;padding:16px 0}.row-body h3{font-size:16px}.time{min-width:52px;font-size:14px}.panel-top{align-items:flex-start}.school-preview>.panel-top{flex-wrap:wrap}.weekgrid{grid-template-columns:1fr}.weeknav{gap:8px;flex-wrap:wrap}.weeknav strong{font-size:14px}nav button{min-height:44px}.filters button{min-height:44px}.school-times{gap:28px}.school-preview .tomorrow-child{padding:17px}.source-grid{grid-template-columns:1fr}.link{font-size:13px}.item-edit{min-height:44px}dialog .form-grid{grid-template-columns:1fr}}
.profile>summary{cursor:pointer;min-height:44px;padding:10px 0}.profile #accountRole{display:block;line-height:1.6}.profile-actions{padding:8px 0}.profile-actions .link{min-height:40px}
@media(max-width:680px){nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:visible;margin-top:14px}nav button{text-align:center;white-space:normal;font-size:12px;padding:10px 5px;line-height:1.4}.profile{display:block;padding-top:0;margin-top:10px;border-top:0}.profile>summary{font-size:12px;min-height:32px;padding:6px 0}.profile #accountRole{display:none}.profile-actions{display:flex;flex-wrap:wrap;gap:12px}main>header{display:none}.heading{margin:8px 0 18px}.heading h1{font-size:29px;line-height:1.2}.heading .eyebrow{margin-top:0}.heading .primary{min-height:44px}aside{padding-bottom:6px}.check{width:36px;height:36px}.check:checked:after{line-height:33px}.dashboard-grid .panel-top{flex-wrap:wrap}}
.navigation>summary{display:none}.quick-nav{display:none}#today-tasks,#today-activities,#today-school{scroll-margin-top:20px}
@media(max-width:680px){.navigation>summary{display:list-item;min-height:40px;padding:10px 0;color:var(--green);font-weight:600;font-size:13px}.navigation nav{margin-top:4px}.filters button{padding:9px 12px;font-size:13px}.heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.heading h1{font-size:26px;letter-spacing:-.8px;margin:8px 0}.heading #subtitle{font-size:12px;line-height:1.5;margin:5px 0}.heading .primary{margin:0;padding:12px}.quick-nav{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px}.quick-nav a{display:block;padding:12px 10px;border-radius:8px;background:#eaf0e5;color:var(--green);font-size:13px;text-decoration:none;min-height:44px}.filters{margin-bottom:16px}.profile{margin-top:0}}
.week-task-control{display:flex;gap:10px;align-items:center;margin:12px 0 4px;min-height:44px;font-size:12px;font-weight:600}.week-task-control .check{margin:0;width:28px;height:28px}

/* Keep account actions reachable on short screens. */
aside{overflow-y:auto}aside>*{flex-shrink:0}.profile-actions{display:grid;gap:4px}.profile-actions p{margin:0}.profile-actions .link{text-align:left;min-height:44px}.profile #logout{font-weight:700}.profile #accounts{order:1}.profile-actions p{order:2}
@media(min-width:681px) and (max-height:900px){.aside-note{padding:20px 5px}.plant{display:none}}
@media(max-width:680px){.profile-actions{display:flex;flex-wrap:wrap;gap:12px}}

.invite-adult{padding:18px 0;margin:18px 0;border-bottom:1px solid var(--border)}.invite-adult h3{margin:0}.invite-adult p{line-height:1.6;font-size:14px}

.activity-resources{display:flex;flex-wrap:wrap;gap:8px;font-size:0}.activity-resources a{font-size:13px;display:inline-block;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#eef3e9;text-decoration:none;overflow-wrap:anywhere;max-width:100%;line-height:1.5}

.assignment-instructions{margin:14px 0;border:1px solid var(--border);border-radius:10px;background:#f8faf5;padding:0 14px}.assignment-instructions>summary{font-weight:700;font-size:14px;min-height:48px;padding:14px 0;color:var(--green)}.assignment-text{white-space:pre-wrap;font-size:14px;line-height:1.8;color:var(--ink);overflow-wrap:anywhere}.assignment-instructions .muted{font-size:11px}
