:root{color:#1f2523;background:#f3f1ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:radial-gradient(circle at 100% 0,#ffffffe6,#0000 28%),linear-gradient(#f7f5f0 0%,#efede7 100%);min-height:100%;margin:0}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.board{max-width:1800px;min-height:100vh;margin:0 auto;padding:22px}.topbar{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px;display:flex}.eyebrow,.sectionEyebrow{letter-spacing:.18em;opacity:.5;font-size:11px;font-weight:800}h1{letter-spacing:-.03em;margin:5px 0 0;font-size:clamp(28px,3vw,42px);line-height:1}.topActions{align-items:center;gap:10px;display:flex}.topActions form{margin:0}.clock{letter-spacing:-.04em;font-size:clamp(30px,3.5vw,48px);font-weight:800}.modeButton,.logoutButton,.textButton,.taskComposer button,.groceryComposer button,.mobileComposer button,.weekNav button,.personFilter button{cursor:pointer;border:0;border-radius:999px;padding:10px 15px}.modeButton,.taskComposer button,.groceryComposer button,.mobileComposer button{color:#fff;background:#1f2523}.logoutButton{color:#1f2523;background:#e8e5dd}.textButton{color:#1f2523;background:0 0;padding:8px 0;font-weight:700}.notice{background:#fff3c7;border-radius:14px;margin-bottom:12px;padding:11px 14px;font-size:14px}.errorNotice{background:#ffe0dc}.toolbar{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:14px;display:grid}.weekNav,.personFilter{flex-wrap:wrap;gap:7px;display:flex}.weekNav button,.personFilter button{color:#1f2523;background:#ebe8e1}.personFilter .activeFilter{color:#fff;background:#1f2523}.weekLabel{text-align:center;font-size:14px;font-weight:800}.card{background:#fffffff0;border:1px solid #1f25230f;border-radius:22px;padding:17px;box-shadow:0 12px 32px #1f25230f}.cardHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.cardTitle{letter-spacing:-.02em;font-size:20px;font-weight:850}.syncText{opacity:.45;font-size:11px}.heroGrid{grid-template-columns:minmax(0,2.5fr) minmax(300px,.8fr);gap:14px;margin-bottom:14px;display:grid}.rightRail{align-content:start;gap:14px;display:grid}.week{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;min-height:430px;display:grid}.day{background:#f7f6f2;border-radius:16px;min-width:0;padding:9px}.todayColumn{box-shadow:inset 0 0 0 2px #1f2523}.dayHead{border-bottom:1px solid #1f252314;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.dayHead span{text-transform:uppercase;letter-spacing:.1em;opacity:.55;font-size:10px;font-weight:800}.dayHead strong{font-size:20px}.dayEvents{gap:7px;margin-top:8px;display:grid}.event{background:#fff;border-left:4px solid;border-radius:11px;gap:2px;padding:8px;display:grid;overflow:hidden}.event b{opacity:.58;font-size:9px}.event span{font-size:12px;font-weight:700;line-height:1.2}.event small,.agendaRow small,.taskText small{opacity:.5;font-size:10px;display:block}.person-enoch{color:#375d92;background:#eaf1fb}.person-wendy{color:#9b4d78;background:#f8eaf2}.person-solomon{color:#4e7d49;background:#ebf5e9}.person-family{color:#806125;background:#f7f0df}.stackList{gap:10px;display:grid}.agendaRow{border-bottom:1px solid #1f252312;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:10px;padding-bottom:9px;display:grid}.agendaRow:last-child{border-bottom:0;padding-bottom:0}.agendaRow strong{font-size:12px}.agendaRow span{font-size:13px;font-weight:700}.weatherHero{justify-content:space-between;align-items:center;min-height:95px;display:flex}.weatherTemp{letter-spacing:-.05em;font-size:44px;font-weight:850}.weatherLabel{font-weight:700}.weatherIcon{font-size:46px}.forecastRow{grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px;display:grid}.forecastDay{text-align:center;background:#f7f6f2;border-radius:12px;gap:3px;padding:8px;display:grid}.forecastDay span{font-size:20px}.forecastDay small{opacity:.55;font-size:9px}.bottomGrid{grid-template-columns:1.2fr 1fr;gap:14px;display:grid}.taskComposer{grid-template-columns:1fr auto auto auto;gap:8px;margin-bottom:12px;display:grid}.groceryComposer{grid-template-columns:1fr 90px 120px auto;gap:8px;margin-bottom:12px;display:grid}.taskComposer input,.taskComposer select,.groceryComposer input,.mobileComposer input,.mobileComposer select{background:#faf9f6;border:1px solid #1f25231f;border-radius:12px;width:100%;padding:10px 12px}.taskGrid{gap:8px;display:grid}.taskItem{text-align:left;cursor:pointer;background:#f7f6f2;border:0;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.checkCircle{border:2px solid #1f252340;border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;display:grid}.taskText{gap:2px;display:grid}.completed{opacity:.45;text-decoration:line-through}.groceryWrap{flex-wrap:wrap;gap:8px;display:flex}.groceryChip{cursor:pointer;background:#f1f0ec;border:0;border-radius:999px;padding:9px 12px}.muted,.empty{opacity:.42}.footer{opacity:.38;justify-content:space-between;gap:14px;padding:12px 4px 0;font-size:10px;display:flex}.mobileDashboard{display:none}.loginShell{place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{background:#fffffff5;border:1px solid #1f25230f;border-radius:28px;width:min(440px,100%);padding:32px;box-shadow:0 20px 60px #1f25231a}.loginMark{color:#fff;letter-spacing:.18em;background:#1f2523;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;display:inline-flex}.loginTitle{margin:18px 0 8px;font-size:38px}.loginSubtitle{opacity:.6;margin:0 0 24px}.loginForm{gap:14px;display:grid}.loginForm label{gap:7px;font-size:13px;font-weight:700;display:grid}.loginForm input{background:#faf9f6;border:1px solid #1f252326;border-radius:14px;padding:13px 14px}.primaryButton,.secondaryButton{cursor:pointer;border:0;border-radius:14px;padding:13px 16px;font-weight:800}.primaryButton{color:#fff;background:#1f2523}.secondaryButton{color:#1f2523;background:#ece9e2;width:100%;margin-top:10px}.loginMessage{background:#f5f1e5;border-radius:12px;margin-top:14px;padding:11px 12px;font-size:13px}@media (max-width:1100px){.heroGrid{grid-template-columns:1fr}.rightRail{grid-template-columns:1fr 1fr}.toolbar{grid-template-columns:1fr}.weekLabel{text-align:left}}@media (max-width:760px){.board{padding:12px}.topbar,.toolbar,.desktopDashboard,.footer{display:none}.mobileDashboard{gap:12px;display:grid}.mobileHero{justify-content:space-between;align-items:center;display:flex}.mobileDate{margin-top:4px;font-size:28px;font-weight:850}.mobileWeather{align-items:center;gap:8px;font-size:32px;display:flex}.mobileWeather strong{font-size:30px}.mobileAgendaRow{border-bottom:1px solid #1f252312;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:10px 0;display:grid}.mobileAgendaRow:last-child{border-bottom:0}.mobileAgendaRow strong,.mobileAgendaRow span,.mobileAgendaRow small{display:block}.mobileAgendaRow small{opacity:.55;margin-bottom:3px;font-size:11px}.mobileAgendaRow strong{font-size:15px}.mobileAgendaRow span{opacity:.5;margin-top:2px;font-size:11px}.personDot{border:0;border-radius:50%;width:11px;height:11px;margin-top:5px}.mobileComposer{gap:8px;margin-bottom:12px;display:grid}.taskItem,.groceryChip{min-height:46px}.mobileSignout{justify-content:center;padding:8px 0 18px;display:flex}}.signedIn{opacity:.55;text-align:right;font-size:12px}.familyEvent{color:#375d92;background:#eaf1fb}.simpleComposer{grid-template-columns:1fr auto auto}.groceryList{gap:8px;margin-top:12px;display:grid}.groceryRow{text-align:left;cursor:pointer;background:#f7f6f2;border:0;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.groceryRow strong,.groceryRow small{display:block}.groceryRow small{opacity:.5;margin-top:2px;font-size:10px}@media (max-width:760px){.board{padding:10px}.topbar{align-items:flex-start;margin-bottom:10px;display:flex!important}.topbar h1,.clock{font-size:24px}.topActions .logoutButton,.topActions form{display:none}.toolbar{grid-template-columns:1fr;gap:8px;display:grid!important}.weekNav{grid-template-columns:1fr 1fr 1fr;display:grid}.weekNav button{padding:10px 6px;font-size:12px}.weekLabel,.signedIn{text-align:left}.heroGrid{grid-template-columns:1fr;display:grid!important}.week{grid-template-columns:1fr;gap:8px;min-height:0;display:grid}.day{padding:10px}.dayHead{justify-content:flex-start;gap:8px}.dayHead span{min-width:36px;font-size:12px}.dayHead strong{font-size:16px}.dayEvents{margin-top:7px}.event{padding:10px}.event b{font-size:11px}.event span{font-size:14px}.rightRail{grid-template-columns:1fr;display:grid}.bottomGrid{grid-template-columns:1fr;display:grid!important}.taskComposer.simpleComposer,.groceryComposer{grid-template-columns:1fr}.footer{display:flex!important}.mobileDashboard{display:none!important}}.addEventCard{margin-bottom:14px}.eventComposer{grid-template-columns:minmax(180px,1.5fr) auto auto auto minmax(140px,1fr) auto auto;align-items:center;gap:8px;display:grid}.eventComposer input,.taskComposer input,.groceryComposer input{background:#faf9f6;border:1px solid #1f25231f;border-radius:12px;width:100%;padding:10px 12px}.eventComposer>button,.alwaysComposer>button{color:#fff;cursor:pointer;background:#1f2523;border:0;border-radius:999px;padding:10px 15px}.allDayToggle{white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.allDayToggle input{width:auto}.appleEvent{color:#59636a;background:#f1f3f4}.familyBoardEvent{color:#375d92;background:#eaf1fb}.eventMeta{justify-content:space-between;align-items:center;gap:6px;margin-top:3px;display:flex}.deleteEventButton{color:inherit;opacity:.55;cursor:pointer;background:0 0;border:0;padding:0;font-size:9px}.alwaysComposer{margin-bottom:12px}.groceryAdd{grid-template-columns:minmax(160px,1fr) 80px 120px auto}@media (max-width:1100px){.eventComposer{grid-template-columns:1fr 1fr 1fr 1fr}}@media (max-width:760px){.addEventCard{margin-bottom:10px}.eventComposer,.taskComposer.alwaysComposer,.groceryComposer.alwaysComposer{grid-template-columns:1fr}.allDayToggle{min-height:42px}.eventMeta{margin-top:6px}.deleteEventButton{font-size:11px}}.compactTopbar{margin-bottom:12px}.primaryAction,.secondaryAction,.dangerButton,.iconButton,.quickAdd button{cursor:pointer;border:0;border-radius:12px;min-height:42px;padding:10px 14px;font-weight:750}.primaryAction,.quickAdd button{color:#fff;background:#1f2523}.secondaryAction{color:#1f2523;background:#ece9e2}.dangerButton{color:#a3342c;background:#fde7e5}.iconButton{background:0 0;padding:4px 10px;font-size:28px;line-height:1}.calendarShell{margin-bottom:14px;padding:14px;overflow:hidden}.calendarShell .fc{--fc-border-color:#1f252317;--fc-button-bg-color:#ebe8e1;--fc-button-border-color:#ebe8e1;--fc-button-text-color:#1f2523;--fc-button-hover-bg-color:#dfdbd1;--fc-button-hover-border-color:#dfdbd1;--fc-button-active-bg-color:#1f2523;--fc-button-active-border-color:#1f2523;--fc-today-bg-color:#375d920f;font-size:13px}.calendarShell .fc .fc-toolbar{gap:10px;margin-bottom:12px}.calendarShell .fc .fc-toolbar-title{font-size:20px;font-weight:850}.calendarShell .fc .fc-button{box-shadow:none;text-transform:none;border-radius:10px;min-height:38px;font-weight:700}.calendarShell .fc .fc-col-header-cell-cushion,.calendarShell .fc .fc-daygrid-day-number,.calendarShell .fc .fc-list-day-text,.calendarShell .fc .fc-list-day-side-text{color:#1f2523;font-weight:700;text-decoration:none}.calendarShell .fc .fc-daygrid-day-frame{min-height:118px}.calendarShell .fc .fc-event{cursor:pointer;border-radius:8px;padding:2px 4px}.calendarShell .fc .fc-daygrid-day{cursor:pointer}.summaryGrid{grid-template-columns:.7fr 1.15fr 1.15fr;gap:14px;display:grid}.quickAdd{gap:8px;margin:12px 0;display:grid}.taskQuickAdd{grid-template-columns:minmax(140px,1fr) auto auto}.groceryQuickAdd{grid-template-columns:minmax(140px,1fr) 80px 150px auto}.quickAdd input,.quickAdd select,.eventForm input,.eventForm textarea{background:#faf9f6;border:1px solid #1f252324;border-radius:12px;width:100%;min-height:42px;padding:10px 12px}.modalBackdrop{z-index:1000;background:#14181761;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.eventModal{background:#fff;border-radius:24px;width:min(560px,100%);max-height:90vh;padding:20px;overflow:auto;box-shadow:0 24px 70px #0000002e}.modalHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.modalTitle{letter-spacing:-.02em;font-size:24px;font-weight:850}.eventForm{gap:12px;display:grid}.eventForm label{gap:6px;font-size:12px;font-weight:750;display:grid}.formRow{grid-template-columns:1fr 1fr;gap:10px;display:grid}.checkboxLabel{align-self:end;align-items:center;min-height:42px;gap:8px!important;display:flex!important}.checkboxLabel input{width:auto;min-height:auto}.createdBy{opacity:.55;font-size:11px}.modalActions{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.modalActionsRight{gap:8px;margin-left:auto;display:flex}.appleDetails{gap:10px;font-size:14px;display:grid}@media (max-width:1000px){.summaryGrid{grid-template-columns:1fr 1fr}.summaryGrid>:first-child{grid-column:span 2}}@media (max-width:760px){.topbar{display:flex!important}.topActions{gap:6px}.topActions .clock{width:auto}.calendarShell{padding:8px}.calendarShell .fc .fc-toolbar{grid-template-columns:1fr;align-items:stretch;display:grid}.calendarShell .fc .fc-toolbar-chunk{flex-wrap:wrap;justify-content:center;display:flex}.calendarShell .fc .fc-toolbar-title{font-size:18px}.calendarShell .fc .fc-daygrid-day-frame{min-height:92px}.calendarShell .fc .fc-event{font-size:11px}.summaryGrid{grid-template-columns:1fr}.summaryGrid>:first-child{grid-column:auto}.taskQuickAdd,.groceryQuickAdd,.formRow{grid-template-columns:1fr}.modalBackdrop{padding:8px}.eventModal{border-radius:18px;padding:16px}.modalActions{align-items:stretch}.modalActionsRight{grid-template-columns:1fr 1fr;display:grid}.footer{display:flex!important}}.weatherWeekCard{min-width:0}.currentWeatherMini{text-align:right;grid-template-columns:auto auto;align-items:center;gap:0 6px;display:grid}.currentWeatherMini span{grid-row:span 2;font-size:28px}.currentWeatherMini strong{font-size:20px}.currentWeatherMini small{opacity:.55;font-size:10px}.weatherDays{grid-template-columns:repeat(7,minmax(72px,1fr));gap:7px;padding-bottom:2px;display:grid;overflow-x:auto}.weatherDayButton{cursor:pointer;min-height:112px;color:inherit;background:#f7f6f2;border:0;border-radius:14px;align-content:center;justify-items:center;gap:4px;padding:10px 7px;display:grid}.weatherDayButton:hover{background:#eeece6}.weatherDayIcon{font-size:25px}.weatherDayButton small{opacity:.55;font-size:10px}.weatherModal{width:min(680px,100%)}.hourlyForecastScroller{max-height:520px;display:grid;overflow-y:auto}.hourlyForecastRow{border-bottom:1px solid #1f252314;grid-template-columns:70px 36px 55px 1fr 1fr 70px;align-items:center;gap:8px;min-height:48px;font-size:12px;display:grid}.hourlyForecastRow:last-child{border-bottom:0}.hourlyIcon{font-size:20px}.hourlyTemp{font-size:17px;font-weight:850}@media (max-width:760px){.weatherDays{grid-template-columns:repeat(7,92px)}.hourlyForecastRow{grid-template-columns:56px 30px 46px 1fr;gap:6px}.hourlyForecastRow span:nth-child(5),.hourlyForecastRow span:nth-child(6){display:none}}body{color:#202522}.board{max-width:1600px}.card{border:1px solid #1f25230e;box-shadow:0 10px 26px #1f25230b}.calendarShell{padding:18px}.calendarShell .fc{--fc-button-bg-color:#f0eee8;--fc-button-border-color:#f0eee8;--fc-button-text-color:#252b28;--fc-button-hover-bg-color:#e8e5de;--fc-button-hover-border-color:#e8e5de;--fc-button-active-bg-color:#dfe8f3;--fc-button-active-border-color:#dfe8f3;--fc-button-active-text-color:#264d78}.calendarShell .fc .fc-button-primary:not(:disabled).fc-button-active,.calendarShell .fc .fc-button-primary:not(:disabled):active{color:#264d78!important;box-shadow:none!important;background:#dfe8f3!important;border-color:#dfe8f3!important}.calendarShell .fc .fc-button-primary:focus{box-shadow:0 0 0 2px #375d9229!important}.calendarShell .fc .fc-button{color:#252b28!important}.calendarShell .fc .fc-button.fc-button-active{color:#264d78!important}.weatherSection{margin-bottom:14px}.weatherWeekCard{padding:18px}.weatherHeader{align-items:center}.currentWeatherMini{text-align:left;align-items:center;gap:10px;display:flex}.currentWeatherMini>span{font-size:34px}.currentWeatherMini>div{display:grid}.currentWeatherMini strong{font-size:28px;line-height:1}.currentWeatherMini small{opacity:.58;margin-top:3px;font-size:11px}.weatherDays{grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible}.weatherDayButton{background:linear-gradient(#faf9f6 0%,#f4f2ed 100%);border:1px solid #1f25230e;min-height:126px}.weatherDayButton strong{font-size:13px}.weatherDayIcon{margin:2px 0;font-size:30px}.weatherHighLow{font-size:14px;font-weight:850}.weatherHighLow span{opacity:.5;font-weight:700}.listsGrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.summaryGrid{display:none}.taskItem,.groceryRow{transition:background .15s,transform .15s}@media (hover:hover) and (pointer:fine){.taskItem:hover,.groceryRow:hover,.weatherDayButton:hover{background:#efede7}}@media (max-width:980px){.weatherDays{grid-template-columns:repeat(7,110px);overflow-x:auto}.listsGrid{grid-template-columns:1fr}}@media (max-width:760px){.calendarShell{padding:10px}.weatherWeekCard{padding:14px}.weatherHeader{align-items:flex-start}.currentWeatherMini>span{font-size:28px}.currentWeatherMini strong{font-size:23px}.weatherDays{grid-template-columns:repeat(7,96px);overflow-x:auto}.weatherDayButton{min-height:112px}}.taskItemRow,.groceryRowWrap{grid-template-columns:1fr auto;align-items:stretch;gap:8px;display:grid}.taskMainButton,.groceryMainButton{cursor:pointer;text-align:left;background:#f7f6f2;border:0;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:10px;width:100%;padding:10px 12px;display:grid}.groceryMainButton strong,.groceryMainButton small{display:block}.groceryMainButton small{opacity:.5;margin-top:2px;font-size:10px}.rowDeleteButton{color:#9e352d;cursor:pointer;background:#fde9e7;border:0;border-radius:12px;min-width:68px;padding:0 12px;font-size:12px;font-weight:750}.rowDeleteButton:hover{background:#f8d9d6}@media (max-width:760px){.taskItemRow,.groceryRowWrap{grid-template-columns:1fr auto}.rowDeleteButton{min-width:62px;padding:0 9px}}.userIdentity{background:#ffffffb8;border:1px solid #1f252314;border-radius:999px;align-items:center;gap:8px;padding:5px 10px 5px 5px;display:flex}.userAvatar{color:#264d78;background:#dfe8f3;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:850;display:grid}.userIdentityText{line-height:1.05;display:grid}.userIdentityText strong{font-size:12px}.userIdentityText small{opacity:.5;margin-top:3px;font-size:9px}.adminLinkButton{color:#1f2523;background:#ece9e2;border-radius:12px;align-items:center;min-height:42px;padding:9px 12px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.pendingName{background:#f5f3ee;border-radius:12px;margin:16px 0;padding:12px}.adminPage{max-width:1100px;margin:0 auto;padding:24px}.adminHeader{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.adminHeader h1{margin:4px 0 0}.adminBackLink{align-items:center;text-decoration:none;display:inline-flex}.adminGrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.approvalList{gap:8px;margin-top:14px;display:grid}.approvalRow{background:#f7f6f2;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.approvalRow strong,.approvalRow small{display:block}.approvalRow small{opacity:.48;overflow-wrap:anywhere;margin-top:3px;font-size:10px}.approvalActions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}@media (max-width:860px){.adminGrid{grid-template-columns:1fr}.userIdentityText{display:none}.userIdentity{padding-right:5px}}@media (max-width:760px){.topActions{flex-wrap:wrap}.adminLinkButton{min-height:38px;padding:8px 10px}.adminPage{padding:12px}.adminHeader{align-items:flex-start}.approvalRow{grid-template-columns:1fr}.approvalActions{justify-content:flex-start}}
