:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e8eeeb;font-synthesis:none;--bg:#0c0f0e;--rail:#0a0d0c;--card:#131716;--card-2:#171d1a;--line:#232a27;--line-soft:#1b211f;--text:#e8eeeb;--text-2:#c6d0cc;--muted:#8e9a95;--faint:#5a6661;--mint:#5fe0a0;--warn:#f0b13f;--urgent:#f2637a;--info:#57a8f2;--violet:#a184f5;--spend:#35d6c8;--track:#222a27;background:#0c0f0e;font-family:Public Sans,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}html{background:var(--bg)}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--mint);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}::-webkit-scrollbar-track{background:var(--bg)}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--rail);z-index:10;border-right:1px solid #191f1d;flex-direction:column;flex:0 0 224px;width:224px;height:100vh;padding:20px 12px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:0 10px 22px;font-size:15px;display:flex}.brand-mark{background:#121715;border:1px solid #2c3733;border-radius:8px;place-items:center;width:28px;height:28px;font-size:14px;display:grid}.sync-dot{background:var(--mint);border-radius:50%;width:6px;height:6px;margin-left:auto;box-shadow:0 0 12px #5fe0a080}.sync-dot.connecting{background:var(--warn);box-shadow:none}.sync-dot.error{background:var(--urgent);box-shadow:0 0 12px #f2637a73}.nav-group{margin-bottom:18px}.nav-label,.eyebrow,.card-kicker,.next-aisle>span,.already-in>span{text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-family:JetBrains Mono,monospace;font-size:10px}.nav-label{padding:0 10px 6px}.nav-item{width:100%;height:36px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:13px;display:flex;position:relative}.nav-item:before{content:"";border-radius:2px;width:2px;position:absolute;top:9px;bottom:9px;left:0}.nav-item:hover{color:var(--text-2);background:#121715}.nav-item.active{background:var(--card-2);color:var(--text);font-weight:600}.nav-item.active:before{background:var(--mint)}.nav-item svg{stroke-width:1.8px;width:16px;height:16px}.nav-item span{flex:1}.nav-item .nav-item-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-item small{color:var(--faint);flex:none;font-family:JetBrains Mono,monospace;font-size:10.5px}.sidebar-spacer{flex:1;min-height:20px}.profile-row{cursor:pointer;text-align:left;background:0 0;border:0;border-top:1px solid #191f1d;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 4px 2px;display:flex}.profile-row:hover{background:#121715}.profile-row .avatar{width:28px;height:28px;color:var(--muted);background:#1c2320;border-radius:7px;place-items:center;font-family:JetBrains Mono,monospace;font-size:10px;display:grid}.profile-row>span:nth-child(2){flex-direction:column;flex:1;gap:2px;display:flex}.profile-row strong{font-size:12.5px;font-weight:500}.profile-row small{color:var(--faint);font-size:10.5px}.profile-row svg{width:14px;color:var(--faint)}.main-shell{flex:1;min-width:0}.page-header{z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c0f0ee0;border-bottom:1px solid #191f1d;position:sticky;top:0}.page-header-inner{align-items:flex-end;gap:24px;max-width:1180px;margin:auto;padding:18px 36px 16px;display:flex}.page-heading{flex:1;min-width:0}.page-heading h1{letter-spacing:-.02em;margin:6px 0 5px;font-size:26px;font-weight:650;line-height:1.1}.page-heading p{color:var(--muted);max-width:650px;margin:0;font-size:13px;line-height:1.45}.header-actions{align-items:center;gap:8px;padding-bottom:2px;display:flex}.button,.icon-button,.filter-chip,.text-button,.date-switcher button{cursor:pointer;border:0}.button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 13px;font-size:12.5px;display:inline-flex}.button svg{width:15px;height:15px}.button.primary{background:var(--mint);color:#06170f;font-weight:650}.button.primary:hover{background:#7ee9b4}.button.secondary{color:var(--text-2);background:0 0;border:1px solid #262e2b}.button.secondary:hover,.button.compact:hover{background:#1c2320;border-color:#313b37}.button.compact{background:#1c2320;min-height:30px;padding:0 13px;font-weight:600}.button.full{width:100%}.button:disabled{opacity:.45;cursor:not-allowed}.icon-button{width:34px;height:34px;color:var(--muted);background:0 0;border:1px solid #262e2b;border-radius:8px;place-items:center;display:grid}.icon-button:hover{color:var(--text);background:#121715}.icon-button svg{width:16px}.page-content{max-width:1180px;margin:auto;padding:24px 36px 72px}.stack{flex-direction:column;gap:16px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.card h2{margin:0;font-size:14px;font-weight:600}.card p{color:var(--muted)}.section-title{border-bottom:1px solid #1e2523;align-items:center;gap:12px;padding:16px 20px;display:flex}.section-title>div{flex:1}.section-title p{color:var(--muted);margin:3px 0 0;font-size:12px}.section-meta{color:var(--faint);font:10.5px JetBrains Mono,monospace}.text-button{color:var(--mint);background:0 0;padding:0;font-size:12px}.text-button:hover{color:#a6e3c3}.text-button.align-left{margin-top:12px}.grow{flex:1;min-width:0}.grow strong,.grow small,.inventory-name strong,.inventory-name small{display:block}.grow small,.inventory-name small,.featured-meal small{color:var(--faint);margin-top:3px;font-size:11.5px}.today-grid{grid-template-columns:1.35fr 1fr 1fr;gap:16px;display:grid}.today-grid>.card{flex-direction:column;padding:20px;display:flex}.card-kicker{color:var(--muted);align-items:center;display:flex}.card-kicker>span{flex:1}.card-kicker button{color:var(--mint);cursor:pointer;background:0 0;border:0;font-size:12px}.card-kicker small{color:var(--faint);font-family:JetBrains Mono,monospace}.headline-metrics{grid-template-columns:1fr 1fr;gap:18px;margin:16px 0;display:grid}.headline-metric{min-width:0}.headline-metric+.headline-metric{border-left:1px solid #1e2523;padding-left:18px}.metric-total{flex-wrap:wrap;align-items:baseline;gap:7px;display:flex}.metric-total strong{letter-spacing:-.02em;font:500 29px/1 JetBrains Mono,monospace}.metric-total span{color:var(--muted);font-size:12px}.headline-metric .progress{margin-top:10px}.headline-metric em{color:var(--mint);letter-spacing:.04em;margin-top:7px;font:11px JetBrains Mono,monospace;display:block}.headline-metric.spend-metric .metric-total strong,.headline-metric.spend-metric em{color:var(--spend)}.macro-list{flex-direction:column;gap:11px;display:flex}.macro-row>div:first-child{align-items:baseline;gap:8px;display:flex}.macro-row span{color:var(--text-2);flex:1;font-size:12.5px}.macro-row strong,.macro-row small{font:11.5px JetBrains Mono,monospace}.macro-row small{color:var(--faint)}.progress{background:var(--track);border-radius:3px;height:4px;margin-top:5px;display:flex;overflow:hidden}.progress span,.progress i{flex:none;height:100%;display:block}.progress span{background:var(--mint);border-radius:3px}.plan-projection-key{color:var(--faint);align-items:center;gap:7px;margin:-3px 0 12px;font-size:10.5px;display:flex}.plan-projection-key i{border-radius:2px;flex:0 0 9px;width:9px;height:9px}.featured-meal{align-items:center;gap:12px;margin:18px 0;display:flex}.featured-meal>span{font-size:28px}.featured-meal div{flex:1}.featured-meal strong{font-size:15px;display:block}.split-actions{gap:8px;margin-top:auto;display:flex}.split-actions .primary{flex:1}.soon-row{border:0;border-bottom:1px solid var(--line-soft);width:100%;color:inherit;text-align:left;font:inherit;background:0 0;align-items:center;gap:11px;padding:12px 0 12px 14px;display:flex;position:relative}button.soon-row{cursor:pointer}button.soon-row:hover{background:#121715}.soon-value{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.soon-value small{font:11px JetBrains Mono,monospace}.soon-row:before{content:"";background:var(--warn);border-radius:2px;width:3px;position:absolute;top:10px;bottom:10px;left:0}.soon-row.urgent:before{background:var(--urgent)}.soon-row>div{flex:1}.soon-row strong,.soon-row small{display:block}.soon-row strong{font-size:13px;font-weight:500}.soon-row small{color:var(--faint);margin-top:3px;font-size:11.5px}.soon-row em{color:var(--warn);font:11px JetBrains Mono,monospace}.soon-row.urgent em{color:var(--urgent)}.prepared-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:14px;padding:14px 20px;display:flex}.prepared-row:last-child{border-bottom:0}.prepared-eat-quantity{color:var(--muted);text-transform:uppercase;align-items:center;gap:6px;font:10px JetBrains Mono,monospace;display:flex}.prepared-eat-quantity input{border:1px solid var(--line);width:62px;height:32px;color:var(--text);background:#111513;border-radius:7px;padding:0 7px;font:12px JetBrains Mono,monospace}.row-emoji{text-align:center;flex:0 0 26px;width:26px;font-size:22px}.servings{width:132px}.servings small{color:var(--faint);margin-top:5px;font:10.5px JetBrains Mono,monospace;display:block}.due{width:110px;color:var(--warn);text-align:right;font:11px JetBrains Mono,monospace}.cookable-grid{grid-template-columns:1fr 1fr;display:grid}.cookable-row{text-align:left;border:0;border-right:1px solid var(--line-soft);cursor:pointer;background:0 0;align-items:center;gap:12px;padding:16px 20px;display:flex}.cookable-row:last-child{border-right:0}.cookable-row:hover{background:#161b19}.cookable-row>span{font-size:23px}.cookable-row>div{flex:1}.cookable-row strong,.cookable-row small{display:block}.cookable-row strong{font-size:13.5px}.cookable-row small{color:var(--faint);margin-top:4px}.cookable-row svg{width:15px;color:var(--faint)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:16px;display:flex}.toolbar-spacer{flex:1}.search-box{border:1px solid var(--line);background:var(--card);height:32px;color:var(--faint);border-radius:8px;flex:250px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-box svg{width:14px}.search-box input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:12.5px}.filter-chip{border:1px solid var(--line);min-height:32px;color:var(--muted);background:0 0;border-radius:8px;padding:0 12px;font-size:12px}.filter-chip:hover{color:var(--text-2);border-color:#313b37}.filter-chip.active{color:var(--text);background:#1c2320;border-color:#313b37}.filter-chip small{color:var(--faint);padding-left:4px;font-family:JetBrains Mono,monospace}.inventory-section{margin-bottom:14px}.inventory-section-head{border-bottom:1px solid #1e2523;align-items:center;gap:10px;padding:13px 20px;display:flex}.inventory-section-head strong{flex:1;font-size:12.5px}.inventory-section-head small{color:var(--faint);font:10.5px JetBrains Mono,monospace}.inventory-row{border:0;border-bottom:1px solid var(--line-soft);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:14px;width:100%;padding:13px 20px;display:flex}.inventory-row:last-child{border-bottom:0}.inventory-row:hover{background:#161b19}.inventory-name{flex:200px;min-width:130px}.inventory-name strong{font-size:13.5px;font-weight:500}.lot-meter{flex:180px;min-width:80px}.lot-meter>div{gap:2px;display:flex}.lot-bar{background:var(--mint);border-radius:2px;flex:1;height:4px}.lot-bar.warn{background:var(--warn)}.lot-bar.urgent{background:var(--urgent)}.lot-meter small{color:var(--faint);margin-top:6px;font:10.5px JetBrains Mono,monospace;display:block}.inventory-total{text-align:right;min-width:76px;font:500 14px JetBrains Mono,monospace}.inventory-due{width:72px;color:var(--faint);text-align:right;font:11px JetBrains Mono,monospace}.inventory-due.warn{color:var(--warn)}.inventory-due.urgent{color:var(--urgent)}.row-chevron{width:16px;color:var(--faint);flex:0 0 16px}.empty-state{text-align:center;color:var(--faint);padding:60px}.empty-state svg{width:30px}.empty-state h2{color:var(--text);margin-top:12px}.empty-state p{margin-bottom:0;font-size:13px}.recipe-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.recipe-card{flex-direction:column;display:flex}.recipe-head{align-items:flex-start;gap:14px;padding:18px 20px 16px;display:flex}.recipe-head>span{font-size:28px}.title-with-badge{align-items:center;gap:9px;display:flex}.title-with-badge h2{font-size:15px}.title-with-badge em{color:var(--mint);background:#1c2b23;border-radius:5px;padding:2px 8px;font:10px JetBrains Mono,monospace}.recipe-head .grow>small{font-family:JetBrains Mono,monospace}.rating{justify-content:flex-end;align-items:center;gap:6px;margin-bottom:5px;display:flex}.rating small{color:var(--faint);font:10px JetBrains Mono,monospace}.rating span{gap:2px;display:flex}.rating i{background:var(--line);border-radius:50%;width:5px;height:5px}.rating i.filled{background:var(--mint)}.ingredient-chips{flex-wrap:wrap;gap:6px;padding:0 20px 10px;display:flex}.ingredient-chips span{color:var(--mint);background:#17201b;border-radius:6px;padding:4px 8px;font:10.5px JetBrains Mono,monospace}.ingredient-chips span.short{color:var(--urgent);background:#25191a}.recipe-nutrition{margin:0;padding:0 20px 4px;font-size:12px}.card-actions{background:#111514;border-top:1px solid #1e2523;align-items:center;gap:8px;margin-top:auto;padding:12px 20px;display:flex}.card-actions .button{flex:1}.inline-heading{align-items:center;gap:10px;margin:22px 0 10px;display:flex}.inline-heading h2{margin:0;font-size:13px}.inline-heading p{color:var(--muted);flex:1;margin:0;font-size:12px}.combined-summary{align-items:center;gap:12px;padding:15px 20px;display:flex}.combined-summary>span{font-size:24px}.combined-components{background:var(--line-soft);gap:1px;display:flex}.combined-components button{cursor:pointer;text-align:left;background:#111514;border:0;flex:1;align-items:center;gap:10px;padding:12px 20px;display:flex}.combined-components button:hover{background:#161b19}.combined-components button>span{font-size:18px}.combined-components button>div{flex:1}.combined-components strong,.combined-components small{display:block}.combined-components strong{font-size:12.5px}.combined-components small{color:var(--faint);margin-top:3px;font:10.5px JetBrains Mono,monospace}.combined-components svg{width:14px;color:var(--faint)}.grocery-summary{align-items:stretch;gap:20px;padding:18px 20px;display:flex}.grocery-summary>.grow{border-right:1px solid #1e2523;padding-right:18px}.grocery-summary>.grow>small{color:var(--faint);margin-top:9px}.grocery-count{align-items:baseline;gap:10px;display:flex}.grocery-count strong{font:500 23px JetBrains Mono,monospace}.grocery-count strong span{color:var(--faint)}.grocery-count>span{color:var(--text-2);font-size:13px}.grocery-summary .progress{margin:10px 0 0}.next-aisle{flex-direction:column;align-items:flex-start;gap:7px;width:220px;display:flex}.next-aisle strong{font-size:13px}.next-aisle .button{width:100%;margin-top:auto}.grocery-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.grocery-section.complete{opacity:.62}.grocery-row{border:0;border-bottom:1px solid var(--line-soft);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:12px;width:100%;min-height:47px;padding:9px 18px;display:flex}.grocery-row:last-child{border-bottom:0}.grocery-row:hover{background:#161b19}.check-box{border:1px solid #3a453f;border-radius:5px;flex:0 0 17px;place-items:center;width:17px;height:17px;display:grid}.check-box svg{stroke-width:3px;color:#06170f;width:12px;height:12px}.grocery-row.checked .check-box,.check-row.checked .check-box{background:var(--mint);border-color:var(--mint)}.grocery-row strong{flex:1;font-size:13px}.grocery-row small{color:var(--faint);font:11px JetBrains Mono,monospace}.grocery-row.checked strong{color:var(--faint);text-decoration:line-through}.already-in{border:1px solid var(--line-soft);border-radius:14px;align-items:center;gap:20px;margin-top:16px;padding:16px 20px;display:flex}.already-in>span{width:190px}.already-in>div{gap:6px;display:flex}.already-in em{color:var(--muted);background:#151a18;border-radius:6px;padding:4px 10px;font-size:12px;font-style:normal}.shopping-mode .grocery-grid{grid-template-columns:1fr;max-width:680px;margin-left:auto;margin-right:auto}.shopping-mode .grocery-row{min-height:64px}.shopping-mode .grocery-row strong{font-size:15px}.shopping-mode .check-box{border-radius:7px;flex-basis:24px;width:24px;height:24px}.week-card{overflow-x:auto}.week-grid{background:var(--line-soft);grid-template-columns:repeat(7,1fr);gap:1px;min-width:790px;display:grid}.week-day{background:var(--card);flex-direction:column;min-height:380px;padding:14px 12px;display:flex}.week-day.today{background:#151b18}.week-date{align-items:baseline;gap:6px;display:flex}.week-date strong{font-size:12px}.week-day.today .week-date strong{color:var(--mint)}.week-date small{color:var(--faint);font:10.5px JetBrains Mono,monospace}.week-meals{margin-top:12px}.week-meals button{text-align:left;border:0;border-left:2px solid var(--mint);cursor:pointer;background:#1a201d;border-radius:0 8px 8px 0;width:100%;padding:9px 10px}.week-meals button:hover{background:#1f2622}.week-meals small,.week-meals span{display:block}.week-meals small{color:var(--faint);letter-spacing:.06em;font:9.5px JetBrains Mono,monospace}.week-meals span{margin-top:4px;font-size:12px;line-height:1.35}.day-add{cursor:pointer;height:30px;color:var(--faint);background:0 0;border:1px dashed #303936;border-radius:7px;place-items:center;margin-top:auto;display:grid}.day-add:hover{border-color:var(--mint);color:var(--mint)}.day-add svg{width:14px}.date-switcher{align-items:center;gap:10px;display:flex}.date-switcher button{background:0 0;border:1px solid #262e2b;border-radius:8px;width:30px;height:30px}.date-switcher strong{font-size:13.5px}.date-switcher span{color:var(--faint);font:11.5px JetBrains Mono,monospace}.contribution-card{padding-bottom:12px}.legend{flex-wrap:wrap;gap:16px;padding:16px 20px 9px;display:flex}.legend>span{color:var(--text-2);align-items:center;gap:7px;font-size:12px;display:flex}.legend i{border-radius:2px;width:8px;height:8px}.legend small{color:var(--faint);font:10px JetBrains Mono,monospace}.contribution-row{border-top:1px solid var(--line-soft);align-items:center;gap:14px;padding:9px 20px;display:flex}.contribution-row>strong{width:74px;color:var(--text-2);font-size:12.5px}.contribution-row>span{text-align:right;width:120px;font:10.5px JetBrains Mono,monospace}.segment-bar{background:#181d1b;border-radius:3px;flex:1;height:10px;display:flex;position:relative;overflow:hidden}.segment-bar i{max-width:none;height:10px}.segment-bar b{background:var(--muted);width:1px;position:absolute;top:-2px;bottom:-2px}.log-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:14px;padding:13px 20px;display:flex}.log-row>i{border-radius:2px;align-self:stretch;width:2px}.log-row>span:not(.row-emoji){text-align:right;width:90px;font:11px JetBrains Mono,monospace}.log-row>small{text-align:right;width:64px;color:var(--faint);font:10.5px JetBrains Mono,monospace}.log-row-actions{gap:6px;display:flex}.row-icon-button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #262e2b;border-radius:7px;place-items:center;display:grid}.row-icon-button svg{width:14px}.row-icon-button:hover{color:var(--text);background:#1c2320}.log-row-actions .row-icon-button:last-child:hover{color:var(--urgent);border-color:#593036}.history-layout,.two-column{align-items:flex-start;gap:16px;display:flex}.history-layout>.grow{flex:2}.history-day{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:16px;padding:14px 20px;display:flex}.history-day>div:first-child{width:88px}.history-day strong,.history-day small{display:block}.history-day strong{font-size:12.5px}.history-day small{white-space:pre-line;color:var(--faint);font:10.5px/1.6 JetBrains Mono,monospace}.history-day>div:nth-child(2){flex-direction:column;flex:1;gap:6px;display:flex}.history-day>div:nth-child(2) span{font-size:12.5px}.history-day em{color:var(--warn);background:#1c2320;border-radius:5px;margin-left:8px;padding:1px 7px;font:10px JetBrains Mono,monospace}.history-day>small{text-align:right}.repeats-card{flex:1}.repeat-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:13px 20px;display:flex}.repeat-row>strong{background:#1c2320;border-radius:6px;place-items:center;width:32px;height:25px;font:11px JetBrains Mono,monospace;display:grid}.repeat-row div{flex:1}.repeat-row span,.repeat-row small{display:block}.repeat-row span{font-size:12.5px}.repeat-row small{color:var(--faint);margin-top:3px;font-size:11px}.repeats-card>.button{width:calc(100% - 32px);margin:16px}.range-bar{align-items:center;gap:12px;display:flex}.range-chips{flex:1;gap:6px;display:flex}.stat-strip{background:#1e2523;border-bottom:1px solid #1e2523;grid-template-columns:repeat(5,1fr);gap:1px;display:grid}.stat-strip>div{background:var(--card);padding:15px 18px}.stat-strip span{color:var(--muted);font-size:11px;display:block}.stat-strip strong{letter-spacing:-.01em;margin-top:7px;font:500 18px JetBrains Mono,monospace;display:block}.stat-strip small{color:var(--faint);margin-top:4px;font:10px JetBrains Mono,monospace;display:block}.heat-strip{gap:3px;padding:16px 18px;display:flex}.heat-strip i{border-radius:3px;flex:1;min-width:0;height:26px}.history-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:14px;padding:13px 20px;display:flex}.history-row:last-child{border-bottom:0}.prep-history-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:14px;padding:13px 20px;display:flex}.prep-history-row:last-child{border-bottom:0}.prep-history-row>.grow{flex:1;min-width:0}.prep-history-row>.grow strong,.prep-history-row>.grow small{display:block}.prep-history-row>.grow strong{font-size:12.5px}.prep-history-row>.grow small{color:var(--faint);margin-top:3px;font:10.5px JetBrains Mono,monospace}.prep-history-row>div:not(.grow){flex:0 0 112px;width:112px}.prep-history-row>div:not(.grow) span,.prep-history-row>div:not(.grow) strong{display:block}.prep-history-row>div:not(.grow) span{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;font:9.5px JetBrains Mono,monospace}.prep-history-row>div:not(.grow) strong{color:var(--text-2);text-transform:capitalize;margin-top:4px;font:500 11.5px JetBrains Mono,monospace}.history-when{flex:0 0 100px;width:100px}.history-when strong{font-size:12.5px;display:block}.history-when small{color:var(--faint);margin-top:3px;font:10.5px JetBrains Mono,monospace;display:block}.history-meals{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.meal-chip{border:1px solid var(--line);background:var(--card-2);color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:4px 9px;font-size:11.5px;display:inline-flex}.meal-chip:hover{background:#1c2320;border-color:#313b37}.meal-chip em{font:10px JetBrains Mono,monospace}.history-figure{text-align:right;width:78px;color:var(--text-2);font:11px JetBrains Mono,monospace}.history-actions{align-items:center;gap:6px;display:flex}.gap-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px 20px;display:flex}.gap-row:last-child{border-bottom:0}.gap-row span{color:var(--text-2);flex:1;font-size:12.5px}.gap-row strong{font:500 12.5px JetBrains Mono,monospace}.week-header{border-bottom:1px solid #1e2523;padding:16px 20px}.week-header p{color:var(--muted);margin:10px 0 0;font-size:12.5px}.week-budget-bar{margin-top:12px}.week-budget-bar small{color:var(--faint);margin-top:6px;font:10.5px JetBrains Mono,monospace;display:block}.week-list{flex-direction:column;display:flex}.week-row{border-bottom:1px solid var(--line-soft);gap:16px;padding:14px 20px;display:flex}.week-row:last-child{border-bottom:0}.week-row.today{background:#101512}.week-row.past{opacity:.72}.week-row-date{flex:0 0 118px;width:118px}.week-row-date strong{letter-spacing:.08em;color:var(--muted);font:500 11px JetBrains Mono,monospace;display:block}.week-row.today .week-row-date strong{color:var(--mint)}.week-row-date>small{color:var(--text);margin-top:2px;font:500 20px JetBrains Mono,monospace;display:block}.week-row-date em{margin-top:8px;font:12px JetBrains Mono,monospace;display:block}.week-row-date>small:last-child{color:var(--faint);margin-top:3px;font:10.5px JetBrains Mono,monospace}.week-row-meals{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.week-meal-card{border:1px solid var(--line);background:var(--card-2);border-radius:11px;align-items:center;gap:12px;padding:11px 13px;display:flex}.week-meal-card.made{border-color:#2f4a3c}.week-meal-card.eaten{border-color:var(--mint-dim);background:#111a16}.week-meal-card.leftover{border-style:dashed}.week-meal-card strong{font-size:13px;font-weight:500;display:block}.week-meal-card small{color:var(--faint);text-transform:lowercase;margin-top:3px;font-size:11px;display:block}.week-meal-cost{font:500 12px JetBrains Mono,monospace}.week-meal-actions{align-items:center;gap:6px;display:flex}.week-add{min-height:34px;color:var(--faint);cursor:pointer;background:0 0;border:1px dashed #2b3430;border-radius:10px;justify-content:center;align-items:center;gap:7px;font-size:12px;display:flex}.week-add:hover{color:var(--text-2);border-color:#3a463f}.week-add svg{width:14px}.product-table-head,.product-row{grid-template-columns:minmax(0,1fr) 72px 64px 68px 74px 56px auto;align-items:center;gap:12px;padding:11px 20px;display:grid}.product-table-head{border-bottom:1px solid #1e2523}.product-table-head span{text-transform:uppercase;letter-spacing:.08em;color:var(--faint);text-align:right;font-family:JetBrains Mono,monospace;font-size:9.5px}.product-table-head .product-cell-name{text-align:left}.product-row{border-bottom:1px solid var(--line-soft)}.product-row:last-child{border-bottom:0}.product-row.comparing{background:#161d1a}.product-row>span{text-align:right;color:var(--text-2);font:11.5px JetBrains Mono,monospace}.product-cell-name{align-items:center;gap:11px;min-width:0;display:flex}.product-cell-name strong{font-size:12.5px;font-weight:500;display:block}.product-cell-name small{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font:10.5px JetBrains Mono,monospace;display:block;overflow:hidden}.product-cell-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.button.compact.selected{background:var(--mint);color:#06170f;font-weight:650}.comparison-grid em.better{color:var(--mint);font-weight:600}.product-headline-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px;display:grid}.product-headline-stats>div{border:1px solid var(--line);background:var(--card-2);border-radius:10px;padding:12px 13px}.product-headline-stats span{color:var(--muted);font-size:11px;display:block}.product-headline-stats strong{margin-top:7px;font:500 15px JetBrains Mono,monospace;display:block}.product-headline-stats small{color:var(--faint);margin-top:4px;font-size:10.5px;display:block}.segmented{border:1px solid var(--line);background:var(--card);border-radius:11px;align-self:flex-start;gap:4px;padding:4px;display:inline-flex}.segmented button{min-height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 16px;font-size:12.5px}.segmented button.active{color:var(--text);background:#222a27;font-weight:600}.spend-figures{background:#1e2523;border-bottom:1px solid #1e2523;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.spend-figures>div{background:var(--card);padding:14px 18px}.spend-figures span{color:var(--muted);font-size:11px;display:block}.spend-figures strong{margin-top:6px;font:500 17px JetBrains Mono,monospace;display:block}.stat-strip.four{grid-template-columns:repeat(4,1fr)}.waste{color:var(--urgent)}.chart-legend{gap:14px;display:flex}.chart-legend span{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.chart-legend i{border-radius:2px;width:9px;height:9px}.chart-column .waste-cap{background:var(--urgent);opacity:1;border-radius:2px 2px 0 0}.waste-causes{padding:4px 0 8px}.cause-note{color:var(--faint);font-size:11px}.budget-panel{border-right:1px solid #1e2523;width:230px;padding:0 18px}.budget-panel strong{font:500 22px JetBrains Mono,monospace;display:block}.budget-panel>span{color:var(--muted);margin-top:4px;font-size:11.5px;display:block}.budget-panel .progress{margin-top:10px}.budget-panel small{color:var(--faint);margin-top:7px;font:10.5px JetBrains Mono,monospace;display:block}.find-bar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.find-bar .search-box{flex:1}.find-sort{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:11.5px;display:inline-flex}.find-count{color:var(--faint);white-space:nowrap;font:11px JetBrains Mono,monospace}.trend-card{padding-bottom:18px}.bar-chart{align-items:flex-end;gap:3px;height:210px;margin:0 20px;padding-top:28px;display:flex;position:relative}.target-line{background:#2f4a3c;height:1px;position:absolute;bottom:72%;left:0;right:0}.target-line span{color:var(--faint);font:9px JetBrains Mono,monospace;position:absolute;bottom:4px}.chart-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.chart-column i{background:var(--mint);opacity:.82;border-radius:2px 2px 0 0;width:100%;min-height:3px}.chart-column small{height:12px;color:var(--faint);margin-top:5px;font:8px JetBrains Mono,monospace}.two-column>.card{flex:1;padding-bottom:20px}.two-column .macro-row,.driver{margin:12px 20px}.driver-tabs{gap:6px;padding:14px 20px 4px;display:flex}.driver-tabs button{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:6px 10px;font-size:11.5px}.driver-tabs button.active{color:var(--text);background:#1c2320}.driver>div:first-child{display:flex}.driver>div:first-child>span{color:var(--text-2);flex:1;font-size:12.5px}.driver>div:first-child small{color:var(--muted);font:11px JetBrains Mono,monospace}.place-card{margin:0}.place-head{border-bottom:1px solid #1e2523;align-items:center;gap:12px;padding:14px 20px;display:flex}.place-head>span{width:30px;height:30px;color:var(--muted);background:#1c2320;border-radius:8px;place-items:center;font:11px JetBrains Mono,monospace;display:grid}.place-head>div{flex:1}.place-head strong,.place-head small{display:block}.place-head strong{font-size:13.5px}.place-head small{color:var(--faint);margin-top:3px;font-size:11px}.place-head svg{width:15px;color:var(--faint)}.place-food{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px 20px;display:flex}.place-food>span{font-size:19px}.place-add{margin:12px 20px}.panel-layer{z-index:40;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.panel-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default;background:#040605b3;border:0;width:100%;position:absolute;inset:0}.action-panel{background:#0f1311;border:1px solid #2a322f;border-radius:18px;flex-direction:column;width:min(680px,100%);max-height:min(860px,100vh - 48px);animation:.18s ease-out modal-in;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 90px #00000080}.action-panel.recipe-panel{width:min(760px,100%)}.on-deck-shell .page-header-inner,.on-deck-page-content{max-width:1600px}.on-deck-page-content{padding-top:18px;padding-bottom:20px}.on-deck-workspace{flex-direction:column;gap:14px;display:flex}.on-deck-toolbar{border:1px solid var(--line);background:var(--card);border-radius:12px;align-items:center;gap:18px;min-height:58px;padding:10px 12px 10px 16px;display:flex}.on-deck-toolbar>div:first-child{flex:1;min-width:0}.on-deck-toolbar strong,.on-deck-toolbar span{display:block}.on-deck-toolbar strong{font-size:12.5px}.on-deck-toolbar>div:first-child span{color:var(--faint);margin-top:3px;font-size:10.5px}.layout-switcher{gap:5px;display:flex}.layout-switcher button{min-height:36px;color:var(--muted);cursor:pointer;background:#151a18;border:1px solid #2a332f;border-radius:8px;align-items:center;gap:6px;padding:0 10px;display:flex}.layout-switcher button:hover{color:var(--text);border-color:#3d4944}.layout-switcher button.active{color:var(--text);background:#1d2923;border-color:#648572}.layout-switcher svg{width:15px;height:15px}.layout-switcher b{text-align:center;width:15px;font:700 11px JetBrains Mono,monospace}.layout-switcher span{font-size:10.5px}.on-deck-board{gap:12px;min-width:0;height:calc(100vh - 205px);min-height:520px;display:grid}.on-deck-board.layout-stack{grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(520px,calc(100vh - 205px));padding-right:3px;overflow-y:auto}.on-deck-board.layout-split{grid-template-rows:minmax(0,1fr);grid-auto-columns:minmax(360px,calc(50% - 6px));grid-auto-flow:column;padding-bottom:3px;overflow:auto hidden}.on-deck-board.layout-three{grid-template-rows:minmax(0,1fr);grid-auto-columns:minmax(300px,calc(33.3333% - 8px));grid-auto-flow:column;padding-bottom:3px;overflow:auto hidden}.on-deck-board.layout-split,.on-deck-board.layout-three{scrollbar-width:thin;scrollbar-color:#3b4842 transparent}.on-deck-board.layout-quad{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr)}.on-deck-card{background:#0f1311;border:1px solid #2a322f;border-radius:14px;flex-direction:column;min-width:0;min-height:0;transition:opacity .15s,border-color .15s;display:flex;overflow:hidden;box-shadow:0 12px 36px #0000002e}.on-deck-card.dragging{opacity:.45;border-color:var(--mint)}.deck-card-header{border-bottom:1px solid var(--line);background:#121715;align-items:center;gap:9px;min-height:65px;padding:10px 10px 10px 8px;display:flex}.deck-drag-handle{color:#53615b;cursor:grab;background:0 0;border:0;border-radius:7px;align-self:stretch;place-items:center;width:27px;padding:0;display:grid}.deck-drag-handle:active{cursor:grabbing}.deck-drag-handle:focus-visible{outline:1px solid var(--mint);color:var(--mint)}.deck-drag-handle svg{width:16px}.deck-recipe-emoji{font-size:25px}.deck-card-header>div:first-of-type{flex:1;min-width:0}.deck-card-header h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;overflow:hidden}.deck-card-header p{color:var(--faint);margin:3px 0 0;font-size:10.5px}.deck-card-actions{gap:4px;display:flex}.deck-card-actions .icon-button{width:28px;height:28px;font-size:12px}.deck-card-actions .icon-button:disabled{opacity:.25;cursor:default}.deck-card-body{overscroll-behavior:contain;flex:1;min-height:0;padding:16px 18px 28px;overflow-y:auto}.deck-card-body h3{color:var(--faint);letter-spacing:.08em;margin:19px 0 8px;font:9px JetBrains Mono,monospace}.deck-card-body .cooking-progress{margin-top:13px}.deck-nutrition{color:var(--muted);font-size:10.5px;line-height:1.45;display:block}.deck-plan-link{background:#111a16;border:1px solid #294537;border-radius:9px;align-items:center;gap:10px;margin-top:12px;padding:10px 11px;display:flex}.deck-plan-link svg{width:16px;height:16px;color:var(--mint);flex:0 0 16px}.deck-plan-link span,.deck-plan-link strong,.deck-plan-link small{display:block}.deck-plan-link strong{color:var(--text-2);font-size:11px}.deck-plan-link small{color:var(--muted);margin-top:3px;font:9.5px JetBrains Mono,monospace}.deck-batch-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.deck-batch-fields .field{min-width:0}.deck-batch-fields .field input,.deck-batch-fields .field select{height:36px;padding:7px 8px}.deck-card-footer{border-top:1px solid var(--line);background:#0b0e0d;justify-content:flex-end;gap:8px;min-height:55px;padding:10px 12px;display:flex}.deck-feedback{flex-direction:column;gap:14px;display:flex}.deck-feedback .rating-input{grid-template-columns:58px 1fr}.deck-feedback .rating-input small{text-align:left;grid-column:1/-1}.empty-deck{min-height:420px;color:var(--muted);text-align:center;border:1px dashed #303a36;border-radius:16px;align-content:center;place-items:center;gap:10px;display:grid}.empty-deck>svg{color:#4e5b55;width:42px;height:42px}.empty-deck h2,.empty-deck p{margin:0}.empty-deck p{color:var(--faint);margin-bottom:8px;font-size:12px}.action-panel>form{flex:1;min-height:0;display:flex}.action-panel>form>.panel-body{width:100%}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.985)}}.panel-header{border-bottom:1px solid var(--line);gap:16px;padding:22px 24px 18px;display:flex}.panel-header h2{letter-spacing:-.015em;margin:7px 0 5px;font-size:21px}.panel-header p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.panel-body{flex:1;padding:22px 24px 40px;overflow-y:auto}.panel-body h3{color:var(--faint);letter-spacing:.08em;margin:22px 0 10px;font:10px JetBrains Mono,monospace}.panel-body h3:first-child,.panel-body>.panel-context+*{margin-top:0}.panel-context{border:1px solid var(--line);background:var(--card-2);border-radius:11px;align-items:center;gap:10px;margin-bottom:22px;padding:11px 13px;display:flex}.panel-context svg{width:15px;height:15px;color:var(--mint);flex:0 0 15px}.panel-context span{color:var(--text-2);font-size:12px;line-height:1.45}.panel-section{gap:14px;margin-bottom:24px;display:grid}.panel-section:last-child{margin-bottom:0}.panel-section-head{align-items:center;gap:10px;display:flex}.panel-section-head>span{text-transform:uppercase;letter-spacing:.08em;color:var(--faint);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:10px}.panel-section-head>i{background:var(--line);flex:1;height:1px}.panel-footer{border-top:1px solid var(--line);background:#0b0e0d;align-items:center;gap:8px;padding:13px 22px;display:flex}.panel-footer-spacer{flex:1}.button.primary.destructive{background:var(--urgent);color:#1b0a0d}.button.primary.destructive:hover{background:#f57e91}.spend{color:var(--spend)}.form-grid{gap:15px;display:grid}.form-grid.two{grid-template-columns:1fr 1fr}.field{color:var(--muted);flex-direction:column;gap:7px;font-size:11.5px;display:flex}.field input,.field select,.field textarea{width:100%;color:var(--text);background:#151a18;border:1px solid #2b3430;border-radius:9px;outline:0;padding:10px 11px}.field input,.field select{height:40px}.field textarea{resize:vertical;line-height:1.5}.form-help{color:var(--faint);letter-spacing:.07em;text-transform:uppercase;margin:4px 0 -4px;font:10px JetBrains Mono,monospace}.field input::placeholder,.field textarea::placeholder{color:#4d5853}.toggle-row{border:1px solid var(--line);cursor:pointer;background:#151a18;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.toggle-row input{accent-color:var(--mint)}.toggle-row strong,.toggle-row small{display:block}.toggle-row strong{font-size:12.5px}.toggle-row small{color:var(--faint);margin-top:3px;font-size:11px}.notice,.deduction-preview,.calendar-card{border:1px solid var(--line);color:var(--muted);background:#151a18;border-radius:10px;align-items:flex-start;gap:10px;margin-top:16px;padding:13px;font-size:12px;line-height:1.45;display:flex}.notice svg,.calendar-card svg{width:17px;color:var(--mint);flex:0 0 17px}.profile-form h3{margin-top:24px}.calendar-card{align-items:center}.scanner-frame{height:260px;color:var(--faint);background:radial-gradient(circle,#1b2520,#080a09 70%);border:1px solid #2b3430;border-radius:14px;place-items:center;margin-bottom:12px;display:grid;position:relative}.scanner-frame>svg{opacity:.5;width:50px;height:50px}.scanner-frame>span{font-size:11px;position:absolute;top:62%}.scanner-frame i{border-color:var(--mint);opacity:.8;width:38px;height:38px;position:absolute}.scanner-frame i:first-of-type{border-top:2px solid;border-left:2px solid;top:35px;left:35px}.scanner-frame i:nth-of-type(2){border-top:2px solid;border-right:2px solid;top:35px;right:35px}.scanner-frame i:nth-of-type(3){border-bottom:2px solid;border-left:2px solid;bottom:35px;left:35px}.scanner-frame i:nth-of-type(4){border-bottom:2px solid;border-right:2px solid;bottom:35px;right:35px}.divider{color:var(--faint);align-items:center;margin:18px 0;font-size:11px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.divider span{padding:0 10px}.cooking-progress{background:#151a18;border-radius:10px;padding:13px}.cooking-progress>span{color:var(--muted);font:11px JetBrains Mono,monospace}.check-row{text-align:left;border:0;border-bottom:1px solid var(--line-soft);cursor:pointer;background:0 0;align-items:flex-start;gap:11px;width:100%;padding:11px 0;display:flex}.check-row strong,.check-row small{display:block}.check-row strong{font-size:12.5px;font-weight:500;line-height:1.4}.check-row small{color:var(--faint);margin-top:3px;font-size:11px}.check-row.checked strong{color:var(--faint);text-decoration:line-through}.deduction-preview{flex-direction:column}.deduction-preview strong{color:var(--text-2);font-size:12.5px}.deduction-preview small{color:var(--faint)}.toast{z-index:100;background:#1a211e;border:1px solid #35413c;border-radius:10px;align-items:center;gap:9px;max-width:380px;min-height:42px;padding:10px 14px;font-size:12.5px;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 40px #00000059}.toast svg{width:16px;color:var(--mint);flex:0 0 16px}.toast .grow{flex:1;min-width:0}.toast-undo{min-height:26px;color:var(--mint);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #3c4a44;border-radius:7px;padding:0 10px;font-size:11.5px;font-weight:600}.toast-undo:hover{background:#202824;border-color:#4a5a53}.toast-dismiss{width:24px;height:24px;color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:0 0 24px;place-items:center;display:grid}.toast-dismiss:hover{color:var(--text-2)}.toast-dismiss svg{width:13px;color:inherit}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.mobile-nav{display:none}@media (width<=980px){.sidebar{flex-basis:198px;width:198px}.page-header-inner,.page-content{padding-left:24px;padding-right:24px}.today-grid{grid-template-columns:1fr 1fr}.nutrition-card{grid-column:span 2}.recipe-grid,.grocery-grid{grid-template-columns:1fr}.history-layout,.two-column{flex-direction:column}.history-layout>.card,.two-column>.card{width:100%}.inventory-row{flex-wrap:wrap}.lot-meter{flex-basis:calc(100% - 40px);order:3;margin-left:40px}}@media (width<=720px){body{background:#0c0f0e}.app-shell{display:block}.sidebar{display:none}.main-shell{padding-bottom:78px}.page-header{background:var(--bg);border-bottom:0;position:static}.page-header-inner{align-items:center;padding:50px 18px 12px}.page-heading .eyebrow{font-size:9px}.page-heading h1{margin-top:5px;font-size:22px}.page-heading p,.header-actions .button{display:none}.on-deck-shell .header-actions .button{min-height:38px;padding:0 11px;display:inline-flex}.on-deck-shell .header-actions .button span{display:none}.header-actions .icon-button{border-radius:10px;width:34px;height:34px;font-family:JetBrains Mono,monospace}.header-actions .icon-button svg{display:none}.header-actions .icon-button:after{content:"DB";font-size:10px}.page-content{padding:0 14px 24px}.on-deck-page-content{padding-top:0}.on-deck-toolbar{flex-direction:column;align-items:flex-start;gap:10px;padding:12px}.on-deck-toolbar>div:first-child span{display:none}.layout-switcher{scrollbar-width:none;width:100%;overflow-x:auto}.layout-switcher::-webkit-scrollbar{display:none}.layout-switcher button{flex:1 0 auto}.layout-switcher button span{display:none}.on-deck-board.layout-stack,.on-deck-board.layout-split,.on-deck-board.layout-three,.on-deck-board.layout-quad{flex-direction:column;height:auto;min-height:0;padding:0;display:flex;overflow:visible}.on-deck-card{height:min(680px,100vh - 190px);min-height:520px}.deck-card-actions .icon-button:nth-child(-n+2){display:none}.deck-card-body{padding:15px 16px 24px}.deck-batch-fields{grid-template-columns:1fr}.today-grid{flex-direction:column;gap:12px;display:flex}.today-grid>.card{border-radius:16px;padding:16px}.nutrition-card .card-kicker{display:none}.calorie-total{margin-top:0}.calorie-total strong{font-size:30px}.macro-list{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.macro-list .macro-row:nth-child(n+4){display:none}.macro-row{background:var(--card-2);border-radius:11px;padding:10px}.macro-row>div:first-child,.macro-row span,.macro-row strong,.macro-row small{display:block}.macro-row span{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;font:9px JetBrains Mono,monospace}.macro-row strong{margin-top:6px;font-size:14px}.macro-row small{margin-top:2px;font-size:8px}.next-card .split-actions .button{border-radius:12px;min-height:46px}.section-title{padding:14px 16px 10px}.section-title p{display:none}.prepared-row{min-height:60px;padding:11px 16px}.prepared-row .servings,.prepared-row .due{display:none}.prepared-row .button{border-radius:10px;min-height:38px}.prep-history-row{flex-wrap:wrap;align-items:flex-start;padding:13px 16px}.prep-history-row>.grow{flex-basis:calc(100% - 52px)}.prep-history-row>div:not(.grow){flex:28%;width:auto;padding-left:36px}.prepared-eat-quantity span{display:none}.cookable-grid{grid-template-columns:1fr}.cookable-row{border-right:0;border-bottom:1px solid var(--line-soft);padding:13px 16px}.toolbar{gap:6px}.inventory-toolbar .button{flex:1}.search-box{flex-basis:100%}.toolbar-spacer{display:none}.inventory-section{border-radius:16px}.inventory-row{gap:10px;padding:13px 16px}.lot-meter{display:none}.inventory-name{flex:1}.inventory-total{min-width:60px}.inventory-due{width:52px}.recipe-grid{gap:12px}.recipe-card{border-radius:16px}.recipe-head{padding:16px}.recipe-head>div:last-child{display:none}.ingredient-chips{padding:0 16px 12px}.recipe-nutrition{padding:0 16px 10px}.card-actions{padding:12px 16px}.card-actions .button{flex:1}.inline-heading{flex-wrap:wrap;align-items:flex-start}.inline-heading p{flex-basis:calc(100% - 140px)}.inline-heading .button{margin-left:auto}.combined-summary{flex-wrap:wrap;padding:14px 16px}.combined-summary .button{flex:1}.combined-components{display:block}.combined-components button{border-top:1px solid var(--line-soft);width:100%}.grocery-summary{border-radius:16px;display:block}.grocery-summary>.grow{border:0;border-bottom:1px solid var(--line);padding:0 0 14px}.next-aisle{width:100%;padding-top:14px}.next-aisle .button{min-height:44px;margin-top:5px}.grocery-grid{gap:12px}.grocery-row{min-height:56px}.already-in{display:block}.already-in>div{flex-wrap:wrap;margin-top:10px}.week-card{background:0 0;border:0;overflow:visible}.week-grid{background:0 0;flex-direction:column;gap:8px;min-width:0;display:flex}.week-day{border:1px solid var(--line);border-radius:14px;min-height:0;padding:12px 14px}.week-day:has(.week-meals:empty):not(.today){display:none}.week-meals button{margin-top:2px}.day-add{margin-top:10px}.contribution-card .section-title{display:block}.legend{gap:10px;padding:13px 16px}.legend small{display:none}.contribution-row{gap:8px;padding:9px 16px}.contribution-row>strong{width:62px;font-size:11px}.contribution-row>span{width:65px;font-size:8px}.log-row{gap:9px;padding:11px 16px}.log-row>span:not(.row-emoji),.log-row>small{display:none}.history-day{padding:13px 16px}.history-day>div:first-child{width:72px}.trend-card .section-title .text-button{display:none}.bar-chart{gap:2px;height:180px;margin:0 14px}.two-column>.card,.place-card{border-radius:16px}.panel-layer{padding:12px}.action-panel{border-radius:16px;width:100%;max-height:calc(100vh - 24px)}.panel-header{padding:18px 18px 15px}.panel-body{padding:18px 18px 32px}.panel-footer{padding:12px 18px max(12px, env(safe-area-inset-bottom))}.panel-footer .button.primary{flex:1}.form-grid.two{grid-template-columns:1fr}.toast{bottom:84px;left:14px;right:14px}.mobile-nav{z-index:20;min-height:72px;padding:7px 8px max(8px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0d0cf5;border-top:1px solid #202623;grid-template-columns:1fr 1fr 66px 1fr 1fr;align-items:end;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav>button:not(.scan-fab){color:#6e7a75;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:54px;font-size:9.5px;display:flex}.mobile-nav>button:not(.scan-fab).active{color:var(--mint);font-weight:600}.mobile-nav>button:not(.scan-fab) svg{stroke-width:1.7px;width:20px;height:20px}.scan-fab{border:5px solid var(--rail);background:var(--mint);color:#06170f;cursor:pointer;border-radius:17px;align-self:start;place-items:center;width:54px;height:54px;margin:-18px auto 0;display:grid;box-shadow:0 8px 25px #00000059}.scan-fab svg{width:22px}}@media (width<=420px){.page-header-inner{padding-top:46px}.calorie-total em{font-size:10px}.toolbar .button span,.inventory-due,.history-day>small{display:none}.already-in>span{width:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.auth-page{background:var(--surface,#f7f5ef);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--border,#dedbd2);background:var(--card,#fff);border-radius:20px;gap:22px;width:min(420px,100%);padding:32px;display:grid;box-shadow:0 20px 60px #232c261a}.auth-card h1{margin:6px 0 4px}.auth-card p{color:var(--muted,#69736b);margin:0}.auth-card label{gap:8px;font-size:13px;font-weight:700;display:grid}.auth-card input{border:1px solid var(--border,#dedbd2);width:100%;font:inherit;border-radius:10px;padding:12px 14px}.auth-card .button{justify-content:center;width:100%}.auth-card>small{color:var(--muted,#69736b);line-height:1.5}.auth-brand{padding:0;position:static}.auth-error{color:#8f2634;background:#fdecef;border-radius:10px;padding:10px 12px;font-size:13px}.sign-out{justify-content:flex-start;margin:0 18px 14px}.google-button{color:#25302a;background:#fff;border:1px solid #d7dadc}.google-button:hover{background:#f8faf9;border-color:#b8c1bc}.google-mark{color:#4285f4;border-radius:50%;place-items:center;width:22px;height:22px;font-weight:800;display:grid}.brand-button{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0}.profile-row{padding:11px 8px}.sign-out{text-align:center;justify-content:center;width:calc(100% - 16px);margin:4px 8px 0;padding:8px 0}.profile-form{gap:16px;display:grid}.profile-form h3{margin:10px 0 -2px}.profile-form .field{gap:7px}.empty-ready{min-height:92px;color:var(--muted);align-items:center;gap:14px;padding:18px 20px;display:flex}.empty-inline{color:var(--muted);padding:18px 20px;font-size:12px}.empty-ready>svg{width:28px;color:var(--mint)}.empty-ready>div{flex:1}.empty-ready strong,.empty-ready small{display:block}.empty-ready strong{color:var(--text)}.empty-ready small{margin-top:4px}.rating{align-items:center}.rating>em{color:var(--muted);margin-left:5px;font:9px JetBrains Mono,monospace}.projection-swatch,.projection-segment{background:repeating-linear-gradient(135deg,#78817d 0 5px,#343b38 5px 10px)!important}.segment-bar>i{min-width:0;transition:width .2s}.week-switcher{border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:16px;min-height:48px;padding:8px 12px;display:flex}.week-switcher strong{text-align:center;min-width:190px;font-size:13px}.planned-meal{margin-top:6px;position:relative}.planned-meal>button:first-child{width:100%;margin:0;padding-right:32px}.plan-remove{width:25px;height:25px;color:var(--muted);cursor:pointer;background:#202725;border:0;border-radius:6px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.plan-remove:hover{color:var(--urgent)}.plan-remove svg{width:13px}.trend-controls{justify-content:space-between;align-items:center;gap:12px;padding:0 20px 12px;display:flex}.trend-controls label{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.trend-controls select{border:1px solid var(--line);color:var(--text);background:var(--card-2);border-radius:7px;padding:6px 8px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.product-card{flex-direction:column;display:flex}.product-title{gap:12px;padding:18px 18px 12px;display:flex}.product-title>span{font-size:24px}.product-title small,.product-title strong,.product-title em{display:block}.product-title small{color:var(--mint);text-transform:uppercase;font:9px JetBrains Mono,monospace}.product-title strong{margin-top:4px}.product-title em{color:var(--faint);margin-top:4px;font:9px JetBrains Mono,monospace}.product-macros{flex-wrap:wrap;gap:6px;padding:0 18px 14px;display:flex}.product-macros span{background:var(--card-2);color:var(--muted);border-radius:6px;padding:5px 8px;font-size:10px}.product-cost-detail{background:var(--card-2);border-radius:10px;gap:4px;margin-bottom:16px;padding:14px;display:grid}.product-cost-detail span,.product-cost-detail small{color:var(--muted)}.product-cost-detail strong{font-size:22px}.button.selected{color:var(--mint);border-color:var(--mint)}.comparison-card{overflow:auto}.comparison-grid{grid-template-columns:100px 1fr 1fr;gap:0;min-width:520px;padding:14px 20px 20px;display:grid}.comparison-grid>*{border-bottom:1px solid var(--line-soft);min-height:38px;padding:9px}.comparison-grid>span{color:var(--muted)}.comparison-grid em{font-family:JetBrains Mono,monospace;font-style:normal}.nutrition-detail{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.nutrition-detail>div{border:1px solid var(--line);background:var(--card-2);border-radius:10px;padding:14px}.nutrition-detail span,.nutrition-detail strong{display:block}.nutrition-detail span{color:var(--muted);font-size:11px}.nutrition-detail strong{margin-top:6px}.scanner-frame{overflow:hidden}.scanner-frame video{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.scanner-frame.live video{opacity:.8}.scanner-frame.live>svg,.scanner-frame.live>span{z-index:1;position:relative}.rating-input{border:1px solid var(--line);border-radius:10px;grid-template-columns:80px 1fr 70px;align-items:center;gap:10px;padding:14px;display:grid}.rating-input>div{gap:5px;display:flex}.rating-input button{color:#3c4642;cursor:pointer;background:0 0;border:0;padding:0;font-size:25px}.rating-input button.selected{color:var(--warn)}.rating-input small{text-align:right;color:var(--muted)}.feedback-form{gap:14px;display:grid}.pin-emoji{font-size:15px;flex:0 0 18px!important}.pinned-recipes{margin-bottom:8px}.grocery-row{padding:0 10px 0 18px}.grocery-toggle{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;min-height:47px;padding:9px 0;display:flex}.grocery-toggle strong{flex:1}.grocery-remove{width:32px;height:32px;color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.grocery-remove:hover{color:var(--urgent);background:#25191b}.grocery-remove svg{width:15px}.product-toolbar select{border:1px solid var(--line);background:var(--card);min-height:36px;color:var(--text);border-radius:8px;padding:0 10px}.brand-group>.product-grid{gap:0;padding:0}.brand-group .product-card{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.brand-group .product-card:nth-child(2n){border-right:0}.planned-meal-group{border-left:2px solid var(--mint);background:#1a201d;border-radius:0 9px 9px 0;margin-top:8px;overflow:hidden}.planned-meal-group.leftover{border-left-color:var(--warn)}.planned-meal-group.made{border-left-color:var(--info)}.planned-meal-head{align-items:center;gap:5px;padding:8px 9px 5px;display:flex}.planned-meal-head>small{flex:1}.plan-status{color:var(--muted);text-transform:uppercase;background:#202725;border-radius:4px;padding:3px 5px;font:8px JetBrains Mono,monospace}.plan-status.made{color:var(--info)}.plan-status.eaten{color:var(--mint)}.plan-status.missed{color:var(--faint)}.planned-components button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:6px;padding:5px 9px;font-size:11.5px;display:flex}.planned-components button:hover{background:#202725}.planned-portions{gap:3px;margin-top:5px;display:grid}.planned-portion{color:var(--faint);align-items:center;gap:5px;font:9px JetBrains Mono,monospace;display:flex}.planned-portion input{border:1px solid var(--line);width:52px;height:25px;color:var(--text);font:inherit;background:#111513;border-radius:5px;padding:0 5px}.planned-portion button{border:1px solid var(--mint-dim);color:var(--mint);font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:2px 5px}.plan-actions{gap:6px;padding:7px 9px 9px;display:flex}.plan-actions button{width:auto;color:var(--faint);cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:4px 6px;font-size:9px;display:inline-flex}.plan-actions button:hover{color:var(--text)}.plan-actions button:last-child:hover{color:var(--urgent)}.plan-actions svg{width:11px}.week-day.past{opacity:.62;background:#101412}.week-day.past:hover{opacity:.85}.lot-detail-list{gap:12px;display:grid}.lot-detail-card{border:1px solid var(--line);background:var(--card-2);border-radius:11px;padding:15px}.lot-detail-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-bottom:12px;display:flex}.lot-detail-head strong{font-size:16px}.lot-detail-head span{color:var(--muted)}.lot-detail-head em{margin-left:auto;font:10px JetBrains Mono,monospace}.lot-detail-head em.urgent{color:var(--urgent)}.lot-detail-head em.warn{color:var(--warn)}.lot-actions{align-items:end;gap:8px;margin-top:12px;display:flex}.lot-actions label{color:var(--muted);flex:1;gap:5px;font-size:10px;display:grid}.lot-actions input{width:100%;height:36px;color:var(--text);background:#111513;border:1px solid #2b3430;border-radius:8px;padding:0 9px}.button.danger{color:#f0a0aa;background:#281719;border:1px solid #593036}.button.danger:hover{background:#351d20}.inventory-total .cost-inline{color:var(--mint);margin-top:3px;font:9px JetBrains Mono,monospace;display:block}.log-cost{min-width:58px;color:var(--mint);text-align:right;font:11px JetBrains Mono,monospace}.progress.over-budget span{background:var(--urgent)!important}.spend-metric:has(.over-budget) em{color:var(--urgent)}.today-date-switcher{justify-content:flex-end}.today-plan-list{flex-direction:column;margin:10px -8px 14px;display:flex}.today-plan-row{border:0;border-bottom:1px solid var(--line-soft);width:100%;min-height:52px;color:var(--text);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;padding:9px 8px;display:flex}.today-plan-row:hover{background:#1a201d}.today-plan-row>span{font-size:23px}.today-plan-row>div{flex:1;min-width:0}.today-plan-row strong,.today-plan-row small{display:block}.today-plan-row strong{font-size:13px}.today-plan-row small{color:var(--faint);margin-top:3px;font-size:11px}.today-plan-row svg{width:15px;color:var(--faint)}.week-meal-detail{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:0}.week-meal-detail:not(:disabled){cursor:pointer}.week-meal-detail:not(:disabled):hover strong{color:var(--mint)}.log-event-button{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:14px;padding:0;display:flex}.log-event-button:hover .grow strong{color:var(--mint)}.log-event-button>span:not(.row-emoji){text-align:right;width:90px;font:11px JetBrains Mono,monospace}.log-event-button>small{text-align:right;width:64px;color:var(--faint);font:10.5px JetBrains Mono,monospace}.consumption-summary{background:var(--line);border:1px solid var(--line);border-radius:11px;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:20px;display:grid;overflow:hidden}.consumption-summary>div{background:var(--card-2);min-width:0;padding:13px}.consumption-summary span,.consumption-summary strong{display:block}.consumption-summary span{color:var(--muted);font-size:10px}.consumption-summary strong{overflow-wrap:anywhere;margin-top:6px;font:500 12px/1.4 JetBrains Mono,monospace}.consumption-nutrition{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.consumption-nutrition>div:not(.empty-inline){border:1px solid var(--line);background:var(--card-2);border-radius:9px;padding:12px}.consumption-nutrition span,.consumption-nutrition strong{display:block}.consumption-nutrition span{color:var(--muted);font-size:10px}.consumption-nutrition strong{margin-top:5px;font:500 12px JetBrains Mono,monospace}.event-reference{gap:6px;margin-top:20px;display:grid}.event-reference span{color:var(--faint);letter-spacing:.08em;font:9px JetBrains Mono,monospace}.event-reference code{color:var(--muted);overflow-wrap:anywhere;font-size:10px}@media (width<=720px){.product-grid{grid-template-columns:1fr}.trend-controls{flex-direction:column;align-items:flex-start;padding:0 14px 10px}.trend-controls .driver-tabs{max-width:100%;overflow-x:auto}.empty-ready{flex-wrap:wrap}.week-switcher{z-index:2;background:var(--bg);position:sticky;top:0}.rating-input{grid-template-columns:60px 1fr}.rating-input small{text-align:left;grid-column:2}.product-toolbar select{flex:1}.lot-actions{flex-wrap:wrap;align-items:stretch}.lot-actions label{flex-basis:100%}.today-date-switcher{justify-content:center}.week-meal-card{flex-wrap:wrap;align-items:flex-start}.week-meal-card>.grow{flex-basis:calc(100% - 46px)}.week-meal-cost{margin-left:46px}.week-meal-actions{flex:1;justify-content:flex-end}.log-event-button{gap:9px}.log-event-button>span:not(.row-emoji),.log-event-button>small{display:none}.consumption-summary{grid-template-columns:1fr}}
