:root{--green:#098a43;--light:#eaf7ed;--ink:#17261d;--muted:#7b847e;--line:#edf0ec}*{box-sizing:border-box}body{margin:0;background:#f5f7f3;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #92cdae;outline-offset:3px}.workspace{max-width:1440px;margin:auto;min-height:100vh;display:grid;grid-template-columns:250px minmax(380px,650px) 1fr}aside{padding:42px 28px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-size:29px;letter-spacing:-1px;font-weight:750;color:var(--green);text-decoration:none;display:flex;gap:10px;align-items:center}.brand span{color:var(--ink)}.tagline{font-size:12px;color:var(--muted);margin-top:10px}nav{margin-top:70px;display:grid;gap:9px}.nav{text-align:left;padding:15px 18px;border-radius:13px;background:transparent;color:#68766c;font-weight:550}.nav.active{color:var(--green);background:#e4efe4}.side-bottom{margin-top:auto}.small-label,.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#829487}.retailers{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;font-size:12px}.retailers b:first-child{color:#ce6323}.retailers b:last-child{color:#447239}.side-bottom p{font-size:27px;line-height:1.35;font-weight:500;letter-spacing:-.7px;margin:35px 0}.demo-pill{font-size:10px;color:#7a857c;border:1px solid #dfe6dd;padding:8px 10px;border-radius:20px}main{background:white;border-left:1px solid #e8ede6;border-right:1px solid #e8ede6;min-height:100vh;padding:38px 36px 0;display:flex;flex-direction:column}header{display:flex;justify-content:space-between;align-items:center}h1{font-size:43px;letter-spacing:-2px;margin:8px 0 6px;line-height:1.1}h1 span{color:var(--green)}.status{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--green)}.status i,.honest i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#17ab54}.icon{background:#f4f6f3;width:39px;height:39px;border-radius:50%;font-size:23px;color:#56675a}#agent-view{padding:15px 0 24px}.welcome{text-align:center;padding:32px 0 12px}.spark{height:58px;width:58px;border-radius:20px;background:var(--light);color:var(--green);font-size:38px;margin:0 auto 18px;display:grid;place-items:center}.welcome h2{font-size:32px;letter-spacing:-1.2px;line-height:1.2;font-weight:650;margin:0 0 15px}.welcome p{font-size:14px;line-height:1.7;color:var(--muted)}.sample{display:flex;flex-direction:column;gap:12px;align-items:center;width:100%;padding:23px 20px;background:#f6faf5;border:1px solid #e4eee2;border-radius:20px;margin:28px auto 12px}.sample>span{font-size:37px;letter-spacing:5px}.sample strong{font-size:14px;font-weight:600}.sample small{color:var(--muted);font-size:12px}.sample b{margin-left:12px;color:var(--green);font-size:18px}.right-note{padding:130px 33px 30px}.tiny-star{font-size:30px;color:#9cbda2}.right-note h2{font-size:35px;line-height:1.2;letter-spacing:-1.3px;font-weight:550}.right-note p{font-size:13px;line-height:1.8;color:var(--muted);max-width:230px}.step{display:flex;align-items:center;gap:12px;font-size:12px;margin:27px 0}.step span{color:#8da393;font-size:10px;border:1px solid #dce5db;padding:7px;border-radius:50%}.honest{border-top:1px solid #e0e7dd;margin-top:46px;padding-top:20px;color:#809185;font-size:11px;line-height:1.8}.honest i{margin-right:5px;width:5px;height:5px}footer{margin-top:auto;position:sticky;bottom:0;background:linear-gradient(transparent,#fff 12%);padding:18px 0 20px}.quick{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.quick button{border-radius:20px;color:var(--green);background:var(--light);padding:10px 13px;font-size:11px;font-weight:600}.quick>span{font-size:10px;color:#8b938b}form{display:flex;align-items:center;border:1px solid #e5eae3;border-radius:30px;padding:7px;gap:6px;box-shadow:0 3px 15px #263e2410}form input{border:0;outline:0;flex:1;min-width:0;padding:10px 3px;font-size:13px;color:var(--ink)}.plus{border:0;background:#eaf7ed;color:var(--green);font-size:27px;width:40px;height:40px;border-radius:50%}.send{border-radius:50%;background:var(--green);color:#fff;font-size:27px;width:42px;height:42px}.footnote{text-align:center;margin-top:13px;color:#a2aaa3;font-size:10px}.bubble{padding:14px 17px;font-size:14px;line-height:1.55;border-radius:19px;max-width:90%;margin:16px 0;white-space:pre-wrap}.bubble.user{margin-left:auto;background:#e4f4e3;border-bottom-right-radius:5px}.bubble.assistant{background:#f6f8f5;border-bottom-left-radius:5px}.draft-card{border:1px solid #e5ece3;border-radius:22px;padding:20px;margin-top:20px;box-shadow:0 5px 22px #1d412307}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-top h3{font-size:16px;margin:0}.count{font-size:11px;color:var(--muted)}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0}.product{text-align:center;background:#f7f9f6;border:1px solid #edf1e9;border-radius:14px;padding:14px 5px;overflow-wrap:anywhere}.product .emoji{font-size:36px;display:block;margin-bottom:9px}.product strong{display:block;font-size:12px;font-weight:600;text-transform:capitalize}.product small{color:var(--muted);font-size:11px;display:block;margin-top:5px}.primary,.secondary{padding:14px 18px;border-radius:12px;font-weight:600;font-size:13px}.primary{background:var(--green);color:white}.secondary{background:#f1f5ef;color:var(--green)}.full{width:100%;margin-top:8px}.outline{background:white;border:1px solid #b7d6bd;color:var(--green)}.result{margin-top:22px;background:#f2f8ef;border:1px solid #dcead5;border-radius:20px;padding:22px}.result .eyebrow{color:#5d8464}.total{font-size:42px;font-weight:700;letter-spacing:-1.5px;margin:7px 0}.saving{font-size:12px;color:var(--green);background:#e0efd9;padding:7px 10px;border-radius:10px;display:inline-block}.store{border-top:1px solid #dce6d6;margin-top:19px;padding-top:16px}.store-head{display:flex;justify-content:space-between;font-size:13px;font-weight:650}.store-line{display:flex;justify-content:space-between;gap:15px;font-size:12px;margin-top:13px;color:#5a6e5c}.store-line small{display:block;margin-top:4px;color:#8b9888;font-size:10px}.disclaimer{font-size:10px;line-height:1.6;color:#84917d;margin-top:17px}.notice{font-size:12px;padding:13px;background:#fff8e9;border:1px solid #f1e5c7;border-radius:12px;margin-top:12px;color:#8b6b28}.section-title{margin:35px 0 25px}.section-title h2{font-size:26px;letter-spacing:-1px;margin-bottom:5px}.section-title span{font-size:12px;color:var(--muted)}.history-card{border:1px solid var(--line);border-radius:17px;margin-bottom:14px;padding:20px}.history-card h3{margin:0 0 10px;font-size:15px}.history-card p{color:var(--muted);font-size:12px;line-height:1.6}.history-card .total{font-size:28px}.empty{text-align:center;padding:55px 20px;color:var(--muted);font-size:14px;line-height:1.8}.empty span{display:block;font-size:45px;margin-bottom:15px}dialog{border:0;border-radius:25px;padding:24px;max-width:480px;width:calc(100% - 30px);box-shadow:0 20px 100px #0003;color:var(--ink)}dialog::backdrop{background:#152d2260;backdrop-filter:blur(3px)}dialog h2{font-size:22px;letter-spacing:-.6px}.handle{width:40px;height:4px;border-radius:3px;background:#d8ddd7;margin:0 auto 20px}.menu-row{display:flex;align-items:center;gap:15px;text-align:left;background:#f7f9f6;width:100%;padding:18px;border-radius:14px;margin:10px 0}.menu-row span{font-size:25px}.menu-row strong{display:block;font-size:14px}.menu-row small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.field{display:block;margin:16px 0;font-size:13px}.field input{margin-top:8px;border:1px solid #dce4d9;padding:12px;border-radius:10px;width:100%}.edit-row{display:grid;grid-template-columns:1fr 65px 70px 30px;gap:5px;margin:9px 0}.edit-row input,.edit-row select{width:100%;min-width:0;border:1px solid #dce4d9;padding:9px 5px;border-radius:8px;font-size:12px}.edit-row button{background:#fff1ee;border-radius:8px;color:#ab6053}.loading{color:var(--green);font-size:13px;padding:14px 0}.loading:after{content:' ···';animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.25}}[hidden]{display:none!important}@media(min-width:1450px){.workspace{padding-top:30px;min-height:100vh}main{border-radius:28px 28px 0 0;min-height:calc(100vh - 30px)}}@media(max-width:1120px){.workspace{grid-template-columns:210px minmax(380px,650px);justify-content:center}.right-note{display:none}aside{padding-left:20px;padding-right:20px}}@media(max-width:680px){body{background:white}.workspace{display:block}aside{height:auto;position:static;padding:12px 20px;border-bottom:1px solid var(--line)}.brand,.tagline,.side-bottom{display:none}nav{margin:0;display:flex;gap:8px}.nav{font-size:12px;padding:9px 14px}main{border:0;padding:25px 22px 0;min-height:calc(100dvh - 60px)}h1{font-size:38px}.welcome{padding-top:30px}.welcome h2{font-size:30px}.sample{margin-top:20px}.eyebrow{font-size:9px}footer{padding-bottom:max(14px,env(safe-area-inset-bottom))}.products{gap:7px}.quick>span{font-size:9px}.right-note{display:none}dialog{margin:auto auto 0;border-radius:25px 25px 0 0;max-width:100%;width:100%}}

.brand-logo{display:block;width:180px;height:auto}.header-logo{display:block;width:210px;height:auto}h1:has(.header-logo){margin:12px 0 12px}@media(max-width:680px){.header-logo{width:180px}}

/* App layout inspired by the mobile reference. */
:root{--green:#008f3c;--light:#eaf8e9;--ink:#151c17;--muted:#858b86}
body{background:#eef2ed}
.workspace{display:block;max-width:480px;min-height:0;margin:24px auto;padding:0}
.workspace>aside,.right-note{display:none}
main{height:calc(100dvh - 48px);min-height:0;padding:0;border:1px solid #e0e6df;border-radius:32px;background:#fff;overflow:hidden;box-shadow:0 16px 60px #233c2010}
header{flex:none;padding:23px 24px 17px;background:#fff;align-items:center}
header .eyebrow{display:none}
h1:has(.header-logo){margin:0 0 8px}.header-logo{width:158px;height:auto}
.status{font-size:12px;font-weight:550;gap:6px}.status i{width:9px;height:9px}
.icon{background:transparent;font-size:27px;width:36px;height:36px}
#agent-view,#history-view{flex:1;min-height:0;overflow-y:auto;padding:2px 20px 22px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#e1e8df transparent}
.welcome{padding:20px 0 0}.welcome h2{font-size:28px;letter-spacing:-.8px}.welcome p{font-size:13px}.spark{border-radius:50%;width:48px;height:48px;background:var(--green);color:#fff;font-size:30px;margin-bottom:18px}
.sample{background:#f4f9f2;border:1px solid #e8f1e5;margin:24px 0 0;padding:20px 10px;gap:11px;border-radius:19px}.sample>span{font-size:33px}.sample strong{font-size:13px}.sample small{font-size:10px}
.bubble{font-size:14px;max-width:93%;padding:14px 16px;margin:12px 0}.bubble.user{background:#e2f5df;border-radius:20px 20px 4px 20px}.bubble.assistant{background:#fff;padding-left:35px;position:relative}.bubble.assistant:before{content:'✦';position:absolute;left:0;top:13px;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:19px}
.draft-card{padding:17px;border:1px solid #f0f2ee;border-radius:22px;box-shadow:0 3px 18px #20471b06;margin-top:10px}.card-top h3{font-size:14px}.count{font-size:10px}.products{background:#f7f9f6;padding:8px;gap:7px;margin:14px 0;border-radius:16px}.product{background:#fff;border:0;border-radius:12px;padding:13px 5px}.product .emoji{font-size:40px;margin-bottom:10px}.product strong{font-size:13px}.product small{font-size:12px}.primary,.secondary{font-size:14px;padding:14px;border-radius:12px}.outline{border-color:#7dbb89}.full{margin-top:9px}
footer{position:static;flex:none;background:#fff;margin-top:0;padding:10px 18px 12px;border-top:1px solid #f5f6f3}.quick{margin-bottom:10px;gap:8px}.quick button{font-size:10px;padding:9px 11px}.quick>span{font-size:9px}form{border:0;box-shadow:none;gap:8px;padding:0;border-radius:0}form input{background:#fff;border:1px solid #edf0e9;border-radius:28px;padding:15px 14px;box-shadow:0 2px 10px #152b1905;font-size:13px}.plus,.send{background:var(--green);color:white;width:44px;height:44px;flex:none}.footnote{margin-top:8px;font-size:9px}
.bottom-nav{display:flex;flex:none;justify-content:space-around;gap:0;margin:0;padding:9px 15px 12px;border-top:1px solid #f0f2ed;background:#fff}.bottom-nav .nav{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0 20px;background:transparent;font-size:10px;color:#8b918a;border-radius:8px}.bottom-nav .nav.active{color:var(--green)}.bottom-nav svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.section-title{margin:14px 0 23px}.section-title h2{font-size:25px}.history-card{border:1px solid #f1f3ef;box-shadow:0 3px 12px #223c1704;border-radius:18px;padding:20px}.history-card .secondary{background:var(--green);color:#fff;padding:10px 17px}.result{padding:20px;border-radius:20px}.total{font-size:36px}.store-line{line-height:1.5}.saving{font-size:11px}
dialog{padding:20px;max-width:460px;max-height:85dvh;border-radius:26px;overflow:auto}dialog .menu-row{background:white;border-bottom:1px solid #f1f2ef;border-radius:0;padding:19px 5px}.menu-row span{background:var(--light);color:var(--green);border-radius:14px;display:grid;place-items:center;width:48px;height:48px;flex:none}.menu-row:nth-of-type(2) span{background:#e9f4ff;color:#3266a4}.menu-row:nth-of-type(3) span{background:#f1e8ff;color:#8254ba}dialog::backdrop{background:#0007;backdrop-filter:blur(1px)}
@media(max-width:680px){body{background:#fff}.workspace{margin:0;max-width:100%;height:100dvh}main{height:100dvh;min-height:0;border:0;border-radius:0;box-shadow:none}header{padding-top:20px}.bottom-nav{padding-bottom:max(12px,env(safe-area-inset-bottom))}dialog{margin:auto auto 0;border-radius:26px 26px 0 0;max-width:480px}footer{padding-bottom:9px}}
@media(min-width:681px){dialog{margin:auto auto 24px;border-radius:26px 26px 28px 28px;width:478px;max-width:478px}}

.oaxaca-demo{background:#f2f8ef;margin:12px 0 20px}.demo-cheese{font-size:54px;margin-top:15px}.oaxaca-demo h3{margin:8px 0 4px;font-size:21px}.oaxaca-demo p{margin:0;color:var(--muted);font-size:13px}.oaxaca-demo .total small{font-size:12px;letter-spacing:0}.oaxaca-demo .store-head{border-top:1px solid #dce6d6;padding-top:14px}

.store-line a{display:inline-block;color:var(--green);font-size:11px;margin-top:7px}.edit-notes{grid-column:1 / 4;grid-row:2}.edit-row .remove-row{grid-column:4;grid-row:1 / 3}

.price-comparison{margin:24px 0;padding:22px;border:1px solid #e0e9e3;border-radius:24px;background:#fafcf9}.price-scope{background:#fff5dc;color:#725919;padding:12px;border-radius:12px;font-size:13px;line-height:1.5}.comparison-help{font-size:13px;color:#68776d;line-height:1.5}.price-option{background:white;border:1px solid #e3e9e4;border-radius:18px;padding:18px;margin:14px 0}.price-option.best-price{border:2px solid #009637;background:#f5fff6}.price-option-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.best-badge{background:#008f34;color:white;padding:5px 9px;border-radius:20px;font-size:10px}.price-option h4{font-size:16px;margin:14px 0}.price-pair{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.price-pair strong{font-size:27px}.price-pair span{font-size:13px;color:#17753a;font-weight:700}.price-option p,.price-option small{font-size:12px;line-height:1.5;color:#69776c}.price-option a{display:block;margin-top:12px;font-size:13px;color:#008f34;font-weight:700}.price-meter{height:5px;background:#edf1eb;border-radius:5px;margin:12px 0}.price-meter span{display:block;height:100%;background:#72bc82;border-radius:5px}[hidden]{display:none!important}
.price-table{width:100%;border-collapse:collapse;font-size:12px;margin:18px 0}.price-table th{text-align:left;color:#6b786f;font-size:11px;padding:8px 5px;white-space:nowrap}.price-table td{border-top:1px solid #e2e9e2;padding:13px 5px;vertical-align:top}.price-table td:not(:first-child){white-space:nowrap}.price-table a{color:#173d25;font-weight:700;text-decoration:none}.price-table small{display:block;margin-top:6px;color:#68776d;font-size:11px;line-height:1.5}.winner-row{background:#e8f7e9}.winner-label{display:block;color:#008f34;font-size:10px;font-weight:700;margin-top:6px}.price-comparison summary{color:#008f34;font-size:13px;font-weight:700;cursor:pointer;padding:10px 0}
.product-with-photo{display:flex;align-items:center;gap:9px}.product-photo{width:54px;height:64px;object-fit:contain;background:#fff;border:1px solid #e3e9e4;border-radius:9px;flex-shrink:0}.photo-fallback{display:flex;align-items:center;justify-content:center;font-size:24px}@media(max-width:420px){.product-with-photo{display:block}.product-photo{margin-bottom:6px;width:48px;height:54px}}
.add-selection{display:block;margin-top:8px;border:1px solid #a5d8b1;background:#fff;color:#008f34;border-radius:14px;padding:6px 9px;font-size:11px;cursor:pointer}#selection-preview{background:#eef8ef;padding:10px 14px;border-radius:14px;margin:12px 0}#savings-stats{margin-bottom:20px}

#voice-panel{padding:16px;background:#eef8f0;border-radius:18px;margin:0 0 10px}#voice-panel p{font-size:12px;line-height:1.5;color:#506956}#voice-status{font-weight:600;margin:12px 0}.voice-controls{display:flex;gap:8px;flex-wrap:wrap}.voice-controls button{padding:10px;border-radius:12px;border:1px solid #83b590;background:white;color:#066c30}#voice-open{margin-bottom:8px}#voice-panel[hidden]{display:none}

#settings{font-size:12px;width:auto;max-width:165px;border-radius:14px;padding:10px}#location-status{font-size:13px;line-height:1.5}#wishlist .secondary{display:inline-block;margin:6px 5px 0 0}#wishlist .history-card{padding:18px}

/* Search stays focused on one input; voice is a compact, dismissible panel. */
#composer{padding:14px 18px 12px}#chat{display:flex;align-items:center;gap:6px;border:1px solid #e2e9e3;border-radius:28px;padding:6px;background:#f8faf8;box-shadow:none}#chat input{min-width:0;flex:1;border:0;box-shadow:none;background:transparent;padding:10px 2px;font-size:14px}#chat .plus{width:30px;height:38px;flex:0 0 30px;background:transparent;color:#85928a;font-size:23px}#chat .send{width:38px;height:38px;flex:0 0 38px;font-size:24px}#voice-open{display:grid;place-items:center;width:36px;height:38px;flex:0 0 36px;margin:0;padding:8px;border:0;border-radius:50%;background:transparent;color:#087f3d}#voice-open svg{width:21px;height:21px}#voice-open:hover,#voice-open[aria-expanded=true]{background:#e0f0e4}.search-hint{text-align:center;font-size:10px;color:#89938d;margin-top:10px}.welcome{padding:48px 10px 30px;text-align:center}.welcome .spark{margin:0 auto 24px;background:#eaf5ec;color:#078d3e;width:56px;height:56px}.welcome h2{font-size:31px;line-height:1.15;margin:0 0 16px;letter-spacing:-1px}.welcome p{font-size:13px;color:#7a877e;line-height:1.6}.status{font-size:10px;opacity:.8}
#voice-panel{padding:15px;background:#f2f8f3;border:1px solid #e2eee5;border-radius:20px;margin:0 0 12px}.voice-heading{display:flex;align-items:center;gap:12px}.voice-heading h3{margin:0;font-size:14px;letter-spacing:-.2px}#voice-status{font-size:12px;font-weight:400;color:#587260;margin:4px 0 0}.voice-orb{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;color:#fff;font-size:25px;background:linear-gradient(135deg,#14ac61,#006b3b);box-shadow:0 0 0 5px #e4f1e7}#voice-close{margin-left:auto;align-self:flex-start;width:28px;height:28px;border-radius:50%;background:transparent;color:#75877b;font-size:22px;padding:0}.voice-controls{margin-top:16px;display:flex;gap:8px}.voice-controls button{flex:1;font-size:12px;font-weight:600;padding:10px 8px;border-radius:12px;border:1px solid #d3e2d8;min-height:40px}.voice-controls #voice-start{background:#078c43;color:white;border-color:#078c43}.voice-controls #voice-stop{color:#ad4949;background:white;border-color:#eadcdc}.voice-controls button:disabled{display:none}#voice-panel .voice-privacy{margin:10px 0 0;font-size:10px;line-height:1.5;color:#809086}#voice-panel[data-state=speaking] .voice-orb{animation:voice-breathe .8s ease-in-out infinite alternate}#voice-panel[data-state=listening] .voice-orb{animation:voice-breathe 2s ease-in-out infinite alternate}#voice-panel[data-state=muted] .voice-orb{background:#8b9d90;box-shadow:none}@keyframes voice-breathe{to{box-shadow:0 0 0 9px #d8eddf;transform:scale(1.04)}}@media(prefers-reduced-motion:reduce){.voice-orb{animation:none!important}}@media(max-height:700px){.welcome{padding-top:24px}.welcome h2{font-size:27px}#composer{padding-top:10px}}
#weekly-view,#savings-view{flex:1;min-height:0;overflow-y:auto;padding:10px 20px 24px;scrollbar-width:thin}.weekly h2{font-size:22px;letter-spacing:-.6px}.weekly .card-top span{font-size:12px;color:#738178}.weekly-row{border:1px solid #e1e9e3;border-radius:18px;padding:16px;margin:16px 0;background:#fff}.weekly-row h3{font-size:16px;margin:0 0 12px}.weekly-query{display:flex;gap:8px}.weekly-query input{min-width:0;flex:1;padding:10px;border:1px solid #dce5df;border-radius:10px;font:inherit;font-size:13px}.weekly-query button,.weekly-offer button{border:0;background:#e9f5ec;color:#007b37;padding:10px;border-radius:10px;font-size:12px;font-weight:600}.weekly-options{display:grid;gap:10px;max-height:370px;overflow-y:auto;margin:12px 0}.weekly-offer{display:flex;gap:10px;border:1px solid #e7ece7;border-radius:12px;padding:12px}.weekly-offer.chosen{border:2px solid #009641;background:#f3fbf4}.weekly-offer img{width:48px;height:60px;object-fit:contain}.weekly-offer strong{display:block;font-size:13px;line-height:1.5}.weekly-offer small{display:block;font-size:11px;color:#6b7e70;line-height:1.6;margin:5px 0}.approve{display:flex;gap:6px;align-items:flex-start;font-size:11px;color:#627568;margin-top:8px}.weekly-fields{display:grid;grid-template-columns:80px 1fr;gap:10px;margin:14px 0}.weekly-fields label,.weekly-preferences label{display:grid;gap:6px;font-size:11px;color:#53685b}.weekly-fields input,.weekly-preferences input,.weekly-preferences select{min-width:0;width:100%;padding:10px;border:1px solid #d6e2d9;border-radius:8px;font:inherit;background:white}.weekly-warning{font-size:11px;color:#96722f;margin:10px 0;line-height:1.5}.weekly-preferences{padding:14px;background:#f5f8f5;border-radius:14px}.weekly-preferences summary{font-size:13px;font-weight:600;cursor:pointer}.weekly-preferences label{margin-top:12px}.weekly-preferences fieldset{border:1px solid #dce6df;border-radius:10px;margin:12px 0;padding:12px;font-size:13px}.weekly a{font-size:12px;color:#08783c}.week-scenarios{display:grid;gap:10px;margin:20px 0}.week-scenarios article{padding:16px;border:1px solid #d8e6dc;background:#f5faf5;border-radius:16px}.week-scenarios h3{font-size:14px;margin:0 0 10px}.week-scenarios strong{font-size:26px;letter-spacing:-.5px}.week-scenarios p,.week-scenarios small{font-size:12px;line-height:1.5;color:#5d7263}.weekly-new{font-size:11px;padding:8px}.weekly #week-error{font-size:12px;color:#87662d;margin:12px 0}.bottom-nav{grid-template-columns:repeat(4,1fr)}
.weekly-item-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.weekly-item-head h3{margin:0 0 3px}.weekly-item-head small{font-size:11px;color:#688071}.weekly-item-emoji,.weekly-photo-fallback{display:grid;place-items:center;flex:0 0 auto;background:#f2f7f1;border-radius:12px}.weekly-item-emoji{width:46px;height:46px;font-size:25px}.weekly-photo-fallback{width:48px;height:60px;font-size:24px}.weekly-warning{background:#fff7e9;padding:10px;border-radius:10px}.weekly-offer>div{min-width:0;flex:1}.weekly-offer button{margin-top:4px;cursor:pointer}.weekly-options{max-height:420px}
.weekly-suggestions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:9px 0}.weekly-suggestions small{font-size:11px;color:#6a7b6f}.weekly-suggestions button{background:#f0f6ef;color:#0b713b;border:1px solid #dce9dd;border-radius:999px;padding:6px 9px;font-size:11px}
.savings-empty h4{font-size:15px;margin:9px 0 5px}.savings-section .savings-empty{margin:14px 0 0;padding:16px 18px}.savings-section .savings-empty>span{font-size:24px}
.weekly-carousel-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 10px}.weekly-carousel-count{font-size:12px;font-weight:700;color:#516a57}.weekly-carousel-nav>div{display:flex;gap:8px}.weekly-carousel-nav button{width:34px;height:34px;border:1px solid #d9e7dc;border-radius:50%;background:#fff;color:#087b3c;font-size:25px;line-height:1}.weekly-carousel-nav button:disabled{opacity:.35;cursor:default}.weekly-carousel-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:0 1px 11px;scroll-snap-type:x proximity}.weekly-carousel-tabs::-webkit-scrollbar{display:none}.weekly-carousel-tabs button{flex:0 0 auto;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:9px 12px;border:1px solid #e3eae3;border-radius:999px;background:#f6f8f5;color:#586b5d;font-size:11px;font-weight:650;scroll-snap-align:center}.weekly-carousel-tabs button[aria-selected=true]{background:#e0f3e5;border-color:#a9d8b6;color:#006f36}.weekly-carousel-tabs button span{margin-left:4px}.weekly-slides .weekly-row{margin:0 0 18px;box-shadow:0 4px 18px #14351908}.weekly-slides .weekly-row[hidden]{display:none!important}@media(max-width:380px){.weekly-carousel-tabs button{max-width:150px}}
.weekly-source-note{font-size:11px;line-height:1.45;color:#6a7a6e;margin:9px 0 12px}.weekly-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.weekly-toolbar button{margin:0;min-height:42px;padding:10px 13px;font-size:12px}.weekly-toolbar .secondary{white-space:nowrap}.weekly-guidance{margin:10px 0 0;color:#708074;font-size:11px}.weekly-guidance summary{cursor:pointer}.weekly-guidance p{line-height:1.5}.weekly-guidance .weekly-new{margin-top:5px}.weekly-carousel-nav{margin-top:15px}@media(max-width:380px){.weekly-toolbar button{font-size:11px;padding:9px}}
.draft-carousel-nav{display:flex;align-items:center;justify-content:space-between;margin:11px 0 4px;color:#718075;font-size:10px}.draft-carousel-nav>div{display:flex;gap:6px}.draft-carousel-nav button{width:29px;height:29px;border-radius:50%;background:#edf6ed;color:#087b3a;font-size:21px;line-height:1}.draft-carousel-nav button:disabled{opacity:.35;cursor:default}.draft-card .products{display:flex;grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:7px;gap:8px;margin:6px 0 11px}.draft-card .products::-webkit-scrollbar{display:none}.draft-card .product{flex:0 0 42%;min-width:115px;max-width:170px;scroll-snap-align:start;min-height:119px}.draft-card .product .emoji{font-size:35px;margin-bottom:7px}.draft-card .product strong{font-size:12px}.draft-card .product small{font-size:10px}

/* Savings: confirmed purchases and prepared lists have separate visual weight. */
.savings-dashboard{padding:6px 0 28px}.savings-heading{margin:2px 2px 19px}.savings-heading .eyebrow{color:#008f3c}.savings-heading h2{font-size:27px;letter-spacing:-1px;margin:6px 0 7px}.savings-heading p{font-size:13px;line-height:1.5;color:#67796d;margin:0}.savings-hero{background:linear-gradient(145deg,#e4f5e7,#f4faf1);border:1px solid #d7eadb;border-radius:22px;padding:21px 20px 20px}.savings-hero.negative{background:#fff5ef;border-color:#f1ded4}.savings-kicker{font-size:11px;font-weight:700;letter-spacing:.3px;color:#356e45}.savings-hero.negative .savings-kicker{color:#a15c47}.savings-amount{display:block;font-size:36px;letter-spacing:-1.5px;line-height:1.15;margin:9px 0 8px}.savings-hero p{font-size:13px;font-weight:650;margin:0 0 12px}.savings-hero small{display:block;font-size:11px;line-height:1.5;color:#677d6c}.savings-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:11px 0 0}.savings-metrics>div{border:1px solid #e8ede7;border-radius:16px;padding:14px;background:#fff}.savings-metrics span{display:block;font-size:11px;color:#697a6e;line-height:1.3}.savings-metrics strong{display:block;font-size:24px;letter-spacing:-.5px;margin-top:6px}.savings-paid{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:14px 2px 0;font-size:11px;color:#68776d}.savings-paid strong{font-size:15px;color:#17261d;white-space:nowrap}.savings-empty{margin:21px 0 26px;padding:22px 18px;border:1px dashed #d6e6d9;border-radius:19px;text-align:center;background:#fcfefb}.savings-empty>span{display:block;font-size:29px}.savings-empty h3{font-size:15px;margin:9px 0 5px}.savings-empty p{font-size:12px;line-height:1.5;color:#6d7c70;margin:0 0 13px}.savings-section{margin-top:27px}.savings-section-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid #edf1ed;padding-bottom:10px}.savings-section-head h3{font-size:17px;letter-spacing:-.4px;margin:0}.savings-section-head span{font-size:11px;color:#7e8b81;background:#f1f5f1;padding:4px 8px;border-radius:999px}.savings-section-note,.savings-section-empty{font-size:12px;line-height:1.55;color:#7a887d;margin:12px 2px 0}.savings-entry{border:1px solid #e8eee8;border-radius:17px;padding:16px;margin-top:12px;background:#fff;box-shadow:0 3px 14px #183d1c08}.savings-entry.prepared{background:#f8faf7}.savings-entry-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.savings-entry-top h4{font-size:15px;margin:8px 0 4px}.savings-entry-top small{color:#77877b;font-size:11px;line-height:1.4}.savings-entry-top>strong{font-size:18px;white-space:nowrap;margin-top:26px;color:#087f3b}.savings-entry-top>strong.negative-text{color:#a45743}.savings-badge{font-size:10px;font-weight:700;background:#edf2eb;color:#5c745f;border-radius:999px;padding:5px 8px}.savings-badge.confirmed{background:#dff2e3;color:#08783b}.savings-entry-numbers{display:grid;grid-template-columns:1fr 1fr;gap:7px;border-top:1px solid #eef1ed;margin-top:15px;padding-top:13px}.savings-entry-numbers span{display:grid;gap:4px;color:#78877b;font-size:11px}.savings-entry-numbers b{font-size:13px;color:#223329}.savings-entry details{border-top:1px solid #eef1ed;margin-top:14px;padding-top:11px}.savings-entry summary{font-size:12px;color:#08783b;font-weight:650;cursor:pointer}.savings-entry details p,.savings-entry.prepared>p{font-size:11px;line-height:1.5;color:#6c7b70;margin:11px 0 0}.savings-remove,.savings-restore{background:transparent;color:#9a5148;font-size:11px;padding:8px 0;margin-top:8px;text-decoration:underline}.savings-restore{color:#08783b}.savings-estimate{border-top:1px solid #e6ece4;margin-top:12px;padding-top:11px;color:#63776a;font-size:11px;line-height:1.4}.savings-estimate strong{color:#08783b}.savings-method{border:1px solid #e8eee7;border-radius:16px;padding:15px;margin-top:25px;background:#fff}.savings-method summary{cursor:pointer;font-size:13px;font-weight:650;color:#355744}.savings-method p{font-size:11px;line-height:1.6;color:#6b7b6f;margin:12px 0 0}@media(max-width:380px){.savings-amount{font-size:31px}.savings-entry-top>strong{font-size:16px}}
.week-basket{margin:14px 0 20px;padding:17px;border:1px solid #d9e9db;border-radius:20px;background:#f7fbf7}.week-basket-head h3{font-size:19px;line-height:1.2;letter-spacing:-.5px;margin:7px 0}.week-basket-head p{font-size:12px;line-height:1.5;color:#526859;margin:0 0 14px}.week-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.week-plan-card{min-width:0;background:#fff;border:1px solid #e2eae2;border-radius:15px;padding:14px}.week-plan-card.recommended{border:2px solid #09904a;box-shadow:0 5px 18px #0a7e3920}.week-plan-top{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:10px;color:#65796a}.week-plan-top b{font-size:9px;color:#078844;background:#e8f7e9;border-radius:20px;padding:4px 6px}.week-plan-card h4{font-size:13px;line-height:1.3;min-height:34px;margin:11px 0 5px}.week-plan-card>strong{display:block;font-size:24px;letter-spacing:-.7px}.week-plan-card>p,.week-plan-card>small{font-size:11px;line-height:1.45;color:#607268;display:block;margin:5px 0}.week-plan-card button{font-size:11px;line-height:1.2;padding:10px}.week-handoff-head{margin:18px 0 10px}.week-handoff-head h3{font-size:16px;margin:0 0 3px}.week-handoff-head p{font-size:11px;color:#627467;margin:0}.week-store-list{margin:9px 0;padding:13px}.week-store-list h4{display:flex;justify-content:space-between;gap:10px;margin:0 0 10px}.week-store-list h4 span{color:#007b3a}.week-buy-line{display:flex;gap:10px;padding:10px 0;border-top:1px solid #edf1eb}.week-buy-line img,.week-buy-line>.weekly-photo-fallback{height:48px;width:48px;object-fit:contain;flex:none}.week-buy-line strong{display:block;font-size:11px;line-height:1.3}.week-buy-line small{display:block;color:#64796a;font-size:10px;margin:3px 0}.week-buy-line a{font-size:11px}@media(max-width:400px){.week-plan-grid{grid-template-columns:1fr}.week-plan-card h4{min-height:0}}
/* Weekly decision view */
.weekly .card-top{margin-bottom:14px}.weekly-toolbar{margin-bottom:18px}.week-basket{margin:0 0 22px;padding:0;border:0;background:transparent}.week-basket-head{margin:0 0 17px}.week-basket-head .eyebrow{font-size:9px;letter-spacing:1.5px;color:#0b9147}.week-basket-head h3{font-size:23px;letter-spacing:-.8px;margin:5px 0 7px}.week-basket-head p{margin:0;color:#64766a;font-size:12px;line-height:1.5}.week-plan-grid{display:grid;grid-template-columns:1fr;gap:8px}.week-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:15px;background:#fff;border:1px solid #e5ebe5;border-radius:16px;color:var(--ink);box-shadow:none}.week-option.recommended{border-color:#a6d5b0;background:#f1f9f1}.week-option-name{display:grid;gap:4px;min-width:0}.week-option-name small{font-size:9px;letter-spacing:1px;font-weight:750;color:#058a42}.week-option-name strong{font-size:15px;line-height:1.25}.week-option-name span,.week-option-name em{font-size:11px;font-style:normal;color:#6f7d72}.week-option-price{display:grid;justify-items:end;gap:6px;flex:none}.week-option-price strong{font-size:18px;white-space:nowrap}.week-option-price span{font-size:10px;color:#078c42;white-space:nowrap}.week-option:hover{border-color:#80c493}.week-option:focus-visible{outline:3px solid #9bd7ad}.week-notes{margin:12px 1px 0;color:#718175;font-size:11px}.week-notes summary{cursor:pointer}.week-notes p{line-height:1.5;margin:8px 0}.weekly-guidance{margin:0 0 10px}.weekly-edit{border-top:1px solid #edf0ec;padding-top:14px;margin-top:5px}.weekly-edit>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:13px;font-weight:650;color:#223d2c;list-style:none}.weekly-edit>summary::-webkit-details-marker{display:none}.weekly-edit>summary span{color:#079146;font-size:11px;font-weight:600}.weekly-edit[open]>summary{margin-bottom:9px}.weekly-carousel-nav{margin-top:10px}#week-handoff:empty{display:none}#week-handoff{padding-top:5px}.week-handoff-head{margin:18px 0 8px}.week-handoff-head h3{font-size:16px}.week-handoff-head p{font-size:11px}.week-store-list{border:0;border-top:1px solid #e5ebe5;border-radius:0;margin:10px 0 0;padding:12px 0;background:transparent}.week-store-list h4{font-size:13px}.week-buy-line{padding:9px 0}.week-buy-line strong{font-weight:650}.week-buy-line small{color:#718075}.week-handoff-note{font-size:11px;line-height:1.5;color:#6e7c70;margin:8px 0}.weekly-preferences{margin-top:15px}#week-error:empty{display:none}
.week-loading{padding:21px 0;margin:0;color:#61856c;font-size:12px;animation:pulse 1.4s ease-in-out infinite}#week-error{line-height:1.5;margin:10px 0;color:#896b37}.weekly-preferences{background:transparent;padding:0;border-top:1px solid #edf0ec;border-radius:0;margin:14px 0 0;padding-top:12px}.weekly-preferences summary{font-weight:600;color:#4f6755}
.week-fineprint{margin:10px 1px 0;font-size:10px;color:#718175;line-height:1.4}
.week-option-price small{font-size:9px;color:#788579;font-weight:500;white-space:nowrap}
