.family-dashboard{grid-template-columns:226px minmax(0,1fr);min-height:100dvh;display:grid}.family-dashboard .skip-link{z-index:100;background:var(--primary);color:#fff;border-radius:.6rem;padding:.8rem 1rem;position:fixed;top:.5rem;left:1rem;transform:translateY(-200%)}.family-dashboard .skip-link:focus{transform:translateY(0)}.family-dashboard .dashboard-sidebar{background:#f0f2eb;border-right:1px solid #e5e7dd;flex-direction:column;height:100dvh;padding:2rem 1.15rem 1.25rem;display:flex;position:sticky;top:0}.family-dashboard .brand{text-align:left;align-items:center;gap:.7rem;padding:0 .4rem;display:flex}.family-dashboard .brand-mark{color:#416149;place-items:center;width:41px;height:45px;display:grid}.family-dashboard .brand strong{letter-spacing:-.05em;font-size:1.2rem;font-weight:650}.family-dashboard .brand-dot,.family-dashboard .heading-dot{color:#839779}.family-dashboard .desktop-navigation{flex-direction:column;gap:.4rem;margin-top:2rem;display:flex}.family-dashboard .nav-active-dot{background:#53704b;border-radius:50%;width:5px;height:5px;margin-left:auto}.family-dashboard .sidebar-bottom{margin-top:auto;padding-top:2rem}.family-dashboard .connection-status{color:#65725e;align-items:center;gap:.45rem;padding:1rem .9rem 0;font-size:.7rem;display:flex}.family-dashboard .status-dot{background:#ba705e;border-radius:50%;width:6px;height:6px}.family-dashboard .status-dot.connected{background:#7d9b70}.family-dashboard .status-dot.pending{background:#b2ae96}.family-dashboard .dashboard-body{min-width:0}.family-dashboard .dashboard-topbar{border-bottom:1px solid var(--border);background:#fbfbf7;justify-content:space-between;align-items:center;gap:1rem;min-height:82px;padding:1rem clamp(1.5rem,3.6vw,3.5rem);display:flex}.family-dashboard .breadcrumb{color:#65725e;align-items:center;gap:.7rem;font-size:.72rem;display:flex}.family-dashboard .breadcrumb span{color:#4c594b}.family-dashboard .topbar-right{align-items:center;gap:.8rem;display:flex}.family-dashboard .mobile-brand,.family-dashboard .mobile-navigation{display:none}.family-dashboard main{outline:none;max-width:1450px;margin-inline:auto;padding:2.7rem clamp(1.5rem,3.6vw,3.5rem) 1.5rem}.family-dashboard .page-intro{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.family-dashboard .date-eyebrow{color:#64725b;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.55rem;font-size:.7rem;font-weight:550}.family-dashboard h1{letter-spacing:-.045em;font-size:clamp(1.6rem,2.5vw,2.25rem);font-weight:550;line-height:1.3}.family-dashboard .overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;display:grid}.family-dashboard .panel-heading{justify-content:space-between;align-items:center;gap:.7rem;margin-bottom:1.3rem;display:flex}.family-dashboard .panel-title{align-items:center;gap:.65rem;min-width:0;display:flex}.family-dashboard .dashboard-section-heading{letter-spacing:-.015em;font-size:.83rem;font-weight:600}.family-dashboard .module-icon{border-radius:.65rem;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.family-dashboard .sage{color:#7b916e;background:#eaf0e3}.family-dashboard .blue{color:#78969e;background:#eaf1f2}.family-dashboard .peach{color:#b78e6e;background:#f7eae0}.family-dashboard .lavender{color:#a092b1;background:#eeeaf2}.family-dashboard .sand{color:#b59e5a;background:#f4eddc}.family-dashboard .calendar-panel{grid-column:span 2}.family-dashboard .panel-bottom{border-top:1px solid #eeeee6;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.6rem;padding-top:.8rem;display:flex}.family-dashboard .weather-panel{background:#f0f5f3;border-color:#e2eae4;flex-direction:column;display:flex}.family-dashboard .tasks-empty{align-items:center;gap:1rem;min-height:125px;padding-block:.4rem 1rem;display:flex}.family-dashboard .tasks-empty p{color:#65725e;font-size:.7rem;line-height:1.8}.family-dashboard .plate-icon{color:#c8b59a;background:#fcf8f1;border:6px solid #fdfcf8;border-radius:50%;outline:1px solid #eee8db;flex-shrink:0;place-items:center;width:61px;height:61px;display:grid;box-shadow:inset 0 0 0 1px #eee8db}.family-dashboard .empty-check{color:#b9b5c3;border:1px solid #dedee4;border-radius:.55rem;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.family-dashboard .energy-panel{background:#f6f2e8;border-color:#eae3d3;flex-direction:column;display:flex}.family-dashboard .school-strip{grid-column:1/-1;align-items:center;gap:.9rem;display:flex}.family-dashboard .school-strip h2{color:#766581;font-weight:500}.family-dashboard .school-strip p{color:#6b5c78;margin-top:.25rem;font-size:.71rem;line-height:1.7}.family-dashboard .connection-error{color:#aa705f;align-items:center;gap:.4rem;margin-top:1.5rem;display:inline-flex}.family-dashboard .source-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.family-dashboard .source-card{padding:1.6rem}.family-dashboard .source-card-top{align-items:center;gap:.8rem;display:flex}.family-dashboard .source-provider{color:#637158;margin-top:.25rem;font-size:.72rem}.family-dashboard .source-description{color:#637158;max-width:370px;margin-block:1.3rem;font-size:.8rem;line-height:1.9}.family-dashboard [data-slot=collapsible-content]>a{color:#5f724d;text-underline-offset:4px;align-items:center;gap:.3rem;min-height:44px;font-size:.7rem;text-decoration:underline;display:inline-flex}.family-dashboard .feature-detail{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:360px;padding:2.5rem;display:flex}.family-dashboard .large-module-icon{border-radius:1.5rem;place-items:center;width:88px;height:88px;display:grid}.family-dashboard .feature-detail h2{margin-top:.3rem;font-size:1.2rem;font-weight:500}.family-dashboard .feature-detail>p{color:#637158;max-width:420px;font-size:.84rem;line-height:1.9}@media (width>=1650px){.family-dashboard{grid-template-columns:250px minmax(0,1fr)}.family-dashboard .dashboard-sidebar{padding-inline:1.5rem}.family-dashboard main{padding-top:3.5rem}}@media (width<=1150px) and (width>=801px){.family-dashboard{grid-template-columns:195px minmax(0,1fr)}.family-dashboard .dashboard-sidebar{padding-inline:.75rem}.family-dashboard main{padding-inline:1.5rem}.family-dashboard .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-dashboard .calendar-panel{grid-column:1/-1}.family-dashboard .weather-panel{grid-area:2/2/4}.family-dashboard .energy-panel{grid-column:1/-1}.family-dashboard .source-list{grid-template-columns:1fr}}@media (width<=800px){.family-dashboard{display:block}.family-dashboard .dashboard-sidebar,.family-dashboard .breadcrumb{display:none}.family-dashboard .dashboard-topbar{min-height:76px;padding:1rem 1.25rem}.family-dashboard .mobile-brand{white-space:nowrap;color:#476444;flex-shrink:0;align-items:center;gap:.6rem;display:flex}.family-dashboard .mobile-brand>span{letter-spacing:-.05em;color:var(--foreground);font-size:1.12rem;font-weight:650}.family-dashboard .topbar-right{gap:.65rem}.family-dashboard main{padding:2rem 1.25rem calc(6.5rem + env(safe-area-inset-bottom))}.family-dashboard .page-intro{align-items:flex-start;margin-bottom:1.5rem}.family-dashboard h1{font-size:1.85rem}.family-dashboard .date-eyebrow{font-size:.68rem}.family-dashboard .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.family-dashboard .calendar-panel{grid-column:1/-1}.family-dashboard .weather-panel{grid-area:2/2/4}.family-dashboard .energy-panel{grid-column:1/-1}.family-dashboard .school-strip{flex-wrap:wrap;gap:.7rem}.family-dashboard .school-strip>div{flex:1;min-width:190px}.family-dashboard .mobile-navigation{z-index:20;padding:.55rem .5rem calc(.55rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfcf7f5;border-top:1px solid #e2e6d9;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.family-dashboard .source-list{grid-template-columns:1fr}.family-dashboard .source-card{padding:1.3rem}}@media (width<=520px){.family-dashboard .overview-grid{grid-template-columns:minmax(0,1fr)}.family-dashboard .calendar-panel,.family-dashboard .weather-panel,.family-dashboard .energy-panel{grid-area:auto}.family-dashboard .weather-panel{min-height:290px}.family-dashboard .panel-heading{margin-bottom:1rem}.family-dashboard .tasks-empty{min-height:110px}.family-dashboard .school-strip{grid-column:auto}.family-dashboard .feature-detail{padding:1.6rem}}.family-dashboard .calendar-detail{margin-bottom:1.5rem}.family-dashboard .sources-status{color:var(--muted-foreground);margin-bottom:1.5rem;font-size:.8rem}.family-dashboard .energy-detail{background:#faf8f0;max-width:950px}
