:root{--cream:#f8f6f0;--ink:#293a2e;--green:#35583f;--muted:#7c8276;--line:#e6e8dc}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:15px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button,a,input,select{outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}.app{min-height:100vh}aside{border-right:1px solid var(--line);background:#eeeee4;flex-direction:column;width:245px;padding:44px 28px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-2px;font-family:Georgia,serif;font-size:38px}.brand span{color:#738066}aside>p{color:var(--muted);margin:18px 0 45px;font-size:13px;line-height:1.7}aside nav{gap:10px;display:grid}aside nav button{text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:17px;padding:16px;display:flex}aside nav button span{font-size:25px}.active{font-weight:700;color:var(--green)!important}aside nav .active{background:#dde4d3}.aside-bottom{align-items:center;gap:12px;margin-top:auto;font-size:13px;display:flex}.avatar{background:#dce3d0;border-radius:50%;padding:13px 17px}.aside-bottom small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.body{margin-left:245px}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:90px;padding:0 6%;display:flex}.house-name{align-items:center;gap:12px;font-size:20px;display:flex}.house-name span{font-size:14px}.demo-badge{color:#5a694f;background:#e9ecdf;border-radius:30px;padding:8px 12px;font-size:11px}main{max-width:1150px;margin:auto;padding:48px 6% 110px}.page-heading{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.eyebrow{letter-spacing:1.8px;color:#778367;margin:0 0 14px;font-size:10px;font-weight:700}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400}h1{letter-spacing:-1.2px;margin:0 0 12px;font-size:clamp(28px,3.1vw,43px);line-height:1.15}h2{letter-spacing:-.6px;margin:0 0 12px;font-size:27px}h3{font-size:23px}.subtitle{color:var(--muted);margin:0;line-height:1.6}.heading-flower{color:#8d9c76;font-size:72px}.voice-banner{color:#fff;text-align:left;background:#35583f;border:0;border-radius:21px;align-items:center;gap:22px;width:100%;padding:25px 28px;display:flex}.mic-disc{background:#ffffff1a;border-radius:50%;place-items:center;width:58px;height:58px;font-size:27px;display:grid}.voice-banner strong{font-size:19px;font-weight:500;display:block}.voice-banner small{color:#d3ddca;margin-top:9px;font-size:12px;line-height:1.5;display:block}.arrow{margin-left:auto;font-size:28px}.section-line{justify-content:space-between;align-items:center;gap:12px;margin:33px 0 20px;display:flex}.section-line h2{margin:0;font-size:24px}.section-line>span{color:var(--muted);font-size:12px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.card{border:1px solid var(--line);background:#fffdf7;border-radius:22px;padding:29px}.card p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.65}.card-icon{margin-bottom:22px;font-size:28px;display:block}.soon{background:#eff0e3}.needs .card-icon{color:#997351}.pills{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.pills span,.pills button{background:#ffffffa8;border:1px solid #e1e3d5;border-radius:10px;padding:9px 12px;font-size:12px}.text-button{width:100%;color:var(--green);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 0 0;font-size:13px;font-weight:600;display:flex}.dinner-card{border:1px solid var(--line);background:#eee8dc;border-radius:22px;grid-template-columns:42% 58%;margin-top:24px;display:grid;overflow:hidden}.dinner-card>div:last-child{padding:32px}.dinner-card p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6}.food-art{background:radial-gradient(#e0d8b9 0%,#e6dfcd 52%,#d5d8c0 100%);justify-content:center;align-items:center;font-size:110px;display:flex;position:relative}.food-art span{font-size:75px;position:absolute;bottom:28px;right:25px;transform:rotate(-30deg)}.primary{background:var(--green);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;gap:18px;min-height:48px;padding:15px 20px;font-size:13px;display:inline-flex}.footnote{text-align:center;color:#8b9081;margin:30px 0;font-size:11px}.toolbar{gap:12px;margin-bottom:22px;display:flex}input:not([type=checkbox]),select{color:var(--ink);background:#fffdf8;border:1px solid #dfe2d6;border-radius:11px;min-height:48px;padding:14px}.toolbar input{flex:1;min-width:0}.chips{gap:8px;margin:18px 0;padding-bottom:10px;display:flex;overflow:auto}.chips button{white-space:nowrap;background:0 0;border:1px solid #dfe2d6;border-radius:30px;padding:11px 16px;font-size:13px}.chips .selected{color:#fff;background:#35583f;border-color:#35583f}.product-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}.product-card{text-align:left;border:1px solid var(--line);background:#fffdf8;border-radius:15px;align-items:center;gap:13px;min-width:0;padding:19px 16px;display:flex}.product-card strong{font-size:14px;display:block}.product-card small{color:var(--muted);margin-top:8px;font-size:10px;line-height:1.5;display:block}.product-symbol{color:#7f9273;font-size:22px}.status{white-space:nowrap;border-radius:20px;margin-left:auto;padding:6px 9px;font-size:10px}.available{color:#58704c;background:#e9efe0}.low{color:#8e6c35;background:#f2e5cf}.empty{color:var(--muted);text-align:center;padding:25px}.status.empty{color:#995c45;background:#efdfd7;padding:6px 9px}.shopping-list{border:1px solid var(--line);background:#fffdf8;border-radius:20px;padding:0 25px 25px}.shopping-item{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:18px 0;font-size:16px;display:flex}.shopping-item input{width:24px;height:24px;accent-color:var(--green)}.shopping-item>button{color:#93988b;background:0 0;border:0;width:44px;height:44px;margin-left:auto;font-size:24px}.done span{color:var(--muted);text-decoration:line-through}.checkout{width:100%;margin-top:25px}.suggestions{margin-top:22px}.recipe-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.recipe-card{border:1px solid var(--line);background:#fffdf8;border-radius:20px;overflow:hidden}.recipe-art{background:#e9e6d8;border:0;width:100%;height:190px;font-size:70px;position:relative}.recipe-card:nth-child(2) .recipe-art{background:#eedbd0}.recipe-card:nth-child(3) .recipe-art{background:#e0e6d3}.recipe-art span{background:#fffdf8d9;border-radius:20px;padding:8px 12px;font-size:10px;position:absolute;bottom:15px;left:15px}.recipe-content{padding:22px}.recipe-content h2{font-size:23px}.recipe-content p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.65}.cooking-note{color:var(--muted);margin:12px 0 25px;font-size:13px}.plan-row{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:15px 0;display:flex}.plan-row select{flex:1;min-width:0}.bottom-nav{display:none}.desktop-voice{background:var(--green);color:#fff;border:0;border-radius:30px;padding:16px 22px;font-size:17px;position:fixed;bottom:25px;right:28px;box-shadow:0 5px 20px #24442c33}.desktop-voice span{margin-left:8px;font-size:12px}dialog{width:min(520px,94vw);max-height:90dvh;color:var(--ink);background:0 0;border:0;padding:0}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#192b2355}.sheet{background:var(--cream);border-radius:24px;padding:28px}.sheet-head{justify-content:space-between;align-items:center;gap:15px;display:flex}.sheet-head h2{margin:0}.close{background:#e7eadf;border:0;border-radius:50%;flex-shrink:0;width:44px;height:44px;font-size:28px}.sheet form>label{flex-direction:column;gap:9px;margin:18px 0;font-size:13px;display:flex}.sheet form>label.check-label{flex-direction:row;align-items:center}.check-label input{width:23px;height:23px;accent-color:var(--green)}.full{width:100%;margin-top:18px}.sheet p,.sheet li{color:#747d6d;font-size:14px;line-height:1.7}.sheet li{margin-bottom:15px;padding-left:5px}.voice-placeholder{text-align:center;padding:25px;font-size:50px}.ingredient{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:14px 0;display:flex}.ingredient small{color:var(--muted);font-size:11px}.save-button{border:1px solid var(--line);background:#e5eadc;border-radius:12px;padding:12px 18px}.toast{z-index:10;color:#fff;background:#243b2b;border-radius:14px;align-items:center;gap:18px;max-width:94vw;padding:16px 20px;font-size:12px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #0002}.toast button{color:#d4e5b6;white-space:nowrap;background:0 0;border:0;padding:8px}@media (min-width:1500px){main{padding-top:60px}.voice-banner{padding:30px}.card{padding:35px}}@media (max-width:1050px){aside{width:190px;padding:35px 20px}.body{margin-left:190px}.product-grid{grid-template-columns:1fr}.recipe-grid{grid-template-columns:1fr 1fr}.heading-flower{display:none}.dashboard-grid{gap:15px}.card{padding:24px}h2{font-size:24px}}@media (max-width:700px){aside{display:none}.body{margin:0}header{height:70px;padding:0 22px}main{padding:30px 20px 120px}h1{max-width:340px;font-size:34px;line-height:1.17}.page-heading{margin-bottom:25px}.eyebrow{font-size:9px}.subtitle{font-size:13px}.voice-banner{border-radius:18px;gap:14px;padding:20px 18px}.voice-banner strong{font-size:16px}.voice-banner small{font-size:11px}.mic-disc{flex-shrink:0;width:45px;height:45px;font-size:23px}.arrow{display:none}.section-line>span{font-size:10px}.section-line h2{font-size:22px}.dashboard-grid{grid-template-columns:1fr}.card{padding:25px}.card-icon{margin-bottom:17px}.dinner-card{grid-template-columns:1fr}.food-art{min-height:165px;font-size:90px}.food-art span{font-size:65px;bottom:20px;right:calc(50% - 90px)}.dinner-card>div:last-child{padding:26px}.bottom-nav{z-index:5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:10px 8px calc(10px + env(safe-area-inset-bottom));background:#fafaf4f5;border-top:1px solid #dfe4d7;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#8b9184;background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;width:60px;min-height:48px;font-size:10px;display:flex}.bottom-nav button span{font-size:25px}.bottom-nav .floating-voice{background:var(--green);color:#fff;width:56px;height:56px;box-shadow:0 0 0 6px var(--cream);border-radius:50%;place-items:center;margin-top:-28px;font-size:26px;display:grid}.desktop-voice{display:none}.toolbar{flex-wrap:wrap}.toolbar input{flex-basis:100%;width:100%}.toolbar button{width:100%}.product-card{padding:17px 14px}.recipe-grid{grid-template-columns:1fr}.recipe-art{height:170px}.shopping-list{padding:0 20px 20px}.toast{gap:6px;width:max-content;padding:12px;font-size:11px;bottom:95px}.sheet{border-radius:24px 24px 0 0;padding:24px 20px}dialog{width:100%;max-width:100%;max-height:90dvh;margin:auto 0 0}.sheet-head h2{font-size:25px}.footnote{line-height:1.6}}.access-page{align-items:center;max-width:520px;min-height:100dvh;margin:0 auto;padding:30px 20px;display:grid}.access-card{border:1px solid var(--line);background:#fffdf7;border-radius:24px;padding:34px}.access-card>.brand{margin-bottom:35px}.access-card h1{font-size:34px}.access-card p{color:var(--muted);line-height:1.7}.access-card form label{flex-direction:column;gap:9px;margin:20px 0;font-size:13px;display:flex}.access-card .eyebrow{font-size:10px}.access-hint{text-align:center;font-size:12px}.secondary{color:var(--green);border:1px solid var(--line);cursor:pointer;background:#edf0e4;border-radius:12px;padding:15px}.access-error{background:#f9e5dc;border-radius:12px;padding:15px;font-size:13px;color:#81412c!important}.header-actions{align-items:center;gap:12px;display:flex}.logout-button{color:var(--green);background:0 0;border:0;min-height:44px;font-size:11px}.save-notice,.save-error{z-index:30;color:#fff;background:#243b2b;border-radius:15px;width:min(460px,94vw);padding:18px;font-size:13px;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.save-error{color:#623e2c;background:#fff4eb;border:1px solid #ddc7b5}.save-error button{background:#fff;border:1px solid #ddc7b5;border-radius:8px;min-height:44px;margin-right:8px;padding:10px}.save-error p{line-height:1.5}@media (max-width:700px){.header-actions{gap:3px}.header-actions .demo-badge{padding:7px 9px;font-size:9px}.house-name span{font-size:12px}.access-card{padding:26px}.access-page{padding-bottom:30px}}.voice-flow{gap:16px;display:grid}.voice-flow label{gap:7px;font-size:14px;display:grid}.voice-flow textarea{resize:vertical;width:100%;font:inherit;color:inherit;background:#fffdf8;border:1px solid #ddd8cb;border-radius:14px;padding:14px}.voice-note{color:#74796d;font-size:12px;line-height:1.6}.voice-change{border:1px solid #ddd8cb;border-radius:16px;gap:12px;padding:16px;display:grid}.voice-change .voice-select{align-items:center;gap:10px;display:flex}.voice-select input{width:auto}.voice-select span{margin-left:auto;font-size:12px}.voice-change small{color:#74796d}.delete-product{color:#9a4230;font:inherit;cursor:pointer;background:#fff9f6;border:1px solid #d9b7ae;border-radius:12px;margin-top:14px;padding:13px 18px;font-weight:600}.delete-product:hover{background:#f8e9e3}.delete-product:disabled{opacity:.5;cursor:wait}input:not([type=checkbox]),select,.voice-flow textarea{font-size:16px}.recipe-preferences{flex-wrap:wrap;gap:16px;margin-top:20px;display:flex}.recipe-preferences label{flex:1;gap:8px;min-width:140px;font-size:13px;display:grid}.recipe-preferences label:last-child{flex:3}.recipe-preferences input{width:100%;min-width:0}.recipe-idea-grid{gap:20px;margin-top:24px;display:grid}.recipe-ideas summary{cursor:pointer;color:var(--green);min-height:44px;padding:12px 0;font-size:14px}.recipe-ideas ol{padding-left:22px;font-size:14px;line-height:1.8}.recipe-ideas li{margin-bottom:12px}.recipe-quantity{margin-top:5px;display:block}.expiry-fields{border:1px solid var(--line);background:#eff0e3;border-radius:14px;margin:22px 0;padding:16px}.expiry-fields label{gap:8px;margin:12px 0;font-size:13px;display:grid}.expiry-fields input,.expiry-fields select{width:100%;min-width:0}.sheet .expiry-hint{font-size:12px;line-height:1.6}.product-card .freshness-soon{color:#995c45;font-weight:600}.product-card .freshness-date{color:#58704c}
