/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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{.fixed{position:fixed}.static{position:static}}:root{--bg:#f5f5ef;--surface:#fff;--surface-soft:#edf2e4;--surface-softer:#f6f8f1;--surface-inverse:#1e5c3a;--ink:#1d2a21;--ink-strong:#132118;--muted:#4e5d47;--primary:#1e5c3a;--primary-hover:#17492d;--primary-press:#123a24;--primary-ink:#1c5136;--primary-soft:#e3eedd;--accent:#b26a12;--amber-bg:#faecd2;--amber-ink:#7c5410;--danger:#9c3527;--danger-bg:#fdf0ec;--danger-border:#efc4ba;--danger-solid:#8e3534;--border:#e1e7d7;--border-strong:#c7d2ba;--border-hover:#a9bb97;--ring:#1e5c3a40;--focus:#2e7d4f;--hero-a:#e9f0da;--hero-b:#d9e7c6;--art-0:#e9efdb;--art-1:#f2e8d3;--art-2:#e8edeb;--loc-fridge:#eef2e4;--loc-freezer:#e9f0f1;--loc-pantry:#f6efe0;--shelf-line:#b6b18e;--shadow-sm:0 1px 2px #172b200d, 0 1px 3px #172b200d;--shadow-md:0 10px 28px -10px #172b2029, 0 3px 8px -3px #172b2014;--shadow-lg:0 24px 48px -16px #172b2038, 0 6px 16px -6px #172b201a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--ease:cubic-bezier(.2, .7, .3, 1);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6}@media (prefers-color-scheme:dark){:root{--bg:#0f150f;--surface:#171f16;--surface-soft:#20301f;--surface-softer:#1a241a;--surface-inverse:#2a7a49;--ink:#e9eee0;--ink-strong:#f5f8ef;--muted:#a9b69d;--primary:#2a7a49;--primary-hover:#35935a;--primary-press:#23703f;--primary-ink:#93d3a6;--primary-soft:#1d2f21;--accent:#e0a458;--amber-bg:#33270f;--amber-ink:#eec27f;--danger:#f0a294;--danger-bg:#2e1b16;--danger-border:#5f3427;--danger-solid:#8c3a2d;--border:#2b382a;--border-strong:#3d4f39;--border-hover:#55704d;--ring:#52b27859;--focus:#6fce8f;--hero-a:#1d2f1a;--hero-b:#152410;--art-0:#232d1e;--art-1:#2c2718;--art-2:#22302c;--loc-fridge:#1e2b1c;--loc-freezer:#1d2a2c;--loc-pantry:#2b2415;--shelf-line:#6d6a4e;--shadow-sm:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-md:0 10px 28px -10px #0000008c, 0 3px 8px -3px #0006;--shadow-lg:0 24px 48px -16px #000000a6, 0 6px 16px -6px #00000073}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);margin:0}::selection{background:var(--primary-soft)}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:3px;text-decoration:none}a:hover{text-decoration:underline}p{margin:0 0 16px}h1,h2,h3{color:var(--ink-strong);letter-spacing:-.03em;margin:0;font-weight:650;line-height:1.2}h1{font-size:34px}h2{font-size:22px}h3{font-size:17px}small{color:var(--muted);font-size:12.5px;line-height:1.6;display:block}button{cursor:pointer}button:disabled,.disabled{opacity:.55;cursor:wait}input,select{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-width:0;min-height:46px;color:var(--ink);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);border-radius:10px;padding:10px 12px}input:hover,select:hover{border-color:var(--border-hover)}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring);outline:none}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--primary);flex-shrink:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2.5px solid var(--focus);outline-offset:3px;border-radius:4px}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset:disabled{opacity:1}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:30;flex-direction:column;width:240px;padding:30px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-.7px;white-space:nowrap;color:var(--ink-strong);align-items:center;gap:11px;font-size:19px;font-weight:650;display:flex}.brand:hover{text-decoration:none}.brand-mark{background:linear-gradient(145deg, #2c7a4b, var(--primary-hover));color:#fff;width:38px;height:43px;box-shadow:var(--shadow-md);border-radius:13px 13px 19px;flex-shrink:0;place-items:center;display:grid}.brand-light{font-weight:400}.brand small{letter-spacing:.1px;padding-top:3px;font-size:10.5px;font-weight:400}.nav-label{letter-spacing:1.6px;color:var(--muted);margin:46px 12px 12px;font-size:10.5px;font-weight:600}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar nav a,.sidebar-bottom>a,.nav-button{color:var(--muted);text-align:left;min-height:46px;transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:11px 13px;font-size:13.5px;font-weight:500;display:flex}.sidebar nav a.active{background:var(--primary-soft);color:var(--primary-ink);box-shadow:inset 3px 0 0 var(--primary);font-weight:650}.sidebar nav a:hover,.sidebar-bottom>a:hover,.nav-button:hover{background:var(--surface-softer);color:var(--ink);text-decoration:none}.sidebar-bottom{margin-top:auto;padding-top:42px}.sidebar-note{color:var(--muted);gap:14px;margin-bottom:20px;padding:18px 12px;display:flex}.sidebar-note p{margin:0;font-family:Georgia,serif;font-size:16px;font-style:italic;line-height:1.6}.nav-button{width:100%}.workspace{width:calc(100% - 240px);margin-left:240px}.topbar{z-index:40;border-bottom:1px solid var(--border);background:var(--bg);height:72px;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in srgb, var(--bg) 82%, transparent)}}.topbar{-webkit-backdrop-filter:blur(14px)saturate(1.5);backdrop-filter:blur(14px)saturate(1.5);justify-content:space-between;align-items:center;padding:0 42px;display:flex}.topbar-caption{letter-spacing:.1px;color:var(--muted);font-size:12.5px}.topbar>div{align-items:center;gap:14px;display:flex}.topbar .icon-button{position:relative}.nav-badge{background:var(--danger-solid);color:#fff;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;top:1px;right:1px}.avatar{background:var(--primary-soft);width:36px;height:36px;color:var(--primary-ink);transition:box-shadow .15s var(--ease);border-radius:50%;place-items:center;display:grid}.avatar:hover{box-shadow:0 0 0 3px var(--ring);text-decoration:none}main{outline:none;max-width:1480px;margin:auto;padding:40px 44px 80px}.page-heading{justify-content:space-between;align-items:center;gap:22px;margin-bottom:30px;display:flex}.page-heading .muted{margin:10px 0 0;font-size:15px}.eyebrow{letter-spacing:1.8px;color:var(--muted);margin:0 0 11px;font-size:11px;font-weight:700}.muted{color:var(--muted)}.small{font-size:12.5px}.button{background:var(--primary);color:#fff;border:1px solid var(--primary);letter-spacing:.1px;min-height:44px;box-shadow:var(--shadow-sm);transition:background .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), transform .18s var(--ease);border-radius:11px;justify-content:center;align-items:center;gap:9px;padding:11px 19px;font-size:13.5px;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.button:hover{background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-1px)}.button:active{background:var(--primary-press);border-color:var(--primary-press);box-shadow:var(--shadow-sm);transform:translateY(0)}.button.secondary{background:var(--surface);color:var(--primary-ink);border-color:var(--border-strong)}.button.secondary:hover{background:var(--surface-softer);border-color:var(--border-hover)}.button.light{color:#31563c;background:#fbfcf5;border-color:#fbfcf5}.button.light:hover{background:#fff;border-color:#fff}@media (prefers-color-scheme:dark){.button.light{color:#20402c;background:#e9f2df;border-color:#e9f2df}}.button.danger{background:var(--danger-solid);border-color:var(--danger-solid)}.button.danger:hover{background:var(--danger-solid);border-color:var(--danger-solid);filter:brightness(1.1)}.button.full{width:100%}.button.small-button{padding:8px 13px;font-size:12.5px}.text-button{color:var(--primary-ink);background:0 0;border:0;min-height:44px;padding:10px 0;font-size:13px;font-weight:600}.text-button:hover{text-underline-offset:3px;text-decoration:underline}.icon-button{min-width:44px;min-height:44px;color:var(--muted);transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--surface-soft);color:var(--ink);text-decoration:none}.danger-text{color:var(--danger)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:22px;padding:26px}.welcome-panel{background:radial-gradient(560px 300px at 88% -30%, #ffffff8c, transparent 65%), linear-gradient(130deg, var(--hero-a), var(--hero-b));border:1px solid var(--border);border-radius:var(--radius-xl);min-height:280px;box-shadow:var(--shadow-md);justify-content:space-between;padding:38px 42px;display:flex;position:relative;overflow:hidden}.welcome-panel h2{letter-spacing:-1px;color:var(--ink-strong);margin:15px 0;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:400;line-height:1.14}.welcome-panel p{color:var(--muted);margin-bottom:19px;font-size:13.5px;line-height:1.8}.badge{background:var(--surface-soft);color:var(--muted);letter-spacing:.5px;border-radius:999px;align-items:center;padding:5px 11px;font-size:10.5px;font-weight:700;line-height:1.4;display:inline-flex}.badge.green{background:var(--primary-soft);color:var(--primary-ink)}.badge.amber{background:var(--amber-bg);color:var(--amber-ink)}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 28px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:14px;padding:20px 22px}.stat>span{letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600;display:block}.stat>strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink-strong);margin:5px 0 3px;font-size:30px;font-weight:600;display:block}.stat>small{color:var(--muted);font-size:11px}.dashboard-columns{grid-template-columns:1.15fr 1fr;gap:24px;display:grid}.section-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.section-title h2{letter-spacing:-.3px;font-size:17px}.section-title>a{color:var(--primary-ink);align-items:center;gap:5px;font-size:11.5px;font-weight:600;display:inline-flex}.empty{text-align:center;color:var(--muted);padding:44px 20px}.empty h2{margin:14px 0 10px;font-size:18px}.empty p{max-width:360px;margin:0 auto 18px;font-size:13px}.empty-icon{background:var(--surface-soft);width:54px;height:54px;color:var(--primary-ink);border-radius:50%;place-items:center;margin:0 auto;font-size:22px;display:grid}.location-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.location-card{background:var(--loc-fridge);border:1px solid var(--border);color:var(--muted);transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);border-radius:14px;padding:22px 18px}.location-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);text-decoration:none;transform:translateY(-2px)}.location-card h3{margin:19px 0 5px;font-size:14px}.location-card span{font-size:11px}.location-card.freezer{background:var(--loc-freezer)}.location-card.pantry{background:var(--loc-pantry)}.receipt-preview-list>a{border-bottom:1px solid var(--border);transition:background .15s var(--ease);border-radius:10px;align-items:center;gap:12px;margin:0 -10px;padding:13px 10px;display:flex}.receipt-preview-list>a:hover{background:var(--surface-softer);text-decoration:none}.receipt-preview-list>a>span:nth-child(2){flex:1}.receipt-preview-list strong{font-size:13px}.store-icon{background:var(--surface-soft);border:1px solid var(--border);width:42px;height:44px;color:var(--primary-ink);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.notice{background:var(--primary-soft);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:14px;margin:18px 0;padding:17px 20px;font-size:13px;display:flex}.notice p{margin:0}.notice a{font-weight:600;text-decoration:underline}.notice h2{width:100%;font-size:18px}.small-callout{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:18px;margin-top:22px;padding:24px 0;display:flex}.small-callout h3{font-family:Georgia,serif;font-size:20px;font-weight:400}.small-callout p{margin:6px 0 0;font-size:12px}.small-callout .button{flex-shrink:0;margin-left:auto}.demo-banner{background:var(--amber-bg);color:var(--amber-ink);letter-spacing:.3px;text-align:center;padding:9px 25px;font-size:11px;font-weight:600}.mobile-nav{display:none}.field{flex-direction:column;gap:7px;min-width:0;margin:0 0 16px;display:flex}.field>label{color:var(--muted);font-size:12.5px;font-weight:600}.field small{font-size:11px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.checkbox-line{align-items:flex-start;gap:11px;min-height:44px;margin:17px 0;font-size:13px;display:flex}.checkbox-line input{margin-top:2px}.error{border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-bg);color:var(--danger);overflow-wrap:anywhere;margin-bottom:19px;padding:16px 18px;font-size:13.5px}.loading{color:var(--muted);align-items:center;gap:11px;padding:24px;font-size:13.5px;display:flex}.loading:before{content:"";border:2.5px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;flex-shrink:0;width:17px;height:17px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.receipt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.receipt-card{transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease)}.receipt-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.receipt-card h2{margin:15px 0 7px;font-size:20px}.receipt-card p{color:var(--muted);font-size:12.5px}.receipt-total{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink-strong);margin:20px 0;font-size:28px;font-weight:500;display:block}.card-link{color:var(--primary-ink);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.upload-panel{text-align:center;border:1.5px dashed var(--border-strong);border-radius:var(--radius-xl);background:radial-gradient(480px 240px at 50% -60px, var(--primary-soft), transparent 70%), var(--surface);max-width:740px;box-shadow:none;margin:15px auto;padding:54px 48px}.upload-symbol{background:var(--primary-soft);width:76px;height:76px;color:var(--primary-ink);box-shadow:var(--shadow-sm);border-radius:24px;place-items:center;margin:0 auto 22px;display:grid}.upload-panel h2{margin-bottom:14px;font-family:Georgia,serif;font-size:26px;font-weight:400}.upload-panel p{color:var(--muted);font-size:13px}.upload-panel .field{text-align:left;max-width:270px;margin:25px auto}.upload-panel .checkbox-line{text-align:left;background:var(--surface-softer);border:1px solid var(--border);border-radius:var(--radius-md);margin:25px 0;padding:18px}.upload-panel>.button{margin:5px}.upload-panel>small{margin-top:20px}.review-layout{grid-template-columns:minmax(200px,.7fr) minmax(400px,1.6fr);align-items:start;gap:22px;display:grid}.review-layout.zoomed{grid-template-columns:1.2fr 1fr}.receipt-source{max-height:calc(100vh - 120px);padding:20px;position:sticky;top:92px;overflow:auto}.receipt-source img{object-fit:contain;border-radius:var(--radius-sm);width:100%;height:auto}.receipt-source h2{font-size:15px}.review-form{min-width:0;padding:26px}.review-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:border-color .15s var(--ease);gap:10px;margin:14px 0;padding:17px 13px;display:flex}.review-item:hover{border-color:var(--border-strong)}.item-number{color:var(--muted);padding-top:25px;font-size:11px}.item-fields{flex:1;min-width:0}.item-main{grid-template-columns:minmax(130px,1fr) 70px 100px 25px;gap:9px;display:grid}.item-main input{font-size:13px}.item-main .icon-button{align-self:center;min-width:25px;margin-top:10px}.item-secondary{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.item-secondary .field{flex:1;min-width:120px}.quantity-note{color:var(--muted);max-width:130px;font-size:11px}.review-item .field>span{font-size:11px}details{border-top:1px solid var(--border);margin-top:10px;padding-top:13px}summary{cursor:pointer;color:var(--muted);min-height:44px;transition:color .15s var(--ease);padding:7px 0;font-size:12px;font-weight:600}summary:hover{color:var(--primary-ink)}details .form-grid{margin-top:15px}.product-suggestion{background:var(--primary-soft);border-radius:10px;align-items:center;gap:12px;margin-top:10px;padding:13px;font-size:12.5px;display:flex}.product-suggestion>div{flex:1}.product-suggestion small a{text-decoration:underline}.totals-panel{border-top:1px solid var(--border);margin-top:25px;padding-top:24px}.save-status{color:var(--muted);font-size:11.5px}.danger-zone{margin-top:24px}.danger-zone h2{color:var(--danger)}.putaway-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.putaway-row>.field{width:220px;margin:0}.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.lot-card{transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease)}.lot-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.lot-card h2{margin:15px 0 10px;font-size:19px}.lot-card .section-title{gap:5px}.lot-card .section-title .small{font-size:10px}.stock-amount{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink-strong);margin-bottom:20px;font-size:24px;font-weight:500;display:block}.date-note{color:var(--amber-ink);background:var(--amber-bg);border-radius:var(--radius-sm);padding:10px;font-size:11.5px}.stock-actions{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.filter-row{align-items:center;gap:20px;margin-bottom:17px;display:flex}.filter-row .field:first-child{flex:1}.filter-row .field:nth-child(2){min-width:170px}.search-input{align-items:center;display:flex;position:relative}.search-input>svg{color:var(--muted);position:absolute;left:12px}.search-input input{padding-left:38px}.event-list{border-left:1px solid var(--border-strong);padding-left:12px;font-size:11px}.event-list>div{padding:10px 0}.event-list strong{margin-right:10px}.event-list small{font-size:10.5px}.recipe-options{align-items:end;gap:15px;display:flex}.recipe-options .field{flex:1;max-width:180px;margin:0}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.recipe-card{transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);padding:0;overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);text-decoration:none;transform:translateY(-3px)}.recipe-art{background:var(--art-0);place-items:center;height:180px;display:grid}.recipe-art span{filter:drop-shadow(4px 8px #0000000d);font-size:82px;transform:rotate(-10deg)}.art-1{background:var(--art-1)}.art-2{background:var(--art-2)}.recipe-card-content{padding:22px}.recipe-card h2{min-height:55px;margin:15px 0;font-family:Georgia,serif;font-size:23px;font-weight:400}.recipe-card p{color:var(--muted);font-size:12px}.coverage{background:var(--surface-soft);border-radius:4px;height:6px;margin:16px 0 23px;overflow:hidden}.coverage span{background:linear-gradient(90deg, var(--primary), #4c9464);border-radius:4px;height:100%;display:block}.ingredient-list>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.ingredient-list{margin:15px 0 25px}.recipe-steps{margin:22px 0;padding-left:22px}.recipe-steps li{color:var(--muted);margin:20px 0;padding-left:7px}.shopping-add{align-items:end;gap:14px;display:flex}.shopping-add .field{margin:0}.shopping-add .field:first-child{flex:1}.shopping-add .field:nth-child(2){max-width:110px}.shopping-add .field:nth-child(3){width:95px}.shopping-row{border-bottom:1px solid var(--border);transition:background .15s var(--ease);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin:0 -10px;padding:13px 10px;display:flex}.shopping-row:hover{background:var(--surface-softer)}.shopping-row .checkbox-line{align-items:center;margin:0}.shopping-row.checked strong{color:var(--muted);text-decoration:line-through}.settings-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:28px;display:flex;overflow:auto}.settings-tabs a{min-height:47px;color:var(--muted);white-space:nowrap;transition:background .15s var(--ease), color .15s var(--ease);border-radius:10px 10px 0 0;padding:12px 18px;font-size:13px;font-weight:500;display:block}.settings-tabs a:hover{background:var(--surface-softer);color:var(--ink);text-decoration:none}.settings-tabs .selected{border-bottom:2.5px solid var(--primary);color:var(--primary-ink);font-weight:650}.settings-tabs+a{display:block}.summary-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:17px 0;display:flex}.summary-row:last-child{border:0}.summary-row small{font-size:11px}.observation-list>div{border-bottom:1px solid var(--border);transition:background .15s var(--ease);border-radius:10px;grid-template-columns:1fr 1fr auto;align-items:center;gap:20px;margin:0 -10px;padding:20px 10px;font-size:13px;display:grid}.observation-list>div:hover{background:var(--surface-softer)}.observation-list a{color:var(--primary-ink);font-size:12px;font-weight:600}.observation-list a svg{vertical-align:middle;display:inline-block}.usage-row{gap:50px;margin:25px 0;display:flex}.usage-row strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink-strong);font-size:28px;font-weight:500;display:block}.usage-row span{color:var(--muted);font-size:12px;display:block}.trial-panel h2{margin:18px 0 12px}.notification-list .read{opacity:.7}.notification-list .text-button{margin-left:25px}.pantry-illustration{opacity:1;flex-shrink:0;align-self:center;width:280px;height:225px;margin-right:25px;position:relative;transform:rotate(-2deg)}.shelf{border-bottom:9px solid var(--shelf-line);justify-content:center;align-items:end;gap:19px;width:260px;height:116px;display:flex;position:absolute;bottom:100px;left:10px;box-shadow:0 6px #69774c12}.shelf.lower{width:260px;height:86px;bottom:8px}.jar{background:repeating-linear-gradient(85deg,#c8b96f 0 4px,#dace96 4px 7px);border:3px solid #d2d8bd;border-radius:8px 8px 11px 11px;width:53px;height:91px;position:relative;box-shadow:inset 4px 0 #fff6,3px 4px #75805c17}.jar:before{content:"";background:#a0ad87;border:2px solid #8a9875;border-radius:3px;height:11px;position:absolute;top:-9px;left:-5px;right:-5px}.jar span{text-align:center;letter-spacing:1px;color:#52634d;background:#f7f5e9;border:1px solid #d7d9c2;padding:5px 1px;font-size:7px;position:absolute;top:35%;left:5px;right:5px}.jar-rice{background:repeating-linear-gradient(25deg,#f1e9cd 0 2px,#ded8b8 2px 3px);width:60px;height:72px}.jar-beans{background:radial-gradient(at 5px 5px,#946848 3px,#d3aa78 4px 5px) 0 0/12px 12px;height:66px}.bottle{background:#738750;border:3px solid #647944;border-radius:13px 13px 6px 6px;width:42px;height:113px;position:relative}.bottle:before{content:"";background:#88916c;border-radius:3px;width:18px;height:20px;position:absolute;top:-19px;left:9px}.bottle span{color:#52634d;text-align:center;background:#e5dfbb;padding:13px 2px;font-size:6px;position:absolute;top:45px;left:3px;right:3px}.produce{font-size:56px;line-height:1.3;transform:rotate(12deg)}.illustration-note{color:var(--muted);font-family:Georgia,serif;font-size:12px;font-style:italic;position:absolute;bottom:-25px;right:30px}.auth-page{max-width:560px;margin:64px auto;padding:20px}.auth-page>.brand{justify-content:center;margin-bottom:38px}.auth-page .brand{font-size:21px}.auth-page .panel{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:40px}.auth-page h1{margin:16px 0 20px;font-family:Georgia,serif;font-size:36px;font-weight:400}.auth-page .button{width:100%;margin-bottom:18px}.auth-page .panel>a{font-size:13px;text-decoration:underline}.marketing{max-width:1180px;margin:0 auto;padding:28px 35px 80px}.marketing>header{z-index:40;background:var(--bg);justify-content:space-between;align-items:center;gap:20px;margin:0 -20px;padding:14px 20px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.marketing>header{background:color-mix(in srgb, var(--bg) 84%, transparent)}}.marketing>header{-webkit-backdrop-filter:blur(14px)saturate(1.5);backdrop-filter:blur(14px)saturate(1.5);border-bottom:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.marketing>header nav{align-items:center;gap:26px;font-size:13.5px;font-weight:500;display:flex}.marketing>header nav a:not(.button):hover{color:var(--primary-ink)}.marketing-hero{text-align:center;background:radial-gradient(640px 320px at 50% -40px, var(--primary-soft), transparent 70%);padding:96px 0 78px}.marketing-hero h1{letter-spacing:-2.5px;margin:22px 0 27px;font-family:Georgia,serif;font-size:clamp(46px,7vw,76px);font-weight:400;line-height:1.03}.marketing-hero em{color:var(--primary-ink)}.marketing-hero>p:not(.eyebrow){color:var(--muted);font-size:17.5px;line-height:1.8}.marketing-hero .button{margin:12px 0;padding:14px 26px;font-size:14.5px}.marketing-hero small{margin-top:7px;font-size:11.5px}.marketing-features{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.marketing-features .panel{border-radius:var(--radius-lg);transition:transform .18s var(--ease), box-shadow .18s var(--ease);padding:32px}.marketing-features .panel:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.marketing-features h2{margin:20px 0 15px;font-family:Georgia,serif;font-size:24px;font-weight:400}.marketing-features p{color:var(--muted);font-size:13.5px;line-height:1.7}.marketing footer{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-top:40px;font-size:11px;display:flex}.marketing>.brand{margin-bottom:46px}.pricing-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.pricing-grid .panel{border-radius:var(--radius-lg);padding:30px}.pricing-grid h2{font-variant-numeric:tabular-nums;margin:20px 0;font-size:34px}.pricing-grid p{color:var(--muted);font-size:14.5px}.visually-hidden{clip:rect(1px, 1px, 1px, 1px);white-space:nowrap;overflow:hidden;width:1px!important;height:1px!important;position:absolute!important}.skip-link{z-index:100;background:var(--surface);color:var(--primary-ink);box-shadow:var(--shadow-md);transition:transform .18s var(--ease);border-radius:10px;padding:13px 18px;font-weight:600;position:fixed;top:10px;left:20px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}@media (width>=1600px){main{padding-top:52px}.welcome-panel{min-height:310px}.welcome-panel h2{font-size:43px}}@media (width<=1200px){.sidebar{width:212px;padding:28px 16px}.workspace{width:calc(100% - 212px);margin-left:212px}main{padding:32px 26px 70px}.topbar{padding:0 26px}.pantry-illustration{transform-origin:100%;width:245px;margin-right:0;transform:scale(.85)}.welcome-panel{padding:32px}.welcome-panel h2{font-size:33px}.stat{padding:16px}.stat>strong{font-size:26px}.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-layout{grid-template-columns:1fr}.receipt-source{max-height:300px;position:static;overflow:auto}.receipt-source img{object-fit:contain;max-height:230px}.review-layout.zoomed{grid-template-columns:1fr}.review-layout.zoomed .receipt-source,.review-layout.zoomed .receipt-source img{max-height:none}.recipe-options{flex-wrap:wrap}.recipe-card h2{font-size:21px}.recipe-card-content{padding:17px}}@media (width<=800px){.sidebar{width:74px;padding:25px 12px}.brand>span:not(.brand-mark),.nav-label,.sidebar-note,.sidebar nav a{font-size:0}.sidebar nav a{box-shadow:none;gap:0;padding:10px 14px}.sidebar nav a svg{flex-shrink:0}.sidebar nav{margin-top:40px}.sidebar-bottom>a,.nav-button{gap:0;padding-left:16px;font-size:0}.workspace{width:calc(100% - 74px);margin-left:74px}h1{font-size:30px}.page-heading{align-items:flex-start}.pantry-illustration{display:none}.welcome-panel{min-height:265px}.dashboard-columns{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.receipt-grid,.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-grid .recipe-card:last-child{grid-column:span 2}.marketing-hero{padding:70px 0}.marketing-features{grid-template-columns:1fr}.observation-list>div{grid-template-columns:1fr 1fr}.observation-list>div>a{grid-column:span 2}.filter-row,.shopping-add{flex-wrap:wrap}.shopping-add .field:first-child{flex-basis:100%}}@media (width<=540px){:root{font-size:15px}.sidebar{display:none}.workspace{width:100%;margin:0}.topbar{height:60px;padding:0 18px}.topbar-caption{font-size:11px}.topbar>div{gap:6px}.demo-banner{padding:8px 15px;font-size:10px}main{padding:26px 16px 112px}.page-heading{flex-wrap:wrap;gap:17px;margin-bottom:22px}.page-heading>.button{width:100%}h1{font-size:29px}.page-heading .muted{font-size:13px}.eyebrow{letter-spacing:1.5px;font-size:10px}.welcome-panel{min-height:270px;padding:26px}.welcome-panel h2{font-size:32px}.welcome-panel p{font-size:12.5px}.welcome-panel .button{min-height:44px}.stats-grid{gap:10px;margin:15px 0 20px}.stat{padding:16px}.stat>span{font-size:10px}.stat>strong{font-size:25px}.stat>small{font-size:10px}.panel{margin-bottom:17px;padding:20px}.dashboard-columns{gap:0}.location-card{padding:16px 12px}.location-card h3{margin-top:13px}.small-callout{flex-wrap:wrap;gap:12px;margin-top:10px}.small-callout>svg{display:none}.small-callout .button{width:100%;margin:5px 0}.small-callout h3{font-size:19px}.mobile-nav{background:var(--surface);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.mobile-nav{background:color-mix(in srgb, var(--surface) 88%, transparent)}}.mobile-nav{-webkit-backdrop-filter:blur(16px)saturate(1.5);backdrop-filter:blur(16px)saturate(1.5);border-top:1px solid var(--border);z-index:50;padding:8px 3px max(8px, env(safe-area-inset-bottom));box-shadow:0 -6px 20px -12px #172b2040}.mobile-nav a{min-width:58px;min-height:46px;color:var(--muted);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10.5px;font-weight:500;display:flex;position:relative}.mobile-nav a.active{color:var(--primary-ink);font-weight:700}.mobile-nav a.active:before{content:"";background:var(--primary);border-radius:3px;width:28px;height:3px;position:absolute;top:0}.receipt-grid,.inventory-grid,.recipe-grid{grid-template-columns:1fr}.recipe-grid .recipe-card:last-child{grid-column:auto}.receipt-card{padding:23px}.form-grid,.review-form .form-grid{grid-template-columns:1fr 1fr;gap:12px}.form-grid>.field:first-child{grid-column:span 2}.review-form{padding:16px}.review-layout{gap:0}.review-item{gap:5px;padding:13px 9px}.item-main{grid-template-columns:1fr 1fr 30px;gap:9px}.item-main>.field:first-child{grid-column:1/4;margin-bottom:5px}.item-main .icon-button{min-width:30px}.item-number{display:none}.item-secondary{gap:10px}.item-secondary .field{min-width:100px}.quantity-note{width:100%;max-width:none;margin-bottom:8px}.product-suggestion{flex-wrap:wrap}.product-suggestion .button{width:100%}.upload-panel{padding:32px 20px}.upload-panel h2{font-size:23px}.upload-panel>.button{width:100%;margin:10px 0;display:flex}.checkbox-line{font-size:12px}.putaway-row{flex-wrap:wrap;gap:15px}.putaway-row>.field,.putaway-row>div{width:100%}.filter-row{gap:12px}.filter-row .field:first-child{flex-basis:100%}.filter-row .field:nth-child(2){flex:1}.filter-row .checkbox-line{flex:1;margin:0}.recipe-options{grid-template-columns:1fr 1fr;gap:13px;display:grid}.recipe-options .field{max-width:none}.recipe-options .button{grid-column:span 2}.recipe-art{height:180px}.recipe-card h2{min-height:0;font-size:24px}.recipe-card-content{padding:23px}.shopping-add .button{flex:1}.shopping-add .field:nth-child(2){flex:1;max-width:none}.settings-tabs{margin:0 -16px 23px;padding:0 8px}.settings-tabs a{padding:13px;font-size:11px}.usage-row{gap:20px}.usage-row>div{flex:1}.usage-row strong{font-size:24px}.observation-list>div{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.danger-zone .button{width:100%}.marketing{padding:20px 18px 60px}.marketing>header{margin:0 -10px;padding:12px}.marketing>header>.brand{font-size:16px}.marketing>header nav{gap:15px}.marketing>header nav>.button{display:none}.marketing-hero{padding:64px 0 45px}.marketing-hero>p:not(.eyebrow){font-size:15px}.marketing-hero .button{width:100%;font-size:13px}.pricing-grid{grid-template-columns:1fr}.auth-page{margin:28px auto;padding:16px}.auth-page .panel{padding:28px}.desktop{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
