:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f5f7f2;--surface:#fff;--surface-strong:#eff3ee;--text:#1a1d1a;--muted:#647067;--line:#d9e0d8;--line-strong:#b7c1b8;--green:#1f7a4d;--green-soft:#dff3e8;--red:#b33a3a;--red-soft:#f8e4e1;--red-row:#fff3f2;--amber:#bf8500;--amber-soft:#fff0b8;--amber-row:#fff7cf;--recipe-yellow:#ffd400;--recipe-yellow-soft:#fff4a3;--recipe-yellow-text:#6b5200;--blue:#1f5f92;--blue-soft:#dfeeff;--fiber:#7652a3;--green-row:#edf9f2;--shadow:0 20px 60px #2834291a;--card-shadow:0 10px 30px #28342912;--body-start:#fbfcf8;--body-accent:#1f5f921a;--panel:#ffffffdb;--panel-auth:#ffffffeb;--panel-translucent:#ffffffc7;--toolbar-bg:#ffffffb8;--hidden-panel:#eff3eea3;--panel-hover:#eff3eeb3;--panel-hover-strong:#eff3eec2;--control-shadow:0 1px 5px #262d271a;--control-inset:inset 0 0 0 1px #262d2714;--blue-line:#1f5f9238;--blue-inset:inset 0 0 0 1px #1f5f9214;--red-line:#b33a3a38;--amber-line:#a86b0038;--green-line:#1f7a4d38;--green-line-strong:#1f7a4d52}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#101214;--surface:#171a1d;--surface-strong:#22262b;--text:#f3f5f7;--muted:#9aa3ad;--line:#343a40;--line-strong:#505860;--green:#72d99a;--green-soft:#173725;--red:#f28a86;--red-soft:#4a2322;--red-row:#251918;--amber:#f0bd52;--amber-soft:#463618;--amber-row:#282111;--recipe-yellow:#f6d64d;--recipe-yellow-soft:#493f18;--recipe-yellow-text:#f2ce56;--blue:#84b8ef;--blue-soft:#183047;--fiber:#c5a0f0;--green-row:#142019;--shadow:0 20px 60px #00000057;--card-shadow:0 10px 30px #0000003d;--body-start:#16191c;--body-accent:#6496d21a;--panel:#171a1de6;--panel-auth:#171a1df0;--panel-translucent:#171a1dcc;--toolbar-bg:#171a1db8;--hidden-panel:#262a2fa3;--panel-hover:#2d3238b8;--panel-hover-strong:#343a40c7;--control-shadow:0 1px 5px #00000047;--control-inset:inset 0 0 0 1px #ffffff0f;--blue-line:#84b8ef47;--blue-inset:inset 0 0 0 1px #84b8ef1f;--red-line:#f28a8647;--amber-line:#f0bd5247;--green-line:#7ad49a47;--green-line-strong:#7ad49a6b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#101214;--surface:#171a1d;--surface-strong:#22262b;--text:#f3f5f7;--muted:#9aa3ad;--line:#343a40;--line-strong:#505860;--green:#72d99a;--green-soft:#173725;--red:#f28a86;--red-soft:#4a2322;--red-row:#251918;--amber:#f0bd52;--amber-soft:#463618;--amber-row:#282111;--recipe-yellow:#f6d64d;--recipe-yellow-soft:#493f18;--recipe-yellow-text:#f2ce56;--blue:#84b8ef;--blue-soft:#183047;--fiber:#c5a0f0;--green-row:#142019;--shadow:0 20px 60px #00000057;--card-shadow:0 10px 30px #0000003d;--body-start:#16191c;--body-accent:#6496d21a;--panel:#171a1de6;--panel-auth:#171a1df0;--panel-translucent:#171a1dcc;--toolbar-bg:#171a1db8;--hidden-panel:#262a2fa3;--panel-hover:#2d3238b8;--panel-hover-strong:#343a40c7;--control-shadow:0 1px 5px #00000047;--control-inset:inset 0 0 0 1px #ffffff0f;--blue-line:#84b8ef47;--blue-inset:inset 0 0 0 1px #84b8ef1f;--red-line:#f28a8647;--amber-line:#f0bd5247;--green-line:#7ad49a47;--green-line-strong:#7ad49a6b}}*{box-sizing:border-box}html{background:var(--background);min-height:100%}body{background:radial-gradient(circle at top left, var(--body-accent), transparent 32rem), linear-gradient(180deg, var(--body-start) 0%, var(--background) 42rem);min-height:100%;color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}select option,select optgroup{background-color:var(--surface);color:var(--text)}[hidden]{display:none!important}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.screen{width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:14px}.centered{place-items:center;display:grid}.loading-mark,.auth-icon,.app-mark{background:var(--blue-soft);width:38px;height:38px;color:var(--blue);border-radius:8px;place-items:center;display:grid}.loading-mark svg,.saving-icon{animation:.8s linear infinite spin}.auth-screen{place-items:center;display:grid}.auth-panel{border:1px solid var(--line);background:var(--panel-auth);width:min(420px,100%);box-shadow:var(--shadow);border-radius:8px;gap:20px;padding:28px;display:grid}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:clamp(1.7rem,5vw,2.4rem);line-height:1}.auth-form{gap:8px;display:grid}.auth-form label{color:var(--muted);font-size:.9rem;font-weight:700}.password-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.password-row input{border:1px solid var(--line);background:var(--surface);min-width:0;height:44px;color:var(--text);border-radius:8px;padding:0 12px}.password-row button,.primary-navigation button,.secondary-navigation button,.icon-button{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.password-row button{background:var(--text);color:var(--surface);padding:0 14px}svg{flex:none;width:18px;height:18px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.error-text,.inline-error,.empty-state{color:var(--red);margin:0;font-weight:700}.empty-state{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--muted);border-radius:8px;padding:10px}.app-screen{align-content:start;gap:10px;display:grid}.app-header,.toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.title-block,.header-actions,.category-heading,.food-main,.recipe-topline{align-items:center;gap:12px;display:flex}.header-actions{flex-wrap:wrap;justify-content:flex-end}.sync-control{border:1px solid var(--line);background:var(--panel-translucent);border-radius:8px;align-items:center;min-height:30px;display:inline-flex;overflow:hidden}.sync-stamp{min-height:28px;color:var(--muted);align-items:center;padding:0 8px;font-size:.8rem;font-weight:700;display:inline-flex}.sync-control-divider{background:var(--line);width:1px;height:16px}.sync-refresh-button{width:30px;height:28px;min-height:0;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.sync-refresh-button:hover{background:var(--panel-hover);color:var(--text)}.sync-refresh-button svg{width:14px;height:14px}.icon-button{width:34px;height:34px;padding:0}.top-save-spinner{z-index:20;border:1px solid var(--line);background:var(--panel-translucent);width:34px;height:34px;color:var(--blue);box-shadow:var(--control-shadow);pointer-events:none;border-radius:8px;place-items:center;display:grid;position:fixed;top:18px;left:50%;transform:translate(-50%)}.top-save-spinner svg{width:16px;height:16px}.toolbar{align-items:center;justify-content:initial;border:1px solid var(--line);background:var(--toolbar-bg);border-radius:8px;grid-template-columns:minmax(430px,1fr) minmax(180px,300px) auto;gap:6px;padding:6px;display:grid}.navigation-stack{gap:4px;min-width:0;display:grid}.toolbar.has-secondary-navigation{grid-template-columns:auto minmax(180px,1fr)}.toolbar.has-secondary-navigation .navigation-stack{align-items:center;gap:6px;display:flex}.toolbar.has-secondary-navigation .primary-navigation{width:430px}.toolbar.has-secondary-navigation .secondary-navigation{flex:none}.toolbar.has-secondary-navigation .search-control{width:100%;max-width:none}.toolbar.purchases-toolbar{grid-template-columns:minmax(0,1fr) minmax(180px,300px)}.toolbar.purchases-toolbar.has-secondary-navigation .primary-navigation{width:min(400px,42vw)}.toolbar.purchases-toolbar.has-secondary-navigation .purchase-toolbar-search-slot{grid-column:2;width:100%;min-height:34px}.toolbar.purchases-toolbar.has-secondary-navigation .search-control{grid-column:2;width:100%;max-width:none}.primary-navigation,.secondary-navigation{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;gap:6px;padding:4px;display:grid}.primary-navigation{grid-template-columns:repeat(4,minmax(90px,1fr))}.secondary-navigation{grid-template-columns:repeat(2,minmax(100px,1fr));justify-self:start;padding:3px}.nutrition-navigation{grid-template-columns:repeat(3,minmax(86px,1fr))}.purchases-navigation{grid-template-columns:repeat(4,minmax(78px,1fr))}.purchases-view{gap:10px;display:grid}.prices-view-shell{gap:6px;min-width:0;display:grid}.prices-view-mobile-search{display:none}.purchases-heading,.purchase-import-panel,.purchase-card>header,.purchase-item{align-items:center;display:flex}.purchases-heading{justify-content:space-between;align-items:stretch;gap:12px}.purchases-heading h2,.purchases-heading p,.purchase-card-title strong,.purchase-card-title small,.purchase-card-total strong,.purchase-card-total small,.purchase-item strong,.purchase-item small,.purchase-import-panel strong,.purchase-import-panel small{margin:0;display:block}.purchase-period-control{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:32px auto minmax(86px,1fr) 32px;align-items:center;min-height:38px;display:inline-grid;overflow:hidden}.purchase-period-control label{align-items:center;min-width:0;padding-inline:6px;display:flex}.purchase-period-control button{min-width:32px;color:var(--muted);background:0 0;border:0;border-radius:0;align-self:stretch;place-items:center;padding:0;display:inline-grid}.purchase-period-control button:first-child{border-right:1px solid var(--line)}.purchase-period-control button:last-child{border-left:1px solid var(--line)}.purchase-period-control button:hover:not(:disabled),.purchase-period-control button:focus-visible{background:var(--surface-strong);color:var(--text)}.purchase-period-control button:disabled{opacity:.35}.purchase-period-control button svg{width:17px;height:17px}.purchase-period-control input,.purchase-period-control select{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;font-weight:800}.purchase-period-control input[type=number]{appearance:textfield}.purchase-period-kind{border-right:1px solid var(--line)}.purchase-period-all{text-align:center;align-self:center;padding-inline:8px;font-size:.88rem}.purchase-summary{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.purchase-controls{grid-template-columns:minmax(160px,240px) auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.purchase-categorize-button{min-height:30px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-weight:800;display:inline-flex}.purchase-categorize-button svg{width:15px;height:15px}.purchase-categorize-button{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text)}.purchase-shop-control,.purchase-filter-panel label{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:0 8px;font-size:.84rem;font-weight:800;display:inline-flex}.purchase-shop-control>svg,.purchase-filter-panel label>svg{width:16px;height:16px;color:var(--muted)}.purchase-shop-control select,.purchase-filter-panel select,.purchase-filter-panel input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0}.purchase-shop-control select{width:100%}.purchase-result-count{color:var(--muted);white-space:nowrap;margin-left:auto}.purchase-filter-control{position:relative}.purchase-filter-trigger{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:800;display:inline-flex}.purchase-filter-trigger.selected{border-color:var(--line-strong);background:var(--blue-soft)}.purchase-filter-trigger svg{width:16px;height:16px}.purchase-filter-trigger small{background:var(--blue);min-width:16px;height:16px;color:var(--surface);border-radius:999px;place-items:center;padding-inline:4px;font-size:.62rem;line-height:1;display:grid}.purchase-filter-panel{z-index:20;border:1px solid var(--line-strong);background:var(--surface);width:min(360px,100vw - 28px);box-shadow:var(--card-shadow);border-radius:9px;gap:6px;padding:6px;display:none;position:absolute;top:calc(100% + 5px);left:0}.purchase-filter-panel.open{display:grid}.purchase-filter-panel label{width:100%}.purchase-filter-panel label>span{min-width:48px}.purchase-search-control input{width:100%}.purchase-import-toggle{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:800;display:inline-flex}.purchase-import-toggle svg{width:16px;height:16px}.purchase-import-panel,.purchase-card{border:1px solid var(--line);background:var(--panel);border-radius:8px}.purchase-summary-card{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;padding:7px 10px;display:flex}.purchase-summary-card+.purchase-summary-card{border-left:1px solid var(--line)}.purchase-summary-card small,.purchase-card-title small,.purchase-card-total small,.purchase-item small,.purchase-import-panel small{color:var(--muted)}.purchase-summary-card strong{font-size:1rem}.purchase-import-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.purchase-import-actions{flex:none;gap:6px;display:flex}.purchase-import-actions button{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text);border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:800;display:inline-flex}.purchase-import-actions button svg,.receipt-image-review button svg,.receipt-parse-status svg{width:16px;height:16px}.receipt-parse-status{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;align-items:center;gap:7px;margin:0;padding-top:10px;font-size:.8rem;font-weight:800;display:flex}.receipt-import-queue{border:1px solid var(--line);background:var(--panel);border-radius:9px;overflow:hidden}.receipt-import-queue-heading{background:var(--blue-soft);align-items:stretch;display:flex}.receipt-import-queue-toggle{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;flex:auto;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:9px 10px;display:grid}.receipt-import-queue-toggle>span:nth-child(2),.receipt-import-queue-toggle strong,.receipt-import-queue-toggle small{min-width:0}.receipt-import-queue-toggle strong,.receipt-import-queue-toggle small{display:block}.receipt-import-queue-toggle small{color:var(--muted);margin-top:1px;font-size:.72rem}.receipt-import-queue-toggle>svg{width:16px;height:16px;color:var(--muted)}.receipt-import-queue-icon{background:color-mix(in srgb, var(--blue) 12%, transparent);width:28px;height:28px;color:var(--blue);border-radius:7px;place-items:center;display:grid}.receipt-import-queue-icon svg{width:16px;height:16px}.receipt-import-dismiss,.receipt-import-run button{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--text);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:.7rem;font-weight:800;display:inline-flex}.receipt-import-queue-heading>.receipt-import-dismiss{align-self:center;margin-right:9px}.receipt-import-dismiss svg,.receipt-import-run button svg{width:13px;height:13px}.receipt-import-runs{display:grid}.receipt-import-runs[hidden]{display:none}.receipt-import-run{border-top:1px solid var(--line);background:var(--surface);grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:grid}.receipt-import-run>svg{width:15px;height:15px;color:var(--blue)}.receipt-import-run.saved>svg,.receipt-import-run-state.saved{color:var(--green)}.receipt-import-run.failed>svg,.receipt-import-run.confirmation>svg,.receipt-import-run-state.failed,.receipt-import-run-state.confirmation{color:var(--red)}.receipt-import-run.uploading>svg,.receipt-import-run-state.uploading,.receipt-import-run.processing>svg,.receipt-import-run-state.processing{color:var(--blue)}.receipt-import-run>div,.receipt-import-run strong,.receipt-import-run small{min-width:0}.receipt-import-run-actions,.receipt-import-date-confirmation{align-items:center;gap:5px;display:flex}.receipt-import-run-actions .receipt-import-run-dismiss{width:30px;padding:0}.receipt-import-date-confirmation{grid-column:2/-1;justify-content:flex-end}.receipt-import-date-confirmation input{border:1px solid var(--line);background:var(--panel);max-width:150px;min-height:30px;color:var(--text);font:inherit;border-radius:7px;padding:0 7px;font-size:.72rem}.receipt-import-date-confirmation input:focus-visible{outline:2px solid color-mix(in srgb, var(--blue) 70%, transparent);outline-offset:1px}.receipt-import-run-state{white-space:nowrap;font-size:.7rem;font-weight:800}.receipt-import-upload-progress{background:color-mix(in srgb, var(--muted) 22%, transparent);border-radius:999px;height:3px;margin-top:5px;display:block;overflow:hidden}.receipt-import-upload-progress>span{background:var(--blue);height:100%;transition:width .12s ease-out;display:block}.receipt-import-run strong,.receipt-import-run small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}@media (max-width:520px){.receipt-import-date-confirmation{flex-direction:column;align-items:stretch}.receipt-import-date-confirmation label,.receipt-import-date-confirmation input,.receipt-import-date-confirmation button{width:100%;max-width:none}}.receipt-import-run strong{font-size:.73rem}.receipt-import-run small{color:var(--muted);margin-top:1px;font-size:.67rem}.receipt-image-review{border-top:1px solid var(--line);grid-column:1/-1;gap:10px;min-width:0;padding-top:10px;display:grid}.receipt-review-heading,.receipt-review-confirm{justify-content:space-between;align-items:center;gap:10px;display:flex}.receipt-review-heading>div{min-width:0}.receipt-review-heading strong,.receipt-review-heading small{display:block}.receipt-review-heading small{color:var(--muted);margin-top:2px;font-size:.72rem}.receipt-review-heading button,.receipt-review-confirm button,.receipt-review-add{border:1px solid var(--line);background:var(--text);min-height:36px;color:var(--surface);border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:800;display:inline-flex}.receipt-review-heading button.secondary,.receipt-review-add{background:var(--surface);color:var(--text)}.receipt-review-details,.receipt-review-items,.receipt-review-adjustments{border:0;min-width:0;margin:0;padding:0}.receipt-review-details legend,.receipt-review-items legend,.receipt-review-adjustments legend{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:.7rem;font-weight:900}.receipt-review-details{grid-template-columns:minmax(150px,1.4fr) repeat(3,minmax(110px,1fr));gap:6px;display:grid}.receipt-review-details legend,.receipt-review-items legend{grid-column:1/-1}.receipt-review-details label{min-width:0;color:var(--muted);gap:3px;font-size:.68rem;font-weight:800;display:grid}.receipt-review-details input,.receipt-review-item input,.receipt-review-adjustment input,.receipt-review-adjustment select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;height:34px;color:var(--text);font:inherit;border-radius:6px;padding:0 7px;font-size:.8rem;font-weight:750}.receipt-review-items{gap:4px;display:grid}.receipt-review-adjustments{gap:5px;display:grid}.receipt-review-adjustments>small{color:var(--muted);font-size:.72rem}.receipt-review-adjustment{grid-template-columns:130px minmax(170px,1fr) 100px 30px;align-items:end;gap:5px;display:grid}.receipt-review-adjustment label{min-width:0}.receipt-review-item-head,.receipt-review-item{grid-template-columns:minmax(170px,1fr) 68px 88px 88px 88px 30px;align-items:center;gap:5px;display:grid}.receipt-review-item-head{color:var(--muted);padding-inline:7px 0;font-size:.65rem;font-weight:850}.receipt-review-item-head span:not(:first-child){text-align:right}.receipt-review-item label{min-width:0}.receipt-review-item label:not(:first-child) input{text-align:right}.receipt-review-remove{width:30px;height:30px;color:var(--red);background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0;display:inline-grid}.receipt-review-add{justify-self:start;min-height:32px;margin-top:2px}.receipt-review-empty{border:1px dashed var(--line);color:var(--muted);border-radius:6px;margin:0;padding:9px;font-size:.76rem;font-weight:750}.receipt-review-confirm{border-top:1px solid var(--line);padding-top:9px}.receipt-review-confirm small{color:var(--muted)}.retailer-mark.unknown{background:var(--muted)}.purchase-loading{color:var(--green);margin:0;font-weight:750}.purchase-message{z-index:40;border:1px solid var(--green-line);background:var(--surface);max-width:min(360px,100vw - 28px);color:var(--green);box-shadow:var(--card-shadow);border-radius:9px;align-items:center;gap:9px;padding:9px 9px 9px 11px;font-size:.78rem;font-weight:800;display:flex;position:fixed;bottom:14px;right:14px}.purchase-message span{min-width:0}.purchase-message button{width:26px;height:26px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;flex:none;place-items:center;padding:0;display:inline-grid}.purchase-message button:hover,.purchase-message button:focus-visible{border-color:var(--line-strong);color:var(--text)}.purchase-message button svg{width:15px;height:15px}.purchase-loading{color:var(--muted);align-items:center;gap:7px;display:flex}.purchase-list{gap:8px;display:grid}.purchase-chart-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:10px;padding:12px;display:grid;overflow:hidden}.purchase-chart-panel>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.purchase-chart-panel>header strong,.purchase-chart-panel>header small{display:block}.purchase-chart-panel>header small{color:var(--muted);margin-top:2px;font-size:.74rem}.purchase-chart-mode{border:1px solid var(--line);background:var(--surface-strong);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;display:inline-grid}.purchase-chart-mode button{min-height:28px;color:var(--muted);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-weight:800;display:inline-flex}.purchase-chart-mode button.active{background:var(--surface);color:var(--text);box-shadow:var(--control-shadow)}.purchase-chart-mode svg{width:15px;height:15px}.purchase-chart-scale{color:var(--muted);justify-content:space-between;font-size:.7rem;font-weight:750;display:flex}.purchase-chart-scroll{border-bottom:1px solid var(--line);scrollbar-width:thin;padding:0 2px 3px;overflow-x:auto}.purchase-chart-bars{grid-template-columns:repeat(var(--purchase-chart-columns), minmax(var(--purchase-chart-bucket-width), 1fr));min-width:calc(var(--purchase-chart-columns) * var(--purchase-chart-bucket-width));align-items:end;gap:4px;height:220px;display:grid}.purchase-chart-bucket{outline:0;grid-template-rows:minmax(0,1fr) 18px;gap:4px;min-width:0;height:100%;display:grid}.purchase-chart-track{background:color-mix(in srgb, var(--surface-strong) 72%, transparent);border-radius:4px 4px 0 0;flex-direction:column-reverse;justify-content:flex-start;min-height:0;display:flex;position:relative}.purchase-chart-bucket:focus-visible .purchase-chart-track{box-shadow:0 0 0 2px var(--blue)}.purchase-chart-segment{flex:none;min-height:1px;display:block}.purchase-chart-segment.total{background:var(--blue);border-radius:4px 4px 0 0}.purchase-chart-segment.receipt-adjustment,.purchase-chart-legend i.receipt-adjustment,.purchase-chart-tooltip-categories i.receipt-adjustment{background:#6b7280}.purchase-chart-paid-marker{z-index:1;background:#6b7280;border-radius:2px;height:2px;position:absolute;left:-2px;right:-2px}.purchase-chart-bucket small{color:var(--muted);text-align:center;text-overflow:ellipsis;font-size:.66rem;font-weight:750;overflow:hidden}.purchase-chart-legend{color:var(--muted);flex-wrap:wrap;gap:6px 12px;font-size:.72rem;font-weight:750;display:flex}.purchase-chart-legend span{align-items:center;gap:5px;display:inline-flex}.purchase-chart-legend i{border-radius:2px;width:9px;height:9px}.purchase-chart-tooltip{z-index:200;border:1px solid color-mix(in srgb, var(--line) 78%, var(--text));background:color-mix(in srgb, var(--surface) 96%, transparent);width:min(188px,100vw - 16px);color:var(--text);pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;gap:7px;padding:8px 9px;animation:60ms ease-out purchase-chart-tooltip-in;display:grid;position:fixed;transform:translate(-50%,-100%);box-shadow:0 10px 26px #00000047}.purchase-chart-tooltip-heading,.purchase-chart-tooltip-categories span{justify-content:space-between;align-items:center;gap:8px;display:flex}.purchase-chart-tooltip-heading{border-bottom:1px solid var(--line);padding-bottom:6px}.purchase-chart-tooltip-heading strong,.purchase-chart-tooltip-heading b,.purchase-chart-tooltip-categories b{font-size:.75rem}.purchase-chart-tooltip-categories{gap:4px;display:grid}.purchase-chart-tooltip-categories span{grid-template-columns:8px minmax(0,1fr) auto;display:grid}.purchase-chart-tooltip-categories i{border-radius:2px;width:8px;height:8px}.purchase-chart-tooltip-categories small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.69rem;font-weight:750;overflow:hidden}@keyframes purchase-chart-tooltip-in{0%{opacity:0;transform:translate(-50%,calc(3px - 100%))}}.purchase-item-pivot{gap:10px;display:grid}.purchase-item-pivot-controls{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0;display:grid}.purchase-item-group-sort,.purchase-item-sort-note{justify-self:end}.purchase-item-group-toggle,.purchase-item-group-sort{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--text);white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:0 8px;font-size:.72rem;font-weight:850;display:inline-flex}.purchase-item-group-toggle[aria-checked=true]{border-color:var(--blue-line);background:var(--blue-soft)}.purchase-item-group-switch{border:1px solid var(--line-strong);background:var(--surface-strong);border-radius:999px;width:24px;height:14px;position:relative}.purchase-item-group-switch:after{background:var(--muted);content:"";border-radius:50%;width:8px;height:8px;transition:transform .12s,background .12s;position:absolute;top:2px;left:2px}.purchase-item-group-toggle[aria-checked=true] .purchase-item-group-switch:after{background:var(--blue);transform:translate(10px)}.purchase-item-group-sort svg{width:14px;height:14px;color:var(--muted)}.purchase-item-group-sort select{min-width:0;color:var(--text);font:inherit;background:0 0;border:0}.purchase-item-sort-note{min-height:32px;color:var(--muted);align-items:center;font-size:.7rem;font-weight:750;display:inline-flex}.purchase-pivot-group{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:hidden}.purchase-pivot-item{justify-content:space-between;align-items:center;gap:12px;display:flex}.purchase-pivot-group>header{background:var(--surface-strong);padding:0}.purchase-pivot-toggle{width:100%;min-height:40px;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:8px;padding:7px 12px;display:grid}.purchase-pivot-toggle:hover,.purchase-pivot-toggle:focus-visible{background:var(--surface)}.purchase-pivot-toggle small,.purchase-pivot-item small{color:var(--muted)}.purchase-pivot-toggle small{text-align:right}.purchase-pivot-chevron{width:18px;height:18px;color:var(--muted);transition:transform .15s}.purchase-pivot-toggle[aria-expanded=true] .purchase-pivot-chevron{transform:rotate(180deg)}.purchase-pivot-item{border-top:1px solid var(--line);min-height:44px;padding:7px 12px}.purchase-pivot-item>div{min-width:0}.purchase-pivot-item>div>strong,.purchase-pivot-item>div>small{display:block}.purchase-pivot-item>strong{text-align:right;white-space:nowrap;flex:none}.purchase-pivot-ungrouped .purchase-pivot-item:first-child{border-top:0}.purchase-card{overflow:hidden}.purchase-card>header{background:var(--surface-strong);grid-template-columns:minmax(0,1fr) auto auto;gap:4px;padding:4px;display:grid}.purchase-card>header.has-image{grid-template-columns:minmax(0,1fr) auto auto auto auto}.purchase-card>header.has-receipt-editor{grid-template-columns:minmax(0,1fr) auto auto auto}.purchase-card-toggle{min-width:0;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:34px minmax(0,1fr) auto 18px;align-items:center;gap:9px;padding:5px 7px;display:grid}.purchase-card-toggle:hover,.purchase-card-toggle:focus-visible{border-color:var(--line-strong);background:var(--surface)}.purchase-card-chevron{width:18px;height:18px;color:var(--muted);transition:transform .15s}.purchase-card-toggle[aria-expanded=true] .purchase-card-chevron{transform:rotate(180deg)}.retailer-mark{color:#fff;border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.retailer-mark.tesco{background:#00539f}.retailer-mark.dunnes{background:#6b2682}.purchase-card-title{flex:auto;min-width:0}.purchase-card-total{text-align:right;flex:none}.purchase-remove-button{width:30px;height:30px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;flex:none;place-items:center;padding:0;display:inline-grid}.purchase-date-edit-button,.purchase-receipt-edit-button{width:30px;height:30px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;padding:0;display:inline-grid}.purchase-image-button{width:30px;height:30px;color:var(--muted);border:1px solid #0000;border-radius:7px;place-items:center;display:inline-grid}.purchase-image-button:hover,.purchase-image-button:focus-visible{border-color:var(--line-strong);background:var(--surface);color:var(--text)}.purchase-image-button svg{width:16px;height:16px}.purchase-date-edit-button:hover,.purchase-date-edit-button:focus-visible,.purchase-date-edit-button[aria-expanded=true],.purchase-receipt-edit-button:hover,.purchase-receipt-edit-button:focus-visible,.purchase-receipt-edit-button[aria-expanded=true]{border-color:var(--line-strong);background:var(--surface);color:var(--text)}.purchase-date-edit-button:disabled,.purchase-receipt-edit-button:disabled{opacity:.5}.purchase-date-edit-button svg,.purchase-receipt-edit-button svg{width:16px;height:16px}.purchase-date-editor{border-top:1px solid var(--line);background:var(--panel);grid-template-columns:minmax(160px,1fr) auto auto;align-items:end;gap:6px;padding:8px 10px;display:grid}.purchase-date-editor label{gap:3px;min-width:0;display:grid}.purchase-date-editor label>span{color:var(--muted);font-size:.68rem;font-weight:800}.purchase-date-editor input,.purchase-date-editor button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--text);border-radius:7px}.purchase-date-editor input{width:100%;padding:0 8px}.purchase-date-editor button{justify-content:center;align-items:center;gap:4px;padding:0 9px;font-weight:800;display:inline-flex}.purchase-date-editor button svg{width:15px;height:15px}.purchase-remove-button:hover,.purchase-remove-button:focus-visible{border-color:var(--red-line);background:var(--red-soft);color:var(--red)}.purchase-remove-button:disabled{opacity:.5}.purchase-remove-button svg{width:16px;height:16px}.coverage-label{font-weight:800}.coverage-label.product_history{color:var(--orange)}.purchase-items{display:grid}.purchase-reconciliation{border-top:1px solid var(--line);background:var(--line);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;display:grid}.purchase-reconciliation>span{background:var(--surface-strong);gap:1px;padding:7px 10px;display:grid}.purchase-reconciliation small{color:var(--muted);font-size:.67rem;font-weight:750}.purchase-reconciliation strong{font-size:.86rem}.purchase-reconciliation .paid{background:color-mix(in srgb, var(--blue) 8%, var(--surface-strong))}.purchase-item{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 54px minmax(100px,auto) 30px;gap:10px;min-height:42px;padding:7px 12px;display:grid}.purchase-item>span,.purchase-item>strong{text-align:right}.primary-navigation button,.secondary-navigation button{width:100%;min-width:0;color:var(--muted);white-space:nowrap;background:0 0;border:0}.primary-navigation button.active,.secondary-navigation button.active{background:var(--surface);color:var(--text);box-shadow:var(--control-shadow)}.secondary-navigation button{min-height:32px;padding-inline:10px;font-size:.84rem}.toolbar.settings-toolbar{grid-template-columns:minmax(430px,1fr)}.toolbar.optimizer-toolbar{grid-template-columns:minmax(0,1fr)}.filter-controls{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.icon-filter{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;min-height:34px;padding:2px;display:inline-grid;overflow:hidden}.icon-filter button{appearance:none;min-width:28px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;font-size:.86rem;font-weight:850;display:inline-grid}.icon-filter button.selected{background:var(--surface);color:var(--text);box-shadow:var(--control-inset)}.shortcut-filter{border:1px solid var(--blue-line);background:var(--blue-soft);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;min-height:34px;padding:2px;display:inline-grid;overflow:hidden}.shortcut-filter button{appearance:none;min-width:28px;height:28px;color:var(--blue);opacity:.54;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;font-size:.86rem;font-weight:850;display:inline-grid}.shortcut-filter button.selected{opacity:1;box-shadow:var(--blue-inset)}.shortcut-filter button.selected.to-buy{background:linear-gradient(90deg, var(--red-soft) 0 50%, var(--amber-soft) 50% 100%);color:var(--text)}.shortcut-filter button.selected.all{background:var(--surface);color:var(--text)}.icon-filter.multi button{opacity:.42}.icon-filter.multi button.selected{opacity:1}.icon-filter.multi button.selected.needed{background:var(--red-soft);color:var(--red)}.icon-filter.multi button.selected.low{background:var(--amber-soft);color:var(--amber)}.icon-filter.multi button.selected.stocked{background:var(--green-soft);color:var(--green)}.search-control{border:1px solid var(--line);background:var(--surface);max-width:300px;min-height:34px;color:var(--muted);border-radius:8px;flex:210px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:0 8px;display:grid}.search-control input{min-width:0;height:30px;color:var(--text);background:0 0;border:0;outline:0;font-size:.9rem;font-weight:700}.search-control input::placeholder{color:var(--muted)}.search-clear{background:var(--surface-strong);width:24px;height:24px;color:var(--muted);border:0;border-radius:999px;place-items:center;padding:0;display:inline-grid}.search-clear svg{width:14px;height:14px}.list-grid,.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.list-grid{align-items:start}.category-panel,.recipe-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--card-shadow);border-radius:8px}.category-panel{align-content:start;gap:8px;padding:10px;display:grid}.category-panel.collapsed,.recipe-card.collapsed{gap:0}.category-heading{justify-content:space-between}.section-toggle,.recipe-toggle{width:100%;min-height:32px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;padding:0;display:grid}.section-toggle{grid-template-columns:auto auto auto 16px;justify-content:start;gap:8px}.recipe-toggle{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:7px}.recipe-status-emoji{margin-top:1px}.section-toggle:hover,.recipe-toggle:hover,.recipe-collapse-button:hover{background:var(--panel-hover)}.collapse-chevron{width:16px;height:16px;color:var(--muted);transition:transform .16s}.section-toggle[aria-expanded=true] .collapse-chevron,.recipe-collapse-button[aria-expanded=true] .collapse-chevron{transform:rotate(90deg)}.section-emoji,.food-emoji,.ingredient-emoji{background:var(--surface-strong);border-radius:6px;flex:none;place-items:center;display:inline-grid}.section-emoji{width:26px;height:26px;font-size:1rem}.section-title{letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-bottom:0;font-size:.98rem;font-weight:850;overflow:hidden}.section-count{background:var(--surface-strong);width:30px;height:30px;color:var(--muted);border-radius:999px;place-items:center;font-weight:800;display:inline-grid}.food-stack{align-content:start;gap:6px;display:grid}.food-row{border:1px solid var(--line);background:var(--surface);border-left-width:5px;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;height:56px;min-height:56px;padding:8px;display:grid}.food-row.needed{background:var(--red-row);border-color:var(--red-line);border-left-color:var(--red)}.food-row.low{background:var(--amber-row);border-color:var(--amber-line);border-left-color:var(--amber)}.food-row.stocked{background:var(--green-row);border-color:var(--green-line);border-left-color:var(--green)}.food-row.show-macros,.food-row.show-prices{height:60px;min-height:60px}.food-row.show-macros.show-prices{height:72px;min-height:72px}.food-main{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1px 6px;min-width:0;display:grid}.food-label{gap:2px;min-width:0;display:grid}.food-main h3{letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;margin-bottom:0;font-size:.94rem;line-height:1.12;display:flex;overflow:hidden}.food-emoji{width:22px;height:22px;font-size:1rem}.food-name-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;display:block;overflow:hidden}.food-macro-line{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;grid-template-columns:repeat(4,minmax(34px,max-content));align-items:center;column-gap:4px;margin:0;font-size:.66rem;font-weight:850;line-height:1.35;display:grid;overflow:visible}.food-macro-token{text-overflow:clip;white-space:nowrap;align-items:center;gap:2px;min-width:0;min-height:1.35em;display:inline-flex;overflow:visible}.food-macro-token.empty{visibility:hidden}.food-macro-token.protein{color:var(--blue)}.food-macro-token.carbs{color:var(--amber)}.food-macro-token.fat{color:var(--green)}.food-macro-token.calories{color:var(--recipe-yellow-text)}.food-price-line{min-width:0;color:var(--blue);white-space:nowrap;grid-column:1/-1;align-items:center;gap:3px;margin:0;font-size:.66rem;font-weight:850;line-height:1.35;display:inline-flex;overflow:hidden}.food-price-line span{min-width:0}.food-price-line>a{min-width:0;color:inherit;align-items:center;gap:3px;text-decoration:none;display:inline-flex}.food-price-line>a:hover .source-store,.food-price-line>a:focus-visible .source-store{color:var(--blue);text-decoration:underline}.food-price-line .source-link-icon{flex:none;width:10px;height:10px}.food-price-line .source-store,.food-price-line .source-size{color:var(--muted);text-overflow:ellipsis;overflow:hidden}.food-price-line .source-store{max-width:70px}.food-price-line .source-size{max-width:52px}.source-count{color:var(--green)}.food-tags{flex-wrap:wrap;justify-content:flex-end;gap:4px;min-width:0;margin-bottom:0;font-size:.78rem;font-weight:700;display:flex}.food-tag{border-radius:999px;place-items:center;width:18px;height:20px;line-height:1;display:inline-grid}.food-tag.essential{color:var(--blue)}.food-tag.optional{color:var(--amber)}.food-tag.fresh{color:var(--green)}.food-tag.shelf{color:var(--muted)}.status-control{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:104px;height:34px;padding:3px;display:inline-grid}.status-control button{appearance:none;min-width:0;height:26px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;font-size:.72rem;font-weight:850;display:inline-flex}.status-emoji{font-size:.86rem;line-height:1}.status-control button.selected.needed{background:var(--red-soft);color:var(--red)}.status-control button.selected.low{background:var(--amber-soft);color:var(--amber)}.status-control button.selected.stocked{background:var(--green-soft);color:var(--green)}.saving-icon{color:var(--blue)}.recipe-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:stretch}.recipes-view{gap:8px;display:grid}.food-cost-optimizer{align-content:start;gap:8px;min-width:0;display:grid}.food-cost-header,.food-cost-targets,.food-cost-summary,.food-cost-nutrition,.food-cost-without,.food-cost-table-scroll,.food-cost-empty,.food-cost-assumptions{border:1px solid var(--line);background:var(--panel);border-radius:8px}.food-cost-header{justify-content:space-between;align-items:center;gap:12px;padding:9px;display:flex}.food-cost-header h2,.food-cost-header p,.food-cost-constraint-note{margin:0}.food-cost-header h2{font-size:.92rem}.food-cost-header p,.food-cost-constraint-note{color:var(--muted);font-size:.68rem;font-weight:700}.food-cost-header p{margin-top:2px}.food-cost-controls{grid-template-columns:140px 190px;gap:6px;display:grid}.food-cost-control{gap:2px;min-width:0;display:grid}.food-cost-control>span{color:var(--muted);font-size:.58rem;font-weight:800}.food-cost-mode,.food-cost-objective{border:1px solid var(--line);background:var(--surface);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:2px;display:inline-grid}.food-cost-mode button,.food-cost-objective button{min-height:28px;color:var(--muted);background:0 0;border:0;border-radius:5px;padding:0 8px;font-size:.7rem;font-weight:850}.food-cost-mode button.selected,.food-cost-objective button.selected{background:var(--blue-soft);color:var(--blue)}.food-cost-targets{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:7px;display:grid}.food-cost-targets label{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;padding:4px 6px;display:grid}.food-cost-targets label>span{color:var(--muted);align-items:center;gap:3px;font-size:.65rem;font-weight:850;display:inline-flex}.food-cost-targets input{appearance:textfield;width:100%;min-width:0;height:26px;color:var(--text);text-align:right;background:0 0;border:0;padding:0 3px;font-size:.78rem;font-weight:850}.food-cost-targets input::-webkit-inner-spin-button{appearance:none;margin:0}.food-cost-targets input::-webkit-outer-spin-button{appearance:none;margin:0}.food-cost-targets small{color:var(--muted);font-size:.6rem}.food-cost-targets label.derived{opacity:.62}.food-cost-constraint-note{padding-inline:2px}.food-cost-without{justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.food-cost-without-foods,.food-cost-without-result{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.food-cost-without-foods>strong{color:var(--muted);font-size:.66rem}.food-cost-without button,.food-cost-without-action{border:1px solid var(--line);background:var(--surface);min-height:24px;color:var(--text);border-radius:5px;padding:2px 6px;font-size:.62rem;font-weight:800}.food-cost-without-foods button{align-items:center;gap:4px;display:inline-flex}.food-cost-without-result{color:var(--muted);white-space:nowrap;justify-content:flex-end;font-size:.62rem}.food-cost-without-result strong{color:var(--text)}.food-cost-without-result>button{color:var(--red)}.food-cost-summary,.food-cost-nutrition{display:grid;overflow:hidden}.food-cost-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.food-cost-nutrition{grid-template-columns:repeat(5,minmax(0,1fr))}.food-cost-summary>div,.food-cost-nutrition>div{border-left:1px solid var(--line);align-content:center;gap:1px;min-width:0;min-height:60px;padding:6px 8px;display:grid}.food-cost-summary>div:first-child,.food-cost-nutrition>div:first-child{border-left:0}.food-cost-summary span,.food-cost-nutrition span{color:var(--muted);font-size:.62rem;font-weight:800}.food-cost-summary strong,.food-cost-nutrition strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.food-cost-summary small,.food-cost-nutrition small{color:var(--muted);font-size:.58rem;font-weight:700}.food-cost-table-scroll{overscroll-behavior-inline:contain;min-width:0;overflow-x:auto}.food-cost-table{border-collapse:collapse;width:100%;min-width:940px;font-size:.68rem}.food-cost-table th,.food-cost-table td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:6px 8px}.food-cost-table thead th{color:var(--muted);background:var(--surface-strong);font-size:.61rem;font-weight:850}.food-cost-table th:first-child,.food-cost-table td:first-child,.food-cost-table td:nth-child(3){text-align:left}.food-cost-table tbody th{font-size:.7rem}.food-cost-table tbody th>.food-cost-food-emoji{margin-right:5px}.food-cost-without-action{min-height:21px;color:var(--muted);vertical-align:middle;margin-left:7px}.food-cost-table tbody tr:last-child th,.food-cost-table tbody tr:last-child td{border-bottom:0}.food-cost-table td small{color:var(--muted);font-size:.57rem;display:block}.food-cost-table a{color:var(--blue);font-weight:800;text-decoration:none}.food-cost-empty{color:var(--muted);gap:2px;padding:14px;font-size:.72rem;display:grid}.food-cost-empty strong{color:var(--text);font-size:.82rem}.food-cost-assumptions{padding:7px 9px}.food-cost-assumptions summary{cursor:pointer;color:var(--muted);font-size:.68rem;font-weight:850}.food-cost-assumptions ul{color:var(--muted);gap:3px;margin:7px 0 2px;padding-left:18px;font-size:.65rem;display:grid}.recipe-subview-toolbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.recipe-subview-switch{border:1px solid var(--line);background:var(--surface);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.recipe-subview-switch button{min-height:28px;color:var(--muted);background:0 0;border:0;border-radius:5px;align-items:center;gap:5px;padding:0 8px;font-size:.7rem;font-weight:850;display:inline-flex}.recipe-subview-switch button.selected{background:var(--blue-soft);color:var(--blue)}.recipe-subview-switch svg{width:13px;height:13px}.recipe-reorder-note{color:var(--muted);font-size:.65rem;font-weight:750}.recipe-card{border-left-width:5px;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:6px;padding:10px;display:grid}.recipe-card.dragging{opacity:.5}.recipe-card.drag-before{box-shadow:inset 0 3px 0 var(--blue)}.recipe-card.drag-after{box-shadow:inset 0 -3px 0 var(--blue)}.recipe-card.ready{border-left-color:var(--green)}.recipe-card.limited{border-left-color:var(--recipe-yellow)}.recipe-card.missing{border-left-color:var(--red)}.recipe-header{grid-template-columns:22px minmax(0,1fr) auto auto;align-items:start;gap:4px;min-width:0;display:grid}.recipe-drag-handle,.recipe-ingredient-drag-handle{width:21px;height:24px;color:var(--muted);touch-action:none;cursor:grab;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:inline-grid}.recipe-drag-handle:hover:not(:disabled),.recipe-drag-handle:focus-visible,.recipe-ingredient-drag-handle:hover:not(:disabled),.recipe-ingredient-drag-handle:focus-visible{background:var(--surface-strong);color:var(--blue)}.recipe-drag-handle:disabled,.recipe-ingredient-drag-handle:disabled{cursor:not-allowed;opacity:.22}.recipe-drag-handle svg,.recipe-ingredient-drag-handle svg{width:13px;height:13px}.recipe-title-block{min-width:0;display:grid}.recipe-name{letter-spacing:0;overflow-wrap:anywhere;min-width:0;margin-bottom:0;font-size:1rem;font-weight:850;line-height:1.15;display:block}.recipe-status-emoji{place-items:center;width:18px;height:18px;font-size:.82rem;line-height:1;display:inline-grid}.ingredient-list{align-content:start;gap:4px;display:grid}.recipe-body{grid-template-rows:auto auto;align-content:space-between;gap:6px;display:grid}.ingredient-emoji{width:18px;height:18px;font-size:.82rem}.ingredient-dot{border-radius:999px;width:10px;height:10px}.ingredient-dot.needed{background:var(--red)}.ingredient-dot.low{background:var(--recipe-yellow)}.ingredient-dot.stocked{background:var(--green)}.recipe-read-list{gap:5px}.recipe-read-row{min-height:23px;color:var(--muted);grid-template-columns:21px 10px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.84rem;display:grid}.recipe-read-row.alternatives{grid-template-columns:21px minmax(0,1fr) auto}.recipe-read-row.dragging{opacity:.45}.recipe-read-row.drag-before{box-shadow:inset 0 2px 0 var(--blue)}.recipe-read-row.drag-after{box-shadow:inset 0 -2px 0 var(--blue)}.recipe-read-row .recipe-ingredient-drag-handle{height:22px}.recipe-table-scroll{border:1px solid var(--line-strong);background:var(--panel);width:100%;box-shadow:var(--card-shadow);overscroll-behavior-inline:contain;border-radius:8px;overflow:auto}.recipe-table-scroll:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.recipe-table{border-spacing:0;border-collapse:separate;width:max-content;min-width:100%;color:var(--text);font-variant-numeric:tabular-nums;font-size:.68rem}.recipe-table th,.recipe-table td{box-sizing:border-box;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel);text-align:right;white-space:nowrap;min-width:62px;height:31px;padding:3px 7px}.recipe-table thead th{z-index:4;background:var(--surface-strong);color:var(--muted);font-size:.61rem;font-weight:900;position:sticky}.recipe-table-section-row th{border-bottom-color:var(--line-strong);text-align:center;height:29px;padding:0;top:0}.recipe-table-section-row th:not(.recipe-table-name-column){border-left:2px solid var(--line-strong)}.recipe-table-section-row button{width:100%;height:28px;color:inherit;font:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:4px;padding:0 6px;display:inline-flex}.recipe-table-section-row button:hover{background:var(--panel-hover);color:var(--text)}.recipe-table-section-row button .column-group-icon{width:13px;height:13px}.recipe-table-macro-row th{text-align:center;height:27px;top:29px}.recipe-table .recipe-table-name-column{z-index:3;border-right:2px solid var(--line-strong);background:var(--panel);text-align:left;width:260px;min-width:260px;max-width:260px;position:sticky;left:0}.recipe-table thead .recipe-table-name-column{z-index:6;background:var(--surface-strong);vertical-align:middle;padding-left:8px}.recipe-table .recipe-table-section-boundary{border-left:2px solid var(--line-strong)}.recipe-table .recipe-table-collapsed-column{border-left:2px solid var(--line-strong);width:30px;min-width:30px;max-width:30px;color:var(--muted);text-align:center;padding:0;font-size:.52rem}.recipe-table-name-cell{grid-template-columns:21px minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;display:grid}.recipe-table-ingredient-cell{grid-template-columns:21px 18px minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;display:grid}.recipe-table-expand-button{min-width:0;height:25px;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:13px auto minmax(0,1fr);align-items:center;gap:3px;padding:0;font-size:.72rem;font-weight:850;display:grid}.recipe-table-expand-button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-table-expand-button .collapse-chevron{width:12px;height:12px}.recipe-table-expand-button[aria-expanded=true] .collapse-chevron{transform:rotate(90deg)}.recipe-table-actions{gap:2px;display:inline-flex}.recipe-table-actions button{border:1px solid var(--line);background:var(--surface);width:22px;height:22px;color:var(--muted);border-radius:4px;place-items:center;padding:0;display:inline-grid}.recipe-table-actions svg{width:12px;height:12px}.recipe-table-recipe-row{--recipe-table-row-background:var(--panel);--recipe-readiness-color:var(--line-strong)}.recipe-table-recipe-row.ready{--recipe-readiness-color:var(--green)}.recipe-table-recipe-row.limited{--recipe-readiness-color:var(--recipe-yellow)}.recipe-table-recipe-row.missing{--recipe-readiness-color:var(--red)}.recipe-table-recipe-row>th:first-child{box-shadow:inset 5px 0 0 var(--recipe-readiness-color)}.recipe-table-ingredient-row th,.recipe-table-ingredient-row td{background:var(--surface);color:var(--muted)}.recipe-table-ingredient-row{--recipe-table-row-background:var(--surface)}.recipe-table tbody tr:not(.dragging):not(.drag-before):not(.drag-after):is(:hover,:focus-within)>*{z-index:1;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--blue) 58%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--blue) 58%, transparent);position:relative}.recipe-table tbody .recipe-table-recipe-row:not(.dragging):not(.drag-before):not(.drag-after):is(:hover,:focus-within)>.recipe-table-name-column{z-index:3;box-shadow:inset 5px 0 0 var(--recipe-readiness-color), inset 0 1px 0 color-mix(in srgb, var(--blue) 58%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--blue) 58%, transparent);position:sticky}.recipe-table tbody .recipe-table-ingredient-row:not(.dragging):not(.drag-before):not(.drag-after):is(:hover,:focus-within)>.recipe-table-name-column{z-index:3;box-shadow:inset 3px 0 0 var(--blue), inset 0 1px 0 color-mix(in srgb, var(--blue) 58%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--blue) 58%, transparent);position:sticky}.recipe-table tbody tr:not(.dragging):not(.drag-before):not(.drag-after):is(:hover,:focus-within)>:last-child{box-shadow:inset -1px 0 0 color-mix(in srgb, var(--blue) 58%, transparent), inset 0 1px 0 color-mix(in srgb, var(--blue) 58%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--blue) 58%, transparent)}.recipe-table-expand-button:focus-visible,.recipe-table-actions button:focus-visible{outline:0}.recipe-table tbody tr>td.recipe-table-cell-coded{--recipe-table-cell-color:var(--text)}.recipe-table tbody tr>td.recipe-table-cell-calories{--recipe-table-cell-color:var(--red)}.recipe-table tbody tr>td.recipe-table-cell-protein{--recipe-table-cell-color:var(--blue)}.recipe-table tbody tr>td.recipe-table-cell-carbs{--recipe-table-cell-color:var(--amber)}.recipe-table tbody tr>td.recipe-table-cell-fat{--recipe-table-cell-color:var(--green)}.recipe-table tbody tr>td.recipe-table-cell-fiber{--recipe-table-cell-color:var(--fiber)}.recipe-table tbody tr>td.recipe-table-cell-level-1{background:color-mix(in srgb, var(--recipe-table-cell-color) 7%, var(--recipe-table-row-background))}.recipe-table tbody tr>td.recipe-table-cell-level-2{background:color-mix(in srgb, var(--recipe-table-cell-color) 12%, var(--recipe-table-row-background))}.recipe-table tbody tr>td.recipe-table-cell-level-3{background:color-mix(in srgb, var(--recipe-table-cell-color) 18%, var(--recipe-table-row-background))}.recipe-table tbody tr>td.recipe-table-cell-level-4{background:color-mix(in srgb, var(--recipe-table-cell-color) 25%, var(--recipe-table-row-background))}.recipe-table-ingredient-cell{grid-template-columns:21px 9px 18px minmax(0,1fr);padding-left:16px}.recipe-table-ingredient-name{text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:5px;min-width:0;font-weight:800;display:inline-flex;overflow:hidden}.recipe-table-ingredient-name small{color:var(--blue);font-size:.53rem}.recipe-table-recipe-row.dragging>*,.recipe-table-ingredient-row.dragging>*{opacity:.45}.recipe-table-recipe-row.drag-before>*,.recipe-table-ingredient-row.drag-before>*{box-shadow:inset 0 3px 0 var(--blue)}.recipe-table-recipe-row.drag-after>*,.recipe-table-ingredient-row.drag-after>*{box-shadow:inset 0 -3px 0 var(--blue)}.recipe-table-recipe-row.drag-before>.recipe-table-name-column{box-shadow:inset 5px 0 0 var(--recipe-readiness-color), inset 0 3px 0 var(--blue)}.recipe-table-recipe-row.drag-after>.recipe-table-name-column{box-shadow:inset 5px 0 0 var(--recipe-readiness-color), inset 0 -3px 0 var(--blue)}.recipe-table-editor-row>td{border-bottom:2px solid var(--line-strong);background:var(--panel);text-align:left;height:auto;padding:8px}.recipe-table-editor-row .recipe-editor-list{width:min(620px,100vw - 48px)}.recipe-read-name{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:inline-flex}.recipe-read-option{align-items:center;gap:5px;min-width:0;display:inline-flex}.recipe-read-option .ingredient-dot{width:9px;height:9px}.recipe-read-or{color:var(--text);font-size:.66rem;font-weight:900}.recipe-read-row strong{color:var(--text)}.recipe-editor-list{gap:5px}.recipe-edit-row{gap:3px;display:grid}.recipe-edit-option,.recipe-add-form,.recipe-actions{align-items:center;min-width:0;display:flex}.recipe-edit-option{border:1px solid var(--line);background:var(--surface);border-radius:7px;gap:5px;min-height:28px;padding:3px 4px}.recipe-edit-option.needed{background:var(--red-row);border-color:var(--red-line)}.recipe-edit-option.low{background:var(--amber-row);border-color:var(--amber-line)}.recipe-edit-option.stocked{background:var(--green-row);border-color:var(--green-line)}.recipe-edit-food-name{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.76rem;font-weight:800;overflow:hidden}.recipe-edit-or{color:var(--text);text-align:center;align-self:center;font-size:.62rem;font-weight:900}.recipe-amount-input{color:var(--muted);flex:0 0 54px;grid-template-columns:minmax(36px,1fr) auto;align-items:center;gap:2px;font-size:.68rem;font-weight:850;display:inline-grid}.recipe-amount-input input{appearance:textfield;border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;height:24px;color:var(--text);font-variant-numeric:tabular-nums;text-align:right;border-radius:5px;font-size:.74rem;font-weight:850}.recipe-amount-input input::-webkit-inner-spin-button{appearance:none;margin:0}.recipe-amount-input input::-webkit-outer-spin-button{appearance:none;margin:0}.recipe-edit-remove,.recipe-add-form button,.recipe-actions button,.recipe-collapse-button{border:1px solid var(--line);background:var(--surface);width:24px;height:24px;color:var(--muted);border-radius:5px;flex:none;place-items:center;padding:0;display:inline-grid}.recipe-edit-remove svg,.recipe-add-form button svg,.recipe-actions button svg,.recipe-collapse-button svg{width:13px;height:13px}.recipe-edit-remove{color:var(--red)}.recipe-add-form{gap:4px}.recipe-add-search{border:1px dashed var(--line);background:var(--surface);min-width:0;height:28px;color:var(--muted);border-radius:7px;flex:auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px;padding:0 6px;display:grid}.recipe-add-search svg{width:13px;height:13px}.recipe-add-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:.76rem;font-weight:800}.recipe-add-form button:not(:disabled),.recipe-actions button:not(:disabled){background:var(--blue-soft);color:var(--blue)}.recipe-actions{justify-content:flex-end;gap:4px}.recipe-actions button.editing{background:var(--surface-strong);color:var(--blue)}.recipe-empty{color:var(--muted);margin:0;font-size:.76rem;font-weight:800}.macro-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:6px;display:grid}.macro-stat{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;grid-template-rows:1fr auto 1fr;align-items:center;gap:2px;min-height:64px;padding:7px;display:grid}.macro-stat span,.macro-stat small{color:var(--muted);font-size:.74rem;font-weight:800}.macro-stat>span{white-space:nowrap}.macro-stat strong{white-space:nowrap;align-items:baseline;gap:3px;min-width:0;font-size:.95rem;display:inline-flex}.macro-stat .macro-suffix{font-size:.62rem;line-height:1}.macro-stat .macro-detail{min-height:1em}.macro-stat .macro-detail.empty{visibility:hidden}.macro-stat.calories span,.macro-stat.calories small{color:var(--recipe-yellow-text)}.config-panel{gap:8px;display:grid}.price-compare-view{align-content:start;gap:10px;min-width:0;display:grid}.store-rank-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:8px;padding:9px;display:grid}.store-rank-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.store-rank-heading h2,.store-rank-heading p{margin:0}.store-rank-heading h2{font-size:.86rem}.store-rank-heading p{color:var(--muted);margin-top:2px;font-size:.65rem;font-weight:750}.store-add-form{grid-template-columns:minmax(120px,190px) 30px;gap:4px;display:grid}.store-add-form label{border:1px solid var(--line);background:var(--surface);min-width:0;height:30px;color:var(--muted);border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;padding:0 7px;display:grid}.store-add-form label svg,.store-add-form button svg{width:13px;height:13px}.store-add-form input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;padding:0;font-size:.72rem;font-weight:750}.store-add-form button{border:1px solid var(--line);background:var(--surface);width:30px;height:30px;color:var(--muted);border-radius:6px;place-items:center;padding:0;display:inline-grid}.store-add-form button:not(:disabled){background:var(--blue-soft);color:var(--blue)}.unused-store-list{flex-wrap:wrap;gap:5px;display:flex}.unused-store-list>span{border:1px solid var(--line);background:var(--surface-strong);border-radius:6px;align-items:center;gap:5px;min-height:26px;padding:2px 3px 2px 7px;font-size:.68rem;font-weight:800;display:inline-flex}.unused-store-list button{width:20px;height:20px;color:var(--red);background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:inline-grid}.store-add-form button:disabled{opacity:.35}.unused-store-list button svg{width:11px;height:11px}.price-table-scroll{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-width:0;overflow-x:auto}.price-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.72rem}.price-table th,.price-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;min-width:170px;padding:6px}.price-table th:first-child{z-index:2;background:var(--surface-strong);width:190px;min-width:150px;position:sticky;left:0}.price-table thead th{z-index:1;background:var(--surface-strong);color:var(--muted);text-transform:uppercase;font-size:.65rem;font-weight:900;position:sticky;top:0}.price-table thead th:first-child{z-index:3}.price-table thead th:not(:first-child){min-width:205px}.price-store-header{text-transform:none;gap:3px;display:grid}.price-store-header-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.price-store-identity{flex:auto;align-items:center;gap:3px;min-width:0;display:flex}.price-store-name{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;align-items:baseline;gap:5px;padding:0;display:flex}.price-store-name>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:900;overflow:hidden}.price-store-product-count{color:var(--muted);white-space:nowrap;flex:none;font-size:.54rem;font-weight:750}.price-store-drag-handle,.price-store-rename button,.price-store-header-actions button{border:1px solid var(--line);background:var(--surface);width:22px;height:22px;color:var(--muted);border-radius:5px;place-items:center;padding:0;display:inline-grid}.price-store-drag-handle{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;flex:none}.price-store-drag-handle:active{cursor:grabbing}.price-store-drag-handle svg,.price-store-rename button svg,.price-store-header-actions svg{width:12px;height:12px}.price-store-name:not(:disabled):hover,.price-store-name:not(:disabled):focus-visible{color:var(--blue)}.price-store-drag-handle:not(:disabled):hover,.price-store-drag-handle:not(:disabled):focus-visible,.price-store-rename button:not(:disabled):hover,.price-store-rename button:not(:disabled):focus-visible,.price-store-header-actions button:not(:disabled):hover,.price-store-header-actions button:not(:disabled):focus-visible{border-color:var(--blue-line);color:var(--blue)}.price-store-drag-handle:disabled,.price-store-rename button:disabled,.price-store-header-actions button:disabled{opacity:.28}.price-store-rename{flex:auto;grid-template-columns:minmax(0,1fr) 22px;gap:3px;width:100%;min-width:0;display:grid}.price-store-rename input{border:1px solid var(--blue-line);background:var(--surface);width:100%;min-width:0;height:22px;color:var(--text);border-radius:5px;outline:0;padding:0 5px;font-size:.68rem;font-weight:800}.price-store-column.dragging{opacity:.45}.price-store-column.drag-over{box-shadow:inset 3px 0 0 var(--blue)}.price-store-header-actions{flex:none;gap:2px;display:flex}.price-store-header-actions button.price-store-delete:not(:disabled){color:var(--red)}.price-table tbody>tr:last-child>th,.price-table tbody>tr:last-child>td{border-bottom:0}.price-table th:last-child,.price-table td:last-child{border-right:0}.price-table tr.hidden-food{opacity:.66}.price-table .price-category-row th{background:var(--surface-strong);width:auto;min-width:0;color:var(--text);text-transform:none;border-right:0;padding:5px 7px;position:static}.price-category-label{color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:.67rem;font-weight:900;line-height:1;display:inline-flex}.price-category-label small{background:var(--surface);min-width:17px;height:17px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;font-size:.56rem;font-weight:900;display:inline-grid}.price-category-chevron{width:13px;height:13px;color:var(--muted);transition:transform .15s}.price-category-label[aria-expanded=true] .price-category-chevron{transform:rotate(90deg)}.price-product{color:var(--text);text-transform:none;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:5px;font-size:.74rem;font-weight:850;display:grid}.price-product>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.price-product svg{width:12px;height:12px;color:var(--muted)}.price-source-list{gap:4px;display:grid}.price-source{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--text);border-radius:6px;gap:2px;padding:5px 6px;text-decoration:none;display:grid}a.price-source:hover,a.price-source:focus-visible{border-color:var(--blue-line);background:var(--blue-soft)}.price-cell-layout{grid-template-columns:minmax(0,1fr) 22px;align-items:stretch;gap:4px;min-height:38px;display:grid}.price-cell-layout.editing{grid-template-columns:minmax(0,1fr)}.price-cell-edit,.price-cell-editor button{border:1px solid var(--line);background:var(--surface);width:22px;min-height:22px;color:var(--muted);border-radius:5px;place-items:center;padding:0;display:inline-grid}.price-cell-edit{grid-area:1/2;height:100%}.price-cell-layout>.price-source-list,.price-cell-layout>.price-source-missing{grid-area:1/1}.price-cell-edit:hover,.price-cell-edit:focus-visible,.price-cell-editor button:not(:disabled):hover,.price-cell-editor button:not(:disabled):focus-visible{border-color:var(--blue-line);color:var(--blue)}.price-cell-edit svg,.price-cell-editor button svg{width:11px;height:11px}.price-cell-editor,.price-cell-editor-list{gap:3px;display:grid}.price-cell-editor-row{grid-template-columns:minmax(48px,1fr) minmax(48px,.9fr) minmax(40px,.7fr) 22px;align-items:center;gap:2px;display:grid}.price-cell-editor label{min-width:0}.price-cell-editor input{border:1px solid var(--blue-line);background:var(--surface);width:100%;min-width:0;height:25px;color:var(--text);border-radius:5px;padding:0 5px;font-size:.64rem;font-weight:800}.price-source-price-input{color:var(--green);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px;font-size:.66rem;font-weight:900;display:grid}.price-source-price-input input{appearance:textfield;text-align:right}.price-source-price-input input::-webkit-inner-spin-button{appearance:none;margin:0}.price-source-price-input input::-webkit-outer-spin-button{appearance:none;margin:0}.price-cell-editor-unit{color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;font-weight:800;overflow:hidden}.price-cell-editor-row button:not(:disabled){color:var(--red)}.price-cell-editor button:disabled,.price-cell-edit:disabled{opacity:.35}.price-cell-editor-actions{justify-content:space-between;align-items:center;gap:5px;padding-top:1px;display:flex}.price-cell-editor-confirm{gap:3px;display:flex}.price-cell-editor-actions button.price-cell-add{width:auto;color:var(--blue);background:0 0;border:0;padding:2px;font-size:.59rem;font-weight:850;display:inline-flex}.price-cell-add{gap:3px}.price-cell-editor-actions button.price-cell-save:not(:disabled){background:var(--green-soft);color:var(--green)}.price-source-primary{align-items:baseline;gap:5px;min-width:0;display:flex}.price-source-primary strong{color:var(--green);font-variant-numeric:tabular-nums;font-size:.8rem}.price-source-primary span,.price-source-unit,.price-source small{color:var(--muted);font-size:.61rem;font-weight:750}.price-source-primary svg{width:11px;height:11px;color:var(--blue)}.price-source-flags{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.price-best-badge{border:1px solid var(--green-line);background:var(--green-soft);white-space:nowrap;border-radius:999px;align-items:center;min-height:17px;padding:1px 5px;line-height:1;display:inline-flex;color:var(--green)!important;font-size:.54rem!important;font-weight:900!important}.price-source-unit{color:var(--text);font-variant-numeric:tabular-nums}.price-source small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.price-source-missing{min-height:38px;color:var(--muted);opacity:.5;place-items:center;display:grid}.foods-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.foods-add-actions{align-items:center;gap:4px;display:inline-flex}.foods-table-controls{align-items:center;gap:4px;min-width:0;display:inline-flex}.foods-table-controls>button{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--muted);white-space:nowrap;border-radius:7px;padding:0 8px;font-size:.68rem;font-weight:850}.foods-table-controls>button:hover:not(:disabled),.foods-table-controls>button.selected{border-color:var(--blue-line);background:var(--blue-soft);color:var(--text)}.foods-table-controls>button:disabled{opacity:.35}.foods-filter-trigger{display:none}.foods-filter-panel{align-items:center;gap:4px;display:inline-flex}.foods-filter-panel>.icon-filter{flex:none;width:auto}.foods-table-controls .foods-table-group-toggle{width:auto;color:var(--text);flex:none;align-items:center;gap:6px;display:inline-flex}.foods-table-switch{border:1px solid var(--line-strong);background:var(--surface-strong);border-radius:999px;width:24px;height:14px;transition:border-color .12s,background .12s;position:relative}.foods-table-switch:after{background:var(--muted);content:"";border-radius:50%;width:8px;height:8px;transition:transform .12s,background .12s;position:absolute;top:2px;left:2px}.foods-table-group-toggle[aria-checked=true] .foods-table-switch{border-color:var(--blue-line);background:var(--blue-soft)}.foods-table-group-toggle[aria-checked=true] .foods-table-switch:after{background:var(--blue);transform:translate(10px)}.foods-table-scroll{--foods-table-food-column-width:220px;border:1px solid var(--line);background:var(--panel);overscroll-behavior-inline:contain;border-radius:8px;width:100%;min-width:0;position:relative;overflow-x:auto}.foods-table{border-collapse:separate;border-spacing:0;width:100%;min-width:760px;color:var(--text);font-variant-numeric:tabular-nums;font-size:.7rem}.foods-table th,.foods-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel);text-align:right;white-space:nowrap;height:30px;padding:0 7px}.foods-table tr>:last-child{border-right:0}.foods-table tbody tr:last-child>*{border-bottom:0}.foods-table thead th{background:var(--surface-strong);color:var(--muted);font-weight:900}.foods-table thead button{width:100%;min-height:100%;color:inherit;font:inherit;white-space:nowrap;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:4px;padding:0;display:flex}.foods-table thead th[aria-sort]:not([aria-sort=none]){background:var(--blue-soft);color:var(--text)}.foods-table-unit-row th{height:22px;color:var(--muted);text-align:center;text-transform:uppercase;font-size:.58rem;line-height:1}.foods-table-macro-row th{min-width:65px}.foods-table-macro-label{align-items:center;gap:3px;display:inline-flex}.foods-table-macro-label-short{display:none}.foods-table .foods-table-food-column{z-index:2;width:var(--foods-table-food-column-width);min-width:var(--foods-table-food-column-width);max-width:var(--foods-table-food-column-width);border-right:2px solid var(--line-strong);background:var(--surface);text-align:left;position:sticky;left:0}.foods-table .foods-table-density-boundary{border-left:2px solid var(--line-strong)}.foods-table thead .foods-table-food-column{z-index:4}.foods-table-column-resize-handle{z-index:6;touch-action:none;cursor:col-resize;width:20px;min-height:44px;position:absolute;top:0;bottom:0;right:-10px}.foods-table-column-resize-handle:after{background:var(--line-strong);content:"";border-radius:999px;width:2px;transition:width .12s,background .12s;position:absolute;top:7px;bottom:7px;right:9px}.foods-table-column-resize-grip{z-index:1;border:1px solid var(--line-strong);background:var(--surface-strong);width:18px;height:18px;box-shadow:0 0 0 2px var(--surface-strong);color:var(--muted);border-radius:5px;place-items:center;transition:border-color .12s,background .12s,color .12s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.foods-table-column-resize-grip svg{width:11px;height:11px}.foods-table-column-resize-handle:is(:hover,:focus-visible):after,.resizing-food-column .foods-table-column-resize-handle:after{background:var(--blue);width:4px}.foods-table-column-resize-handle:is(:hover,:focus-visible) .foods-table-column-resize-grip,.resizing-food-column .foods-table-column-resize-grip{border-color:var(--blue-line);background:var(--blue-soft);color:var(--blue)}.foods-table-column-resize-handle:focus-visible .foods-table-column-resize-grip{box-shadow:0 0 0 2px var(--blue-line)}.foods-table-column-resize-handle:focus-visible{outline:0}.resizing-food-column,.resizing-food-column *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.foods-table-food-column>button{justify-content:flex-start;padding-left:5px}.foods-table .foods-table-group-row th{border-top:1px solid var(--line-strong);border-bottom-color:var(--line-strong);background:var(--surface-strong);text-align:left;height:25px;padding:0}.foods-table-group-cell{box-sizing:border-box;width:var(--foods-table-food-column-width);background:var(--surface-strong);grid-template-columns:22px minmax(0,1fr) 20px;align-items:center;gap:3px;min-height:25px;padding-left:2px;display:grid;position:sticky;left:0}.foods-table-group-delete{width:20px;height:24px;color:var(--muted);opacity:.7;background:0 0;border:0;place-items:center;padding:0;display:grid}.foods-table-group-delete:hover:not(:disabled),.foods-table-group-delete[aria-expanded=true]{color:var(--red);opacity:1}.foods-table-group-delete:disabled{opacity:.25}.foods-table-group-delete svg{width:12px;height:12px}.confirmation-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080a0c94;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.delete-food-group-dialog{border:1px solid var(--line-strong);background:var(--surface);width:min(430px,100%);box-shadow:var(--shadow);color:var(--text);border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px;display:grid}.delete-food-group-dialog-icon{background:var(--red-soft);width:34px;height:34px;color:var(--red);border-radius:50%;place-items:center;display:grid}.delete-food-group-dialog-icon svg{width:17px;height:17px}.delete-food-group-dialog-copy{min-width:0}.delete-food-group-dialog h2,.delete-food-group-dialog p{margin:0}.delete-food-group-dialog h2{font-size:.94rem;line-height:1.25}.delete-food-group-dialog p{color:var(--muted);margin-top:5px;font-size:.76rem;line-height:1.45}.delete-food-group-dialog-actions{grid-column:1/-1;justify-content:flex-end;gap:7px;display:flex}.delete-food-group-dialog-actions button{border:1px solid var(--line);background:var(--panel);min-height:32px;color:var(--text);border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:.72rem;font-weight:850;display:inline-flex}.delete-food-group-dialog-actions button.danger{border-color:color-mix(in srgb, var(--red) 45%, var(--line));background:var(--red-soft);color:var(--red)}.delete-food-group-dialog-actions svg{width:13px;height:13px}.foods-table-group-toggle{width:100%;min-height:25px;color:var(--muted);text-align:left;background:0 0;border:0;padding:0;font-size:.65rem;font-weight:900;display:block}.foods-table-group-content{box-sizing:border-box;grid-template-columns:13px 20px minmax(0,1fr);align-items:center;gap:5px;width:100%;min-height:25px;padding:0 7px 0 0;display:grid}.foods-table-group-content.has-hidden{grid-template-columns:13px 20px minmax(0,1fr);padding-right:25px}.foods-table-group-content>svg:first-child{width:12px;height:12px;transition:transform .15s}.foods-table-group-toggle[aria-expanded=true] .foods-table-group-content>svg:first-child{transform:rotate(90deg)}.foods-table-group-name{align-items:center;gap:5px;min-width:0;display:flex}.foods-table-group-name>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.foods-table-group-row small{color:var(--text);font-size:.58rem}.foods-table-hidden-count{color:var(--amber);pointer-events:none;align-items:center;gap:2px;font-size:.58rem;display:inline-flex;position:absolute;right:21px}.foods-table-hidden-count svg{width:11px;height:11px}.foods-table-food-row{--foods-table-row-background:var(--panel)}.foods-table:not(.reorder-active) .foods-table-food-row:not(.expanded):is(:hover,:focus-within)>*{z-index:1;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--blue) 58%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--blue) 58%, transparent);position:relative}.foods-table:not(.reorder-active) .foods-table-food-row:not(.expanded):is(:hover,:focus-within)>.foods-table-food-column{z-index:3;box-shadow:inset 3px 0 0 var(--blue), inset 0 1px 0 color-mix(in srgb, var(--blue) 58%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--blue) 58%, transparent);position:sticky}.foods-table:not(.reorder-active) .foods-table-food-row:not(.expanded):is(:hover,:focus-within)>:last-child{box-shadow:inset -1px 0 0 color-mix(in srgb, var(--blue) 58%, transparent), inset 0 1px 0 color-mix(in srgb, var(--blue) 58%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--blue) 58%, transparent)}.foods-table-food-row.hidden-food{--foods-table-row-background:var(--hidden-panel)}.foods-table-food-row.hidden-food>*{background:var(--hidden-panel);color:var(--muted)}.foods-table-food-row.hidden-food>.foods-table-food-column{background:var(--surface-strong)}.foods-table-food-row.expanded{--foods-table-row-background:var(--blue-soft)}.foods-table-food-row.expanded>*{background:var(--blue-soft)}.foods-table-food-row>td.foods-table-cell-coded{--foods-table-cell-color:var(--text)}.foods-table-food-row>td.foods-table-cell-calories{--foods-table-cell-color:var(--red)}.foods-table-food-row>td.foods-table-cell-protein{--foods-table-cell-color:var(--blue)}.foods-table-food-row>td.foods-table-cell-carbs{--foods-table-cell-color:var(--amber)}.foods-table-food-row>td.foods-table-cell-fat{--foods-table-cell-color:var(--green)}.foods-table-food-row>td.foods-table-cell-fiber{--foods-table-cell-color:var(--fiber)}.foods-table-food-row>td.foods-table-cell-level-1{background:color-mix(in srgb, var(--foods-table-cell-color) 7%, var(--foods-table-row-background))}.foods-table-food-row>td.foods-table-cell-level-2{background:color-mix(in srgb, var(--foods-table-cell-color) 12%, var(--foods-table-row-background))}.foods-table-food-row>td.foods-table-cell-level-3{background:color-mix(in srgb, var(--foods-table-cell-color) 18%, var(--foods-table-row-background))}.foods-table-food-row>td.foods-table-cell-level-4{background:color-mix(in srgb, var(--foods-table-cell-color) 25%, var(--foods-table-row-background))}.foods-table-food-row.hidden-food:not(.expanded)>td.foods-table-cell-coded{background:var(--hidden-panel)}.foods-table-food-row.dragging>:not(.foods-table-food-column),.foods-table-food-row.dragging>.foods-table-food-column>.foods-table-food-cell,.foods-table-group-row.dragging .foods-table-group-cell>*{opacity:.45}.foods-table .foods-table-insertion-row>td{pointer-events:none;background:0 0;border:0;height:0;padding:0;position:relative}.foods-table .foods-table-insertion-row>td:after{z-index:5;background:var(--blue);content:"";pointer-events:none;height:3px;position:absolute;top:-1.5px;left:0;right:0}.foods-table-group-row.food-group-target>th,.foods-table-group-row.food-group-target .foods-table-group-cell{background:var(--blue-soft)}.foods-table-food-cell{grid-template-columns:22px minmax(0,1fr);align-items:center;gap:3px;min-width:0;display:grid}.foods-table-drag-handle,.foods-table-group-drag-handle{width:21px;height:21px;color:var(--muted);touch-action:none;cursor:grab;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:inline-grid}.foods-table-drag-handle:hover:not(:disabled):not([aria-disabled=true]),.foods-table-drag-handle:focus-visible,.foods-table-group-drag-handle:hover:not(:disabled):not([aria-disabled=true]),.foods-table-group-drag-handle:focus,.foods-table-group-drag-handle:focus-visible{background:var(--surface);color:var(--blue)}.foods-table-group-drag-handle:focus{box-shadow:inset 0 0 0 1px var(--blue-line);outline:0}.foods-table-drag-handle:disabled,.foods-table-drag-handle[aria-disabled=true],.foods-table-group-drag-handle:disabled,.foods-table-group-drag-handle[aria-disabled=true]{cursor:not-allowed;opacity:.2}.foods-table-drag-handle svg,.foods-table-group-drag-handle svg{width:13px;height:13px}.foods-table-edit-trigger{min-width:0;min-height:29px;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:13px 20px minmax(0,1fr) auto 13px;align-items:center;gap:5px;padding:0;font-size:.72rem;font-weight:850;display:grid}.foods-table-food-name{text-overflow:ellipsis;overflow:hidden}.foods-table-edit-trigger svg{width:12px;height:12px;color:var(--muted)}.foods-table-visibility-slot{width:12px;height:12px;color:var(--muted);grid-column:4;place-items:center;display:inline-grid}.foods-table-row-chevron{grid-column:1}.foods-table-edit-trigger[aria-expanded=true] .foods-table-row-chevron{transform:rotate(90deg)}.foods-table-editor-row>td{background:var(--panel);height:auto;box-shadow:inset 0 -2px 0 var(--line-strong);text-align:left;white-space:normal;padding:0}.config-food-row.embedded{background:var(--panel);border:0;border-radius:0;padding:8px}.add-food-trigger{border:1px solid var(--line);background:var(--text);min-height:34px;color:var(--surface);border-radius:8px;align-items:center;gap:6px;padding:0 11px;font-size:.78rem;font-weight:850;display:inline-flex}.add-food-trigger svg{width:16px;height:16px}.add-food-trigger[aria-expanded=true],.add-food-trigger.secondary{background:var(--surface);color:var(--text)}.add-food-group-form{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:38px minmax(120px,260px) auto;align-items:center;gap:6px;width:fit-content;max-width:100%;padding:6px;display:grid}.add-food-group-form input{border:1px solid var(--line);background:var(--surface);min-width:0;height:30px;color:var(--text);border-radius:6px;padding:0 7px;font-size:.78rem;font-weight:750}.add-food-group-form>button{border:1px solid var(--line);background:var(--text);height:30px;color:var(--surface);white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:0 9px;font-size:.72rem;font-weight:850;display:inline-flex}.add-food-group-form>button svg{width:14px;height:14px}.settings-panel{align-content:start;gap:0;display:grid}.settings-section{border-bottom:1px solid var(--line);gap:12px;padding:10px 0 18px;display:grid}.settings-section:last-child{border-bottom:0}.settings-section-heading,.settings-list-preview h3{color:var(--text);letter-spacing:0;margin:0}.settings-section-heading{font-size:.9rem;line-height:1.2}.settings-option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:760px;display:grid}.settings-option{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-height:52px;padding:8px 10px}.settings-action-button{width:100%;color:var(--text);text-align:left;align-items:center;gap:9px;display:flex}.settings-action-button:hover{background:var(--panel-hover)}.settings-action-button svg{color:var(--red)}.settings-mode-option{justify-content:space-between;align-items:center;gap:10px;display:flex}.settings-mode-control{border:1px solid var(--line);background:var(--surface-strong);border-radius:7px;flex:none;grid-template-columns:repeat(3,max-content);gap:2px;padding:2px;display:inline-grid}.settings-mode-control button{min-height:24px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:5px;padding:0 7px;font-size:.62rem;font-weight:850}.settings-mode-control button.selected{background:var(--surface);color:var(--text);box-shadow:var(--control-inset)}.settings-mode-control button.selected.mode-off{background:color-mix(in srgb, var(--muted) 12%, var(--surface));color:var(--muted);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--muted) 24%, transparent)}.settings-mode-control button.selected.mode-group{background:var(--green-soft);color:var(--green);box-shadow:inset 0 0 0 1px var(--green-line)}.settings-mode-control button.selected.mode-global{background:var(--blue-soft);color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue-line)}.settings-list-preview{gap:6px;width:min(620px,100%);padding-top:2px;display:grid}.settings-list-preview h3{color:var(--muted);text-transform:uppercase;font-size:.7rem;line-height:1}.settings-list-preview .status-control button:disabled{cursor:default;opacity:1}.option-toggle{cursor:pointer;align-items:center;gap:7px;min-width:0;display:inline-flex}.option-toggle input{opacity:0;pointer-events:none;position:absolute}.option-switch{border:1px solid var(--line);background:var(--surface-strong);border-radius:999px;flex:none;width:34px;height:20px;display:inline-block;position:relative}.option-switch:after{background:var(--muted);content:"";border-radius:999px;width:14px;height:14px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.option-toggle input:checked+.option-switch{border-color:var(--green-line-strong);background:var(--green-soft)}.option-toggle input:checked+.option-switch:after{background:var(--green);transform:translate(14px)}.theme-mode-control{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;grid-template-columns:repeat(3,26px);gap:2px;min-height:30px;padding:2px;display:inline-grid;overflow:hidden}.theme-mode-control button{width:26px;height:24px;color:var(--muted);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:inline-grid}.theme-mode-control button.selected{background:var(--surface);color:var(--text);box-shadow:var(--control-inset)}.theme-mode-control svg{width:14px;height:14px}.option-copy{gap:1px;min-width:0;display:grid}.option-copy strong,.option-copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.option-copy strong{font-size:.78rem;line-height:1}.option-copy small{color:var(--muted);font-size:.62rem;font-weight:750;line-height:1}.add-food-form,.config-food-row{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;gap:6px;padding:6px;display:grid}.add-food-form{grid-template-columns:38px minmax(180px,1fr) minmax(190px,.65fr) 72px 72px auto}.config-list{gap:12px;display:grid}.config-category-section,.config-category-list{min-width:0;display:grid}.config-category-section{gap:5px}.config-category-list{gap:6px}.config-category-heading{border-bottom:1px solid var(--line);margin:0;padding:0}.config-category-toggle{width:100%;min-height:20px;color:var(--muted);text-align:left;background:0 0;border:0;grid-template-columns:auto auto auto 14px auto;justify-content:start;align-items:center;gap:5px;padding:0 3px 4px;font-size:.7rem;font-weight:900;line-height:1;display:grid}.config-category-toggle:hover{color:var(--text)}.config-category-chevron{width:13px;height:13px;transition:transform .15s}.config-category-toggle[aria-expanded=true] .config-category-chevron{transform:rotate(90deg)}.config-category-count{color:var(--text);font-size:.62rem}.config-category-hidden{color:var(--muted);align-items:center;gap:2px;font-size:.6rem;display:inline-flex}.config-category-hidden svg{width:11px;height:11px}.config-category-toggle[aria-expanded=false] .config-category-hidden{color:var(--amber)}.config-food-row{grid-template-columns:minmax(0,1fr) 24px;align-items:stretch}.config-food-row.collapsed{padding-block:4px}.config-food-row.hidden-food{background:var(--hidden-panel);color:var(--muted)}.config-row-toggle{width:100%;min-height:32px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 3px;display:grid}.config-row-toggle:hover{background:var(--panel-hover-strong)}.config-food-drag-handle{border:1px solid var(--line);background:var(--surface);width:24px;height:24px;color:var(--muted);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;border-radius:5px;align-self:center;place-items:center;padding:0;display:inline-grid}.config-food-drag-handle:active{cursor:grabbing}.config-food-drag-handle:not(:disabled):hover,.config-food-drag-handle:not(:disabled):focus-visible{border-color:var(--blue-line);color:var(--blue)}.config-food-drag-handle:disabled{opacity:.28}.config-food-drag-handle svg{width:13px;height:13px}.config-food-row.dragging{opacity:.45}.config-food-row.drag-over{box-shadow:inset 0 0 0 2px var(--blue)}.config-row-toggle[aria-expanded=true] .collapse-chevron{transform:rotate(90deg)}.config-summary-copy{gap:2px;min-width:0;display:grid}.config-summary-copy strong,.config-summary-copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.config-summary-copy strong{font-size:.82rem;line-height:1}.config-summary-copy small{color:var(--muted);gap:7px;font-size:.66rem;font-weight:850;line-height:1;display:flex}.config-summary-copy small span{min-width:0}.config-hidden-indicator{color:var(--amber);align-items:center;display:inline-flex}.config-hidden-indicator svg{width:11px;height:11px}.config-unsaved{background:var(--recipe-yellow-soft);color:var(--recipe-yellow-text);border-radius:999px;padding:3px 6px;font-size:.62rem;font-weight:900;line-height:1}.config-food-details{grid-column:1/-1;grid-template-columns:30px minmax(150px,1fr) minmax(140px,.55fr) 30px 30px minmax(304px,.9fr) 30px 30px 30px;align-items:center;gap:6px;min-width:0;display:grid}.config-name-field,.macro-input{align-items:center;gap:5px;display:grid}.config-name-field{grid-template-columns:32px minmax(0,1fr)}.config-name-field input,.add-food-form input,.category-select,.macro-input input{border:1px solid var(--line);background:var(--surface);min-width:0;height:30px;color:var(--text);border-radius:6px;font-size:.78rem;font-weight:750}.config-name-field input,.add-food-form input,.macro-input input{padding:0 7px}.emoji-input{text-align:center;width:100%}.emoji-picker-field{min-width:0;position:relative}.config-name-field .emoji-input,.add-food-form .emoji-input{padding:0}.emoji-picker{z-index:30;border:1px solid var(--line);background:var(--surface);width:min(212px,100vw - 16px);box-shadow:var(--card-shadow);border-radius:8px;gap:4px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);left:0}.emoji-picker-search{border:1px solid var(--line);background:var(--surface-strong);width:100%;min-width:0;height:28px;color:var(--text);border-radius:6px;padding:0 7px;font-size:.76rem;font-weight:750}.emoji-picker-grid{grid-template-columns:repeat(6,28px);gap:2px;max-height:min(280px,100vh - 240px);padding-right:2px;display:grid;overflow-y:auto}.emoji-picker-grid button{background:0 0;border:0;border-radius:6px;place-items:center;width:28px;height:28px;padding:0;font-size:1rem;display:grid}.emoji-picker-grid button:hover,.emoji-picker-grid button.selected{background:var(--blue-soft)}.emoji-picker-empty{min-height:28px;color:var(--muted);grid-column:1/-1;place-items:center;font-size:.72rem;font-weight:800;display:grid}.category-select{padding:0 5px}.add-category-choice{border:1px solid var(--line);background:var(--surface-strong);border-radius:6px;align-items:center;gap:2px;min-width:0;min-height:30px;padding:2px;display:flex;overflow:hidden}.add-category-choice button{appearance:none;background:var(--surface);min-width:0;height:24px;color:var(--muted);opacity:.72;border:0;border-radius:4px;flex:1 0 28px;place-items:center;padding:0;font-size:.76rem;line-height:1;display:inline-grid}.add-category-choice button.selected{background:var(--blue-soft);color:var(--text);opacity:1;box-shadow:var(--blue-inset)}.compact-check,.config-icon-button{border:1px solid var(--line);background:var(--surface);border-radius:6px;place-items:center;width:30px;height:30px;display:inline-grid}.compact-check input{opacity:0;pointer-events:none;position:absolute}.compact-check span{opacity:.28}.compact-check:has(input:checked){background:var(--blue-soft)}.compact-check:has(input:checked) span{opacity:1}.binary-icon-choice{border:1px solid var(--line);background:var(--surface-strong);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;min-width:0;min-height:30px;padding:2px;display:inline-grid;overflow:hidden}.binary-icon-choice button{appearance:none;background:var(--surface);width:100%;min-width:0;height:24px;color:var(--muted);opacity:.82;border:0;border-radius:5px;place-items:center;padding:0;font-size:.78rem;font-weight:850;display:inline-grid}.binary-icon-choice button.selected{background:var(--blue-soft);color:var(--text);opacity:1;box-shadow:var(--blue-inset)}.macro-editors{grid-template-columns:repeat(5,minmax(60px,80px));justify-content:start;gap:4px;width:fit-content;min-width:0;max-width:100%;display:grid}.macro-input{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:20px minmax(38px,1fr);gap:0;min-width:0;height:30px;overflow:hidden}.macro-input span{border-right:1px solid color-mix(in srgb, var(--line) 72%, transparent);background:var(--surface-strong);place-items:center;width:20px;height:100%;font-size:.72rem;line-height:1;display:inline-grid}.macro-input input{appearance:textfield;font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;border-radius:0;min-width:0;height:100%;padding:0 6px 0 4px}.macro-input:focus-within{border-color:var(--blue-line);box-shadow:var(--blue-inset)}.macro-input input::-webkit-inner-spin-button{appearance:none;margin:0}.macro-input input::-webkit-outer-spin-button{appearance:none;margin:0}.macro-calculated input{color:var(--recipe-yellow-text);cursor:default}.macro-calculated,.macro-calculated span{background:var(--surface-strong)}.source-editors{grid-column:1/-1;gap:4px;padding-top:2px;display:grid}.source-editor-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:.72rem;font-weight:850;display:flex}.source-editor-heading>span{align-items:baseline;gap:6px;display:flex}.source-editor-heading small{font-size:.6rem;font-weight:700}.source-editor-heading button,.source-editor-row button{border:1px solid var(--line);background:var(--surface);width:26px;height:26px;color:var(--muted);border-radius:6px;place-items:center;padding:0;display:inline-grid}.source-editor-heading button{background:var(--blue-soft);color:var(--blue)}.source-editor-heading svg,.source-editor-row button svg{width:13px;height:13px}.source-editor-list{gap:7px;display:grid}.source-editor-store-group,.source-editor-store-offers{gap:4px;min-width:0;display:grid}.source-editor-store-group{border-left:2px solid var(--line);padding-left:6px}.source-editor-store-heading{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.source-editor-store-heading>span{align-items:baseline;gap:5px;min-width:0;display:flex}.source-editor-store-heading strong{color:var(--text);font-size:.68rem}.source-editor-store-heading small{color:var(--muted);font-size:.58rem;font-weight:750}.source-editor-store-heading button{color:var(--blue);background:0 0;border:0;align-items:center;gap:3px;padding:2px 1px;font-size:.58rem;font-weight:850;display:inline-flex}.source-editor-store-heading button svg{width:11px;height:11px}.source-editor-row{grid-template-columns:minmax(128px,168px) minmax(78px,88px) minmax(82px,92px) minmax(112px,124px) minmax(180px,1fr) 26px;align-items:center;gap:4px;display:grid}.source-editor-row label,.source-price-input,.source-grams-input,.source-url-input{min-width:0}.source-editor-row input,.source-editor-row select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;height:28px;color:var(--text);border-radius:6px;padding:0 7px;font-size:.76rem;font-weight:750}.source-editor-row select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 11px) 11px,calc(100% - 7px) 11px;background-repeat:no-repeat;background-size:4px 4px,4px 4px;padding-right:22px}.source-price-input{color:var(--green);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px;font-size:.72rem;font-weight:900;display:grid}.source-grams-input{color:var(--muted);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px;font-size:.72rem;font-weight:900;display:grid}.source-price-input input,.source-grams-input input{appearance:textfield;font-variant-numeric:tabular-nums;text-align:right}.source-price-input input::-webkit-inner-spin-button{appearance:none;margin:0}.source-price-input input::-webkit-outer-spin-button{appearance:none;margin:0}.source-grams-input input::-webkit-inner-spin-button{appearance:none;margin:0}.source-grams-input input::-webkit-outer-spin-button{appearance:none;margin:0}.source-unit-price{min-width:0;color:var(--muted);white-space:nowrap;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px;font-size:.72rem;font-weight:850;display:grid}.source-unit-price.empty{opacity:.38}.source-unit-price-value{border:1px solid var(--line);background:var(--surface-strong);min-width:0;height:28px;color:var(--muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;border-radius:6px;place-items:center end;padding:0 7px;display:grid;overflow:hidden}.source-unit-price-unit{color:var(--muted);font-weight:900}.source-editor-row button{color:var(--red)}.source-url-input{color:var(--muted);grid-area:2/1/auto/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;display:grid}.source-url-input>svg,.source-url-input>a,.source-url-input>a svg{width:13px;height:13px}.source-url-input>a{color:var(--muted);place-items:center;display:inline-grid}.source-url-input>a:hover,.source-url-input>a:focus-visible{color:var(--blue)}.source-url-input label{min-width:0}.source-url-input input[aria-invalid=true]{border-color:var(--red)}.source-empty{color:var(--muted);margin:0;font-size:.72rem;font-weight:800}.config-icon-button{color:var(--muted);padding:0}.config-icon-button svg{width:15px;height:15px}.config-icon-button.save:not(:disabled){background:var(--green-soft);color:var(--green)}.config-icon-button.discard:not(:disabled){background:var(--amber-soft);color:var(--amber)}.config-icon-button.danger{color:var(--red)}.add-food-form>button[type=submit]{border:1px solid var(--line);background:var(--text);min-width:58px;height:30px;color:var(--surface);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:.78rem;font-weight:850;line-height:1;display:inline-flex}@media (max-width:900px){.toolbar{grid-template-columns:minmax(360px,1fr) minmax(180px,260px);gap:8px}.toolbar.purchases-toolbar{grid-template-columns:minmax(0,1fr) minmax(180px,260px)}.primary-navigation{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.primary-navigation button,.secondary-navigation button{gap:6px;padding:0 6px;font-size:.9rem}.toolbar.settings-toolbar{grid-template-columns:minmax(0,1fr)}.toolbar.has-secondary-navigation .primary-navigation{width:360px}.toolbar.optimizer-toolbar.has-secondary-navigation{grid-template-columns:minmax(0,1fr)}.toolbar.optimizer-toolbar.has-secondary-navigation .navigation-stack{width:100%;display:grid}.toolbar.optimizer-toolbar.has-secondary-navigation .primary-navigation{width:100%}.toolbar.optimizer-toolbar.has-secondary-navigation .secondary-navigation{grid-column:1/-1;width:100%}.toolbar.purchases-toolbar.has-secondary-navigation .primary-navigation{width:min(360px,42vw)}.search-control{max-width:260px}.filter-controls{grid-column:1/-1}.icon-filter button,.shortcut-filter button{min-width:26px}.list-grid{grid-template-columns:1fr}.add-food-form{grid-template-columns:38px minmax(0,1fr) minmax(184px,.65fr) 72px 72px auto;gap:8px}.config-food-row{grid-template-columns:minmax(0,1fr) 24px}.config-food-details{grid-template-columns:30px minmax(0,1fr) 116px 30px 30px 300px 30px 30px 30px}.purchase-import-panel{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px}.purchase-import-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}}@media (max-width:800px){.purchase-shop-control>span,.purchase-result-count{display:none}}@media (min-width:681px) and (max-width:800px){.primary-navigation button{font-size:0}.macro-grid{gap:4px}.macro-stat{padding:5px}.macro-stat strong{font-size:.86rem}.macro-stat .macro-suffix{font-size:.54rem}.macro-stat span,.macro-stat small{font-size:.68rem}}@media (max-width:680px){.screen{padding:4px}.app-screen{gap:5px}.app-header,.toolbar{flex-direction:column;align-items:stretch;gap:8px}.header-actions{justify-content:space-between}.app-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.app-mark,.app-header .eyebrow{display:none}.app-header h1{font-size:1.12rem;line-height:1}.title-block,.header-actions{gap:6px}.sync-stamp,.sync-control-divider{display:none}.sync-control,.sync-refresh-button{height:26px;min-height:26px}.sync-control{border-radius:6px}.sync-refresh-button{width:26px}.sync-refresh-button svg{width:12px;height:12px}.icon-button{width:30px;height:30px;min-height:30px}.icon-button svg,.primary-navigation svg,.secondary-navigation svg{width:16px;height:16px}.toolbar{grid-template-columns:minmax(0,1fr);align-items:center;gap:4px;padding:4px;display:grid}.toolbar.has-secondary-navigation{grid-template-columns:minmax(0,1.45fr) minmax(118px,1fr)}.toolbar.has-secondary-navigation .navigation-stack{display:contents}.toolbar.has-secondary-navigation .primary-navigation{grid-column:1/-1;width:100%}.toolbar.has-secondary-navigation .secondary-navigation{grid-area:2/1}.toolbar.has-secondary-navigation .search-control{grid-area:2/2}.toolbar.purchases-toolbar.has-secondary-navigation{grid-template-columns:minmax(0,1fr)}.toolbar.purchases-toolbar.has-secondary-navigation .secondary-navigation{grid-area:2/1/auto/-1;width:100%}.navigation-stack,.search-control,.filter-controls{align-self:center;width:100%}.search-control{grid-column:1/-1;max-width:none;min-height:34px;padding:0 6px}.toolbar.has-secondary-navigation .search-control{grid-column:2;min-width:0}.toolbar.purchases-toolbar.has-secondary-navigation .purchase-toolbar-search-slot,.toolbar.purchases-toolbar.has-secondary-navigation .search-control{grid-area:3/1/auto/-1}.toolbar.purchases-toolbar.has-secondary-navigation .purchase-toolbar-search-slot,.toolbar.purchases-toolbar.has-secondary-navigation>.search-control{display:none}.prices-view-mobile-search{display:block}.prices-view-mobile-search .search-control{width:100%;max-width:none}.search-control input{height:28px;font-size:.78rem}.search-control svg{width:15px;height:15px}.search-clear{width:22px;height:22px}.filter-controls{grid-column:1/-1;grid-template-columns:.72fr repeat(3,minmax(0,1fr));gap:3px;display:grid}.icon-filter,.shortcut-filter{border-radius:6px;width:100%;min-height:28px;padding:2px}.icon-filter button,.shortcut-filter button{border-radius:5px;min-width:0;height:22px;font-size:.7rem}.primary-navigation{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;gap:3px;padding:3px}.primary-navigation button{grid-column:auto;gap:4px;min-width:0;height:28px;min-height:28px;padding:0 4px;font-size:0}.secondary-navigation{grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch;gap:3px;width:100%}.nutrition-navigation{grid-template-columns:repeat(3,minmax(0,1fr))}.purchases-navigation{grid-template-columns:repeat(4,minmax(0,1fr))}.secondary-navigation button{min-width:0;height:28px;min-height:28px;padding-inline:6px;font-size:.78rem}.purchases-heading{align-items:end}.purchase-period-control{grid-template-columns:28px auto minmax(70px,1fr) 28px}.purchase-period-control button{min-width:28px}.purchase-period-control label{padding-inline:4px}.purchase-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.purchase-controls{grid-template-columns:minmax(0,1fr) auto;gap:4px}.purchase-categorize-button{grid-column:1/-1;min-width:0;padding-inline:6px}.purchase-shop-control{min-width:0;padding-inline:6px}.purchase-shop-control select{width:100%}.purchase-import-toggle{min-width:0;padding-inline:6px}.purchase-filter-panel{left:auto;right:0}.receipt-import-queue-heading>.receipt-import-dismiss{margin-right:6px;padding-inline:6px;font-size:0}.receipt-import-queue-heading>.receipt-import-dismiss svg{width:15px;height:15px}.purchase-chart-panel{padding:9px}.purchase-chart-panel>header{flex-direction:column;align-items:stretch}.purchase-chart-mode{align-self:stretch}.purchase-summary-card{gap:0;padding:5px 6px;display:grid}.purchase-summary-card strong{font-size:.92rem}.purchase-summary-card small{text-overflow:ellipsis;font-size:.66rem;line-height:1.05;overflow:hidden}.purchase-import-panel{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;padding:9px;display:grid}.purchase-import-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.purchase-import-actions button{min-width:0;padding-inline:6px}.receipt-review-heading,.receipt-review-confirm{align-items:stretch}.receipt-review-details{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-review-item-head{display:none}.receipt-review-item{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr)) 30px;gap:4px;padding-top:5px}.receipt-review-item label:first-child{grid-area:1/1/auto/-1}.receipt-review-item label:nth-child(2){grid-column:1}.receipt-review-item label:nth-child(3){grid-column:2}.receipt-review-item label:nth-child(4){grid-column:3}.receipt-review-item label:nth-child(5){grid-column:4}.receipt-review-item>.receipt-review-remove{grid-column:5;align-self:end}.receipt-review-adjustment{grid-template-columns:minmax(94px,.8fr) minmax(120px,1.4fr) minmax(74px,.7fr) 30px}.receipt-review-adjustment label[data-label]{gap:2px;display:grid}.receipt-review-adjustment label[data-label]:before{content:attr(data-label);color:var(--muted);font-size:.61rem;font-weight:850}.receipt-review-item label[data-label]{gap:2px;display:grid}.receipt-review-item label[data-label]:before{content:attr(data-label);color:var(--muted);font-size:.61rem;font-weight:850}.purchase-item{grid-template-columns:minmax(0,1fr) 36px minmax(122px,auto) 28px;gap:6px;padding-inline:10px}.purchase-item>strong,.purchase-pivot-item>strong{font-size:.76rem}.purchase-pivot-item,.purchase-pivot-toggle{padding-inline:10px}.purchase-date-editor{grid-template-columns:minmax(0,1fr) auto auto}.purchase-date-editor button{padding-inline:7px}.list-grid,.recipe-grid{gap:5px}.category-panel,.recipe-card{box-shadow:none;padding:5px}.category-panel,.food-stack,.recipe-card{gap:4px}.section-toggle,.recipe-toggle{gap:4px;min-height:24px}.section-title{font-size:.82rem}.section-emoji{width:20px;height:20px;font-size:.82rem}.section-count{width:20px;height:20px;font-size:.68rem}.food-row{border-left-width:3px;border-radius:6px;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;height:36px;min-height:36px;padding:4px 5px}.food-main{gap:0 4px}.food-row.show-macros,.food-row.show-prices{height:42px;min-height:42px}.food-row.show-macros.show-prices{height:50px;min-height:50px}.food-label{gap:1px}.food-main h3{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;margin-bottom:0;font-size:.82rem;line-height:1.1;overflow:hidden}.food-emoji{width:18px;height:18px;font-size:.8rem}.food-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.food-macro-line{grid-template-columns:repeat(4,minmax(30px,max-content));column-gap:2px;font-size:.53rem}.food-price-line{gap:2px;font-size:.53rem}.food-price-line .source-store{max-width:56px}.food-price-line .source-size{max-width:42px}.food-tags{flex-wrap:nowrap;flex:none;gap:2px}.food-tag{width:16px;height:17px;font-size:.58rem;line-height:1}.status-control{gap:2px;width:82px;height:28px;padding:2px}.status-control button{border-radius:5px;height:22px}.status-emoji{font-size:.74rem}.password-row{grid-template-columns:1fr}.recipe-name{font-size:.88rem;line-height:1.15}.recipe-status-emoji{width:16px;height:16px;font-size:.76rem}.ingredient-list{gap:2px}.recipe-read-row{grid-template-columns:18px 7px minmax(0,1fr) auto;gap:4px;min-height:18px;font-size:.74rem}.recipe-read-row.alternatives{grid-template-columns:18px minmax(0,1fr) auto}.recipe-drag-handle,.recipe-ingredient-drag-handle{width:18px;height:20px}.recipe-header{grid-template-columns:18px minmax(0,1fr) auto auto}.recipe-subview-switch button{min-height:26px;padding:0 6px;font-size:.65rem}.recipe-table .recipe-table-name-column{width:210px;min-width:210px;max-width:210px}.recipe-table th,.recipe-table td{min-width:56px;height:29px;padding:2px 5px}.recipe-table-name-cell{grid-template-columns:18px minmax(0,1fr) auto;gap:3px}.recipe-table-ingredient-cell{grid-template-columns:18px 7px 15px minmax(0,1fr);gap:3px;padding-left:8px}.recipe-table-expand-button{font-size:.66rem}.ingredient-dot{width:7px;height:7px}.recipe-read-option{gap:4px}.recipe-read-option .ingredient-dot{width:7px;height:7px}.ingredient-emoji{width:15px;height:15px;font-size:.68rem}.recipe-body,.macro-grid{gap:4px}.macro-stat{border-radius:6px;min-height:50px;padding:5px}.macro-stat strong{font-size:.78rem}.macro-stat .macro-suffix{font-size:.48rem}.macro-stat span,.macro-stat small{font-size:.62rem}.config-panel{gap:4px}.config-list{gap:9px}.config-category-section,.config-category-list{gap:4px}.config-category-heading{padding:0}.config-category-toggle{min-height:18px;padding-bottom:3px;font-size:.64rem}.config-category-count{font-size:.58rem}.option-toggle{gap:5px}.settings-section{gap:9px;padding:7px 0 13px}.settings-section-heading{font-size:.8rem}.settings-option-list{grid-template-columns:1fr;gap:5px}.settings-option{min-height:44px;padding:6px 8px}.settings-mode-option{flex-direction:column;align-items:stretch;gap:6px}.settings-mode-control{grid-template-columns:repeat(3,1fr);width:100%}.settings-list-preview h3{font-size:.62rem}.store-rank-heading{flex-direction:column;align-items:stretch;gap:7px}.store-add-form{grid-template-columns:minmax(0,1fr) 28px}.price-table th,.price-table td{min-width:145px;padding:4px}.price-table th:first-child{width:122px;min-width:122px}.price-table thead th:not(:first-child){min-width:185px}.option-switch{width:30px;height:18px}.option-switch:after{width:12px;height:12px}.option-toggle input:checked+.option-switch:after{transform:translate(12px)}.option-copy strong{font-size:.68rem}.option-copy small{font-size:.56rem}.theme-mode-control{border-radius:6px;grid-template-columns:repeat(3,22px);min-height:26px}.theme-mode-control button{border-radius:5px;width:22px;height:20px}.theme-mode-control svg{width:12px;height:12px}.add-food-form,.config-food-row{border-radius:6px;gap:3px;padding:4px}.add-food-form{grid-template-columns:32px minmax(0,1fr) 62px 62px minmax(56px,auto)}.add-food-form .emoji-picker-field{grid-area:1/1}.add-food-form .add-food-name-input{grid-area:1/2/auto/5}.add-food-form .add-food-submit{grid-area:1/5}.add-food-form .add-category-choice{grid-area:2/1/auto/-1}.add-food-form .food-type-choice{grid-area:3/1/auto/3}.add-food-form .freshness-choice{grid-area:3/3/auto/5}.config-food-row{grid-template-columns:minmax(0,1fr) 24px}.config-food-details{grid-template-columns:26px minmax(0,1fr) 26px 26px 26px 26px 26px}.config-food-details .config-icon-button.visibility{grid-area:1/1}.config-food-details .config-name-field{grid-area:1/2/auto/5}.config-food-details .category-select{grid-area:2/1/auto/4}.config-food-details .essential-toggle{grid-area:2/4}.config-food-details .fresh-toggle{grid-area:2/5}.macro-editors{grid-area:3/1/auto/-1;grid-template-columns:repeat(5,minmax(50px,68px));gap:3px}.source-editors{grid-row:4}.source-editor-heading{font-size:.66rem}.source-editor-row{grid-template-columns:minmax(0,1fr) 58px 68px 84px 26px;gap:3px}.source-note-input{grid-area:2/1/auto/-1}.source-url-input{grid-area:3/1/auto/-1}.source-editor-row button{grid-area:1/5}.source-editor-row input,.source-editor-row select{border-radius:5px;height:26px;font-size:.68rem}.source-unit-price-value{border-radius:5px;height:26px;padding:0 5px}.macro-input{grid-template-columns:18px minmax(32px,1fr)}.macro-input span{width:18px}.macro-input input{padding-inline:3px 5px}.config-food-row .config-icon-button.danger{grid-area:1/5}.config-food-row .config-icon-button.discard{grid-area:1/6}.config-food-row .config-icon-button.save{grid-area:1/7}.compact-check,.config-icon-button{border-radius:5px;width:26px;height:26px}.binary-icon-choice{border-radius:5px;gap:3px;min-height:26px}.binary-icon-choice button{border-radius:4px;height:20px;font-size:.7rem}.add-category-choice{border-radius:5px;min-height:26px}.add-category-choice button{border-radius:4px;height:20px;font-size:.68rem}.config-icon-button svg{width:13px;height:13px}.config-name-field input,.add-food-form input,.category-select,.macro-input input,.add-food-form>button[type=submit]{border-radius:5px;height:26px;font-size:.68rem}.config-name-field input,.add-food-form input,.macro-input input{padding:0 5px}.add-food-form>button[type=submit]{gap:3px;min-width:56px;padding:0 7px}.foods-actions{gap:4px}.foods-actions.adding-group .foods-table-controls{display:none}.foods-actions.adding-group .foods-add-actions{width:100%}.foods-actions.adding-group .add-food-group-form{flex:1;grid-template-columns:30px minmax(0,1fr) auto;gap:3px;padding:3px}.foods-actions.adding-group .add-food-group-form>button{padding-inline:6px}.foods-table-controls{gap:3px;position:relative;overflow:visible}.foods-table-controls>button{min-height:28px;padding:0 6px;font-size:.62rem}.foods-filter-trigger{align-items:center;gap:4px;display:inline-flex;position:relative}.foods-filter-trigger svg{width:13px;height:13px}.foods-filter-trigger small{background:var(--blue);min-width:14px;height:14px;color:var(--surface);border-radius:999px;place-items:center;padding:0 3px;font-size:.55rem;line-height:1;display:inline-grid;position:absolute;top:-5px;right:-5px}.foods-filter-panel{z-index:20;border:1px solid var(--line-strong);background:var(--surface);width:min(294px,100vw - 28px);box-shadow:var(--card-shadow);border-radius:9px;justify-content:space-between;padding:5px;display:none;position:absolute;top:calc(100% + 5px);left:0}.foods-filter-panel.open{display:flex}.foods-filter-panel .icon-filter{flex:1 1 0;width:100%}.add-food-trigger{white-space:nowrap;min-height:28px;padding:0 7px;font-size:.66rem}.add-food-trigger svg{width:13px;height:13px}.foods-table-scroll{--foods-table-food-column-width:172px}.foods-table{min-width:720px;font-size:.65rem}.foods-table .foods-table-food-column{width:var(--foods-table-food-column-width);min-width:var(--foods-table-food-column-width);max-width:var(--foods-table-food-column-width)}.foods-table-group-cell{width:var(--foods-table-food-column-width);grid-template-columns:17px minmax(0,1fr) 17px;gap:1px;padding-left:0}.foods-table-food-cell{grid-template-columns:17px minmax(0,1fr);gap:1px}.foods-table-drag-handle,.foods-table-group-drag-handle,.foods-table-group-delete{width:17px}.foods-table-drag-handle svg,.foods-table-group-drag-handle svg,.foods-table-group-delete svg{width:10px;height:10px}.confirmation-backdrop{align-items:end;padding:10px}.delete-food-group-dialog{width:100%;padding:14px}.foods-table-group-content{grid-template-columns:9px 18px minmax(0,1fr);gap:3px;padding:0 2px 0 1px}.foods-table-group-content.has-hidden{grid-template-columns:9px 18px minmax(0,1fr);padding-right:19px}.foods-table-group-content>svg:first-child{width:9px;height:9px}.foods-table-macro-row th{min-width:62px}.foods-table-macro-label-wide{display:none}.foods-table-macro-label-short{display:inline}.foods-table th,.foods-table td{padding-inline:5px}.foods-table-edit-trigger{grid-template-columns:9px 18px minmax(0,1fr) auto 10px;gap:3px;font-size:.67rem}.foods-table-edit-trigger svg{width:9px;height:9px}.config-food-row.embedded{width:calc(100vw - 25px);padding:5px;position:sticky;left:0}.food-cost-header{flex-direction:column;align-items:stretch;gap:7px}.food-cost-controls{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.food-cost-mode,.food-cost-objective{width:100%}.food-cost-without{flex-direction:column;align-items:stretch}.food-cost-without-result{justify-content:flex-start}.food-cost-targets label{grid-template-rows:auto 26px;grid-template-columns:minmax(0,1fr) auto;gap:1px 3px;padding:4px}.food-cost-targets label>span{grid-column:1/-1;font-size:.58rem}.food-cost-targets input{text-align:left;grid-area:2/1;padding:0;font-size:.72rem}.food-cost-targets small{grid-area:2/2;align-self:center;font-size:.54rem}.food-cost-summary>div,.food-cost-nutrition>div{padding-inline:5px}.food-cost-summary strong,.food-cost-nutrition strong{text-overflow:clip;font-size:.76rem;overflow:visible}}@media (max-width:420px){.screen{padding:4px}}@media (min-width:681px) and (max-width:1200px){.toolbar.has-secondary-navigation:not(.purchases-toolbar){grid-template-columns:minmax(0,1.45fr) minmax(180px,1fr)}.toolbar.has-secondary-navigation:not(.purchases-toolbar) .navigation-stack{display:contents}.toolbar.has-secondary-navigation:not(.purchases-toolbar) .primary-navigation{grid-area:1/1/auto/-1;width:100%}.toolbar.has-secondary-navigation:not(.purchases-toolbar) .secondary-navigation{grid-area:2/1;width:100%}.toolbar.has-secondary-navigation:not(.purchases-toolbar) .search-control{grid-area:2/2}.toolbar.purchases-toolbar.has-secondary-navigation{grid-template-columns:minmax(0,1fr) minmax(180px,min(300px,34vw))}.toolbar.purchases-toolbar.has-secondary-navigation .navigation-stack{display:contents}.toolbar.purchases-toolbar.has-secondary-navigation .primary-navigation{grid-area:1/1/auto/-1;width:100%}.toolbar.purchases-toolbar.has-secondary-navigation .secondary-navigation{grid-area:2/1;width:100%}.toolbar.purchases-toolbar.has-secondary-navigation .purchase-toolbar-search-slot,.toolbar.purchases-toolbar.has-secondary-navigation .search-control{grid-area:2/2}}@keyframes spin{to{transform:rotate(360deg)}}
