:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--background:#faf9f8;--surface:#fff;--surface-muted:#f7f5f3;--text:#262120;--muted:#756a65;--subtle:#9f948f;--line:#4f36301f;--line-strong:#9f483e40;--primary:#c3473a;--primary-dark:#9c342b;--primary-soft:#fff0ed;--success:#5b8e52;--success-soft:#eef7ec;--warning:#cc4b3f;--warning-soft:#fff0ed;--amber:#c4872e;--amber-soft:#fff4dc;--green:#6e9d47;--green-soft:#edf6e6;--purple:#8f65a9;--purple-soft:#f4ecf8;--orange:#d39234;--orange-soft:#fff0d8;--shadow:0 18px 42px #5339310f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;color:var(--text);background:var(--background);margin:0}button,textarea,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.appShell{min-height:100vh;padding-bottom:88px}.reviewHeader{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffed;justify-content:space-between;align-items:center;gap:18px;min-height:74px;padding:14px 28px 13px;display:flex;position:sticky;top:0}.brandLockup,.headerActions,.weekPicker,.weekToolbar,.weekStats,.allergenDots,.profileChips,.profileMeta,.saveBar,.saveStatus,.saveHint,.copyButton,.expiryPill,.profileChip,.intakeLink{align-items:center;display:flex}.brandLockup{gap:24px}.brandMark{color:var(--primary-dark);font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,2.4vw,2.55rem);font-weight:700;line-height:1}.headerDivider{background:var(--line);width:1px;height:42px}.reviewHeader h1{letter-spacing:0;margin:0;font-size:1.12rem}.reviewHeader p{color:var(--muted);margin:4px 0 0;font-size:.84rem}.headerActions{justify-content:flex-end;gap:10px}.expiryPill,.copyButton,.weekStats,.navButton,.weekRangeButton{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--primary-dark);text-transform:uppercase;letter-spacing:0;border-radius:999px;font-size:.76rem;font-weight:800}.expiryPill{gap:7px;padding:0 15px}.expiryPill strong{color:var(--primary)}.copyButton{gap:8px;padding:0 16px}.reviewLayout{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:22px;width:min(1440px,100% - 44px);margin:0 auto;display:grid}.planSurface{min-width:0}.weekToolbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#faf9f8f5,#faf9f8e6);justify-content:space-between;gap:18px;padding:20px 8px 18px;position:sticky;top:74px}.weekPicker{gap:12px}.navButton{width:40px;color:var(--primary-dark);border-radius:10px;place-items:center;padding:0;display:grid}.weekRangeButton{color:var(--text);text-transform:none;border-radius:10px;gap:10px;padding:0 16px;font-size:1.02rem}.weekStats{color:var(--muted);gap:7px;padding:0 22px}.unitPill{color:var(--primary-dark)}.weekTimeline{gap:8px;padding-bottom:18px;display:grid}.daySection{border:1px solid var(--line);background:var(--surface);border-radius:13px;grid-template-columns:118px minmax(0,1fr);display:grid;overflow:hidden;box-shadow:0 10px 28px #5339310a}.dayStamp{border-right:1px solid var(--line);color:var(--primary-dark);align-content:start;justify-items:start;gap:4px;padding:22px 16px;display:grid}.dayStamp strong{color:var(--text);margin-top:4px;font-size:1rem;line-height:1}.dayStamp span{color:var(--muted);font-size:.78rem;font-weight:700}.mealTable{min-width:0}.dayLoadingPanel{min-height:94px;color:var(--muted);grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px;display:grid}.dayLoadingPanel strong{color:var(--text);font-size:.96rem;display:block}.dayLoadingPanel p{margin:3px 0 0;font-size:.88rem;line-height:1.35}.retryDayButton{border:1px solid var(--line-strong);min-height:38px;color:var(--primary-dark);background:var(--surface);cursor:pointer;border-radius:8px;padding:0 14px;font-weight:800}.retryDayButton:hover{border-color:var(--primary)}.mealRow{border-bottom:1px solid var(--line);grid-template-columns:54px minmax(150px,1.05fr) 70px 88px minmax(120px,.72fr) minmax(130px,.85fr) minmax(112px,.72fr) minmax(168px,.95fr) 28px;align-items:center;gap:16px;min-height:94px;padding:12px 16px;display:grid}.mealRow.withFeedback{grid-template-columns:54px minmax(180px,1.1fr) 72px 92px minmax(124px,.72fr) minmax(180px,.92fr) minmax(250px,1.15fr)}.mealRow:last-child{border-bottom:0}.mealIcon{border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.mealIcon.breakfast{color:#ca9b25;background:#fff3bd}.mealIcon.morning_snack{color:#2f855a;background:#d8f3dc}.mealIcon.lunch{color:#5e9b4e;background:#dff0d5}.mealIcon.afternoon_snack{color:#8050a3;background:#eadcf4}.mealIcon.dinner{color:#bf7d1c;background:#ffe4b5}.mealNameCell{min-width:0}.mealKind,.detailCell p,.noteCell span,.eyebrow,.profileSection h4,.intakePanel h3{letter-spacing:0;text-transform:uppercase;margin:0;font-size:.66rem;font-weight:850}.mealKind.breakfast{color:#c6921e}.mealKind.morning_snack{color:#2f855a}.mealKind.lunch{color:var(--green)}.mealKind.afternoon_snack,.mealKind.snack{color:var(--purple)}.mealKind.dinner{color:var(--orange)}.mealNameCell h3{letter-spacing:0;margin:5px 0 0;font-size:.88rem;line-height:1.28}.detailCell{align-content:center;align-self:stretch;gap:7px;min-width:0;display:grid}.detailCell p,.noteCell span{color:var(--muted)}.prepCell strong{font-size:.92rem;font-weight:650}.nutritionCell{gap:6px}.macroEstimate{color:#496b3f;background:#edf6e7;border:1px solid #637d4a2e;border-radius:8px;flex-wrap:wrap;gap:5px;width:fit-content;max-width:100%;min-height:34px;padding:5px 7px;font-size:.72rem;font-weight:800;line-height:1.1;display:flex}.macroEstimate span{align-items:center;gap:4px;display:inline-flex}.noNutrition{color:var(--subtle);font-weight:800}.adaptationCell span{color:var(--text);font-size:.84rem;line-height:1.36}.recipeStepsCell,.ingredientsCell{grid-column:2/-1;align-self:stretch;gap:7px;min-width:0;padding:8px 0 2px;display:grid}.mealRow.withNotes .recipeStepsCell,.mealRow.withNotes .ingredientsCell{grid-column:2/-2}.recipeStepsCell p,.ingredientsCell p{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.66rem;font-weight:850}.recipeStepsCell ol{color:var(--text);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:5px 14px;margin:0;padding-left:19px;font-size:.82rem;line-height:1.36;display:grid}.recipeStepsCell li::marker{color:var(--primary-dark);font-weight:850}.ingredientsCell ul{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 14px;margin:0;padding:0;list-style:none;display:grid}.ingredientsCell li{min-width:0;color:var(--text);border-bottom:1px solid #5c463d17;justify-content:space-between;gap:8px;padding-bottom:5px;font-size:.82rem;line-height:1.3;display:flex}.ingredientsCell li span{min-width:0}.ingredientsCell li strong{color:var(--primary-dark);flex:none;font-weight:850}.feedbackCell{gap:6px}.mealFeedbackSummary{border-radius:8px;gap:4px;width:fit-content;min-width:88px;padding:7px 9px;font-size:.78rem;line-height:1.1;display:inline-grid}.mealFeedbackSummary.liked{color:var(--success);background:var(--success-soft)}.mealFeedbackSummary.disliked{color:var(--warning);background:var(--warning-soft)}.mealFeedbackSummary span,.mealFeedbackSummary strong{display:block}.mealFeedbackSummary strong{color:var(--text);font-size:.8rem}.feedbackEmpty{color:var(--muted);font-size:.82rem;line-height:1.3}.feedbackControls{gap:7px;display:grid}.feedbackButtonGroup{flex-wrap:wrap;gap:6px;display:flex}.feedbackButton,.feedbackAmountButton{border:1px solid var(--line);min-height:31px;color:var(--muted);background:var(--surface);letter-spacing:0;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:.76rem;font-weight:800;display:inline-flex}.feedbackButton.selected.liked{color:var(--success);background:var(--success-soft);border-color:#5b8e5259}.feedbackButton.selected.disliked{color:var(--warning);background:var(--warning-soft);border-color:#cc4b3f59}.feedbackAmountButton.selected{color:var(--primary-dark);background:var(--primary-soft);border-color:#9f483e40}.feedbackButton:disabled,.feedbackAmountButton:disabled{opacity:.68}.feedbackSaveState{min-height:16px;color:var(--muted);margin:0;font-size:.74rem;line-height:1.25}.feedbackSaveState.saving{color:var(--amber)}.feedbackSaveState.saved{color:var(--success)}.feedbackSaveState.error{color:var(--warning)}.allergenDots{flex-wrap:wrap;gap:5px}.allergenDot{border:1px solid var(--line);width:20px;height:20px;color:var(--muted);background:#fbfaf8;border-radius:50%;place-items:center;font-size:.68rem;font-weight:800;display:inline-grid}.noAllergens{color:var(--subtle);font-weight:800}.allergenAlert{width:fit-content;min-height:25px;color:var(--warning);background:var(--warning-soft);border-radius:999px;align-items:center;gap:5px;margin-top:7px;padding:4px 8px;font-size:.72rem;font-weight:750;display:inline-flex}.noteCell{gap:7px;display:grid}.noteCell textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--text);resize:vertical;background:#fffefe;border-radius:7px;outline:none;padding:8px 10px;font-size:.84rem;line-height:1.3}.noteCell textarea.riskNote{border-color:#c3473a73;box-shadow:0 0 0 1px #c3473a0d}.noteCell textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #c3473a1f}.rowStatus{color:var(--success);place-items:center;display:grid}.profilePanel{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);max-height:calc(100vh - 162px);box-shadow:var(--shadow);background:#fffffff5;border-radius:0 0 16px 16px;position:sticky;top:74px;overflow:auto}.profileStack{display:grid}.profileTop{border-bottom:1px solid var(--line);padding:20px 20px 18px}.eyebrow,.intakePanel h3{color:var(--primary-dark)}.profileIdentity{align-items:center;gap:15px;margin-top:16px;display:flex}.avatar{background:radial-gradient(circle at 50% 36%,#ffe1c9 0 31%,#0000 32%),#fff3e7;border-radius:50%;flex:none;place-items:center;width:72px;height:72px;font-size:2.7rem;display:grid;box-shadow:inset 0 0 0 1px #9f483e1f}.avatar span{transform:translateY(2px)}.profileIdentity h2{letter-spacing:0;margin:0 0 4px;font-size:1.08rem}.profileIdentity p,.profileMeta{color:var(--muted);margin:0;font-size:.84rem;line-height:1.38}.profileMeta{color:var(--text);gap:7px}.profileMeta svg{color:var(--muted)}.intakePanel{gap:14px;padding:20px 20px 12px;display:grid}.intakePanel h3{font-size:.74rem}.profileSection{gap:7px;display:grid}.profileSection h4{color:var(--muted)}.profileChips{flex-wrap:wrap;gap:7px}.profileChip{border-radius:999px;gap:5px;min-height:25px;padding:4px 9px;font-size:.78rem;font-weight:700}.profileChip.warning{color:var(--warning);background:var(--warning-soft)}.profileChip.amber{color:var(--amber);background:var(--amber-soft)}.profileChip.like{color:var(--success);background:var(--success-soft)}.profileChip.dislike{color:var(--warning);background:var(--warning-soft)}.freeText,.emptyCopy{color:var(--text);margin:0;font-size:.84rem;line-height:1.42}.emptyCopy{color:var(--muted)}.intakeLink{border:0;border-top:1px solid var(--line);min-height:46px;color:var(--primary-dark);background:0 0;justify-content:space-between;gap:10px;margin:0 20px 14px;padding:0;font-size:.86rem;font-weight:750}.intakeLink svg:last-child{margin-left:auto}.saveBar{z-index:30;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;justify-content:space-between;gap:18px;min-height:74px;padding:12px 32px;position:fixed;bottom:0;left:0;right:0}.saveHint{color:var(--primary-dark);gap:13px}.saveHint p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.3}.saveHint span{display:block}.saveStatus{min-width:180px;color:var(--success);justify-content:flex-end;gap:8px;font-size:.9rem;font-weight:750}.saveStatus.dirty{color:var(--amber)}.saveStatus.error{color:var(--warning)}.saveButton{color:#fff;background:linear-gradient(180deg, #d94d3e, var(--primary-dark));text-transform:uppercase;letter-spacing:0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-width:248px;min-height:48px;font-size:.88rem;font-weight:850;display:inline-flex;box-shadow:0 12px 26px #9c342b33}.statePage{place-items:center;min-height:100vh;padding:24px;display:grid}.statePanel{border:1px solid var(--line);background:var(--surface);width:min(460px,100%);box-shadow:var(--shadow);border-radius:16px;padding:28px}.statePanel h1{margin:12px 0 6px}.statePanel p{color:var(--muted);margin:0}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.reviewLayout{grid-template-columns:1fr}.profilePanel{border:1px solid var(--line);border-radius:16px;order:-1;max-height:none;position:static}.mealRow{grid-template-columns:48px minmax(160px,1fr) 72px 90px minmax(120px,.8fr) minmax(140px,1fr)}.mealRow.withFeedback{grid-template-columns:48px minmax(160px,1fr) 72px 90px minmax(120px,.8fr) minmax(220px,1.2fr)}.noteCell,.mealRow.withNotes .feedbackCell{grid-column:2/7}.mealRow.withFeedback .feedbackCell{grid-column:auto}.rowStatus{grid-area:2/1}}@media (width<=760px){.appShell{padding-bottom:126px}.reviewHeader{align-items:flex-start;padding:20px;position:static}.brandLockup{gap:14px}.brandMark,.headerDivider,.headerActions{display:none}.reviewHeader h1{font-size:1.55rem}.reviewLayout{gap:12px;width:calc(100% - 24px)}.weekToolbar{gap:12px;padding:14px 0 12px;display:grid;position:static}.weekPicker{grid-template-columns:40px 1fr 40px;gap:8px;display:grid}.weekRangeButton{justify-content:center;min-width:0;padding:0 10px;font-size:.9rem}.weekStats{width:fit-content;min-height:34px}.daySection{grid-template-columns:1fr}.dayStamp{border-right:0;border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:13px 14px;display:flex}.dayStamp strong,.dayStamp span{margin:0}.dayLoadingPanel{grid-template-columns:24px minmax(0,1fr);min-height:86px;padding:16px 14px}.retryDayButton{grid-column:2;width:fit-content}.mealRow{grid-template-columns:42px minmax(0,1fr) 28px;gap:12px;min-height:0;padding:15px 14px}.mealRow.withFeedback{grid-template-columns:42px minmax(0,1fr) 28px}.mealIcon{width:38px;height:38px}.mealNameCell{grid-column:2}.detailCell,.recipeStepsCell,.ingredientsCell,.noteCell,.mealRow.withNotes .recipeStepsCell,.mealRow.withNotes .ingredientsCell,.mealRow.withFeedback .feedbackCell{grid-column:2/4}.rowStatus{grid-area:1/3}.adaptationCell,.prepCell,.allergenCell,.nutritionCell{align-content:start}.noteCell textarea{min-height:76px}.profileTop,.intakePanel{padding:18px}.profileIdentity{align-items:flex-start}.avatar{width:68px;height:68px;font-size:2.55rem}.intakeLink{margin:0 18px 18px}.saveBar{color:#fff;background:linear-gradient(180deg, #c95b50, var(--primary-dark));grid-template-columns:1fr;gap:10px;padding:12px;display:grid}.saveHint{display:none}.saveStatus{color:#fff;justify-content:flex-start;min-width:0}.saveButton{width:100%;min-width:0;color:var(--primary-dark);box-shadow:none;background:#fff}}
