.plannerHero{border-color:rgba(75,221,115,.3);background:radial-gradient(circle at 92% 5%,rgba(75,221,115,.17),transparent 33%),linear-gradient(180deg,rgba(75,221,115,.075),rgba(255,255,255,.025))}
.plannerHero h2{font-size:27px;line-height:1.03;margin:5px 0 9px}.plannerModes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0 12px}.plannerMode{min-width:0;padding:11px 8px;border:1px solid var(--line);border-radius:17px;color:var(--text);background:rgba(255,255,255,.035);text-align:left}.plannerMode span,.plannerMode b,.plannerMode small{display:block}.plannerMode span{margin-bottom:6px;color:var(--muted);font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.plannerMode b{font-size:12px;line-height:1.15}.plannerMode small{display:none}.plannerMode.active{border-color:rgba(75,221,115,.55);background:rgba(75,221,115,.14);box-shadow:inset 0 0 0 1px rgba(75,221,115,.1)}.plannerMode.active span{color:var(--green)}.plannerBuild{margin-top:3px}.plannerControlNote{display:block;margin-top:9px;color:var(--muted);font-size:9px;line-height:1.45}
.plannerSummary{border-color:rgba(110,168,255,.3)}.plannerSummary.hasGaps{border-color:rgba(255,184,77,.38)}.plannerSummaryTop,.plannerActiveHead,.plannerDayHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.plannerSummaryTop h3,.plannerActiveHead h3,.plannerDayHead h3{margin:4px 0 0}.wasteBadge,.approvedBadge,.lunchPacked{flex:0 0 auto;border-radius:999px;padding:7px 9px;font-size:9px;font-weight:950}.wasteBadge.low,.approvedBadge,.lunchPacked{color:var(--green);border:1px solid rgba(75,221,115,.32);background:rgba(75,221,115,.1)}.wasteBadge.review{color:var(--amber);border:1px solid rgba(255,184,77,.32);background:rgba(255,184,77,.09)}.plannerMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.plannerMetrics div{padding:11px 7px;border-radius:15px;background:rgba(255,255,255,.04);text-align:center}.plannerMetrics b,.plannerMetrics small{display:block}.plannerMetrics b{font-size:21px;color:var(--green)}.plannerMetrics small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.25}.plannerPromise,.plannerWarning{margin:12px 0;padding:11px;border-radius:14px;font-size:10px;line-height:1.5}.plannerPromise{color:#cce9d5;background:rgba(75,221,115,.07)}.plannerWarning{display:grid;gap:3px;color:#ffe0a3;background:rgba(255,184,77,.09)}.plannerShopPreview{margin-top:14px;border-top:1px solid var(--line);padding-top:13px}.plannerShopItem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.plannerShopItem span,.plannerShopItem b,.plannerShopItem small{display:block}.plannerShopItem b{font-size:12px}.plannerShopItem small{margin-top:3px;color:var(--muted);font-size:9px}.plannerShopItem em{color:var(--green);font-size:9px;font-weight:900;font-style:normal}.plannerShopItem em.risk{color:var(--amber)}.plannerNoShop{margin-top:13px;padding:12px;border-radius:14px;color:var(--green);background:rgba(75,221,115,.08);font-size:11px;font-weight:850}.plannerReviewActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.plannerReviewActions .btn{margin:0;padding:13px 8px;font-size:11px}.plannerReviewActions .btn:disabled{opacity:.45}
.plannerActiveHead{align-items:center;margin:16px 3px 9px}.plannerActiveHead h3{font-size:18px}.plannerWeek{display:grid;gap:10px}.plannerDay{padding:13px}.plannerDayHead{align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line)}.plannerDayHead h3{font-size:16px}.plannerMeal{display:grid;grid-template-columns:46px 42px 1fr auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.065)}.plannerMeal:last-child{border-bottom:0}.plannerMeal>span{color:var(--muted);font-size:9px;font-weight:900}.plannerMeal img{width:42px;height:42px;border-radius:12px;object-fit:cover}.plannerMeal div,.plannerMeal b,.plannerMeal small{display:block;min-width:0}.plannerMeal b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.plannerMeal small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.3}.plannerMeal button{padding:7px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:rgba(255,255,255,.04);font-size:9px;font-weight:900}.plannerMeal.leftover{margin-inline:-5px;padding-inline:5px;border-radius:12px;background:rgba(110,168,255,.06)}.plannerMeal.gap b{color:var(--amber)}
@media(min-width:520px){.plannerMode small{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.3}.plannerMode b{font-size:14px}}
