:root{--ink:#25302a;--muted:#6f776f;--line:#e5e2d9;--paper:#fbfaf6;--cream:#f2eee4;--green:#315c48;--green-dark:#244938;--sage:#dfe7db;--white:#fff}*{box-sizing:border-box}body,html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{color:inherit}svg{width:20px;height:20px}.app-shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:32px 20px 24px;border-right:1px solid var(--line);background:#f6f3eb;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;border:0;background:transparent;text-align:left;cursor:pointer;padding:0 8px}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--green);transform:rotate(-4deg)}.brand-mark span{width:15px;height:18px;display:block;border:2px solid white;border-radius:60% 25% 55% 30%;transform:rotate(35deg)}.brand strong{display:block;font-family:Georgia,serif;font-size:18px;letter-spacing:-.3px}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-top:1px}.sidebar nav{margin-top:50px;display:grid;gap:7px}.sidebar nav button{min-height:46px;padding:0 13px;display:flex;align-items:center;gap:13px;border:0;border-radius:12px;color:#6e756f;background:transparent;cursor:pointer;text-align:left;transition:.18s ease}.sidebar nav button:hover{background:rgba(49,92,72,.07);color:var(--green)}.sidebar nav button.active{background:var(--green);color:white;box-shadow:0 7px 20px rgba(49,92,72,.13)}.bottom-nav em,.sidebar nav button em{margin-left:auto;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#d6815a;color:white;font-style:normal;font-size:11px}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:11px;padding:17px 8px 0;border-top:1px solid var(--line)}.avatar-stack{display:flex}.avatar-stack span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#d6b89a;color:#503c2d;font-size:11px;font-weight:700;border:2px solid #f6f3eb}.avatar-stack span+span{margin-left:-7px;background:var(--sage);color:var(--green)}.sidebar-foot small,.sidebar-foot strong{display:block}.sidebar-foot strong{font-size:12px}.sidebar-foot small{color:var(--muted);font-size:10px;margin-top:3px}.bottom-nav{display:none}.main-content{width:100%;max-width:1440px;padding:52px clamp(28px,5vw,76px) 80px;overflow:hidden}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:35px}.page-header p{margin:0 0 5px;color:var(--muted);font-size:13px;letter-spacing:.3px}.page-header h1,.page-title h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,4vw,48px);line-height:1.08;font-weight:500;letter-spacing:-1.4px}.page-header>div>span{display:block;color:var(--muted);margin-top:8px;font-size:15px}.avatar-button{border:0;width:42px;height:42px;border-radius:50%;background:#d9b894;color:#4e3828;font-size:12px;font-weight:700;cursor:pointer}.today-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,.85fr);gap:20px}.day-card,.hero-card,.mini-card,.recipe-card,.shop-summary,.status-card{border:1px solid var(--line);border-radius:20px;background:var(--white)}.hero-card{min-height:330px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);overflow:hidden;background:#e8e2d4;border:0}.hero-copy{padding:clamp(28px,4vw,46px);align-self:center}.eyebrow,.kicker{color:var(--green);font-size:11px;font-weight:750;letter-spacing:1.45px;text-transform:uppercase}.eyebrow{display:flex;gap:7px;align-items:center}.eyebrow svg{width:14px;height:14px}.hero-card h2{margin:16px 0 10px;font-family:Georgia,serif;font-size:clamp(30px,4vw,46px);font-weight:500;letter-spacing:-1.2px}.hero-card p{max-width:510px;margin:0;color:#626860;line-height:1.6;font-size:14px}.servings{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;color:#626860;font-size:12px}.servings i{opacity:.4}.hero-actions{display:flex;gap:10px;margin-top:27px}.hero-actions button{height:44px;border-radius:11px;padding:0 17px;font-size:12px;font-weight:700;cursor:pointer}.primary{border:0;display:flex;align-items:center;gap:8px;background:var(--green);color:white}.primary:hover{background:var(--green-dark)}.primary.done{background:#577667}.primary svg{width:16px}.secondary{border:1px solid #c8c5bb;background:rgba(255,255,255,.36)}.food-art{position:relative;min-height:240px;background:radial-gradient(circle at 48% 46%,#d6c5a7 0 30%,transparent 31%),linear-gradient(145deg,#cab99b,#8d8f76);overflow:hidden}.food-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(232,226,212,.22),transparent 25%),radial-gradient(circle at 25% 20%,rgba(255,255,255,.25),transparent 28%)}.plate{width:210px;height:210px;left:50%;top:50%;transform:translate(-50%,-50%);background:#eee9de;box-shadow:0 15px 40px rgba(44,45,34,.25),inset 0 0 0 13px #d9d5c8}.plate,.tortilla{position:absolute;border-radius:50%}.tortilla{width:125px;height:65px;top:72px;left:41px;background:#d6ad69;transform:rotate(25deg);box-shadow:inset 0 -12px 20px rgba(120,77,33,.18)}.tortilla.two{transform:rotate(-22deg);top:78px;left:48px}.pepper{position:absolute;width:42px;height:10px;border-radius:10px;z-index:2;transform:rotate(25deg);left:82px;top:93px}.pepper.red{background:#b95840}.pepper.green{background:#426847;top:110px;left:70px;transform:rotate(-18deg)}.pepper.yellow{background:#d5a03f;top:120px;left:98px;transform:rotate(8deg)}.status-card{padding:27px 25px 22px;display:flex;flex-direction:column}.card-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}.card-heading h3{margin:7px 0 0;font-family:Georgia,serif;font-size:23px;font-weight:500}.card-heading button,.section-title button{border:0;background:transparent;color:var(--green);font-size:12px;font-weight:750;cursor:pointer;padding:2px}.status-bars{display:grid;gap:13px;margin:25px 0 22px}.status-bars div{display:flex;align-items:center;justify-content:space-between;font-size:13px;padding-bottom:12px;border-bottom:1px solid #eeece5}.status-bars span{display:flex;align-items:center;gap:9px;color:#5d655f}.dot{display:inline-block;width:8px;height:8px;border-radius:50%}.dot.need{background:#c75b48}.dot.check{background:#d8a43f}.dot.have{background:#5d8b6d}.hint{margin:auto 0 0!important;padding:12px 13px;border-radius:10px;background:#f6f1e5;display:flex;gap:8px;color:#716b5d!important;line-height:1.4!important;font-size:11px!important}.hint svg{width:15px;flex:0 0 15px;color:#aa7730}.section-block{margin-top:42px}.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:17px}.section-title h2{margin:4px 0 0;font-family:Georgia,serif;font-size:27px;font-weight:500}.week-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.day-card{padding:17px;min-height:158px;transition:.18s ease}.day-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(56,62,57,.07)}.day-card.today{border-color:#8ba895;box-shadow:inset 0 0 0 1px #8ba895}.day-card>div{display:flex;align-items:center;justify-content:space-between}.day-card>div strong{font-family:Georgia,serif;font-size:16px}.day-card>div span{padding:4px 7px;border-radius:20px;background:var(--sage);color:var(--green);font-size:9px;font-weight:700;text-transform:uppercase}.meal-swatch{display:block;height:5px;width:35px;margin:22px 0 17px;border-radius:5px}.amber{background:#c98b45!important}.tomato{background:#b9634e!important}.leaf{background:#5b8064!important}.blue{background:#688093!important}.violet{background:#7e6c8e!important}.rose{background:#ab6f6f!important}.gold{background:#b49b50!important}.day-card small{color:#969a95;text-transform:uppercase;letter-spacing:1px;font-size:9px}.day-card h3{margin:5px 0 0;font-size:12px;line-height:1.35;font-weight:650}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:28px}.mini-card{padding:20px;display:flex;align-items:center;gap:17px}.mini-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;flex:0 0 52px}.mini-icon.sun{background:#f4dfb4;color:#9b6c25}.mini-icon.leaf{background:var(--sage)!important;color:var(--green);font-size:24px}.mini-card h3{margin:5px 0 4px;font-family:Georgia,serif;font-size:18px;font-weight:500}.mini-card p{margin:0;color:var(--muted);font-size:11px}.page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:35px}.page-title p{color:var(--muted);margin:9px 0 0;font-size:14px}.page-title h1{margin-top:5px}.page-title>button{border:0;border-radius:11px;height:43px;padding:0 17px;display:flex;align-items:center;gap:8px;background:var(--green);color:white;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}.page-title>button svg{width:16px}.plan-scroll{overflow-x:auto;padding-bottom:12px}.plan-table{min-width:990px;display:grid;grid-template-columns:135px repeat(7,minmax(115px,1fr));border:1px solid var(--line);border-radius:17px;overflow:hidden;background:white}.plan-corner,.plan-day{background:#f4f1e9;border-bottom:1px solid var(--line)}.plan-day{padding:17px 12px;text-align:center;border-left:1px solid var(--line)}.plan-day strong{display:block;font-family:Georgia,serif}.plan-day span{color:var(--muted);font-size:10px}.plan-row{display:contents}.slot-name{min-height:96px;padding:17px 13px;background:#faf8f2;border-bottom:1px solid var(--line);font-size:11px;font-weight:750}.slot{min-height:96px;border:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:white;padding:12px;text-align:left;color:#a6aaa5;cursor:pointer}.slot:hover{background:#fbfaf7}.slot.filled{color:var(--ink);background:#fcfbf8}.slot span{display:block;font-size:11px;line-height:1.35}.slot small{display:block;margin-top:6px;color:var(--muted);font-size:9px}.filter-row{display:flex;gap:8px;margin-bottom:22px;overflow-x:auto}.filter-row button{border:1px solid var(--line);background:white;border-radius:30px;padding:9px 14px;white-space:nowrap;font-size:11px;cursor:pointer}.filter-row button.selected{background:var(--green);border-color:var(--green);color:white}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.recipe-card{overflow:hidden;position:relative}.recipe-art{height:150px;display:grid;place-items:center;color:rgba(255,255,255,.82);font-family:Georgia,serif;font-size:38px;letter-spacing:2px}.recipe-card>div:nth-child(2){padding:18px}.recipe-card h3{margin:6px 0 5px;font-family:Georgia,serif;font-size:20px;font-weight:500}.recipe-card p{margin:0;color:var(--muted);font-size:11px}.recipe-card>button{position:absolute;right:15px;bottom:17px;width:31px;height:31px;border-radius:50%;border:1px solid var(--line);background:white;cursor:pointer}.inventory-toolbar{display:flex;gap:10px;margin-bottom:18px}.inventory-toolbar label{height:44px;flex:1 1;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--line);border-radius:11px;background:white}.inventory-toolbar input{border:0;outline:0;width:100%;background:transparent;font-size:12px}.inventory-toolbar button{border:1px solid var(--line);border-radius:11px;background:white;padding:0 15px;font-size:11px}.inventory-list{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:white}.inventory-list article{display:grid;grid-template-columns:42px 1fr auto 30px;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid #efede7}.inventory-list article:last-child{border-bottom:0}.stock-symbol{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:white;font-family:Georgia,serif}.inventory-list h3{margin:0;font-size:13px}.inventory-list p{margin:4px 0 0;color:var(--muted);font-size:10px}.stock-state{border-radius:20px;padding:5px 9px;font-size:9px;font-weight:750;text-transform:uppercase}.stock-state.need{background:#f8e1dc;color:#a44737}.stock-state.check{background:#f6ebce;color:#9b7023}.stock-state.have{background:#e1ecdf;color:#497456}.inventory-list article>button{border:0;background:transparent;color:var(--muted);cursor:pointer}.shop-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.65fr);gap:20px;align-items:start}.shop-list{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:white}.list-group+.list-group{border-top:8px solid var(--paper)}.list-group-title{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;background:#f7f4ed}.list-group-title span{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.8px}.list-group-title small{color:var(--muted)}.list-group>button{width:100%;display:grid;grid-template-columns:25px 1fr 25px;align-items:center;gap:10px;text-align:left;padding:13px 18px;border:0;border-top:1px solid #efede7;background:white;cursor:pointer}.list-group>button>i{width:21px;height:21px;border:1px solid #cbcfc9;border-radius:6px;display:grid;place-items:center}.list-group>button>i svg{width:13px;opacity:0}.list-group>button>span{font-size:12px;font-weight:650}.list-group>button>span small{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-weight:400}.list-group>button>em{font-style:normal;color:#aaa}.list-group>button.checked{opacity:.55}.list-group>button.checked>i{background:var(--green);color:white;border-color:var(--green)}.list-group>button.checked>i svg{opacity:1}.list-group>button.checked>span{text-decoration:line-through}.shop-summary{padding:24px;position:sticky;top:35px}.shop-summary h3{font-family:Georgia,serif;font-size:23px;font-weight:500;line-height:1.25;margin:8px 0 22px}.shop-summary>div{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:12px}.shop-summary>button{width:100%;height:44px;border:0;border-radius:11px;background:var(--green);color:white;font-size:12px;font-weight:700;margin-top:18px;cursor:pointer}.shop-summary p{color:var(--muted);font-size:10px;line-height:1.5;text-align:center}@media(max-width:1050px){.app-shell{grid-template-columns:86px minmax(0,1fr)}.sidebar{padding-inline:15px}.brand{justify-content:center}.brand>span:last-child,.sidebar nav button em,.sidebar nav button span,.sidebar-foot>div:last-child{display:none}.sidebar nav button{padding:0}.sidebar nav button,.sidebar-foot{justify-content:center}.main-content{padding-inline:30px}.today-grid{grid-template-columns:1fr}.status-card{min-height:250px}.recipe-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.app-shell{display:block}.sidebar{display:none}.main-content{padding:28px 17px 104px}.bottom-nav{position:fixed;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;height:72px;padding:7px 8px max(7px,env(safe-area-inset-bottom));background:rgba(251,250,246,.94);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav button{position:relative;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#818782;font-size:9px}.bottom-nav button.active{color:var(--green)}.bottom-nav svg{width:19px}.bottom-nav em{position:absolute;top:1px;right:17%;width:17px;height:17px;font-size:8px}.page-header{margin-bottom:25px}.page-header h1,.page-title h1{font-size:34px}.page-header>div>span{font-size:13px}.hero-card{display:flex;flex-direction:column-reverse;min-height:0}.food-art{height:190px;min-height:190px}.hero-copy{padding:25px}.hero-card h2{font-size:34px}.hero-actions{flex-direction:column}.hero-actions button{justify-content:center}.today-grid{display:flex;flex-direction:column}.status-card{min-height:260px}.week-row{grid-template-columns:repeat(5,145px);overflow-x:auto;padding:2px 2px 12px}.lower-grid{grid-template-columns:1fr}.section-block{margin-top:34px}.page-title{display:block;margin-bottom:27px}.page-title>button{margin-top:20px}.recipe-grid{grid-template-columns:1fr}.recipe-art{height:130px}.inventory-toolbar{align-items:stretch}.inventory-toolbar>button{display:none}.inventory-list article{grid-template-columns:38px 1fr auto}.inventory-list article>button{display:none}.stock-symbol{width:36px;height:36px}.shop-layout{grid-template-columns:1fr}.shop-summary{position:static}.plan-scroll{margin-right:-17px}.mini-card{padding:17px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}