/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.start{inset-inline-start:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#2d2822;--muted:#746d63;--line:#e7dfd3;--paper:#faf6ee;--card:#fffdf8;--green:#39664b;--green-2:#527a55;--green-soft:#eaf2e8;--amber:#a96628;--amber-soft:#fff0db;--red:#a8574f;--red-soft:#f9e8e3;--blue:#2c6475;--blue-soft:#e6f1f4;--shadow:0 18px 50px #53412a17}*{box-sizing:border-box}html{background:var(--paper)}body{background:radial-gradient(circle at 8% 0%, #efd8b052, transparent 28rem), radial-gradient(circle at 92% 12%, #c7ddc44d, transparent 30rem), var(--paper);color:var(--ink);font-family:var(--font-nunito-sans), Arial, Helvetica, sans-serif;margin:0;font-size:16px}h1,h2,.stat-card>strong,.calculator-result>strong,.meal-price strong,.monthly-estimate strong,.meal-total strong{font-family:var(--font-fraunces), Georgia, serif;font-variation-settings:"SOFT" 45, "WONK" 0}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #2e806159}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.app-header{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8f0;align-items:center;gap:36px;height:76px;padding:0 4vw;display:flex;position:sticky;top:0}.brand{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.brand-mark{background:var(--green);color:#fff;width:39px;height:39px;font-family:var(--font-fraunces), Georgia, serif;letter-spacing:-.04em;border-radius:13px 13px 13px 5px;place-items:center;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand strong{font-family:var(--font-fraunces), Georgia, serif;letter-spacing:-.02em;font-size:18px}.brand small{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;margin-top:2px;font-size:11px}.app-header nav{align-self:stretch;gap:5px;display:flex}.app-header nav button{cursor:pointer;color:#625c53;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 15px;font-size:15px;font-weight:700}.app-header nav button:hover{color:var(--ink)}.app-header nav button.active{color:var(--green);border-color:var(--green)}.account-area{align-items:center;gap:12px;margin-left:auto;display:flex}.cloud-status{border:1px solid var(--line);color:#53605a;white-space:nowrap;background:#f1f5f2;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:10px;font-weight:800;display:flex}.cloud-status>span{background:#49a876;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #d9efe2}.cloud-saving>span{background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft)}.cloud-error{color:var(--red);background:var(--red-soft);border-color:#e7c6c1}.cloud-error>span{background:var(--red);box-shadow:0 0 0 3px #f3d8d4}.account-menu{align-items:center;gap:9px;display:flex}.account-avatar{width:32px;height:32px;color:var(--green);font-family:var(--font-fraunces), Georgia, serif;background:#e7eee9;border-radius:10px;place-items:center;font-weight:800;display:grid}.account-menu>span:nth-child(2) strong,.account-menu>span:nth-child(2) small{text-overflow:ellipsis;white-space:nowrap;max-width:120px;display:block;overflow:hidden}.account-menu>span:nth-child(2) strong{font-size:11px}.account-menu>span:nth-child(2) small{color:var(--muted);margin-top:1px;font-size:9px}.account-menu a{color:var(--green);font-size:10px;font-weight:800;text-decoration:none}.data-notice{color:#6c551d;background:#fff7e5;border:1px solid #ead8ac;border-radius:12px;align-items:center;gap:10px;max-width:1440px;margin:16px auto -7px;padding:11px 20px;font-size:13px;display:flex}.data-notice span{color:#fff;background:#e5c674;border-radius:50%;place-items:center;width:20px;height:20px;font-weight:700;display:grid}.data-notice p{margin:0}.page-wrap{width:min(1440px,92vw);margin:0 auto;padding:58px 0 72px}.page-intro{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:38px;display:flex}.eyebrow{color:var(--green-2);text-transform:uppercase;letter-spacing:.14em;margin:0 0 10px;font-size:12px;font-weight:850}.page-intro h1{letter-spacing:-.048em;max-width:820px;margin:0;font-size:clamp(36px,4vw,56px);font-weight:680;line-height:1.02}.page-intro>div>p:last-child{max-width:720px;color:var(--muted);margin:16px 0 0;font-size:16px;line-height:1.65}.primary-button{background:var(--green);color:#fff;white-space:nowrap;cursor:pointer;border:0;border-radius:12px;padding:14px 18px;font-weight:700;box-shadow:0 8px 24px #205f482e}.primary-button:hover{background:#184c39}.primary-button span{margin-left:18px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.stat-card{background:var(--card);border:1px solid var(--line);border-radius:18px;flex-direction:column;justify-content:space-between;min-height:143px;padding:21px 23px;display:flex;box-shadow:0 8px 30px #53412a09}.stat-card p{color:var(--muted);margin:0;font-size:14px;font-weight:700}.stat-card>strong{letter-spacing:-.04em;font-size:34px;font-weight:700}.stat-card small{color:#7f776d;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.stat-card.stat-accent{color:#fff;background:var(--green);border-color:var(--green)}.stat-card.stat-accent p,.stat-card.stat-accent small{color:#dceae3}.dashboard-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.panel{background:var(--card);border:1px solid var(--line);border-radius:19px;min-width:0;padding:25px;box-shadow:0 8px 30px #53412a08}.wide-panel{grid-column:span 1}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.panel-heading h2{letter-spacing:-.025em;margin:0;font-size:23px}.panel-heading .eyebrow{margin-bottom:7px}.muted{color:var(--muted);font-size:13px}.panel-copy{margin:-8px 0 16px;line-height:1.5}.count-badge{background:var(--red-soft);min-width:30px;height:30px;color:var(--red);border-radius:999px;place-items:center;padding:0 8px;font-size:12px;font-weight:800;display:grid}.bar-list{flex-direction:column;display:flex}.bar-row{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #edf0ee;grid-template-columns:26px minmax(170px,1.3fr) 1fr 64px;align-items:center;gap:12px;width:100%;padding:13px 0;display:grid}.bar-row:hover .bar-name strong{color:var(--green-2)}.bar-rank{color:#a0a7a3;font:11px var(--font-geist-mono), monospace}.bar-name strong,.bar-name small{display:block}.bar-name strong{font-size:14px}.bar-name small{color:var(--muted);margin-top:3px;font-size:11px}.bar-track{background:#edf1ee;border-radius:99px;height:6px;overflow:hidden}.bar-track i{background:linear-gradient(90deg, var(--green), #72af90);border-radius:99px;height:100%;display:block}.bar-value{text-align:right;font-size:13px}.compact-list button,.timeline button{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #edf0ee;align-items:center;gap:12px;width:100%;padding:11px 0;display:flex}.compact-list button>span:first-child{flex:1;min-width:0}.compact-list strong,.compact-list small,.timeline strong,.timeline small{display:block}.compact-list strong,.timeline strong{font-size:13px}.compact-list small,.timeline small{color:var(--muted);margin-top:3px;font-size:11px}.panel-text-button{width:100%;color:var(--green);cursor:pointer;background:0 0;border:0;border-top:1px solid #edf0ee;justify-content:space-between;margin-top:10px;padding:11px 0 0;font-size:11px;font-weight:800;display:flex}.edit-tag{color:var(--green);background:var(--green-soft);text-transform:uppercase;letter-spacing:.04em;border-radius:7px;align-items:center;padding:4px 8px;font-size:9px;font-weight:850;display:inline-flex}.freshness{border-radius:999px;align-items:center;width:max-content;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.freshness-current{color:var(--green);background:var(--green-soft)}.freshness-aging{color:var(--amber);background:var(--amber-soft)}.freshness-stale{color:var(--red);background:var(--red-soft)}.freshness-unknown{color:#626b67;background:#edf0ee}.savings-list button{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #edf0ee;align-items:center;gap:12px;width:100%;padding:12px 0;display:flex}.save-icon{width:30px;height:30px;color:var(--green);background:var(--green-soft);border-radius:9px;place-items:center;font-weight:800;display:grid}.savings-list strong,.savings-list small{display:block}.savings-list strong{font-size:13px}.savings-list small{color:var(--muted);margin-top:3px;font-size:10px}.rank-list button{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #edf0ee;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;width:100%;padding:11px 0;display:grid}.rank-list>button>span:first-child{color:#6a7770;background:#edf2ef;border-radius:7px;place-items:center;width:23px;height:23px;font-size:10px;font-weight:800;display:grid}.rank-list span strong,.rank-list span small{display:block}.rank-list span strong,.rank-list>button>strong{font-size:12px}.rank-list span small{color:var(--muted);margin-top:2px;font-size:10px}.timeline button{padding-left:18px;position:relative}.timeline button>span{background:var(--green-2);width:7px;height:7px;box-shadow:0 0 0 4px var(--green-soft);border-radius:50%;position:absolute;left:1px}.timeline button>div{flex:1}.comparison-controls{margin-bottom:20px}.metric-control{align-items:center;gap:24px;margin-bottom:16px;display:flex}.metric-control>label{font-size:12px;font-weight:800}.metric-control>div{flex-wrap:wrap;gap:7px;display:flex}.metric-control button{border:1px solid var(--line);color:#5f6a64;cursor:pointer;background:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:700}.metric-control button:hover{border-color:#a7bbb0}.metric-control button.active{color:#fff;border-color:var(--green);background:var(--green)}.filter-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px}.search-wrap{position:relative}.search-wrap>span{color:#7f8984;font-size:19px;position:absolute;top:50%;left:14px;transform:translateY(-52%)}.search-wrap input{width:100%;height:46px;color:var(--ink);background:#fafbfa;border:1px solid #d7deda;border-radius:11px;padding:0 14px 0 42px}.search-wrap input::placeholder{color:#9aa29e}.search-help{color:var(--muted);margin:7px 2px 0;font-size:10px;line-height:1.4}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:13px;display:grid}.filter-grid label span{color:#6b756f;margin:0 0 6px 2px;font-size:10px;font-weight:800;display:block}.filter-grid select{color:#45504a;background:#fff;border:1px solid #d7deda;border-radius:9px;width:100%;height:38px;padding:0 9px;font-size:11px}.filter-summary{color:var(--muted);justify-content:space-between;margin-top:14px;font-size:11px;display:flex}.filter-summary strong{color:var(--ink)}.filter-summary button{color:var(--green-2);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:750}.table-panel{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.table-note{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding:12px 18px;font-size:10px;display:flex}.best-dot{width:8px;height:8px;box-shadow:0 0 0 3px var(--green-soft);background:#42a577;border-radius:50%}.table-scroll{overflow-x:auto}.food-table{border-collapse:collapse;width:100%;min-width:1120px;font-size:12px}.food-table th{z-index:5;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;background:#f6f8f6;padding:0;position:sticky;top:0}.food-table th:first-child,.food-table th:nth-child(2){text-align:left}.food-table th button{color:#716a61;width:100%;text-align:inherit;text-transform:uppercase;letter-spacing:.055em;cursor:pointer;background:0 0;border:0;padding:12px 10px;font-size:10px;font-weight:850}.food-table th button span{color:#a1aaa5;margin-left:5px}.food-table td{text-align:right;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #edf0ee;padding:13px 10px}.food-table td:first-child,.food-table td:nth-child(2){text-align:left}.food-table tbody tr{cursor:pointer;transition:background .12s}.food-table tbody tr:hover{background:#f8faf8}.food-table tbody tr.best-row{box-shadow:inset 3px 0 var(--green-2);background:#f0f8f3}.food-cell strong,.food-cell small{display:block}.food-cell strong{font-size:14px}.food-cell small{color:var(--muted);margin-top:3px;font-size:10px}.best-tag{color:var(--green);background:var(--green-soft);text-transform:uppercase;letter-spacing:.05em;border-radius:5px;margin-bottom:5px;padding:3px 5px;font-size:8px;font-weight:900;display:inline-block}.food-tags,.drawer-tags{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.food-tags{margin-bottom:5px}.food-tags:empty{display:none}.food-tags .best-tag{margin-bottom:0}.choice-tag,.only-tag,.needs-info-tag{text-transform:uppercase;letter-spacing:.045em;border-radius:5px;align-items:center;width:max-content;padding:3px 6px;font-size:8px;font-weight:900;display:inline-flex}.choice-tag{color:#315f4a;background:#e2f0e8}.choice-preferred,.choice-current-preferred{color:var(--green);background:var(--green-soft)}.choice-alternative{color:#5f6863;background:#edf0ee}.only-tag{color:var(--amber);background:var(--amber-soft);white-space:nowrap}.needs-info-tag{color:var(--red);background:var(--red-soft);white-space:nowrap}.date-small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.row-open{border:1px solid var(--line);width:27px;height:27px;color:var(--green);cursor:pointer;background:#fff;border-radius:8px;place-items:center;display:grid}.row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.row-edit{background:var(--green-soft);height:27px;color:var(--green);cursor:pointer;border:1px solid #bed2c5;border-radius:8px;padding:0 9px;font-size:9px;font-weight:850}.row-edit:hover,.row-edit:focus-visible{border-color:var(--green);background:#dceee3}.calculator-shell{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:20px;overflow:visible}.calculator-modes{border-bottom:1px solid var(--line);background:#f5f0e7;border-radius:19px 19px 0 0;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.calculator-modes button{border:0;border-right:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;min-height:78px;padding:16px 20px}.calculator-modes button:last-child{border-right:0}.calculator-modes button:hover{background:#fff}.calculator-modes button.active{color:var(--green);background:#fff;position:relative}.calculator-modes button.active:after{content:"";background:var(--green);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:20px;right:20px}.calculator-modes span,.calculator-modes small{display:block}.calculator-modes span{font-size:15px;font-weight:850}.calculator-modes small{color:var(--muted);margin-top:5px;font-size:11px}.calculator-workspace{grid-template-columns:minmax(0,1.55fr) minmax(320px,.7fr);min-height:470px;display:grid}.calculator-form{background:var(--card);border-radius:0 0 0 19px;padding:34px}.calculator-form h2{letter-spacing:-.035em;margin:0;font-size:30px}.calculator-description{max-width:670px;color:var(--muted);margin:10px 0 27px;font-size:15px;line-height:1.6}.calculator-fields{grid-template-columns:1fr 1fr;gap:17px;display:grid}.calculator-field{min-width:0}.calculator-field>span,.calculator-field>label,.cheapest-suggestion>span{color:#716a61;text-transform:uppercase;letter-spacing:.065em;margin:0 0 7px 2px;font-size:10px;font-weight:850;display:block}.calculator-field>input,.calculator-field>select,.amount-unit input,.amount-unit select{background:var(--card);width:100%;height:47px;color:var(--ink);border:1px solid #ddd5ca;border-radius:11px;padding:0 12px;font-size:13px}.calculator-field>select:disabled{color:#9aa39e;background:#f5f7f5}.amount-unit{grid-template-columns:.75fr 1fr;gap:8px;display:grid}.ingredient-action-control{grid-column:1/-1}.ingredient-action-control>span{color:#716a61;text-transform:uppercase;letter-spacing:.065em;margin:0 0 7px 2px;font-size:10px;font-weight:850;display:block}.ingredient-action-control>div{grid-template-columns:1fr 1fr;gap:9px;display:grid}.ingredient-action-control button{min-height:64px;color:var(--ink);text-align:left;cursor:pointer;background:#fbf8f1;border:1px solid #d8d0c4;border-radius:11px;padding:11px 13px}.ingredient-action-control button:hover,.ingredient-action-control button:focus-visible{border-color:#9eb9a7}.ingredient-action-control button.active{border-color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1px var(--green)}.ingredient-action-control strong,.ingredient-action-control small{display:block}.ingredient-action-control strong{font-size:12px}.ingredient-action-control small{color:var(--muted);margin-top:4px;font-size:10px}.ingredient-action-control button.active strong{color:var(--green)}.daily-action-control{margin-bottom:-2px}.daily-action-control button{background:var(--card);min-height:56px}.ingredient-removal-note{background:var(--green-soft);border:1px solid #cfe1d6;border-radius:11px;grid-column:1/-1;align-items:center;gap:12px;padding:13px 14px;display:flex}.ingredient-removal-note>span{background:var(--green);color:#fff;border-radius:9px;flex:none;place-items:center;width:29px;height:29px;font-size:20px;display:grid}.ingredient-removal-note strong{color:var(--green);font-size:12px;display:block}.ingredient-removal-note p{color:var(--muted);margin:3px 0 0;font-size:10px;line-height:1.45}.daily-removal-note{grid-column:auto;min-height:75px}.food-search-picker{position:relative}.food-search-picker:focus-within{z-index:20}.food-search-input{position:relative}.food-search-input>span{color:#8f877c;pointer-events:none;font-size:19px;position:absolute;top:50%;left:13px;transform:translateY(-52%)}.food-search-input input{background:var(--card);width:100%;height:47px;color:var(--ink);border:1px solid #ddd5ca;border-radius:11px;padding:0 13px 0 40px;font-size:13px}.food-search-input input::placeholder{color:#968e82}.food-search-results{z-index:12;overscroll-behavior:contain;background:var(--card);border:1px solid #dcd2c5;border-radius:13px;max-height:min(70vh,560px);padding:6px;position:absolute;top:73px;left:0;right:0;overflow-y:auto;box-shadow:0 18px 38px #49362129}.food-search-results-header{z-index:1;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;background:#f7f2e9;border-bottom:1px solid #eee7dc;border-radius:13px 13px 0 0;margin:-6px -6px 2px;padding:9px 15px 8px;font-size:10px;font-weight:850;position:sticky;top:-6px}.food-search-results button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:18px;width:100%;padding:11px 10px;display:flex}.food-search-results button+button{border-top:1px solid #eee7dc;border-top-left-radius:0;border-top-right-radius:0}.food-search-results button:hover,.food-search-results button:focus-visible{background:var(--green-soft)}.food-search-results button>span{min-width:0}.food-search-results button>span:last-child{text-align:right;flex:none}.food-search-results strong,.food-search-results small{display:block}.food-search-results strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.food-search-results small{color:var(--muted);margin-top:3px;font-size:11px}.food-search-results p{color:var(--muted);margin:0;padding:14px 12px;font-size:12px;line-height:1.5}.food-search-selected{background:var(--green-soft);border:1px solid #cbdccf;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;min-height:67px;margin-top:8px;padding:10px 11px;display:flex}.food-search-selected>span{min-width:0}.food-search-selected small,.food-search-selected strong,.food-search-selected em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.food-search-selected small{color:var(--green);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:850}.food-search-selected strong{margin-top:3px;font-size:13px}.food-search-selected em{color:var(--muted);margin-top:2px;font-size:10px;font-style:normal}.food-search-selected button{color:var(--green);cursor:pointer;background:#ffffffa3;border:1px solid #b8cebe;border-radius:8px;flex:none;padding:7px 9px;font-size:10px;font-weight:850}.product-swap-list{flex-direction:column;gap:14px;display:flex}.product-swap-card{background:#fbf8f1;border:1px solid #e1d8cb;border-radius:15px;padding:18px}.product-swap-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.product-swap-heading>div>span,.product-swap-heading>div>strong{display:block}.product-swap-heading>div>span{color:var(--green-2);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900}.product-swap-heading>div>strong{margin-top:4px;font-size:14px}.product-swap-heading>button{color:var(--red);cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:10px;font-weight:850}.swap-line-result{color:var(--muted);background:#efeae1;border-radius:10px;justify-content:space-between;gap:16px;margin-top:14px;padding:10px 12px;font-size:11px;display:flex}.swap-line-result>strong{color:var(--ink);font-size:12px}.swap-line-result.result-save{background:var(--green-soft);color:var(--green)}.swap-line-result.result-save>strong{color:var(--green)}.swap-line-result.result-spend{background:var(--red-soft);color:var(--red)}.swap-line-result.result-spend>strong{color:var(--red)}.add-swap-button{min-height:74px;color:var(--green);text-align:left;cursor:pointer;background:#f3f7f2;border:1px dashed #afc5b6;border-radius:13px;grid-template-rows:auto auto;grid-template-columns:34px 1fr;align-items:center;column-gap:12px;padding:13px 16px;display:grid}.add-swap-button:hover{background:var(--green-soft);border-style:solid}.add-swap-button>span{background:var(--green);color:#fff;border-radius:10px;grid-row:1/3;place-items:center;width:34px;height:34px;font-size:21px;display:grid}.add-swap-button>strong{align-self:end;font-size:13px}.add-swap-button>small{color:var(--muted);align-self:start;margin-top:3px;font-size:10px}.comparison-save-bar{background:#f6f1e9;border:1px solid #d8d0c4;border-radius:14px;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:9px 12px;margin-top:24px;padding:17px;display:grid}.comparison-save-bar label>span{color:#716a61;text-transform:uppercase;letter-spacing:.065em;margin:0 0 7px 2px;font-size:10px;font-weight:850;display:block}.comparison-save-bar input{background:var(--card);width:100%;height:45px;color:var(--ink);border:1px solid #d8cfc2;border-radius:10px;padding:0 12px;font-size:13px}.comparison-save-bar .primary-button{min-height:45px;padding:0 16px}.save-cancel-button{color:var(--green);cursor:pointer;background:0 0;border:0;grid-column:1/-1;justify-self:start;padding:2px 0;font-size:10px;font-weight:850}.cheapest-suggestion{background:var(--green-soft);border:1px solid #cfe1d6;border-radius:11px;grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;gap:5px 16px;padding:14px 15px;display:grid}.cheapest-suggestion>span{color:var(--green);grid-column:1/-1;margin:0}.cheapest-suggestion strong{font-size:11px}.cheapest-suggestion button{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:850}.calculator-result{background:var(--green);color:#fff;border-radius:0 0 19px;flex-direction:column;justify-content:center;padding:32px;display:flex}.calculator-result>span{color:#cfe1d8;text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:750}.calculator-result>strong{letter-spacing:-.055em;margin:12px 0 8px;font-size:clamp(31px,3.4vw,49px);line-height:1}.calculator-result>p{color:#d8e8e0;margin:0 0 28px;font-size:14px;line-height:1.55}.calculator-result dl{border-top:1px solid #ffffff2e;margin:0}.calculator-result dl>div{border-bottom:1px solid #ffffff24;justify-content:space-between;gap:18px;padding:12px 0;display:flex}.calculator-result dt{color:#cfe1d8;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.calculator-result dd{white-space:nowrap;margin:0;font-size:13px;font-weight:800}.calculator-result.result-spend{background:#715145}.calculator-result.result-same{background:#455d53}.calculator-result-empty{color:var(--ink);background:#eef2ef}.calculator-result-empty>span,.calculator-result-empty>p{color:var(--muted)}.calculator-result-empty>strong{font-size:30px}.stacked-result{justify-content:flex-start;padding-top:36px}.stacked-result-content{width:100%;position:sticky;top:112px}.stacked-result-content>span{color:#cfe1d8;text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:750}.stacked-result-content>strong{font-family:var(--font-fraunces), Georgia, serif;letter-spacing:-.055em;margin:12px 0 8px;font-size:clamp(31px,3.4vw,49px);line-height:1;display:block}.stacked-result-content>p{color:#d8e8e0;margin:0 0 28px;font-size:14px;line-height:1.55}.calculator-result-empty .stacked-result-content>span,.calculator-result-empty .stacked-result-content>p{color:var(--muted)}.calculator-result-empty .stacked-result-content>strong{font-size:30px}.stacked-breakdown{margin-top:18px}.stacked-breakdown>div{border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:flex-start;gap:14px;padding:11px 0;display:flex}.stacked-breakdown span{color:#d5e6dd;font-size:10px;line-height:1.4}.stacked-breakdown strong{flex:none;font-size:11px}.calculator-empty{background:#f8faf8;border:1px dashed #cbd6d0;border-radius:12px;grid-column:1/-1;padding:24px}.calculator-empty strong{font-size:14px}.calculator-empty p{color:var(--muted);margin:7px 0 0;font-size:11px}.calculator-note{color:var(--muted);margin:14px 2px 0;font-size:12px}.saved-comparisons-panel{border:1px solid var(--line);background:#fffdf8d1;border-radius:19px;margin-top:38px;padding:25px}.saved-comparisons-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.saved-comparisons-heading h2{letter-spacing:-.03em;margin:0;font-size:27px}.saved-comparisons-heading p:last-child{color:var(--muted);margin:7px 0 0;font-size:13px}.saved-comparisons-heading>span{background:var(--green-soft);min-width:38px;height:38px;color:var(--green);border-radius:999px;place-items:center;font-weight:900;display:grid}.saved-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.saved-comparison-card{background:var(--card);border:1px solid #e2dbd0;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-width:0;padding:17px;display:grid}.saved-comparison-card.active{box-shadow:inset 3px 0 var(--green);border-color:#82a58d}.saved-comparison-card>div:first-child{min-width:0}.saved-comparison-card>div:first-child>span{color:var(--green-2);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:900}.saved-comparison-card h3{text-overflow:ellipsis;white-space:nowrap;margin:4px 0 3px;font-size:15px;overflow:hidden}.saved-comparison-card p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;overflow:hidden}.saved-comparison-card small{color:#948b7f;margin-top:8px;font-size:9px;display:block}.saved-comparison-actions{grid-template-columns:1fr 1fr;gap:5px;display:grid}.saved-comparison-actions button{color:#5f574e;cursor:pointer;background:#fff;border:1px solid #d8d0c5;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:800}.saved-comparison-actions button:first-child{color:#fff;border-color:var(--green);background:var(--green);grid-column:1/-1}.saved-comparison-actions .delete-saved{color:var(--red)}.saved-comparison-actions .confirm-delete{color:#fff;border-color:var(--red);background:var(--red)}.saved-comparisons-empty{text-align:left;background:#faf7f1;border:1px dashed #d7cec1;border-radius:14px;justify-content:center;align-items:center;gap:13px;min-height:112px;display:flex}.saved-comparisons-empty>span{background:var(--green-soft);width:35px;height:35px;color:var(--green);border-radius:10px;place-items:center;font-size:20px;display:grid}.saved-comparisons-empty strong{font-size:13px}.saved-comparisons-empty p{color:var(--muted);margin:4px 0 0;font-size:11px}.meal-search{width:270px}.meal-page-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.meal-page-actions button{white-space:nowrap}.backup-status{color:#637069;background:#f7f9f7;border:1px solid #dce4df;border-radius:11px;align-items:center;gap:9px;margin:-18px 0 28px;padding:11px 13px;display:flex}.backup-status>span{background:var(--green-soft);width:20px;height:20px;color:var(--green);border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:900;display:grid}.backup-status p{margin:0;font-size:11px}.backup-status.backup-needed{color:#795b22;background:#fffaf0;border-color:#eadab8}.backup-status.backup-needed>span{background:var(--amber-soft);color:var(--amber)}.meal-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.meal-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:17px;padding:21px;transition:transform .16s,box-shadow .16s,border-color .16s}.meal-card:hover{box-shadow:var(--shadow);border-color:#bdd0c5;transform:translateY(-2px)}.meal-card-top{justify-content:space-between;align-items:flex-start;min-height:40px;display:flex}.meal-icon{width:38px;height:38px;color:var(--green);background:var(--green-soft);border-radius:11px;place-items:center;font-size:11px;font-weight:900;display:grid}.review-badge{color:var(--amber);background:var(--amber-soft);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:850}.meal-card h2{letter-spacing:-.025em;margin:18px 0 7px;font-size:22px}.meal-card>p{height:36px;color:var(--muted);margin:0;font-size:12px;line-height:1.55;overflow:hidden}.meal-price{align-items:baseline;gap:7px;margin:20px 0 15px;display:flex}.meal-price strong{letter-spacing:-.04em;font-size:30px}.meal-price span{color:var(--muted);font-size:12px}.meal-stats{border-top:1px solid #edf0ee;border-bottom:1px solid #edf0ee;grid-template-columns:repeat(3,1fr);padding:13px 0;display:grid}.meal-stats span{color:var(--muted);font-size:10px}.meal-stats strong{color:var(--ink);margin-bottom:3px;font-size:12px;display:block}.meal-footer{color:var(--muted);justify-content:space-between;margin-top:15px;font-size:10px;display:flex}.meal-footer span:last-child{color:var(--green);font-weight:800}.meal-toolbar{justify-content:space-between;align-items:center;gap:20px;margin:-14px 0 20px;display:flex}.meal-toolbar>span{color:var(--muted);font-size:11px}.local-meal-card{cursor:default;padding:0;overflow:hidden}.local-meal-card:hover{box-shadow:var(--shadow);border-color:#bdd0c5;transform:translateY(-2px)}.meal-card-main{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:21px}.meal-edit-button{width:100%;color:var(--green);cursor:pointer;background:#f8faf8;border:0;border-top:1px solid #edf0ee;padding:12px;font-size:10px;font-weight:800}.meal-edit-button:hover{background:var(--green-soft)}.meal-empty{text-align:center;background:#ffffff8c;border:1px dashed #cfd9d3;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:50px 20px;display:flex}.meal-empty-icon{width:54px;height:54px;color:var(--green);background:var(--green-soft);border-radius:16px;place-items:center;font-size:25px;display:grid}.meal-empty h2{letter-spacing:-.03em;margin:18px 0 8px;font-size:24px}.meal-empty p{max-width:470px;color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.6}.daily-menu-panel{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:minmax(260px,.9fr) minmax(460px,1.5fr) minmax(220px,.7fr);align-items:center;gap:24px;margin:0 0 20px;padding:24px;display:grid}.daily-menu-copy h2{letter-spacing:-.025em;margin:0;font-size:20px}.daily-menu-copy>p:last-child{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.5}.daily-menu-controls{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.daily-menu-controls label>span{color:#6b756f;text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px 2px;font-size:9px;font-weight:800;display:block}.daily-menu-controls select{color:#45504a;background:#fff;border:1px solid #d7deda;border-radius:9px;width:100%;height:42px;padding:0 9px;font-size:11px}.monthly-estimate{background:#edf2ef;border-radius:13px;flex-direction:column;justify-content:center;min-height:108px;padding:17px 19px;display:flex}.monthly-estimate.complete{color:#fff;background:var(--green)}.monthly-estimate span,.monthly-estimate small{color:var(--muted);font-size:9px}.monthly-estimate.complete span,.monthly-estimate.complete small{color:#d4e6dc}.monthly-estimate strong{letter-spacing:-.04em;margin:7px 0 4px;font-size:28px}.secondary-button{color:#4f5b55;cursor:pointer;background:#fff;border:1px solid #cfd8d3;border-radius:11px;padding:12px 15px;font-weight:750}.secondary-button:hover{color:var(--green);border-color:#99b1a4}.secondary-button:disabled{opacity:.45;cursor:not-allowed}.primary-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.meal-editor{background:#fbfcfb;width:min(780px,100vw);height:100%;padding:42px 40px 60px;animation:.18s ease-out slide-in;position:relative;overflow-y:auto;box-shadow:0 0 70px #0d191438}.meal-editor>h2{letter-spacing:-.045em;margin:0;font-size:34px}.editor-name{margin:24px 0;display:block}.editor-name>span,.food-picker>label>span{color:#68736d;text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.editor-name input{background:#fff;border:1px solid #d6ddd9;border-radius:10px;width:100%;height:48px;padding:0 13px;font-size:14px}.editor-section{margin-top:28px}.editor-section-heading{color:#68736d;text-transform:uppercase;letter-spacing:.07em;justify-content:space-between;margin-bottom:10px;font-size:10px;font-weight:800;display:flex}.editor-section-heading small{color:#929b96;margin-left:8px}.editor-ingredients{flex-direction:column;gap:9px;display:flex}.editor-ingredients article{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:minmax(170px,1.5fr) 88px 105px 72px;align-items:end;gap:10px;padding:13px;display:grid}.editor-ingredients article.replacing{box-shadow:0 0 0 3px var(--green-soft);border-color:#6ba287}.editor-food{align-self:center;min-width:0}.editor-food strong,.editor-food small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.editor-food strong{font-size:12px}.editor-food small{color:var(--muted);margin-top:4px;font-size:9px}.editor-ingredients label>span,.editor-line-cost>span{color:var(--muted);text-transform:uppercase;margin:0 0 5px 1px;font-size:8px;font-weight:750;display:block}.editor-ingredients input,.editor-ingredients select{background:#fff;border:1px solid #d7deda;border-radius:8px;width:100%;height:36px;padding:0 7px;font-size:10px}.editor-line-cost{text-align:right;align-self:center}.editor-line-cost strong{font-size:12px}.editor-actions{grid-column:1/-1;justify-content:flex-end;gap:12px;padding-top:2px;display:flex}.editor-actions button,.cancel-replace{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:800}.editor-actions .danger-text{color:var(--red)}.editor-hint{color:var(--muted);margin:10px 0;font-size:11px}.food-picker{border:1px solid var(--line);background:#fff;border-radius:13px;margin-top:26px;padding:17px;position:relative}.food-picker .search-wrap input{height:42px}.cancel-replace{position:absolute;top:14px;right:17px}.food-picker-results{margin-top:7px}.food-picker-results button{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #edf0ee;justify-content:space-between;gap:20px;width:100%;padding:10px 4px;display:flex}.food-picker-results button:hover{background:#f7faf8}.food-picker-results span:last-child{text-align:right}.food-picker-results strong,.food-picker-results small{display:block}.food-picker-results strong{font-size:11px}.food-picker-results small{color:var(--muted);margin-top:3px;font-size:9px}.editor-footer{justify-content:space-between;align-items:center;gap:20px;margin-top:26px;display:flex}.editor-footer>div:last-child{gap:9px;display:flex}.delete-button{color:var(--red);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:800}.delete-confirm{color:var(--red);align-items:center;gap:8px;font-size:10px;display:flex}.delete-confirm button{color:var(--red);cursor:pointer;background:#fff;border:1px solid #e2c2bd;border-radius:7px;padding:6px 8px;font-size:9px}.meal-detail-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px;display:flex}.meal-detail-heading h3{margin:0}.meal-detail-heading button{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:800}.drawer-layer{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d19146b;justify-content:center;display:flex;position:fixed;inset:0}.drawer{background:#fbfcfb;width:min(590px,100vw);height:100%;padding:42px 40px 60px;animation:.18s ease-out slide-in;position:relative;overflow-y:auto;box-shadow:0 0 70px #0d191438}@keyframes slide-in{0%{opacity:.5;transform:translate(30px)}}@media (prefers-reduced-motion:reduce){.drawer,.meal-card,.meal-editor,.product-editor{transition:none;animation:none}}.drawer-close{border:1px solid var(--line);color:#64706a;cursor:pointer;background:#fff;border-radius:50%;width:34px;height:34px;font-size:22px;position:absolute;top:18px;right:20px}.drawer>h2,.drawer-title-row h2{letter-spacing:-.045em;max-width:470px;margin:0;font-size:34px}.drawer-title-row{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.drawer-title-row .secondary-button{flex:none}.drawer-subtitle{color:var(--muted);margin:9px 0 26px}.drawer-tags{margin:-13px 0 18px}.missing-summary{background:var(--red-soft);color:#875149;border:1px solid #ead2ce;border-radius:11px;margin:-3px 0 18px;padding:12px 14px;font-size:10px;line-height:1.5}.missing-summary strong,.missing-summary span{display:block}.missing-summary strong{color:var(--red);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-size:9px}.detail-hero{background:var(--line);border:1px solid var(--line);border-radius:13px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.detail-hero>div{background:#fff;min-height:92px;padding:16px}.detail-hero span,.detail-hero strong{display:block}.detail-hero span{color:var(--muted);margin-bottom:10px;font-size:10px}.detail-hero strong{font-size:18px}.detail-hero .freshness{font-size:10px}.detail-section{margin-top:28px}.detail-section h3{color:#6a746f;text-transform:uppercase;letter-spacing:.09em;margin:0 0 12px;font-size:10px}.metric-list{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:1fr 1fr;margin:0;display:grid;overflow:hidden}.metric-list>div{border-bottom:1px solid #edf0ee;justify-content:space-between;gap:12px;padding:13px 14px;display:flex}.metric-list>div:nth-child(odd){border-right:1px solid #edf0ee}.metric-list dt{color:var(--muted);font-size:10px}.metric-list dd{text-align:right;margin:0;font-size:11px;font-weight:750}.chip-list{flex-wrap:wrap;gap:7px;display:flex}.chip-list span{border:1px solid var(--line);color:#4f5b55;background:#fff;border-radius:8px;padding:7px 9px;font-size:10px}.detail-copy{border:1px solid var(--line);color:#58635d;background:#fff;border-radius:12px;margin:0;padding:15px;font-size:12px;line-height:1.6}.retailer-link{background:var(--green);color:#fff;border-radius:11px;justify-content:space-between;margin-top:25px;padding:14px 16px;font-size:12px;font-weight:800;text-decoration:none;display:flex}.meal-total{grid-template-columns:1fr 1fr;gap:10px;display:grid}.meal-total>div{background:var(--green);color:#fff;border-radius:13px;padding:19px}.meal-total span,.meal-total strong{display:block}.meal-total span{color:#cee1d7;font-size:10px}.meal-total strong{letter-spacing:-.035em;margin-top:8px;font-size:27px}.ingredient-table{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.ingredient-head,.ingredient-row{grid-template-columns:2fr .8fr .75fr .55fr;align-items:center;gap:8px;display:grid}.ingredient-head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#f3f6f4;padding:10px 12px;font-size:8px;font-weight:800}.ingredient-row{border-top:1px solid #edf0ee;padding:13px 12px;font-size:10px}.ingredient-row>span strong,.ingredient-row>span small{display:block}.ingredient-row>span small{color:var(--muted);margin-top:3px;font-size:8px}.ingredient-row em{color:var(--amber);background:var(--amber-soft);border-radius:4px;margin-top:5px;padding:3px 5px;font-size:8px;font-style:normal;font-weight:800;display:inline-block}.ingredient-row>strong{text-align:right}.meal-total-foot{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-top:18px;padding:14px;font-size:10px;display:flex}.meal-total-foot strong{color:var(--ink);margin-left:5px}.empty-state{text-align:center;color:var(--muted);padding:52px 20px}.empty-state.compact{text-align:left;gap:8px;padding:18px 0;display:flex}.empty-state span{color:#9ca7a1;font-size:24px}.empty-state p{margin:7px 0 0;font-size:12px}.empty-state.compact p{margin:2px 0 0}footer{border-top:1px solid var(--line);width:min(1440px,92vw);color:var(--muted);justify-content:space-between;margin:0 auto;padding:24px 0 38px;font-size:10px;display:flex}.product-manage-bar{background:var(--green-soft);color:var(--green);border:1px solid #cbdccf;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin:-20px 0 32px;padding:13px 15px 13px 19px;font-size:12px;font-weight:750;display:flex}.product-editor{background:#fbfcfb;width:min(790px,100vw);height:100%;padding:42px 40px 60px;animation:.18s ease-out slide-in;position:relative;overflow-y:auto;box-shadow:0 0 70px #0d191438}.product-editor>h2{letter-spacing:-.045em;margin:0;font-size:34px}.product-find{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:end;gap:10px;margin-top:24px;padding:16px;display:flex;position:relative}.product-find>label{flex:1;min-width:0}.product-find>label>span{color:#68736d;text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px 2px;font-size:10px;font-weight:850;display:block}.product-find-results{z-index:4;border:1px solid var(--line);max-height:360px;box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:6px;position:absolute;top:78px;left:16px;right:16px;overflow-y:auto}.product-find-results-header{z-index:1;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#f5f8f6;border-bottom:1px solid #e6ebe8;margin:-6px -6px 2px;padding:9px 14px;font-size:9px;font-weight:850;position:sticky;top:-6px}.product-find-results button{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #edf0ee;justify-content:space-between;gap:16px;width:100%;padding:10px;display:flex}.product-find-results button:hover{background:var(--green-soft)}.product-find-results strong,.product-find-results small{display:block}.product-find-results small{color:var(--muted)}.product-result-meta{text-align:right}.product-result-meta em{background:var(--red-soft);color:var(--red);text-transform:uppercase;border-radius:5px;margin-top:4px;padding:3px 5px;font-size:8px;font-style:normal;font-weight:850;display:inline-block}.product-find-results p{color:var(--muted);margin:0;padding:14px}.product-form-grid{grid-template-columns:1fr 1fr;gap:15px;margin-top:28px;display:grid}.product-form-grid label>span{color:#68736d;text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px 2px;font-size:10px;font-weight:850;display:block}.product-form-grid input,.product-form-grid select,.product-form-grid textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d6ddd9;border-radius:10px}.product-form-grid input,.product-form-grid select{height:45px;padding:0 12px}.product-form-grid textarea{resize:vertical;min-height:104px;padding:12px;line-height:1.5}.product-form-grid .span-2{grid-column:1/-1}.product-editor .editor-footer>span{color:var(--muted);font-size:11px;line-height:1.5}.signin-page{place-items:center;min-height:100vh;padding:28px;display:grid}.signin-card{border:1px solid var(--line);width:min(590px,100%);box-shadow:var(--shadow);text-align:center;background:#fffdf8f5;border-radius:25px;padding:clamp(30px,6vw,58px)}.signin-mark{background:var(--green);color:#fff;width:58px;height:58px;font-family:var(--font-fraunces), Georgia, serif;border-radius:18px 18px 18px 7px;place-items:center;margin:0 auto 28px;font-size:22px;font-weight:800;display:grid}.signin-card h1{letter-spacing:-.05em;margin:0;font-size:clamp(38px,7vw,54px);line-height:1.03}.signin-card>p:not(.eyebrow){color:var(--muted);margin:20px auto 26px;line-height:1.7}.signin-button{justify-content:space-between;align-items:center;width:min(330px,100%);margin:0 auto;text-decoration:none;display:flex}.signin-card small{color:var(--muted);margin-top:18px;display:block}@media (width>=1200px){.dashboard-grid{grid-template-columns:1.15fr .85fr 1fr}.wide-panel{grid-column:span 2}.action-panel{grid-column:span 1}}@media (width>=1280px){.table-panel,.table-scroll{overflow:visible}.food-table{min-width:100%}.food-table th{top:76px}}@media (width<=900px){.app-header{gap:16px;padding:0 3vw}.brand small,.cloud-status,.account-menu>span:nth-child(2){display:none}.stat-grid{grid-template-columns:1fr 1fr}.filter-grid{grid-template-columns:repeat(3,1fr)}.meal-grid{grid-template-columns:1fr 1fr}.daily-menu-panel{grid-template-columns:1fr}.daily-menu-controls{grid-template-columns:repeat(3,1fr)}.calculator-workspace{grid-template-columns:1fr}.calculator-form{border-radius:0}.calculator-result{border-radius:0 0 19px 19px;min-height:330px}.stacked-result-content{position:static}}@media (width<=620px){.app-header{flex-wrap:wrap;align-items:center;height:auto;min-height:70px;padding:10px 16px 0}.brand-mark{width:34px;height:34px}.app-header nav{order:3;justify-content:space-between;width:100%;height:42px}.app-header nav button{flex:1;padding:0 6px;font-size:12px}.data-notice{border-radius:10px;align-items:flex-start;margin:12px 12px -8px}.page-wrap{width:auto;margin:0 14px;padding:42px 0 52px}.page-intro{flex-direction:column;align-items:stretch;margin-bottom:28px}.page-intro h1{font-size:38px}.page-intro>div>p:last-child{font-size:14px}.primary-button{justify-content:space-between;width:100%;display:flex}.stat-grid{gap:9px}.stat-card{min-height:124px;padding:16px}.stat-card>strong{font-size:27px}.dashboard-grid{grid-template-columns:1fr;gap:12px}.wide-panel{grid-column:auto}.panel{padding:19px 16px}.bar-row{grid-template-columns:22px 1fr 54px}.bar-track{display:none}.metric-control{flex-direction:column;align-items:flex-start;gap:10px}.metric-control>div{flex-wrap:nowrap;width:calc(100vw - 28px);padding-bottom:4px;overflow-x:auto}.metric-control button{white-space:nowrap}.filter-card{padding:13px}.filter-grid{grid-template-columns:1fr 1fr}.table-panel{border-left:0;border-right:0;border-radius:0;margin:0 -14px}.table-note{padding-left:15px}.food-table th{top:0}.calculator-modes button{text-align:center;min-height:67px;padding:12px 8px}.calculator-modes button.active:after{left:8px;right:8px}.calculator-modes span{font-size:11px}.calculator-modes small{font-size:8px}.calculator-form{padding:24px 16px}.calculator-form h2{font-size:24px}.calculator-fields{grid-template-columns:1fr}.food-search-results{max-height:min(62vh,520px)}.product-swap-card{padding:14px}.product-swap-heading{gap:10px}.swap-line-result{flex-direction:column;align-items:flex-start;gap:3px}.comparison-save-bar{grid-template-columns:1fr;padding:14px}.comparison-save-bar .primary-button{width:100%}.save-cancel-button{grid-column:auto}.cheapest-suggestion{grid-column:auto;grid-template-columns:1fr}.calculator-result{min-height:300px;padding:27px 22px}.saved-comparisons-panel{margin-top:28px;padding:18px 14px}.saved-comparisons-heading h2{font-size:24px}.saved-comparison-grid{grid-template-columns:1fr}.saved-comparison-card{grid-template-columns:1fr;gap:13px}.saved-comparison-actions{grid-template-columns:repeat(3,1fr)}.saved-comparison-actions button:first-child{grid-column:auto}.meal-search{width:100%}.meal-toolbar{flex-direction:column;align-items:stretch;gap:8px}.meal-page-actions{justify-content:stretch}.meal-page-actions button{flex:1}.meal-page-actions .primary-button{flex-basis:100%}.meal-grid{grid-template-columns:1fr;gap:11px}.daily-menu-panel{gap:18px;padding:18px}.daily-menu-controls{grid-template-columns:1fr}.meal-editor{padding:54px 16px 40px}.meal-editor>h2{font-size:30px}.editor-ingredients article{grid-template-columns:1fr 1fr}.editor-food{grid-column:1/-1}.editor-line-cost{text-align:left}.editor-footer{flex-direction:column-reverse;align-items:stretch}.editor-footer>div:last-child{width:100%}.editor-footer>div:last-child button{flex:1}.drawer,.product-editor{padding:54px 18px 40px}.product-editor>h2{font-size:30px}.product-find{flex-direction:column;align-items:stretch}.product-find .secondary-button{width:100%}.product-form-grid{grid-template-columns:1fr}.product-form-grid .span-2{grid-column:auto}.product-manage-bar{flex-direction:column;align-items:stretch}.drawer>h2,.drawer-title-row h2{font-size:30px}.drawer-title-row{flex-direction:column;align-items:stretch}.drawer-title-row .secondary-button{width:max-content}.detail-hero{grid-template-columns:1fr 1fr}.detail-hero>div:last-child{grid-column:span 2;min-height:72px}.metric-list{grid-template-columns:1fr}.metric-list>div:nth-child(odd){border-right:0}.ingredient-head,.ingredient-row{grid-template-columns:1.6fr .7fr .65fr}.ingredient-head span:last-child,.ingredient-row>strong:last-child{display:none}footer{flex-direction:column;gap:6px;width:auto;margin:0 14px}}
