@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.10ev4cu2inrn-.woff2?dpl=dpl_8cusDxsa8TPik5ipm63HbXapupcA)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.0i6ci0u~g4zml.woff2?dpl=dpl_8cusDxsa8TPik5ipm63HbXapupcA)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.0x1a9yg0jkq20.woff2?dpl=dpl_8cusDxsa8TPik5ipm63HbXapupcA)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.0dyk20wuvya7a.woff2?dpl=dpl_8cusDxsa8TPik5ipm63HbXapupcA)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.0ctuso5mgh_i..woff2?dpl=dpl_8cusDxsa8TPik5ipm63HbXapupcA)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2?dpl=dpl_8cusDxsa8TPik5ipm63HbXapupcA)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_5e31c5ce-module__xyu9-q__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_5e31c5ce-module__xyu9-q__variable{--font-display:"Manrope", "Manrope Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2?dpl=dpl_8cusDxsa8TPik5ipm63HbXapupcA)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2?dpl=dpl_8cusDxsa8TPik5ipm63HbXapupcA)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_b0be4939-module__VEr6JG__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_b0be4939-module__VEr6JG__variable{--font-body:"DM Sans", "DM Sans Fallback"}
:root{--ink:#20231f;--muted:#74786f;--line:#e5e3db;--paper:#f7f6f1;--surface:#fffefa;--forest:#274b3b;--forest-2:#35634e;--sage:#dbe7d9;--berry:#eadde7;--citrus:#f1e5ba;--coral:#eed4c6;--clay:#e8d8cf;--shadow:0 24px 70px #282d2529}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}html{background:var(--paper);color:var(--ink)}body{background:radial-gradient(circle at 8% -10%, #dae6cfb3, transparent 24rem), var(--paper);color:var(--ink);font-family:var(--font-body), Arial, sans-serif;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #274b3b47}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffefaeb;grid-template-columns:1fr auto 1fr;align-items:center;height:74px;padding:0 38px;display:grid;position:sticky;top:0}.brand{cursor:pointer;font-family:var(--font-display), sans-serif;letter-spacing:-.6px;background:0 0;border:0;justify-self:start;align-items:center;gap:10px;padding:8px 0;font-size:20px;font-weight:800;display:flex}.brand-mark{background:var(--forest);border-radius:11px;justify-content:center;align-items:end;gap:2px;width:34px;height:34px;padding:8px 7px 6px;display:flex;overflow:hidden}.brand-mark i{background:#eff2dc;border-radius:999px 999px 3px 3px;width:5px;height:12px;display:block;transform:rotate(-7deg)}.brand-mark i:nth-child(2){height:18px;transform:rotate(0)}.brand-mark i:nth-child(3){height:14px;transform:rotate(7deg)}.primary-nav{align-items:center;gap:5px;display:flex}.nav-item{color:#686c64;cursor:pointer;background:0 0;border:0;border-radius:12px;min-height:42px;padding:0 16px;font-size:14px;font-weight:700;position:relative}.nav-item:hover{color:var(--ink);background:#f1f0ea}.nav-item.active{color:var(--forest);background:#e4eadf}.nav-badge{background:var(--forest);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:10px;display:inline-flex}.top-actions{justify-self:end;align-items:center;gap:10px;display:flex}.sync-status{color:var(--muted);text-transform:uppercase;align-items:center;gap:5px;font-size:9px;font-weight:800;display:inline-flex}.sync-status i{background:#8da18d;border-radius:50%;width:6px;height:6px}.sync-status.loading i,.sync-status.saving i{background:#c09a54}.sync-status.offline i{background:#b35f50}.icon-button,.avatar{border:1px solid var(--line);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-button{background:var(--surface);border-radius:12px;width:40px;height:40px;font-size:20px}.notification-dot{border:2px solid var(--surface);background:#d96d51;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:8px}.avatar{color:#514e45;background:#d7d0c1;border-radius:50%;width:40px;height:40px;font-size:12px;font-weight:800}.page{max-width:1560px;margin:0 auto;padding:38px 38px 72px}.page-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:28px;display:flex}.page-heading h1,.week-title-row h1{font-family:var(--font-display), sans-serif;letter-spacing:-2.1px;margin:3px 0 9px;font-size:clamp(32px,3vw,46px);line-height:1.05}.eyebrow{color:var(--forest-2);letter-spacing:1.45px;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.subtle{color:var(--muted);margin:0;font-size:14px}.subtle strong{color:var(--ink)}.week-title-row{align-items:center;gap:9px;display:flex}.week-title-row h1{margin-right:5px}.arrow-button{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:inline-flex}.week-chip{color:var(--forest);background:#e3eadf;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.primary-button,.secondary-button{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 17px;font-size:13px;font-weight:800;display:inline-flex}.primary-button{background:var(--forest);border:1px solid var(--forest);color:#fff;box-shadow:0 8px 22px #274b3b29}.primary-button:hover{background:#1f3f31}.primary-button:disabled{cursor:default;box-shadow:none;background:#7c8c83;border-color:#7c8c83}.secondary-button{background:var(--surface);color:#454842;border:1px solid #dcdad2}.secondary-button:hover{background:#faf9f4;border-color:#bbbdb5}.disabled-button{color:#7f827b}.filter-summary{color:#656961;align-items:center;gap:9px;margin:-11px 0 20px;font-size:12px;display:flex}.filter-summary i{background:#a9ada5;border-radius:50%;width:3px;height:3px}.filter-summary button{color:var(--forest);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-left:4px;padding:3px;font-size:12px;font-weight:800;text-decoration:underline}.expiry-callout{background:#eff2df;border:1px solid #dee4c7;border-radius:16px;align-items:center;gap:14px;min-height:70px;margin-bottom:20px;padding:11px 16px;display:flex}.expiry-icon{color:#5c6f30;background:#dce4b9;border-radius:11px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.expiry-callout strong{font-size:13px}.expiry-callout p{color:#696e5c;margin:4px 0 0;font-size:12px}.expiry-callout button{color:#4f632b;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:12px;font-size:12px;font-weight:800}.expiry-callout button span{margin-left:5px}.week-grid{border:1px solid var(--line);background:#fffefa8c;border-radius:20px;grid-template-columns:repeat(7,minmax(0,1fr));min-height:630px;display:grid;overflow:hidden}.day-column{border-right:1px solid var(--line);min-width:0}.day-column:last-child{border-right:0}.day-column.today{background:#edf1e685}.day-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:75px;padding:0 13px;display:flex}.day-header div{align-items:center;gap:9px;display:flex}.day-header span{color:var(--muted);font-size:12px;font-weight:700}.day-header strong{font-family:var(--font-display), sans-serif;font-size:24px}.day-header em{background:var(--forest);color:#fff;text-transform:uppercase;border-radius:999px;padding:5px 7px;font-size:9px;font-style:normal;font-weight:800}.day-slots{grid-template-rows:repeat(3,minmax(178px,1fr));display:grid}.meal-slot{border-bottom:1px solid var(--line);flex-direction:column;padding:12px 10px 13px;display:flex}.meal-slot:last-child{border-bottom:0}.slot-label{justify-content:space-between;align-items:center;margin:0 2px 8px;display:flex}.slot-label>span{color:#8a8d85;letter-spacing:1.05px;text-transform:uppercase;font-size:9px;font-weight:800}.slot-label small{color:#9a9d96;font-size:8px;font-weight:700}.meal-card,.empty-card{cursor:pointer;text-align:left;border-radius:13px;flex:1;width:100%;min-height:128px}.meal-card{border:1px solid #4b4b3e14;flex-direction:column;padding:12px;transition:transform .16s,box-shadow .16s;display:flex}.meal-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #3b3e351a}.meal-card.berry,.candidate-art.berry,.meal-dialog-banner.berry{background:var(--berry)}.meal-card.citrus,.candidate-art.citrus,.meal-dialog-banner.citrus{background:var(--citrus)}.meal-card.sage,.candidate-art.sage,.meal-dialog-banner.sage{background:var(--sage)}.meal-card.coral,.candidate-art.coral,.meal-dialog-banner.coral{background:var(--coral)}.meal-card.clay,.candidate-art.clay,.meal-dialog-banner.clay{background:var(--clay)}.meal-card.cooked{filter:saturate(.55)}.meal-card.skipped{filter:grayscale(.45);opacity:.62}.meal-card-top,.meal-meta{justify-content:space-between;align-items:center;display:flex}.meal-card-top small{color:#2b3029ad;letter-spacing:.5px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:8px;font-weight:800;overflow:hidden}.meal-card-top b{color:#2b302973;letter-spacing:1px;font-size:7px}.meal-card>strong{font-family:var(--font-display), sans-serif;letter-spacing:-.35px;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:10px;font-size:14px;line-height:1.25;display:-webkit-box;overflow:hidden}.meal-meta{color:#2b3029ad;margin-top:auto;padding-top:10px;font-size:9px;font-weight:700}.empty-card{color:#a0a29b;text-align:center;background:#fffffc6b;border:1px dashed #d6d5cd;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.empty-card:hover{color:var(--forest);background:#f4f5ee;border-color:#9dac9f}.empty-card span{background:#ffffffbf;border:1px solid #dfded7;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:flex}.empty-card small{font-size:10px;font-weight:700}.mobile-day-strip{display:none}.discovery-banner{background:linear-gradient(120deg,#edf1e8,#f7f3e7);border:1px solid #dde2d6;border-radius:22px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;margin-bottom:26px;padding:24px 28px;display:grid}.discovery-gauge{background:conic-gradient(var(--forest) var(--discovery), #d9dfd3 0);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:112px;height:112px;display:flex;position:relative}.discovery-gauge:after{content:"";background:#f7f7f0;border-radius:50%;position:absolute;inset:8px}.discovery-gauge strong,.discovery-gauge span{z-index:1;position:relative}.discovery-gauge strong{color:var(--forest);font-family:var(--font-display), sans-serif;font-size:27px}.discovery-gauge span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.discovery-banner h2{font-family:var(--font-display), sans-serif;letter-spacing:-.7px;margin:4px 0 7px;font-size:25px}.discovery-banner>div:last-child>p:last-child{color:var(--muted);max-width:740px;margin:0;font-size:12px;line-height:1.55}.cookbook-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.library-toolbar{justify-content:space-between;align-items:center;gap:18px;margin:0 0 20px;display:flex}.library-tabs{background:#eceee8;border-radius:12px;padding:4px;display:inline-flex}.library-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:38px;padding:0 13px;font-size:11px;font-weight:800}.library-tabs button.active{background:var(--surface);color:var(--forest);box-shadow:0 3px 11px #1f342814}.library-tabs button span{color:#889187;margin-left:5px;font-size:9px}.library-search{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;width:100%;max-width:420px;padding:0 12px;display:flex}.library-search span{color:var(--muted);font-size:18px}.library-search input{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;width:100%;min-height:44px}.cookbook-recipe-card{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;border-radius:18px;padding:0;transition:border-color .16s,transform .16s,box-shadow .16s;overflow:hidden}.cookbook-recipe-card:hover{border-color:#a9b8a9;transform:translateY(-2px);box-shadow:0 10px 30px #1f342814}.cookbook-art{flex-direction:column;justify-content:flex-end;height:116px;padding:17px;display:flex}.cookbook-art small{text-transform:uppercase;font-size:9px;font-weight:800}.cookbook-art strong{font-family:var(--font-display), sans-serif;font-size:25px}.cookbook-copy{flex-direction:column;gap:8px;padding:16px 17px 18px;display:flex}.cookbook-copy>strong{font-family:var(--font-display), sans-serif;font-size:18px}.cookbook-meta{color:var(--muted);text-transform:capitalize;justify-content:space-between;align-items:center;font-size:9px;display:flex}.source-rating{color:#71766c;font-size:10px}.source-rating b{color:#9b6e17}.source-name{border-top:1px solid var(--line);color:var(--muted);padding-top:8px;font-size:9px}.cookbook-empty{text-align:center;border:1px dashed #bdc5ba;border-radius:22px;flex-direction:column;align-items:center;padding:58px 24px;display:flex}.cookbook-empty>span{color:var(--sage-dark);font-size:38px}.cookbook-empty h2{font-family:var(--font-display), sans-serif;margin:8px 0 4px}.cookbook-empty p{color:var(--muted);margin:0 0 18px;font-size:12px}.list-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:26px;display:grid}.grocery-list-card,.list-summary,.macro-card,.daily-table{border:1px solid var(--line);background:#fffefae0;border-radius:20px}.grocery-list-card{padding:22px 25px 26px}.progress-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;padding:0 3px 21px;display:flex}.progress-row strong{font-size:14px}.progress-row span{color:var(--muted);font-size:12px}.progress-track{background:#e8e7df;border-radius:999px;width:45%;max-width:280px;height:8px;overflow:hidden}.progress-track span{background:var(--forest);height:100%;transition:width .18s;display:block}.undo-button{color:var(--forest);cursor:pointer;white-space:nowrap;background:0 0;border:0;font-size:10px;font-weight:800}.grocery-group{margin-bottom:24px}.grocery-group h2{color:#777b72;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 8px;font-size:10px}.grocery-row{cursor:pointer;border-bottom:1px solid #efeee8;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:8px 4px;display:grid}.grocery-row input{opacity:0;width:1px;height:1px;position:absolute}.custom-check{color:#0000;border:1.5px solid #c8c9c2;border-radius:7px;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:900;display:flex}.grocery-row.checked .custom-check{background:var(--forest);border-color:var(--forest);color:#fff}.grocery-name{flex-direction:column;gap:4px;display:flex}.grocery-name strong{font-size:14px}.grocery-name small{color:#8b8e87;font-size:11px}.grocery-amount{color:#555951;font-size:13px;font-weight:700}.grocery-row.checked .grocery-name strong,.grocery-row.checked .grocery-amount{color:#9a9c96;text-decoration:line-through}.grocery-empty{text-align:center;background:#f4f6ef;border:1px solid #e1e6da;border-radius:13px;flex-direction:column;align-items:center;gap:4px;margin:16px 0;padding:24px;display:flex}.grocery-empty strong{font-size:12px}.grocery-empty span{color:var(--muted);font-size:9px}.add-list-item{color:var(--forest);cursor:pointer;background:0 0;border:1px dashed #d6d5cd;border-radius:12px;width:100%;min-height:46px;font-size:12px;font-weight:800}.list-summary{padding:30px;position:sticky;top:104px}.summary-orbit{background:conic-gradient(var(--forest) 0 68%, #e7e8df 68% 100%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:120px;height:120px;margin-bottom:26px;display:flex;position:relative}.summary-orbit:after{background:var(--surface);content:"";border-radius:50%;position:absolute;inset:10px}.summary-orbit span,.summary-orbit small{z-index:1;position:relative}.summary-orbit span{font-family:var(--font-display), sans-serif;font-size:34px;font-weight:800}.summary-orbit small{color:var(--muted);font-size:11px}.list-summary h2{font-family:var(--font-display), sans-serif;letter-spacing:-1px;margin:0 0 10px;font-size:25px}.list-summary>p{color:var(--muted);margin:0 0 24px;font-size:13px;line-height:1.6}.summary-stat{border-top:1px solid var(--line);justify-content:space-between;padding:14px 0;font-size:12px;display:flex}.summary-stat span{color:var(--muted)}.list-summary>button,.macro-hero-copy button{color:var(--forest);cursor:pointer;background:0 0;border:0;padding:14px 0 0;font-size:12px;font-weight:800}.pantry-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.search-field{background:var(--surface);border:1px solid var(--line);color:#878a83;border-radius:12px;align-items:center;gap:9px;width:100%;max-width:340px;height:44px;padding:0 14px;display:flex}.search-field input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;min-width:0}.segmented{background:#eae9e2;border-radius:12px;padding:4px;display:flex}.segmented button{color:#6f726b;cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:36px;padding:0 14px;font-size:11px;font-weight:800}.segmented button.active{background:var(--surface);color:var(--forest);box-shadow:0 2px 7px #26292314}.pantry-section{margin-bottom:36px}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.section-title-row>div{align-items:center;gap:9px;display:flex}.section-title-row h2{font-family:var(--font-display), sans-serif;letter-spacing:-.6px;margin:0;font-size:20px}.section-title-row small{color:var(--muted);font-size:11px}.status-dot{border-radius:50%;width:9px;height:9px}.status-dot.urgent{background:#cf765e;box-shadow:0 0 0 5px #cf765e1f}.status-dot.fresh{background:#6a9b7e;box-shadow:0 0 0 5px #6a9b7e1f}.pantry-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.pantry-card{background:var(--surface);border:1px solid var(--line);border-radius:17px;min-height:245px;padding:17px}.pantry-card.use-soon{border-color:#ead6cc;box-shadow:inset 0 3px #d8886f}.pantry-glyph{color:#8b533f;font-family:var(--font-display), sans-serif;background:#f0dfd4;border-radius:13px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:17px;font-size:20px;font-weight:800;display:flex}.pantry-glyph.calm{color:var(--forest);background:#dde8dc}.pantry-card-heading{justify-content:space-between;align-items:start;display:flex}.pantry-card-heading>div{flex-direction:column;gap:4px;display:flex}.pantry-card-heading strong{font-size:14px}.pantry-card-heading span{color:var(--muted);font-size:10px}.pantry-card-heading button{color:#8d9089;cursor:pointer;letter-spacing:1px;background:0 0;border:0;min-height:32px}.pantry-quantity{align-items:baseline;gap:6px;margin:17px 0 12px;display:flex}.pantry-quantity strong{font-family:var(--font-display), sans-serif;font-size:21px}.pantry-quantity span{color:var(--muted);font-size:10px}.reserved-label{color:var(--forest);margin:-5px 0 10px;font-size:9px;font-weight:800}.best-by{color:#9a5d49;background:#fbefea;border-radius:9px;justify-content:space-between;align-items:center;padding:9px 10px;font-size:10px;display:flex}.best-by.neutral{color:#6e756c;background:#f0f1eb}.plan-with-button{color:var(--forest);cursor:pointer;background:0 0;border:0;min-height:34px;margin-top:12px;padding:0;font-size:11px;font-weight:800}.macro-hero{background:var(--forest);color:#fff;border-radius:23px;grid-template-columns:210px minmax(0,1fr);align-items:center;gap:35px;margin-bottom:18px;padding:34px 42px;display:grid;position:relative;overflow:hidden}.macro-hero:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:380px;height:380px;position:absolute;top:-180px;right:-90px}.calorie-ring{background:conic-gradient(#dce7b5 0 74%, #ffffff1f 74% 100%);border-radius:50%;justify-content:center;align-items:center;width:170px;height:170px;display:flex;position:relative}.calorie-ring:after{background:var(--forest);content:"";border-radius:50%;position:absolute;inset:12px}.calorie-ring div{text-align:center;z-index:1;flex-direction:column;display:flex;position:relative}.calorie-ring strong{font-family:var(--font-display), sans-serif;letter-spacing:-1.5px;font-size:35px}.calorie-ring span{color:#ffffffad;font-size:9px}.macro-hero-copy{z-index:1;max-width:600px;position:relative}.macro-hero-copy .eyebrow{color:#cddba8}.macro-hero-copy h2{font-family:var(--font-display), sans-serif;letter-spacing:-1.5px;margin:5px 0 8px;font-size:34px}.macro-hero-copy>p:not(.eyebrow){color:#ffffffb3;max-width:520px;margin:0;font-size:13px;line-height:1.6}.macro-hero-copy button{color:#dce7b5}.macro-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.macro-card{padding:20px}.macro-card-top{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.macro-card-top>strong{font-size:12px}.macro-card-top small{color:var(--muted);font-size:10px}.macro-dot{border-radius:50%;width:9px;height:9px}.plum{background:#a56b8b}.gold{background:#c6a64e}.coral{background:#cf8067}.green{background:#5e8b70}.macro-value{align-items:baseline;gap:6px;margin:20px 0 12px;display:flex}.macro-value strong{font-family:var(--font-display), sans-serif;letter-spacing:-1px;font-size:30px}.macro-value span{color:var(--muted);font-size:9px}.macro-progress{background:#e9e8e1;border-radius:999px;height:7px;overflow:hidden}.macro-progress span{height:100%;display:block}.macro-card p{color:var(--muted);margin:9px 0 0;font-size:9px}.daily-table{padding:22px 24px}.daily-row{border-top:1px solid #efeee8;grid-template-columns:45px 70px minmax(120px,1fr) 90px 45px;align-items:center;gap:12px;min-height:52px;display:grid}.daily-row>strong{font-size:12px}.daily-row>span,.daily-row>small{color:var(--muted);font-size:10px}.daily-row>b{text-align:right;font-size:11px}.daily-bar{background:#ecebe5;border-radius:999px;height:8px;overflow:hidden}.daily-bar i{background:linear-gradient(90deg,#6e977e,#bdd09e);height:100%;display:block}.dialog-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1e211d6b;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.meal-dialog,.add-dialog,.filters-dialog,.lot-dialog{background:var(--surface);box-shadow:var(--shadow);border:1px solid #ffffff80;border-radius:24px;width:min(1060px,100%);max-height:calc(100vh - 56px);overflow:auto}.meal-dialog-banner{border-radius:24px 24px 0 0;min-height:220px;padding:34px 38px;position:relative;overflow:hidden}.meal-dialog-banner:after{content:"";border:1px solid #3c3f3614;border-radius:50%;width:330px;height:330px;position:absolute;top:-160px;right:-90px}.dialog-close{cursor:pointer;z-index:2;background:#ffffffa8;border:1px solid #3f43391c;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;display:flex;position:absolute;top:22px;right:24px}.dialog-close.plain{position:static}.dialog-kicker{color:#2a2f27ad;letter-spacing:1.2px;text-transform:uppercase;margin-top:7px;font-size:10px;font-weight:800;display:inline-block}.meal-dialog-banner h2{font-family:var(--font-display), sans-serif;letter-spacing:-2.2px;max-width:680px;margin:10px 0 8px;font-size:clamp(31px,4vw,49px);line-height:1.05}.meal-dialog-banner>p{color:#2a2f27ab;margin:0;font-size:13px}.dialog-quick-stats{gap:34px;margin-top:29px;display:flex}.dialog-quick-stats>span{flex-direction:column;gap:4px;display:flex}.dialog-quick-stats small{color:#2a2f2799;text-transform:uppercase;font-size:9px;font-weight:700}.dialog-quick-stats strong{font-size:13px}.meal-dialog-body{padding:26px 32px 16px}.recipe-provenance{border:1px solid var(--line);background:#fbfaf5;border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 14px;display:flex}.recipe-provenance>span{flex-direction:column;gap:2px;display:flex}.recipe-provenance small,.recipe-provenance em{color:var(--muted);font-size:8px;font-style:normal}.recipe-provenance a,.recipe-provenance strong{color:var(--forest);font-size:11px;font-weight:800;text-decoration:none}.community-score{border-left:1px solid var(--line);align-items:flex-end;min-width:118px;padding-left:16px}.community-score strong{color:#9b6e17;font-size:14px}.macro-button{cursor:pointer;text-align:left;background:#f1f3eb;border:1px solid #e2e6d8;border-radius:14px;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;padding:11px 14px;display:grid}.macro-button-icon{background:var(--forest);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:22px;display:flex}.macro-button>span:nth-child(2){flex-direction:column;gap:3px;display:flex}.macro-button strong{font-size:13px}.macro-button small,.macro-mini{color:var(--muted);font-size:10px}.macro-mini b{color:var(--forest)}.macro-breakdown{border:1px solid var(--line);background:#fafaf6;border-radius:0 0 14px 14px;grid-template-columns:repeat(4,1fr);gap:9px;margin:-3px 7px 0;padding:17px;display:grid}.macro-breakdown>div{grid-template-columns:1fr auto;gap:5px;display:grid}.macro-breakdown span,.macro-breakdown strong{font-size:10px}.macro-breakdown i{background:#e5e6df;border-radius:999px;grid-column:1/-1;height:5px;overflow:hidden}.macro-breakdown i b{background:#839e83;height:100%;display:block}.macro-breakdown p{color:var(--muted);grid-column:1/-1;margin:4px 0 0;font-size:9px}.nutrition-source-link{color:var(--forest);grid-column:1/-1;font-size:9px;font-weight:800;text-decoration:none}.dialog-content-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px;padding:31px 4px 18px;display:grid}.dialog-section-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dialog-section-title h3{font-family:var(--font-display), sans-serif;letter-spacing:-.6px;margin:0;font-size:20px}.dialog-section-title button{color:var(--forest);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:800}.dialog-section-title>span{color:var(--muted);font-size:10px}.ingredient-row{border-bottom:1px solid #eeede7;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:50px;display:grid}.ingredient-mark{color:var(--forest);background:#e4ebde;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;display:flex}.ingredient-mark.optional{color:#8f918a;background:#efeee8}.ingredient-row>span:nth-child(2){flex-direction:column;gap:2px;display:flex}.ingredient-row strong{font-size:12px}.ingredient-row small{color:#9a7b68;font-size:8px}.ingredient-row b{color:#65685f;font-size:11px}.step-row{grid-template-columns:28px 1fr;align-items:start;gap:12px;margin-bottom:16px;display:grid}.step-row>span{background:var(--forest);color:#fff;border-radius:9px;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:flex}.step-row p{color:#555951;margin:3px 0 0;font-size:12px;line-height:1.55}.rating-panel{background:#f2f0e7;border-radius:14px;justify-content:space-between;align-items:center;padding:14px 17px;display:flex}.rating-panel>div:first-child{flex-direction:column;gap:3px;display:flex}.rating-panel strong{font-size:12px}.rating-panel span{color:var(--muted);font-size:9px}.rating-reasons{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.rating-reasons button{color:#686b63;cursor:pointer;text-transform:capitalize;background:#ffffffb8;border:1px solid #d8d3c4;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800}.rating-reasons button.selected{background:var(--forest);border-color:var(--forest);color:#fff}.stars{display:flex}.stars button{color:#bd913d;cursor:pointer;background:0 0;border:0;padding:2px;font-size:22px}.dialog-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 32px 20px;display:flex}.dialog-footer>div{gap:18px;display:flex}.dialog-footer .meal-actions{flex-wrap:wrap;gap:6px 15px}.text-danger,.text-button{cursor:pointer;background:0 0;border:0;padding:10px 0;font-size:11px;font-weight:800}.text-danger{color:#b35f50}.text-button{color:var(--forest)}.add-dialog{width:min(1120px,100%)}.add-dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:23px 28px;display:flex}.add-dialog-header h2{font-family:var(--font-display), sans-serif;letter-spacing:-1px;margin:4px 0 0;font-size:27px}.add-dialog-body{padding:25px 28px 30px}.add-intro{align-items:center;gap:12px;margin-bottom:20px;display:flex}.spark{color:var(--forest);background:#e3eadf;border-radius:12px;justify-content:center;align-items:center;width:43px;height:43px;font-size:18px;display:flex}.add-intro strong{font-size:13px}.add-intro p{color:var(--muted);margin:3px 0 0;font-size:11px}.filter-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.filter-field{border:0;margin:0;padding:0}.filter-field legend{color:#62665e;margin-bottom:7px;padding:0;font-size:10px;font-weight:800}.tier-control{background:#ecebe5;border-radius:11px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.tier-control button{color:#73766f;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:34px;padding:0 8px;font-size:10px;font-weight:700}.tier-control button.active{background:var(--surface);color:var(--forest);box-shadow:0 2px 8px #2b2e2714}.expiring-picker{background:#f2f3e6;border-radius:13px;justify-content:space-between;align-items:center;gap:18px;margin:20px 0 24px;padding:13px 15px;display:flex}.expiring-picker>div:first-child{flex-direction:column;gap:3px;display:flex}.expiring-picker strong{font-size:11px}.expiring-picker span{color:var(--muted);font-size:9px}.constraint-picker,.dislike-picker{border:1px solid var(--line);background:#f7f5ef;border-radius:13px;gap:11px;margin-top:14px;padding:13px 15px;display:grid}.constraint-picker>div:first-child,.dislike-picker>div:first-child{flex-direction:column;gap:3px;display:flex}.constraint-picker strong,.dislike-picker strong{font-size:11px}.constraint-picker span,.dislike-picker span{color:var(--muted);font-size:9px}.constraint-picker .chip-row,.dislike-picker .chip-row{justify-content:flex-start}.dislike-entry{grid-template-columns:1fr auto;gap:8px;display:grid}.dislike-entry input{color:var(--ink);background:#fff;border:1px solid #d8dbd2;border-radius:9px;min-height:36px;padding:0 10px}.chip-row{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.ingredient-chip{background:var(--surface);color:#65695f;cursor:pointer;border:1px solid #dcddd1;border-radius:999px;min-height:30px;padding:0 10px;font-size:9px;font-weight:700}.ingredient-chip.selected{background:var(--forest);border-color:var(--forest);color:#fff}.online-recipe-search{border:1px solid var(--line);background:#fbfaf5;border-radius:13px;grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) auto auto;align-items:center;gap:10px;margin:14px 0;padding:11px 12px;display:grid}.online-recipe-search>div{flex-direction:column;gap:2px;display:flex}.online-recipe-search strong{font-size:11px}.online-recipe-search>div span{color:var(--muted);font-size:8px}.online-recipe-search label,.online-recipe-search input{width:100%}.online-recipe-search input{color:var(--ink);background:#fff;border:1px solid #d8dbd2;border-radius:9px;min-height:36px;padding:0 10px}.online-recipe-search .secondary-button{min-height:36px;padding:0 13px}.online-recipe-search .secondary-button:disabled{cursor:not-allowed;opacity:.5}.online-error{color:#7b5d35;background:#fff5e8;border:1px solid #eedac0;border-radius:9px;margin:-5px 0 14px;padding:8px 10px;font-size:9px}.provider-attribution{color:var(--muted);align-items:center;gap:8px;margin:-5px 3px 12px;font-size:9px;display:flex}.nutrition-coverage-badge{color:var(--forest);background:#edf2e8;border:1px solid #d5dfcf;border-radius:999px;padding:10px 14px;font-size:11px;font-weight:800}.recommendation-mix{background:#f3f5ee;border:1px solid #e0e5da;border-radius:12px;align-items:center;gap:9px;margin:3px 0 18px;padding:10px 12px;display:flex}.recommendation-mix span{color:#646a60;font-size:9px}.recommendation-mix span b{color:var(--forest)}.recommendation-mix i{background:#c4cabf;border-radius:50%;width:3px;height:3px}.recommendation-mix small{color:var(--muted);margin-left:auto;font-size:8px}.candidate-heading{justify-content:space-between;align-items:end;margin-bottom:12px;display:flex}.candidate-heading h3{font-family:var(--font-display), sans-serif;letter-spacing:-.7px;margin:3px 0 0;font-size:22px}.candidate-heading>button{color:var(--forest);cursor:pointer;background:#eef1e9;border:1px solid #d8dfd3;border-radius:9px;min-height:34px;padding:0 11px;font-size:10px;font-weight:800}.candidate-heading>button:disabled{cursor:wait;opacity:.6}.candidate-grid{grid-template-columns:repeat(3,1fr);gap:12px;transition:opacity .14s;display:grid}.candidate-grid.loading{opacity:.45;pointer-events:none}.candidate-empty{border:1px dashed var(--line);text-align:center;border-radius:14px;flex-direction:column;grid-column:1/-1;align-items:center;gap:3px;padding:30px;display:flex}.candidate-empty strong{font-size:12px}.candidate-empty span{color:var(--muted);font-size:9px}.candidate-card{border:1px solid var(--line);border-radius:15px;overflow:hidden}.candidate-art{justify-content:space-between;align-items:end;height:92px;padding:12px;display:flex;position:relative;overflow:hidden}.candidate-art:before,.candidate-art:after{content:"";border:1px solid #3a3e3517;border-radius:50%;width:110px;height:110px;position:absolute;top:-45px;right:-24px}.candidate-art:after{width:70px;height:70px;top:-30px;right:12px}.candidate-art>span{text-transform:uppercase;background:#ffffffa6;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800}.candidate-art>strong{font-family:var(--font-display), sans-serif;z-index:1;font-size:25px;position:relative}.candidate-art small{font-size:9px}.candidate-copy{padding:13px}.candidate-copy h4{font-family:var(--font-display), sans-serif;letter-spacing:-.3px;margin:0 0 5px;font-size:14px}.candidate-copy>p{color:var(--muted);margin:0 0 12px;font-size:9px}.candidate-source{color:var(--muted);margin:-4px 0 10px;font-size:8px;display:block}.candidate-copy>div{color:#696d64;gap:9px;margin-bottom:12px;font-size:9px;display:flex}.candidate-copy>button{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:9px;justify-content:space-between;width:100%;min-height:36px;padding:0 11px;font-size:10px;font-weight:800;display:flex}.candidate-copy>button span{margin-left:auto}.filters-dialog{max-width:620px;padding-bottom:22px}.filter-description{color:var(--muted);margin:20px 28px 0;font-size:12px;line-height:1.5}.filter-stack{gap:17px;padding:22px 28px;display:grid}.filters-dialog>footer,.lot-dialog>footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 28px 0;display:flex}.lot-dialog{max-width:520px;padding-bottom:24px}.lot-dialog>label,.lot-dialog .form-row{margin-left:28px;margin-right:28px}.lot-dialog>label,.lot-dialog .form-row label{color:#62665e;flex-direction:column;flex:1;gap:6px;margin-top:19px;font-size:10px;font-weight:800;display:flex}.lot-dialog input,.lot-dialog select{border:1px solid var(--line);color:var(--ink);background:#faf9f5;border-radius:10px;min-height:42px;padding:0 11px}.lot-dialog label small{color:var(--muted);font-size:9px;font-weight:400}.form-row{gap:12px;display:flex}.manual-recipe-dialog{max-width:820px}.manual-recipe-form{gap:14px;padding:20px 28px;display:grid}.manual-recipe-form label{color:#62665e;flex-direction:column;flex:1;gap:6px;font-size:10px;font-weight:800;display:flex}.manual-recipe-form label small{color:var(--muted);font-size:8px;font-weight:500}.manual-recipe-form input,.manual-recipe-form select,.manual-recipe-form textarea{border:1px solid var(--line);color:var(--ink);font:inherit;background:#faf9f5;border-radius:10px;min-height:42px;padding:10px 11px;font-weight:500}.publishing-choice{background:#f0f3ed;border:1px solid #d9e1d6;border-radius:14px;padding:13px}.manual-recipe-form .check-row{cursor:pointer;flex-direction:row;align-items:flex-start;gap:10px}.manual-recipe-form .check-row input{accent-color:var(--forest);flex:none;width:16px;min-height:16px;margin:2px 0 0}.manual-recipe-form .check-row span{flex-direction:column;gap:3px;display:flex}.manual-recipe-form .check-row strong{color:var(--ink);font-size:11px}.publishing-details{border-top:1px solid #d9e1d6;gap:13px;margin-top:13px;padding-top:13px;display:grid}.rights-check strong{line-height:1.4}.manual-recipe-form textarea{resize:vertical;min-height:92px}.recipe-builder-section{border:1px solid var(--line);border-radius:15px;gap:12px;padding:14px;display:grid}.recipe-builder-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.recipe-builder-heading>div{flex-direction:column;gap:3px;display:flex}.recipe-builder-heading strong{font-size:12px}.recipe-builder-heading small{color:var(--muted);font-size:9px;line-height:1.4}.ingredient-builder-list,.step-builder-list{gap:8px;display:grid}.ingredient-builder-row{grid-template-columns:25px minmax(0,1.4fr) minmax(120px,.8fr) 30px;align-items:end;gap:8px;display:grid}.step-builder-row{grid-template-columns:25px minmax(0,1fr) 30px;align-items:start;gap:8px;display:grid}.builder-row-number{color:var(--forest);background:#e8ede5;border-radius:999px;justify-content:center;align-items:center;width:23px;height:23px;margin-bottom:10px;font-size:9px;font-weight:900;display:flex}.step-builder-row .builder-row-number{margin-top:24px}.step-builder-row textarea{min-height:68px}.builder-remove{color:#a45c50;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;height:42px;padding:0;font-size:18px;display:flex}.step-builder-row .builder-remove{margin-top:18px}.builder-remove:disabled{cursor:default;opacity:.22}.onboarding-backdrop{z-index:140}.onboarding-dialog{text-align:center;max-width:470px;padding:32px}.onboarding-dialog>h2{font-family:var(--font-display), sans-serif;letter-spacing:-1px;margin:5px 0 8px;font-size:30px}.onboarding-dialog>p:not(.eyebrow){color:var(--muted);max-width:350px;margin:0 auto;font-size:12px;line-height:1.55}.onboarding-dialog .manual-recipe-form{text-align:left;padding-left:0;padding-right:0}.onboarding-dialog>.primary-button{width:100%}.onboarding-mark{justify-content:center;margin-bottom:14px;display:flex}.toast{color:#fff;z-index:120;background:#203e31;border:1px solid #ffffff26;border-radius:13px;align-items:center;gap:9px;max-width:calc(100vw - 32px);padding:13px 17px;font-size:12px;font-weight:700;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #1d241f47}.toast span{background:#ffffff26;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.prototype-note{color:#ffffffbf;letter-spacing:.35px;z-index:25;background:#274b3beb;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:8px;display:flex;position:fixed;bottom:13px;right:13px}.prototype-note a{color:#fff;border-left:1px solid #ffffff3d;padding-left:8px;font-weight:800;text-decoration:none}.privacy-page{min-height:100vh;padding:0 24px 70px}.privacy-nav{justify-content:space-between;align-items:center;max-width:940px;margin:0 auto;padding:24px 0;display:flex}.privacy-brand{color:var(--ink);font-family:var(--font-display), sans-serif;letter-spacing:-.5px;align-items:center;gap:10px;font-size:19px;font-weight:800;text-decoration:none;display:flex}.privacy-document{background:var(--surface);border:1px solid var(--line);border-radius:24px;max-width:940px;margin:0 auto;padding:0 70px 60px;overflow:hidden;box-shadow:0 22px 65px #282d251a}.privacy-hero{background:linear-gradient(145deg,#eef2e8,#f8f4e9 70%);border-bottom:1px solid #dde1d8;margin:0 -70px 38px;padding:50px 70px 42px}.privacy-draft-badge{color:#66561e;letter-spacing:.4px;text-transform:uppercase;background:#f1e4b6;border:1px solid #dac77f;border-radius:999px;margin-bottom:18px;padding:7px 10px;font-size:9px;font-weight:900;display:inline-flex}.privacy-hero h1{font-family:var(--font-display), sans-serif;letter-spacing:-2.7px;margin:7px 0 16px;font-size:clamp(42px,7vw,64px);line-height:1}.privacy-lede{color:#5f655d;max-width:720px;margin:0;font-size:15px;line-height:1.7}.privacy-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:30px 0 0;display:grid}.privacy-summary div{border-top:1px solid #274b3b2e;gap:4px;padding-top:10px;display:grid}.privacy-summary dt{color:var(--muted);text-transform:uppercase;font-size:8px;font-weight:800}.privacy-summary dd{overflow-wrap:anywhere;margin:0;font-size:10px;font-weight:800}.privacy-document section{border-top:1px solid var(--line);padding:31px 0 6px}.privacy-document section:first-of-type{border-top:0}.privacy-document h2{font-family:var(--font-display), sans-serif;letter-spacing:-.7px;margin:0 0 13px;font-size:25px}.privacy-document h3{margin:20px 0 6px;font-size:12px}.privacy-document p,.privacy-document li{color:#5f645c;font-size:12px;line-height:1.72}.privacy-document a{color:var(--forest-2);font-weight:700}.privacy-document ul{gap:7px;padding-left:20px;display:grid}.privacy-callout,.privacy-sensitive-section{background:#f0f4ed;border-radius:16px;margin:0 0 29px;border:1px solid #d7e0d3!important;padding:18px 20px!important}.privacy-callout strong{font-family:var(--font-display), sans-serif;font-size:15px}.privacy-callout p{margin-bottom:0}.privacy-sensitive-section{margin-top:30px}.privacy-sensitive-section .eyebrow{color:var(--forest);margin:0 0 4px}.meal-plan-footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;padding-top:18px;display:flex}.meal-plan-footer span{color:var(--muted);font-size:9px}.secondary-button.active-button{color:var(--forest);background:#e3eadf;border-color:#b9c9b8}.week-preferences-panel{background:var(--surface);border:1px solid #d7ded2;border-radius:18px;gap:17px;margin:-4px 0 18px;padding:19px;display:grid;box-shadow:0 12px 35px #253f3012}.week-preferences-heading{justify-content:space-between;align-items:start;display:flex}.week-preferences-heading h2{font-family:var(--font-display), sans-serif;letter-spacing:-.7px;margin:3px 0 5px;font-size:23px}.week-preferences-heading p:last-child,.broad-search-controls .explore-control-heading p:last-child{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.week-preferences-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.week-preferences-detail-grid .constraint-picker,.week-preferences-detail-grid .dislike-picker{margin:0}.week-priority-picker{background:#f2f3e6;border-radius:13px;grid-template-columns:minmax(170px,.35fr) 1fr;align-items:start;gap:12px;padding:14px 15px;display:grid}.week-priority-picker>div:first-child{flex-direction:column;gap:4px;display:flex}.week-priority-picker strong{font-size:11px}.week-priority-picker span{color:var(--muted);font-size:9px}.report-panel{background:#fbf7f1;border:1px solid #e3dbcf;border-radius:14px;gap:13px;margin-top:20px;padding:16px;display:grid}.report-panel>div:first-child,.report-panel label{flex-direction:column;gap:5px;display:flex}.report-panel>div:first-child span,.report-panel label,.report-panel label small{color:var(--muted);font-size:10px}.report-panel select,.report-panel textarea{color:var(--ink);font:inherit;background:#fff;border:1px solid #d8dbd2;border-radius:9px;padding:10px}.report-panel textarea{resize:vertical;min-height:76px}.report-panel>div:last-child{justify-content:flex-end;gap:14px;display:flex}.admin-account-badge{color:var(--forest);background:#e4ebdf;border-radius:999px;padding:10px 13px;font-size:10px;font-weight:800}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.admin-metrics article,.admin-panel{background:var(--surface);border:1px solid var(--line);border-radius:16px}.admin-metrics article{flex-direction:column;gap:8px;padding:17px;display:flex}.admin-metrics span{color:var(--muted);font-size:10px;font-weight:700}.admin-metrics strong{color:var(--forest);font-family:var(--font-display), sans-serif;font-size:27px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-panel{min-width:0;padding:18px}.admin-reports-panel{grid-column:1/-1}.admin-list{flex-direction:column;display:flex}.admin-list-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.admin-list-row>div:first-child{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.admin-list-row strong{font-size:12px}.admin-list-row span,.admin-list-row p,.admin-list-row small{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:9px}.admin-list-row b{color:var(--forest);white-space:nowrap;font-size:11px}.admin-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.role-chip{color:var(--forest);font-family:var(--font-body), sans-serif;background:#e4ebdf;border-radius:999px;margin-left:5px;padding:3px 6px;font-size:8px;font-style:normal}.admin-empty{color:var(--muted);text-align:center;padding:24px 4px;font-size:11px}.explore-controls{background:var(--surface);border:1px solid var(--line);border-radius:18px;gap:15px;margin-bottom:20px;padding:19px;display:grid}.explore-control-heading{justify-content:space-between;align-items:center;display:flex}.explore-control-heading h2{font-family:var(--font-display), sans-serif;letter-spacing:-.7px;margin:3px 0 0;font-size:23px}.meal-type-filter{flex-wrap:wrap;gap:7px;display:flex}.meal-type-filter button{color:var(--muted);cursor:pointer;background:#f1f2ed;border:1px solid #0000;border-radius:999px;min-height:34px;padding:0 14px;font-size:10px;font-weight:800}.meal-type-filter button.active{background:var(--forest);color:#fff}.explore-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.explore-detail-grid .constraint-picker,.explore-detail-grid .dislike-picker,.explore-controls .expiring-picker{margin:0}.explore-grid{margin-top:2px}.load-more-row{justify-content:center;padding:22px 0;display:flex}@media (max-width:1180px){.topbar{padding:0 24px}.nav-item{padding:0 11px}.page{padding-left:24px;padding-right:24px}.week-grid{overflow-x:auto}.day-column{min-width:158px}.pantry-grid,.macro-cards,.cookbook-grid,.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.privacy-page{padding:0 12px 40px}.privacy-nav{padding:15px 4px}.privacy-nav .secondary-button{padding:0 10px;font-size:9px}.privacy-document{border-radius:18px;padding:0 20px 40px}.privacy-hero{margin:0 -20px 28px;padding:33px 20px 30px}.privacy-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{grid-template-columns:1fr auto;height:64px;padding:0 16px}.primary-nav{background:var(--surface);border-top:1px solid var(--line);padding:7px 8px max(7px, env(safe-area-inset-bottom));z-index:70;grid-column:1/-1;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.nav-item{flex:1 0 58px;min-height:42px;padding:0 5px;font-size:10px}.nav-badge{position:absolute;top:3px;right:10px}.top-actions{grid-column:2}.sync-status,.icon-button{display:none}.page{padding:25px 16px 110px}.page-heading{flex-direction:column;align-items:stretch;gap:19px}.library-toolbar{flex-direction:column;align-items:stretch}.library-tabs,.library-search{width:100%;max-width:none}.library-tabs button{flex:1}.page-heading h1,.week-title-row h1{font-size:34px}.calendar-heading .heading-actions{grid-template-columns:1fr 1fr;display:grid}.heading-actions>button{width:100%}.week-chip,.filter-summary{display:none}.expiry-callout{align-items:start}.expiry-callout button{padding:11px 3px;font-size:0}.expiry-callout button span{font-size:18px}.mobile-day-strip{grid-template-columns:repeat(7,1fr);gap:4px;margin:19px -4px 12px;display:grid}.mobile-day-strip button{cursor:pointer;background:0 0;border:0;border-radius:11px;flex-direction:column;align-items:center;gap:4px;min-height:51px;padding:7px 2px;display:flex}.mobile-day-strip button.selected{background:var(--forest);color:#fff}.mobile-day-strip span{text-transform:uppercase;font-size:8px}.mobile-day-strip strong{font-size:14px}.week-grid{background:0 0;border:0;min-height:0;display:block;overflow:visible}.day-column{border:0;min-width:0;display:none}.day-column.mobile-selected{display:block}.day-header{background:0 0;border:0;height:51px;padding:0 2px}.day-header div{gap:6px}.day-header span{font-size:15px;font-weight:800}.day-header strong{color:var(--muted);font-size:15px}.day-slots{grid-template-rows:none;gap:12px;display:grid}.meal-slot{border:0;padding:0}.slot-label{margin:0 2px 7px}.meal-card,.empty-card{min-height:118px}.meal-card>strong{font-size:17px}.list-layout{flex-direction:column;display:flex}.grocery-list-card,.list-summary{width:100%}.list-summary{position:static}.pantry-toolbar{flex-direction:column;align-items:stretch}.search-field{max-width:none}.segmented{overflow-x:auto}.pantry-grid,.macro-cards{grid-template-columns:1fr}.macro-hero{grid-template-columns:1fr;padding:27px}.calorie-ring{width:145px;height:145px}.daily-row{grid-template-columns:35px 55px minmax(60px,1fr) 70px}.daily-row>small{display:none}.dialog-backdrop{align-items:end;padding:0}.meal-dialog,.add-dialog,.filters-dialog,.lot-dialog{border-radius:22px 22px 0 0;max-height:94vh}.meal-dialog-banner{border-radius:22px 22px 0 0;min-height:205px;padding:29px 22px}.meal-dialog-banner h2{padding-right:35px;font-size:32px}.dialog-close{top:16px;right:16px}.meal-dialog-body{padding:20px 17px 10px}.macro-button{grid-template-columns:38px 1fr auto}.macro-mini{display:none}.macro-breakdown{grid-template-columns:repeat(2,1fr)}.dialog-content-grid{grid-template-columns:1fr;padding-top:24px}.dialog-footer{padding:14px 18px calc(18px + env(safe-area-inset-bottom));flex-direction:column-reverse;align-items:stretch;gap:8px}.dialog-footer .primary-button{width:100%}.dialog-footer>div{justify-content:center}.add-dialog-header,.add-dialog-body{padding-left:18px;padding-right:18px}.filter-grid,.candidate-grid{grid-template-columns:1fr}.online-recipe-search{grid-template-columns:1fr;align-items:stretch}.online-recipe-search .text-button{text-align:left}.manual-recipe-form .form-row{flex-direction:column}.onboarding-dialog{margin:16px;padding:26px 20px}.discovery-banner{grid-template-columns:1fr;align-items:start;padding:20px}.cookbook-grid{grid-template-columns:1fr}.candidate-heading{flex-direction:column;align-items:stretch;gap:10px}.candidate-heading>button{width:100%}.admin-list-row,.admin-row-actions{flex-direction:column;align-items:stretch}.add-intro{flex-wrap:wrap;align-items:flex-start}.meal-plan-footer{justify-content:space-between}.ingredient-builder-row{grid-template-columns:25px minmax(0,1fr) 30px;align-items:end}.ingredient-builder-row label:nth-of-type(2){grid-column:2}.ingredient-builder-row .builder-remove{grid-area:1/3/span 2}.recipe-builder-heading{flex-direction:column;align-items:stretch}.recipe-builder-heading .text-button{align-self:flex-start}.admin-grid,.admin-metrics{grid-template-columns:1fr}.admin-reports-panel{grid-column:auto}.explore-control-heading{flex-direction:column;align-items:stretch;gap:10px}.explore-control-heading>button{width:100%}.explore-detail-grid,.week-preferences-detail-grid,.week-priority-picker{grid-template-columns:1fr}.recommendation-mix{flex-wrap:wrap;align-items:flex-start}.recommendation-mix small{flex-basis:100%;margin-left:0}.recipe-provenance{flex-direction:column;align-items:stretch;gap:10px}.community-score{border-left:0;border-top:1px solid var(--line);align-items:flex-start;padding-top:9px;padding-left:0}.expiring-picker{flex-direction:column;align-items:start}.chip-row{justify-content:flex-start}.candidate-card{grid-template-columns:110px 1fr;display:grid}.candidate-art{height:100%}.candidate-art>strong{font-size:19px}.candidate-art>span{position:absolute;top:8px;left:8px}.filters-dialog>footer,.lot-dialog>footer{padding-left:18px;padding-right:18px}.rating-panel{flex-direction:column;align-items:start;gap:9px}.prototype-note{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.auth-gate{background:radial-gradient(circle at 14% 12%,#c7d8ad8c,#0000 34%),radial-gradient(circle at 88% 82%,#ecc99f6b,#0000 36%),#f7f3eb;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{text-align:center;background:#fffdf8f0;border:1px solid #303f2d1f;border-radius:28px;width:min(100%,520px);padding:clamp(32px,7vw,56px);box-shadow:0 28px 80px #3e422e24}.auth-brand-mark{margin-bottom:24px;display:inline-flex}.auth-card h1{font-family:var(--font-display), sans-serif;letter-spacing:-.055em;color:#28372a;margin:8px 0 16px;font-size:clamp(2rem,6vw,3.35rem);line-height:1.02}.auth-card>p:not(.eyebrow){color:#687065;max-width:40ch;margin:0 auto;line-height:1.6}.auth-button{justify-content:center;width:100%;min-height:48px;margin:28px 0 18px}.auth-card>a{color:#53634f;font-size:.875rem}.clerk-avatar{width:36px;height:36px}
