:root{--cream:#f7f2e8;--paper:#fffdf8;--ink:#243229;--muted:#56685f;--coral-ink:#a44430;--forest:#1f4a3c;--forest-2:#316354;--coral:#e77d64;--coral-soft:#fff0ea;--line:#e7e0d3;--gold:#d2a95a;--shadow:0 12px 30px rgba(31,74,60,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}html{background:var(--cream);scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--cream)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(231,125,100,.45);outline-offset:2px}.app-shell{display:flex;min-height:100dvh}.sidebar{width:252px;background:var(--forest);color:#f4f2e9;padding:30px 20px 24px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:10}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:20px;font-weight:750;letter-spacing:-.6px}.brand span span{color:#f8c4ab}.brand small{font-size:11px;opacity:.7;font-weight:600}.brand-mark{display:grid;place-items:center;width:33px;height:33px;border-radius:11px;background:var(--coral);color:#fff4ea;font-size:19px}.sidebar-kicker{font-size:10px;letter-spacing:1.5px;color:#9fbbb0;font-weight:800;margin:58px 12px 14px}.side-nav{display:grid;gap:5px}.nav-item{height:48px;border:0;border-radius:12px;background:none;color:#d2dfd9;text-align:left;padding:0 13px;font-weight:650;display:flex;align-items:center;gap:12px;transition:.2s}.nav-item:hover{background:rgba(255,255,255,.08);color:white}.nav-item.active{background:#f5efe3;color:var(--forest);box-shadow:0 5px 12px rgba(0,0,0,.12)}.nav-icon{width:20px;font-size:18px;line-height:1;text-align:center}.nav-count{margin-left:auto;background:var(--coral);color:var(--ink);border-radius:99px;padding:2px 7px;font-size:11px}.sidebar-note{display:flex;gap:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);padding:15px 13px;border-radius:14px;margin-top:auto;color:#d9e4df}.sidebar-note>span{color:#efac91;font-size:17px}.sidebar-note strong{font-size:12px;color:white}.sidebar-note p{font-size:11px;line-height:1.45;margin:4px 0 0;color:#b8cbc3}.sidebar-footer{font-size:10px;color:#9fbbb0;margin-top:20px;display:flex;align-items:center;gap:8px}.status-dot{height:7px;width:7px;background:#86c7a2;border-radius:50%;box-shadow:0 0 0 4px rgba(134,199,162,.12)}.main-content{margin-left:252px;min-height:100dvh;flex:1}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,62px);background:rgba(247,242,232,.85);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.mobile-brand{display:none;background:none;border:0;color:var(--forest);font-size:17px;font-weight:800;align-items:center;gap:8px}.mobile-brand .brand-mark{width:27px;height:27px;font-size:15px}.topbar-actions{display:flex;align-items:center;gap:17px;margin-left:auto}.saved-state{font-size:12px;color:var(--muted)}.icon-btn{background:none;border:0;color:var(--forest);font-size:20px;padding:8px;border-radius:8px}.icon-btn:hover{background:#eae3d6}.page{max-width:1270px;margin:0 auto;padding:40px clamp(24px,4vw,62px) 100px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--coral-ink);font-weight:850}.page-title{font-size:clamp(28px,3vw,43px);letter-spacing:-1.6px;line-height:1.08;margin:7px 0 12px;color:var(--forest)}.page-intro{font-size:15px;color:var(--muted);max-width:610px;line-height:1.55;margin:0}.hero{display:flex;align-items:end;justify-content:space-between;gap:25px;background:var(--forest);border-radius:22px;padding:29px 31px;color:#fff;margin-bottom:35px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-70px;top:-140px;box-shadow:0 0 0 35px rgba(255,255,255,.04),0 0 0 70px rgba(255,255,255,.03)}.hero-copy{position:relative;z-index:1}.hero .eyebrow{color:#efaf96}.hero h2{font-size:clamp(26px,3.2vw,41px);max-width:650px;letter-spacing:-1.6px;line-height:1.08;margin:8px 0 9px}.hero p{color:#c7d9d1;line-height:1.5;font-size:14px;margin:0;max-width:520px}.hero-actions{display:flex;gap:10px;position:relative;z-index:1;flex-shrink:0}.btn{min-height:44px;padding:0 17px;border-radius:10px;border:1px solid transparent;font-weight:750;font-size:13px;transition:.2s;display:inline-flex;justify-content:center;align-items:center;gap:8px}.btn-primary{background:var(--coral);color:var(--ink)}.btn-primary:hover{background:#d96d55;transform:translateY(-1px)}.btn-light{background:#f8f2e7;color:var(--forest)}.btn-ghost{background:transparent;color:var(--forest);border-color:var(--line)}.btn-ghost:hover{background:#f2ebe0}.hero .btn-ghost{border-color:rgba(255,255,255,.22);color:white;background:rgba(255,255,255,.06)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:17px}.section-head h2{font-size:21px;color:var(--forest);letter-spacing:-.5px;margin:0}.section-head p{color:var(--muted);font-size:13px;margin:5px 0 0}.link-btn{border:0;background:none;color:var(--coral-ink);font-weight:750;font-size:12px;padding:8px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:35px}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:18px 19px;min-height:100px}.stat-card small{color:var(--muted);font-size:11px}.stat-value{display:block;color:var(--forest);font-size:25px;font-weight:800;letter-spacing:-.8px;margin-top:7px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:10px}.day-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:13px;min-height:156px;display:flex;flex-direction:column}.day-card.today{border-color:var(--coral);box-shadow:0 0 0 2px rgba(231,125,100,.11)}.day-name{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.5px}.day-date{font-size:10px;color:#a5afa9;margin-top:2px}.meal-dot{width:30px;height:30px;background:var(--coral-soft);color:var(--coral);border-radius:10px;display:grid;place-items:center;margin:18px 0 9px;font-size:15px}.day-card h3{font-size:13px;line-height:1.3;color:var(--forest);margin:0}.day-card p{font-size:11px;color:var(--muted);margin:5px 0 0}.day-card .mini-action{margin-top:auto;padding-top:10px}.empty-card{border:1px dashed #cfc6b9;background:rgba(255,253,248,.45);border-radius:15px;padding:25px;text-align:center;color:var(--muted)}.empty-card strong{display:block;color:var(--forest);margin-bottom:5px}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.offer-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:17px;position:relative}.offer-top{display:flex;justify-content:space-between;align-items:start;gap:8px}.offer-chain{font-size:11px;font-weight:800;color:var(--forest)}.offer-price{font-size:23px;color:var(--coral-ink);font-weight:850;letter-spacing:-.7px}.offer-card h3{font-size:15px;color:var(--forest);margin:12px 0 4px}.offer-meta{font-size:11px;color:var(--muted);margin:0;line-height:1.5}.offer-badge{display:inline-flex;background:#f4ead8;color:#8a6840;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:750;margin-top:12px}.offer-badge.user{background:#e7f2eb;color:#387052}.offer-select{width:100%;margin-top:15px}.toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:22px}.filter-chip{min-height:44px;border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:8px 12px;color:var(--muted);font-size:12px}.filter-chip.active{border-color:var(--forest);background:var(--forest);color:#fff}.two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:22px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:21px}.panel h3{color:var(--forest);font-size:16px;margin:0 0 14px}.panel-sub{color:var(--muted);font-size:12px;margin:-8px 0 17px;line-height:1.45}.list-row{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:13px 0}.list-row:first-child{border-top:0;padding-top:0}.check{appearance:none;width:21px;height:21px;border:1.5px solid #c9c0b2;border-radius:6px;background:transparent;flex:none}.check:checked{background:var(--forest);border-color:var(--forest);position:relative}.check:checked:after{content:"✓";color:#fff;font-size:14px;position:absolute;left:3px;top:-1px}.row-main{flex:1;min-width:0}.row-main strong{font-size:13px;color:var(--ink);display:block}.row-main small{font-size:11px;color:var(--muted)}.row-price{color:var(--forest);font-size:13px;font-weight:800}.group-label{font-size:10px;color:var(--coral-ink);font-weight:850;text-transform:uppercase;letter-spacing:1.2px;padding:16px 0 8px}.pantry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.pantry-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:17px}.pantry-card h3{font-size:15px;color:var(--forest);margin:0}.pantry-card>p{font-size:11px;color:var(--muted);margin:4px 0 15px}.pantry-item{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:11px 0;gap:8px}.pantry-item strong{font-size:12px}.pantry-item small{color:var(--muted);font-size:10px;display:block;margin-top:2px}.priority{min-width:44px;min-height:44px;border:0;background:none;color:var(--gold);font-size:17px;padding:4px}.priority.on{color:var(--coral-ink)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:750;color:var(--forest)}.field input,.field select{font-size:16px;height:43px;border:1px solid var(--line);background:#fffefa;color:var(--ink);border-radius:9px;padding:0 11px;font-size:16px}.field input::placeholder{color:#abb2ad}.modal-backdrop{position:fixed;inset:0;background:rgba(25,44,35,.45);z-index:30;display:grid;place-items:center;padding:20px}.modal{background:var(--paper);width:min(500px,100%);max-height:calc(100dvh - 40px);overflow:auto;border-radius:20px;padding:24px;box-shadow:0 30px 70px rgba(0,0,0,.2)}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:18px}.modal h2{color:var(--forest);font-size:22px;letter-spacing:-.5px;margin:0}.modal-close{min-width:44px;min-height:44px;border:0;background:#f0e9dd;border-radius:8px;color:var(--forest);width:35px;height:35px;font-size:20px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.notice{border-radius:11px;background:#fff5e5;color:#826841;font-size:12px;padding:11px 13px;line-height:1.45}.notice strong{color:#674b22}.small-muted{font-size:11px;color:var(--muted)}.selectable{cursor:pointer}.selectable.selected{border-color:var(--coral);box-shadow:0 0 0 2px rgba(231,125,100,.12)}.plan-controls{display:flex;flex-wrap:wrap;gap:9px;align-items:end;margin-bottom:23px}.control{display:grid;gap:5px}.control label{font-size:10px;color:var(--muted);font-weight:750}.control select{height:40px;background:var(--paper);border:1px solid var(--line);border-radius:9px;color:var(--ink);padding:0 9px;font-size:12px}.mobile-nav{display:none}
@media(max-width:1100px){.week-grid{grid-template-columns:repeat(4,1fr)}.offer-grid{grid-template-columns:repeat(2,1fr)}.pantry-grid{grid-template-columns:repeat(3,1fr)}.hero{align-items:start;flex-direction:column}.hero-actions{width:100%}}
@media(max-width:800px){.sidebar{display:none}.main-content{margin-left:0}.topbar{height:62px;padding:0 18px}.mobile-brand{display:flex}.page{padding:25px 17px 105px}.hero{padding:23px 20px;border-radius:18px;margin-bottom:27px}.hero h2{font-size:28px}.hero-actions .btn{flex:1;padding:0 8px}.stats-grid{gap:9px}.stat-card{padding:14px 12px;min-height:88px}.stat-value{font-size:20px}.two-col{grid-template-columns:1fr}.pantry-grid{grid-template-columns:1fr}.offer-grid{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(2,1fr)}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);z-index:20;bottom:0;left:0;right:0;padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:rgba(255,253,248,.94);backdrop-filter:blur(18px);border-top:1px solid var(--line)}.mobile-nav button{background:none;border:0;position:relative;color:var(--muted);font-size:10px;font-weight:750;display:grid;gap:4px;place-items:center;padding:4px;min-height:44px}.mobile-nav button span{font-size:18px;line-height:18px}.mobile-nav button.active{color:var(--forest)}.mobile-nav b{position:absolute;top:2px;margin-left:26px;background:var(--coral);color:#fff;border-radius:99px;padding:1px 5px;font-size:9px}.saved-state{display:none}}
@media(max-width:390px){.page{padding-left:13px;padding-right:13px}.week-grid{gap:8px}.day-card{padding:11px;min-height:150px}.day-card h3{font-size:12px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.section-head{align-items:start;flex-direction:column;gap:3px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(min-width:1400px){.page{padding-top:55px}.week-grid{gap:14px}.day-card{min-height:175px;padding:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

.page-footer{display:flex;flex-wrap:wrap;gap:20px;margin-top:36px;font-size:13px}.page-footer a{color:var(--forest);padding:10px 0}.day-card .mini-action{min-height:44px}.pantry-item{flex-wrap:wrap}.pantry-item>div{flex:1;min-width:120px}.mobile-nav b{color:var(--ink)}
