:root{--background:#f5f2e9;--surface:#fffdf8;--surface-strong:#fff;--ink:#1c2d26;--muted:#68756f;--line:#dedfd7;--green:#245943;--green-dark:#173f30;--green-soft:#dce9df;--apricot:#f2b880;--apricot-soft:#fff0df;--warning:#8b5a20;--shadow:0 16px 40px #1c2d2614;--radius-large:28px;--radius-medium:20px;--radius-small:14px}*{box-sizing:border-box}html{background:var(--background);color:var(--ink);scroll-behavior:smooth;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:radial-gradient(circle at 100% 0%, #f2b8802e, transparent 32rem), var(--background);min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--apricot);outline-offset:3px}.pageShell{width:min(100%,1180px);min-height:100vh;margin:0 auto;padding:24px 18px 112px}.weekHeader{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.eyebrow,.introKicker{color:var(--green);letter-spacing:.11em;text-transform:uppercase;margin:0 0 5px;font-size:.75rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:5px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,8vw,3.4rem);font-weight:600;line-height:1}.weekRange{color:var(--muted);margin:0;font-size:.92rem}.familyAvatar{border:2px solid var(--surface-strong);background:var(--green);color:#fff;border-radius:50%;flex:none;place-items:center;width:50px;height:50px;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;display:grid;box-shadow:0 6px 18px #24594333}.weekIntro{border-radius:var(--radius-large);background:linear-gradient(135deg, #ffffff17, transparent 60%), var(--green);box-shadow:var(--shadow);color:#fff;gap:22px;margin-bottom:22px;padding:24px;display:grid;overflow:hidden}.weekIntro .introKicker{color:#c8e0d2}.weekIntro h2{max-width:18ch;margin-bottom:10px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,6vw,2.2rem);font-weight:500;line-height:1.08}.weekIntro p:last-child{color:#dbe9e1;max-width:48ch;margin:0;line-height:1.5}.confirmedActions{gap:9px;display:grid}.confirmedEditButton{border-radius:var(--radius-small);color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff73;min-height:46px;padding:11px 16px;font-weight:750}.confirmedEditButton:hover{background:#ffffff1a}.primaryButton,.secondaryButton,.lockButton,.closeButton{border-radius:var(--radius-small);cursor:pointer;border:0;min-height:46px;font-weight:750}.primaryButton{background:var(--apricot);color:#392514;justify-content:center;align-items:center;gap:9px;width:100%;padding:13px 18px;display:inline-flex;box-shadow:0 8px 20px #14251d2e}.primaryButton:hover{background:#f6c18e}.warningSummary{border-radius:var(--radius-small);color:var(--warning);background:#fff7e9;border:1px solid #e9cfaa;margin:0 0 18px;padding:12px 15px;font-size:.9rem}.successSummary,.errorSummary{border-radius:var(--radius-small);margin:0 0 18px;padding:13px 16px;font-size:.9rem;line-height:1.45}.successSummary{background:var(--green-soft);color:var(--green-dark);border:1px solid #b8d1c1}.undoSummary{justify-content:space-between;align-items:center;gap:12px;display:flex}.undoSummary button{min-height:40px;color:var(--green-dark);cursor:pointer;background:#fff;border:1px solid #9fbaa8;border-radius:10px;padding:7px 12px;font-weight:800}.errorSummary{color:#7d2e1e;background:#fff0eb;border:1px solid #e3b9ab}.weekSwitcher{text-align:center;grid-template-columns:46px 1fr 46px;align-items:center;gap:10px;margin:-7px 0 20px;display:grid}.weekSwitcher a{border:1px solid var(--line);background:var(--surface);width:46px;height:46px;color:var(--green);border-radius:50%;place-items:center;font-size:1.2rem;text-decoration:none;display:grid}.weekSwitcher span{color:var(--muted);font-size:.86rem;font-weight:700}.daysList{gap:16px;display:grid}.dayCard{border-radius:var(--radius-large);background:#fffdf8e0;border:1px solid #dedfd7cc;padding:20px;box-shadow:0 8px 24px #1c2d260d}.dayHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:14px;display:flex}.dayHeader h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:600}.dayHeader time{color:var(--muted);font-size:.86rem;font-weight:650}.dayMeals{display:grid}.mealCard{padding:19px 0 4px}.mealCard+.mealCard{border-top:1px dashed var(--line);margin-top:15px}.mealMeta{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:.78rem;font-weight:650;display:flex}.mealTime{color:var(--green);letter-spacing:.06em;text-transform:uppercase;font-weight:850}.mealCard h3{margin-bottom:7px;font-size:1.04rem;line-height:1.28}.mealCard p{min-height:2.7em;color:var(--muted);margin-bottom:16px;font-size:.88rem;line-height:1.5}.mealActions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mealActions.threeActions{grid-template-columns:1fr 1fr}.mealActions.threeActions .moreButton{grid-column:1/-1}.secondaryButton,.lockButton,.moreButton{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface-strong);cursor:pointer;min-height:46px;padding:10px 13px;font-weight:750}.secondaryButton:hover,.lockButton:hover,.moreButton:hover{background:#f9faf7;border-color:#aeb9b2}button:disabled{cursor:not-allowed;opacity:.55}.lockButton{color:var(--green);justify-content:center;align-items:center;gap:7px;display:inline-flex}.lockButton[data-locked=true]{background:var(--green-soft);border-color:#b8d1c1}.bottomNav{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8f0;border:1px solid #dedfd7e6;border-radius:22px;grid-template-columns:repeat(4,1fr);max-width:560px;margin:0 auto;padding:7px;display:grid;position:fixed;bottom:10px;left:12px;right:12px;box-shadow:0 14px 36px #1c2d262e}.bottomNavItem{min-height:54px;color:var(--muted);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.7rem;font-weight:750;text-decoration:none;display:flex}.bottomNavItem[data-active=true]{background:var(--green-soft);color:var(--green-dark)}.bottomNavIcon{font-size:1.05rem;font-weight:900;line-height:1}.sheetBackdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#101d177a;justify-content:center;align-items:flex-end;padding:12px;display:flex;position:fixed;inset:0}.alternativeSheet{width:min(100%,620px);max-height:90vh;padding:10px 18px calc(20px + env(safe-area-inset-bottom));background:var(--surface);border-radius:28px 28px 20px 20px;overflow-y:auto;box-shadow:0 24px 80px #0000003d}.sheetHandle{background:#ced2cc;border-radius:9px;width:46px;height:5px;margin:0 auto 18px}.sheetHeader{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.sheetHeader h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.65rem}.closeButton{background:#eeefe9;flex:0 0 46px;width:46px;font-size:1.7rem;font-weight:400}.alternativeList{gap:10px;margin-bottom:14px;display:grid}.alternativeCard{border:1px solid var(--line);border-radius:var(--radius-medium);background:var(--surface-strong);width:100%;min-height:112px;color:var(--ink);cursor:pointer;text-align:left;gap:6px;padding:16px;display:grid}.alternativeCard:hover{border-color:#9db5a5;box-shadow:0 8px 20px #1c2d2612}.alternativeTitle{font-size:1rem;font-weight:800}.alternativeDescription{color:var(--muted);font-size:.84rem;line-height:1.4}.reasonList{flex-wrap:wrap;gap:6px;margin-top:3px;display:flex}.reasonList span{background:var(--green-soft);color:var(--green-dark);border-radius:99px;padding:5px 8px;font-size:.7rem;font-weight:750}.wideButton{width:100%}.confirmPanel{border-radius:var(--radius-large);background:var(--green-soft);border:1px solid #bad1c2;gap:18px;margin-top:22px;padding:24px;display:grid}.confirmPanel h2{margin-bottom:8px;font-family:Georgia,Times New Roman,serif;font-size:1.55rem}.confirmPanel p:last-child{color:var(--muted);margin:0;line-height:1.5}.actionSheet{gap:16px;display:grid}.fieldLabel{color:var(--ink);gap:8px;font-size:.84rem;font-weight:800;display:grid}.fieldLabel input,.fieldLabel select,.fieldLabel textarea{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:11px 13px;font-weight:500}.specialActionGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.specialActionGrid button{border:1px solid var(--line);border-radius:var(--radius-small);cursor:pointer;background:#fff;min-height:58px;padding:10px;font-weight:750}.placeholderPage{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:620px;display:flex}.placeholderPage h1{max-width:12ch;margin-bottom:15px}.placeholderPage>p:not(.eyebrow){max-width:45ch;color:var(--muted);margin-bottom:28px;line-height:1.6}.placeholderIcon{background:var(--green-soft);width:78px;height:78px;color:var(--green);border-radius:24px;place-items:center;margin:10px 0 24px;font-size:2rem;font-weight:800;display:grid}.sectionHeader{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.sectionHeader>div>p:last-child{color:var(--muted);margin:8px 0 0;line-height:1.5}.catalogPage{max-width:800px}.toolbarCard,.settingsCard,.emptyCard{border:1px solid var(--line);border-radius:var(--radius-medium);background:var(--surface);margin-bottom:18px;padding:20px}.toolbarCard{justify-content:space-between;align-items:center;gap:16px;min-height:58px;font-size:.86rem;font-weight:750;display:flex}.switchLabel{align-items:center;gap:8px;display:flex}.toolbarActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.toolbarActions button,.removeItem{border:1px solid var(--line);cursor:pointer;min-height:38px;font:inherit;background:#fff;border-radius:9px;padding:6px 10px;font-size:.74rem;font-weight:750}.removeItem{min-width:38px;font-size:1.15rem}.switchLabel input,.shoppingItem input,.choiceGrid input{width:22px;height:22px;accent-color:var(--green)}.inlineForm{grid-template-columns:1fr auto;gap:10px;margin-bottom:24px;display:grid}.inlineForm input{border:1px solid var(--line);border-radius:var(--radius-small);min-width:0;min-height:50px;color:var(--ink);font:inherit;background:#fff;padding:12px 15px}.inlineForm .primaryButton{width:auto}.shoppingGroup{border:1px solid var(--line);border-radius:var(--radius-medium);background:var(--surface);margin-bottom:20px;overflow:hidden}.shoppingGroup>h2{border-bottom:1px solid var(--line);background:var(--green-soft);color:var(--green-dark);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:14px 18px;font-size:.85rem}.shoppingItem{cursor:pointer;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;min-height:68px;padding:10px 18px;display:grid}.shoppingItem+.shoppingItem{border-top:1px solid var(--line)}.shoppingItem span,.shoppingItem small{display:block}.shoppingItem small{color:var(--muted);margin-top:4px}.shoppingItem em{color:var(--muted);font-size:.7rem}.shoppingItem[data-checked=true] strong{color:var(--muted);text-decoration:line-through}.segmented{background:#e5e5dd;border-radius:16px;grid-template-columns:repeat(2,1fr);gap:5px;margin-bottom:20px;padding:5px;display:grid}.segmented.three{grid-template-columns:repeat(3,1fr)}.segmented button{cursor:pointer;background:0 0;border:0;border-radius:12px;min-height:44px;padding:8px;font-weight:750}.segmented button[data-active=true]{background:var(--surface);color:var(--green-dark);box-shadow:0 3px 12px #1c2d2614}.addButton{margin-bottom:18px}.catalogList{gap:11px;display:grid}.catalogCard{border:1px solid var(--line);border-radius:var(--radius-medium);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;min-height:96px;padding:17px;display:flex}.catalogCard h2{margin:0 0 6px;font-size:1rem}.catalogCard p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.4}.cardActions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.cardActions button,.cardActions a,.textDanger{border:1px solid var(--line);min-height:42px;color:var(--green);cursor:pointer;font:inherit;background:#fff;border-radius:11px;padding:9px 11px;font-size:.76rem;font-weight:750;text-decoration:none}.textDanger{color:#8a3727}.stackForm{gap:16px;display:grid}.stackForm>label,.formColumns>label,.settingsCard label{gap:7px;font-size:.82rem;font-weight:800;display:grid}.stackForm input,.stackForm select,.stackForm textarea,.settingsCard input,.settingsCard select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);font:inherit;background:#fff;border-radius:11px;padding:10px 12px;font-weight:500}.formColumns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}fieldset{border:1px solid var(--line);border-radius:14px;margin:0;padding:14px}legend{padding:0 6px;font-size:.82rem;font-weight:800}.fieldHint{color:var(--muted);margin:12px 0 0;font-size:.76rem;font-weight:500;line-height:1.45}.choiceGrid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choiceGrid label{align-items:center;gap:7px;font-size:.8rem;display:flex}.recipeLines{gap:8px;margin-bottom:10px;display:grid}.recipeLine{grid-template-columns:minmax(110px,2fr) minmax(70px,.7fr) minmax(105px,1fr) 42px;gap:6px;display:grid}.recipeLine button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;font-size:1.3rem}.settingsCard{margin-top:18px}.settingsCard h2,.emptyCard h2{margin-bottom:7px;font-family:Georgia,Times New Roman,serif}.settingsCard p,.emptyCard p{color:var(--muted);margin:0;line-height:1.5}.utilityLinks{margin-bottom:16px;display:flex}.utilityLinks a{align-items:center;text-decoration:none;display:inline-flex}.calendarBox{border:1px solid var(--line);border-radius:var(--radius-large);background:var(--surface);gap:12px;margin-bottom:20px;padding:16px 18px;display:grid}.calendarBox h3{margin:0 0 4px;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:700}.calendarBox p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.45}.calendarActions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.calendarActions a,.calendarActions button{font-size:.85rem}.calendarHint{background:color-mix(in srgb, var(--primary) 8%, transparent);border-radius:10px;padding:10px 12px;color:var(--primary)!important;font-size:.8rem!important}.logoutButton{width:100%;margin-top:4px}.loginPage{place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{border:1px solid var(--line);border-radius:var(--radius-large);background:var(--surface);width:min(100%,440px);box-shadow:var(--shadow);text-align:center;padding:32px}.loginCard>p:not(.eyebrow){color:var(--muted);line-height:1.5}.loginMark{background:var(--green);color:#fff;border-radius:19px;place-items:center;width:60px;height:60px;margin:0 auto 22px;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;display:grid}.loginForm{text-align:left;margin-top:24px}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.onboardingBackdrop{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#101d17a3;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.onboardingCard{border-radius:var(--radius-large);background:var(--surface);text-align:center;width:min(100%,500px);padding:30px;box-shadow:0 30px 100px #00000059}.onboardingCard h2{margin-bottom:12px;font-family:Georgia,Times New Roman,serif;font-size:1.8rem}.onboardingCard>p:not(.eyebrow){color:var(--muted);margin-bottom:24px;line-height:1.55}.onboardingCard .formColumns{text-align:left;margin-bottom:22px}.progressDots{justify-content:center;gap:7px;margin-bottom:22px;display:flex}.progressDots span{background:var(--line);border-radius:6px;width:24px;height:5px}.progressDots span[data-active=true]{background:var(--green)}@media (min-width:760px){.pageShell{padding-top:38px}.weekIntro{grid-template-columns:1fr auto;align-items:center}.weekIntro .primaryButton{width:auto;min-width:220px}.daysList{grid-template-columns:repeat(2,minmax(0,1fr))}.dayCard:last-child{grid-column:1/-1}.addButton{width:auto}}@media (max-width:520px){.formColumns,.choiceGrid{grid-template-columns:1fr}.recipeLine{grid-template-columns:1fr 76px}.recipeLine select:nth-of-type(2){grid-column:1/2}.catalogCard{flex-direction:column;align-items:flex-start}.cardActions{justify-content:flex-start;width:100%}.toolbarCard{flex-direction:column;align-items:flex-start}.segmented.three button{font-size:.74rem}.loginCard{padding:26px 20px}}.linkButton{max-width:300px;text-decoration:none}@media (min-width:680px){.pageShell{padding:42px 28px 120px}.weekIntro{grid-template-columns:1fr auto;align-items:end;padding:30px}.weekIntro .primaryButton{width:auto}.daysList{grid-template-columns:repeat(2,minmax(0,1fr))}.confirmPanel{grid-template-columns:1fr auto;align-items:center}.confirmPanel .primaryButton{width:auto}.sheetBackdrop{align-items:center}.alternativeSheet{border-radius:28px;padding:12px 24px 24px}}@media (min-width:1060px){.weekPage{padding-bottom:70px}.daysList{grid-template-columns:repeat(3,minmax(0,1fr))}.dayCard:last-child{grid-column:2}.bottomNav{width:430px;bottom:24px;left:auto;right:30px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
