@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_e717b09a-module__ATMw8q__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_e717b09a-module__ATMw8q__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f6f4;--surface:#fff;--surface-2:#efefec;--ink:#1f1d1b;--muted:#5a5754;--muted-2:#635f5a;--border:#e4e3df;--primary:#b5342a;--primary-strong:#98291f;--primary-soft:#fbe7e4;--primary-soft-border:#f2c9c3;--radius:.625rem;--shadow:0 1px 2px #1111110a, 0 6px 20px #1111110f;font-family:var(--font-inter), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;background:var(--bg);color:var(--ink)}h1,h2,h3,.brand,.pantry-brand,.choose-title{font-family:var(--font-inter), system-ui, sans-serif;letter-spacing:-.02em;font-weight:700}*{box-sizing:border-box}body{min-height:100vh;margin:0}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .75rem;font-size:.8rem;font-weight:700}h1{margin:0;font-size:clamp(2rem,8vw,3.25rem);line-height:1.05}p{max-width:48ch;color:var(--muted);margin:1.25rem 0 0;font-size:1.05rem;line-height:1.6}button,input{font:inherit}button,.primary-button,.secondary-button{cursor:pointer;min-height:44px}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.onboarding,.auth-main,.placeholder{background:var(--bg);min-height:100dvh;color:var(--ink);place-items:center;padding:24px;display:grid}.onboarding-card{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;gap:16px;width:min(100%,480px);min-height:min(100dvh - 48px,760px);padding:24px;display:flex}.onboarding-card h1{font-size:clamp(1.75rem,6vw,2rem)}.onboarding-card h2{margin:8px 0 0;font-size:1rem}.onboarding-card p{color:var(--muted);margin:0;font-size:.95rem}.brand{font-size:1rem;font-weight:700}.label,label{color:var(--muted);gap:6px;font-size:.85rem;font-weight:700;display:grid}input{border:1px solid var(--border);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:6px;padding:10px 12px}.primary-button{background:var(--primary);color:#fff;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 14px;font-weight:700;text-decoration:none;display:inline-flex}.secondary-button{border:1px solid var(--border);width:100%;color:var(--ink);background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:12px;text-decoration:none;display:inline-flex}.text-action{color:var(--muted);text-align:left;background:0 0;border:0;padding:6px 0;text-decoration:underline}.action-reason{font-size:.85rem!important}.action-group{gap:6px;display:grid}footer{border-top:1px solid var(--border);gap:10px;margin-top:auto;padding-top:12px;display:grid}.member,.inventory-row,.summary{border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:10px 12px;display:flex}.summary{border-radius:8px;gap:6px;display:grid}.chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip{border:1px solid var(--border);background:#fff;border-radius:999px;min-height:36px;padding:6px 12px}.progress{background:var(--border);border-radius:8px;width:120px;height:6px;overflow:hidden}.progress i{background:var(--ink);height:100%;transition:width .16s;display:block}.save-status{min-height:20px}.center,.success{text-align:center}.check{border:2px solid var(--ink);border-radius:50%;place-items:center;width:56px;height:56px;margin:auto;font-size:1.5rem;display:grid}@media (max-width:600px){.onboarding,.auth-main{place-items:stretch stretch;padding:0}.onboarding-card{border:0;border-radius:0;width:100%;min-height:100dvh}.onboarding-card footer{padding-bottom:env(safe-area-inset-bottom);background:#fff;position:sticky;bottom:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.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}.pantry-page{background:var(--bg);min-height:100dvh;color:var(--ink);grid-template-columns:15rem minmax(0,1fr);place-items:stretch stretch;padding:0;display:grid}.pantry-sidebar{background:#fff;flex-direction:column;gap:2rem;padding:1.5rem;display:flex}.pantry-brand{color:var(--ink);align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.pantry-brand span{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='7' fill='%23b5342a'/%3E%3Crect x='9' y='8' width='14' height='18' rx='2' fill='%23fff'/%3E%3Cpath d='M12 13h8M12 17h8M12 21h5' stroke='%23b5342a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 50%/cover no-repeat;border-radius:.375rem;width:2rem;height:2rem}.pantry-sidebar__nav,.pantry-bottom-nav{gap:.5rem;display:grid}.pantry-sidebar__nav a,.pantry-bottom-nav a{min-height:44px;color:var(--ink);border-radius:.5rem;align-items:center;padding:0 .75rem;font-size:.9rem;text-decoration:none;display:flex}.pantry-sidebar__nav a[aria-current=page],.pantry-bottom-nav a[aria-current=page]{background:var(--primary-soft);color:var(--primary-strong);font-weight:700}.pantry-content{width:min(100%,75rem);padding:1.5rem 2.5rem}.pantry-header{justify-content:space-between;align-items:center;gap:1rem;min-height:40px;display:flex}.pantry-header h1{font-size:1.5rem}.pantry-add{background:var(--primary);color:#fff;border:0;border-radius:.5rem;min-height:40px;padding:0 .875rem;font-weight:700}.pantry-search{background:#fff;border:0;border-radius:.5rem;max-width:42rem;margin-top:1rem}.pantry-list{background:#fff;border-radius:.5rem;max-width:70rem;margin-top:1rem;overflow:hidden}.pantry-zone__title{align-items:center;gap:.5rem;margin:0;padding:.75rem 1rem;font-size:1rem;display:flex}.pantry-zone__count{color:var(--muted);margin-left:auto;font-size:.8125rem;font-weight:400}.pantry-list__priority h2{min-height:32px;color:var(--warning-strong);align-items:center;margin:0;padding:0 1rem;font-size:.75rem;display:flex}.pantry-list__priority h2:before{content:"⚠";margin-right:.35rem}.pantry-list__regular{border-top:1px solid var(--border)}.pantry-row{background:#fff;align-items:center;gap:.75rem;width:100%;min-height:52px;padding:0 1rem;display:flex}.pantry-row__detail{min-height:52px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:0;flex:1;grid-template-columns:.625rem minmax(8rem,1fr) auto auto;align-items:center;gap:.75rem;padding:.5rem 0;display:grid}.pantry-row:hover{background:var(--surface-2)}.pantry-row__detail--button{font:inherit;cursor:pointer}.pantry-row__dot{background:var(--success);border-radius:50%;width:.625rem;height:.625rem}.pantry-row--out .pantry-row__dot{background:var(--primary)}.pantry-row--low .pantry-row__dot{background:var(--warning)}.pantry-row__name{font-size:.9rem;font-weight:600}.pantry-row__quantity{color:var(--muted);font-size:.8125rem}.pantry-row__status{color:var(--success-strong);font-size:.75rem}.pantry-row--out .pantry-row__status{color:var(--primary-strong);font-weight:700}.pantry-row--low .pantry-row__status{color:var(--warning-strong);font-weight:700}.pantry-quick-action{border:1px solid var(--border);min-height:44px;color:var(--ink);background:#fff;border-radius:.375rem;padding:0 .625rem;font-size:.75rem}.pantry-empty,.pantry-hint{color:var(--muted);margin:0;padding:1rem;font-size:.8125rem}.pantry-hint{padding-left:0}.pantry-show-more{border:1px dashed var(--border);width:100%;min-height:44px;color:var(--primary-strong);background:0 0;border-radius:.375rem;margin-top:.25rem;font-size:.8125rem;font-weight:700}.pantry-sync-status{color:var(--muted);margin:.5rem 0 0;font-size:.8125rem}.pantry-bottom-nav{display:none}.pantry-stepper,.pantry-presence{align-items:center;gap:.375rem;display:flex}.pantry-stepper button,.pantry-presence button{border:1px solid var(--border);min-height:36px;color:var(--ink);background:#fff;border-radius:.375rem;padding:0 .5rem;font-size:.75rem;font-weight:700}.pantry-stepper button:last-child{border-color:var(--primary);background:var(--primary);color:#fff}.pantry-stepper button:disabled{cursor:not-allowed;opacity:.45}.pantry-stepper strong{text-align:center;min-width:2rem;font-size:.8125rem}.pantry-presence .is-available{border-color:var(--success);background:var(--success);color:#fff}.pantry-presence .is-low{border-color:var(--warning);color:var(--warning-strong)}.pantry-presence .is-out,.pantry-quick-action--out{border-color:var(--primary);color:var(--primary-strong)}.pantry-toast{z-index:30;bottom:max(1rem, env(safe-area-inset-bottom));background:var(--ink);color:#fff;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.75rem;width:min(100% - 2rem,44rem);padding:.75rem 1rem;font-size:.8125rem;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 .9rem 2rem #3f2c1747}.pantry-toast span:last-of-type{color:#fffdf9c7}.pantry-toast button{background:var(--primary);color:#fff;border:0;border-radius:.375rem;min-height:32px;padding:0 .625rem;font-weight:700}.pantry-workspace{width:min(100%,70rem)}.pantry-workspace--detail{grid-template-columns:minmax(18rem,24rem) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.pantry-list-column{min-width:0}.pantry-workspace--detail .pantry-list{margin-top:0}.pantry-row--selected{background:var(--primary-soft)}.pantry-detail{background:#fff;border-radius:.5rem;gap:1.25rem;min-height:32rem;padding:1.5rem 2rem;display:grid}.pantry-detail__back{width:fit-content;min-height:44px;color:var(--primary-strong);background:0 0;border:0;align-items:center;padding:0;font-size:.8125rem;font-weight:600;display:flex}.pantry-detail__title{align-items:center;gap:.75rem;display:flex}.pantry-detail__title h2{margin:0;font-size:1.25rem}.pantry-detail__status{background:var(--success-soft);color:var(--success-strong);border-radius:.25rem;padding:.25rem .5rem;font-size:.6875rem;font-weight:700}.pantry-detail__status--low{background:var(--warning-soft);color:var(--warning-strong)}.pantry-detail__status--out{background:var(--primary-soft);color:var(--primary-strong)}.pantry-detail__section,.pantry-detail__field{gap:.5rem;display:grid}.pantry-detail__section h3{margin:0;font-size:.8125rem}.pantry-detail__chips{flex-wrap:wrap;gap:.5rem;display:flex}.pantry-detail__chips button{background:var(--surface-2);min-height:44px;color:var(--ink);border:0;border-radius:999px;padding:0 .75rem;font-size:.75rem}.pantry-detail__chips button.is-selected{background:var(--primary);color:#fff}.pantry-detail__quantity{grid-template-columns:48px minmax(4rem,1fr) 48px;align-items:center;width:min(100%,16rem);display:grid}.pantry-detail__quantity button{background:var(--bg);min-height:48px;color:var(--ink);border:0;border-radius:.5rem;font-size:1.25rem;font-weight:700}.pantry-detail__quantity button:last-child{background:var(--primary);color:#fff}.pantry-detail__quantity input,.pantry-detail__number-input{text-align:center;border:0;min-height:48px;font-size:1.25rem;font-weight:700}.pantry-detail__number-input{border:1px solid var(--border);text-align:left;border-radius:.5rem;width:min(100%,16rem);padding:0 .75rem}.pantry-detail__field input{max-width:28rem}.pantry-detail__unit{width:min(100%,16rem);margin-top:.5rem}.pantry-detail__unit select{border:1px solid var(--border);background:#fff;border-radius:.375rem;min-height:40px;padding:0 .5rem}.pantry-detail__help,.pantry-detail__secondary{color:var(--muted-2);margin:0;font-size:.75rem}.pantry-detail__save{background:var(--primary);color:#fff;border:0;border-radius:.5rem;min-height:48px;font-weight:700}.pantry-detail__save:disabled{cursor:wait;opacity:.65}.shopping-page{background:var(--bg);min-height:100dvh;color:var(--ink);grid-template-columns:15rem minmax(0,1fr);place-items:stretch stretch;padding:0;display:grid}.shopping-sidebar{background:#fff;flex-direction:column;gap:2rem;padding:1.5rem;display:flex}.shopping-sidebar__nav,.shopping-bottom-nav{gap:.5rem;display:grid}.shopping-sidebar__nav a,.shopping-bottom-nav a{min-height:44px;color:var(--ink);border-radius:.5rem;align-items:center;padding:0 .75rem;font-size:.9rem;text-decoration:none;display:flex}.shopping-sidebar__nav a[aria-current=page],.shopping-bottom-nav a[aria-current=page]{background:var(--primary-soft);color:var(--primary-strong);font-weight:700}.shopping-content{width:min(100%,48rem);padding:1.5rem 2.5rem}.shopping-header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.shopping-header h1{font-size:1.5rem}.shopping-header p{color:var(--muted);margin:0;font-size:.875rem}.shopping-add{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;margin-top:1rem;display:grid}.shopping-add button{background:var(--primary);color:#fff;border:0;border-radius:.5rem;padding:0 .875rem;font-weight:700}.shopping-add button:disabled{cursor:not-allowed;opacity:.55}.shopping-select-all{color:var(--ink);align-items:center;gap:.5rem;margin-top:.75rem;font-size:.8125rem;font-weight:700;display:flex}.shopping-select-all input{width:1.125rem;min-height:1.125rem;accent-color:var(--primary)}.shopping-list{background:#fff;border-radius:.5rem;margin-top:1rem;overflow:hidden}.shopping-row{border-bottom:1px solid var(--border);min-height:56px;color:var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.9375rem;display:grid}.shopping-row:last-child{border-bottom:0}.shopping-row__label{grid-template-columns:1.25rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;display:grid}.shopping-row input{width:1.125rem;min-height:1.125rem;accent-color:var(--primary)}.shopping-row__delete{width:2rem;min-height:2rem;color:var(--muted-2);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:inline-flex}.shopping-row__delete:hover:not(:disabled){background:var(--border);color:var(--ink)}.shopping-row__delete:disabled{cursor:not-allowed;opacity:.55}.shopping-row__meta{align-items:center;gap:.375rem;display:flex}.shopping-row small{color:var(--muted-2);font-size:.75rem}.shopping-row--purchased span{color:var(--muted-2);text-decoration:line-through}.shopping-empty,.shopping-next{color:var(--muted);margin:0;padding:1rem;font-size:.875rem}.shopping-next{padding-left:0}.shopping-group{border-bottom:1px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0;padding:.625rem 1rem;font-size:.75rem;font-weight:700}.shopping-qty{color:var(--muted);font-variant-numeric:tabular-nums}.shopping-back{min-height:44px;color:var(--primary-strong);align-items:center;margin-bottom:.5rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.shopping-review-lead{color:var(--muted);margin:.25rem 0 0;font-size:.875rem}.shopping-review-icon{background:var(--success);border-radius:999px;width:1.125rem;height:1.125rem}.shopping-checkout-quantity{color:var(--muted);white-space:nowrap;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;display:inline-flex}.shopping-checkout-quantity input{border:1px solid var(--border);width:4.5rem;min-height:2.25rem;color:var(--ink);font:inherit;text-align:right;border-radius:.375rem;padding:0 .5rem;font-weight:600}@media (max-width:600px){.shopping-checkout-quantity{grid-column:2/-1;justify-self:start}}.shopping-confirm{background:var(--primary);color:#fff;border:0;border-radius:.5rem;justify-content:center;align-items:center;min-height:48px;margin-top:1rem;padding:0 1.25rem;font-size:.9375rem;font-weight:700;text-decoration:none;display:inline-flex}.shopping-confirm:disabled{cursor:not-allowed;opacity:.45}.plan-notice{border:1px solid var(--primary-soft-border);background:var(--primary-soft);color:var(--ink);border-radius:.5rem;margin-top:1rem;padding:.625rem .75rem;font-size:.8125rem}.plan-notice a{color:var(--primary-strong);font-weight:700}@media (max-width:768px){.pantry-page{padding-bottom:4.5rem;display:block}.pantry-sidebar{display:none}.pantry-content{padding:1rem}.pantry-header h1{font-size:1.5rem}.pantry-add{font-size:.8125rem}.pantry-workspace--detail{display:block}.pantry-workspace--detail .pantry-list-column{display:none}.pantry-detail{min-height:0;padding:1.25rem}.pantry-row{flex-wrap:wrap;row-gap:.5rem;padding:.625rem 1rem}.pantry-row__detail{flex:100%;grid-template-columns:.625rem minmax(0,1fr) auto}.pantry-row__status{grid-column:2/-1;margin-top:-.5rem}.pantry-stepper,.pantry-quick-action,.shopping-row__delete{flex-shrink:0}.pantry-stepper button,.shopping-row__delete{min-width:44px;min-height:44px}input,select,textarea{font-size:16px!important}.pantry-bottom-nav{z-index:1;padding:.5rem .25rem env(safe-area-inset-bottom);border-top:1px solid var(--border);background:#fff;grid-template-columns:repeat(4,1fr);gap:0;display:grid;position:fixed;bottom:0;left:0;right:0}.pantry-bottom-nav a{justify-content:center;padding:0 .25rem;font-size:.75rem}}@media (max-width:767px){.shopping-page{padding-bottom:4.5rem;display:block}.shopping-sidebar{display:none}.shopping-content{padding:1rem}.shopping-bottom-nav{z-index:1;padding:.5rem .25rem env(safe-area-inset-bottom);border-top:1px solid var(--border);background:#fff;grid-template-columns:repeat(4,1fr);gap:0;display:grid;position:fixed;bottom:0;left:0;right:0}.shopping-bottom-nav a{justify-content:center;padding:0 .25rem;font-size:.75rem}}.recipes-add-cta{background:var(--primary);color:#fff;border:0;border-radius:.5rem;min-height:44px;padding:0 .875rem;font-weight:700}.recipes-search{border:1px solid var(--border);background:#fff;border-radius:.5rem;width:100%;min-height:44px;margin-top:1rem;padding:0 .875rem;font-size:.9375rem}.recipes-form{background:#fff;border-radius:.5rem;gap:.5rem;margin-top:.75rem;padding:1rem;display:grid}.recipes-form input,.recipes-form select{border:1px solid var(--border);background:#fff;border-radius:.375rem;min-height:40px;padding:0 .625rem;font-size:.875rem}.recipes-form__row{grid-template-columns:minmax(0,1fr) 6rem auto;gap:.5rem;display:grid}.recipes-form__row button{background:var(--primary);color:#fff;border:0;border-radius:.5rem;min-height:44px;padding:0 .875rem;font-weight:700}.recipes-form__row button:disabled{cursor:not-allowed;opacity:.55}.recipes-list{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem;margin-top:1rem;display:grid}.recipe-card{background:#fff;border-radius:.5rem;gap:.25rem;min-height:4.5rem;padding:1rem;display:grid}.recipe-card__title{color:var(--ink);font-size:.9375rem;font-weight:700}.recipe-card__meta{color:var(--muted);font-size:.8125rem}.recipes-empty{color:var(--muted);margin:1rem 0 0;font-size:.875rem}@media (max-width:767px){.recipes-form__row{grid-template-columns:1fr 1fr}.recipes-form__row button{grid-column:1/-1}.recipes-list{grid-template-columns:1fr}}.recipes-add{gap:.5rem;margin-top:.75rem;display:grid}.recipes-add .recipes-form{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-top:0}.recipes-add .recipes-form button{background:var(--primary);color:#fff;border:0;border-radius:.5rem;min-height:44px;padding:0 .875rem;font-weight:700}.recipes-add .recipes-form button:disabled{cursor:not-allowed;opacity:.55}.recipe-card{text-decoration:none}.recipe-card__tag{background:var(--warning-soft);width:fit-content;color:var(--warning-strong);border-radius:.25rem;align-self:start;padding:.125rem .375rem;font-size:.6875rem;font-weight:700}.recipe-editor,.recipe-detail{background:var(--bg);width:min(100%,40rem);min-height:100dvh;color:var(--ink);gap:1rem;margin:0 auto;padding:1.5rem;display:grid}.recipe-back{width:fit-content;color:var(--primary-strong);font-size:.875rem;text-decoration:none}.recipe-editor__form{gap:.75rem;display:grid}.recipe-editor__form h1,.recipe-detail__header h1{margin:0;font-size:1.375rem}.recipe-editor label{font-size:.8125rem;font-weight:600}.recipe-editor input,.recipe-editor select,.recipe-editor textarea{border:1px solid var(--border);background:#fff;border-radius:.375rem;min-height:40px;padding:.5rem .625rem;font-family:inherit;font-size:.9375rem}.recipe-editor textarea{resize:vertical;min-height:3rem}.recipe-editor__row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.recipe-editor__group{border:1px solid var(--border);border-radius:.5rem;gap:.5rem;padding:1rem;display:grid}.recipe-editor__group legend{padding:0 .375rem;font-size:.8125rem;font-weight:700}.recipe-ingredient-row{grid-template-columns:minmax(0,1fr) 4.5rem 4.5rem 2rem;align-items:center;gap:.375rem;display:grid}.recipe-step-row{grid-template-columns:minmax(0,1fr) 2rem;align-items:start;gap:.375rem;display:grid}.recipe-row-remove{border:1px solid var(--border);min-height:40px;color:var(--primary-strong);background:#fff;border-radius:.375rem;font-size:1rem;font-weight:700}.recipe-row-add{border:1px dashed var(--primary-soft-border);width:fit-content;min-height:36px;color:var(--primary-strong);background:#fff;border-radius:.375rem;padding:0 .75rem;font-size:.8125rem;font-weight:700}.recipe-more-toggle{width:fit-content;color:var(--primary-strong);background:0 0;border:0;padding:0;font-size:.875rem;font-weight:600}.recipe-editor__more{gap:.5rem;display:grid}.recipe-editor__save,.recipe-detail__edit{background:var(--primary);color:#fff;border:0;border-radius:.5rem;justify-content:center;align-items:center;min-height:48px;font-weight:700;text-decoration:none;display:flex}.recipe-editor__save:disabled{cursor:wait;opacity:.65}.recipe-editor__status{color:var(--danger);margin:0;font-size:.8125rem}.recipe-detail__header{gap:.375rem;display:grid}.recipe-detail__meta{color:var(--muted);margin:0;font-size:.875rem}.recipe-detail h2{margin:0 0 .5rem;font-size:1rem}.recipe-detail__ingredients,.recipe-detail__steps{gap:.375rem;margin:0;padding-left:1.25rem;font-size:.9375rem;display:grid}.recipe-detail__ingredients{padding-left:0;list-style:none}.recipe-detail__ingredient{align-items:center;gap:.5rem;display:flex}.recipe-detail__ingredient-text{flex:1}.recipe-ingredient-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:.625rem;height:.625rem}.recipe-ingredient-dot--low{background:var(--warning)}.recipe-ingredient-dot--missing{background:var(--primary)}.recipe-ingredient-owned{color:var(--muted);flex-shrink:0;font-size:.75rem}.recipe-pending,.recipe-source{margin:0;font-size:.8125rem}.recipe-pending{background:var(--warning-soft);color:var(--warning-strong);border-radius:.375rem;padding:.5rem .625rem}.recipe-source{color:var(--muted)}.recipes-filters{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.recipes-quick-categories{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.recipes-filter{border:1px solid var(--border);min-height:44px;color:var(--ink);background:#fff;border-radius:999px;padding:0 .75rem;font-size:.8125rem;font-weight:600}.recipes-filter.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.recipes-filter-select{border:1px solid var(--border);background:#fff;border-radius:999px;min-height:36px;padding:0 .75rem;font-size:.8125rem}.recipes-seed{border:1px solid var(--primary);min-height:40px;color:var(--primary-strong);background:#fff;border-radius:.5rem;margin-top:.75rem;padding:0 .875rem;font-weight:700}.recipes-seed:disabled{cursor:wait;opacity:.6}.recipes-show-more{border:1px solid var(--border);width:100%;min-height:40px;color:var(--primary-strong);background:#fff;border-radius:.5rem;margin-top:1rem;font-weight:700;display:block}.recipe-preferences{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.recipe-favorite{border:1px solid var(--border);min-height:40px;color:var(--ink);background:#fff;border-radius:999px;padding:0 .875rem;font-size:.8125rem;font-weight:700}.recipe-favorite.is-active{border-color:var(--warning);background:var(--warning-soft);color:var(--warning-strong)}.recipe-favorite:disabled,.recipe-star:disabled{cursor:wait;opacity:.6}.recipe-rating{gap:.125rem;display:flex}.recipe-star{min-width:32px;min-height:40px;color:var(--border);background:0 0;border:0;font-size:1.25rem;line-height:1}.recipe-star.is-active{color:var(--warning-strong)}.recipe-detail__categories{flex-wrap:wrap;gap:.375rem;margin:0;display:flex}.recipe-chip{background:var(--primary-soft);color:var(--primary-strong);border-radius:999px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.recipe-editor__label{font-size:.8125rem;font-weight:600}.recipe-category-row{grid-template-columns:minmax(0,10rem) minmax(0,1fr) 2rem;align-items:center;gap:.375rem;display:grid}.plan-content{width:min(100%,82rem)}.plan-header{flex-wrap:wrap}.plan-weeknav{align-items:center;gap:.5rem;display:flex}.plan-weeknav__step{border:1px solid var(--border);min-width:44px;min-height:44px;color:var(--ink);background:#fff;border-radius:.5rem;justify-content:center;align-items:center;font-size:1rem;text-decoration:none;display:inline-flex}.plan-weeknav__range{min-width:11rem;color:var(--ink);text-align:center;font-size:.875rem;font-weight:700}.plan-summary{color:var(--muted);margin:1rem 0 0;font-size:.875rem}.plan-today{color:var(--primary-strong);margin-top:.25rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-block}.plan-hint{color:var(--muted-2);margin:.5rem 0 0;font-size:.8125rem}.plan-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.plan-day{background:#fff;border-radius:.5rem;align-content:start;gap:.5rem;padding:.75rem;display:grid}.plan-day__title{color:var(--muted);text-transform:capitalize;margin:0;font-size:.75rem;font-weight:700}.plan-slot{background:var(--surface-2);border-radius:.375rem;gap:.25rem;padding:.5rem;display:grid}.plan-slot__label{color:var(--muted-2);text-transform:uppercase;font-size:.6875rem;font-weight:700}.plan-slot__recipe{gap:.125rem;display:grid}.plan-slot__recipe a{color:var(--ink);font-size:.875rem;font-weight:600;text-decoration:none}.plan-slot__meta{color:var(--muted);font-size:.75rem}.plan-slot__add{border:1px dashed var(--primary-soft-border);min-height:44px;color:var(--primary-strong);background:#fff;border-radius:.375rem;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;text-decoration:none;display:flex}@media (max-width:1199px){.plan-week{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.plan-week{grid-template-columns:1fr}.plan-weeknav__range{flex:1;min-width:0}.plan-slot__recipe a,.plan-menu>summary{align-items:center;min-height:44px;display:flex}}.plan-menu{margin-top:.125rem}.plan-menu>summary{cursor:pointer;color:var(--primary-strong);font-size:.75rem;font-weight:700;list-style:none}.plan-menu>summary::-webkit-details-marker{display:none}.plan-menu__body{border-top:1px solid var(--border);gap:.5rem;margin-top:.375rem;padding-top:.5rem;display:grid}.plan-menu:not([open])>.plan-menu__body{display:none}.plan-menu__body a{color:var(--primary-strong);font-size:.75rem;font-weight:600;text-decoration:none}.plan-menu__form{gap:.25rem;display:grid}.plan-menu__form label{color:var(--muted-2);font-size:.6875rem;font-weight:700}.plan-menu__form input,.plan-menu__form select{border:1px solid var(--border);background:#fff;border-radius:.375rem;min-height:44px;padding:0 .5rem;font-size:.8125rem}.plan-menu__form button{border:1px solid var(--border);min-height:44px;color:var(--ink);background:#fff;border-radius:.375rem;font-size:.75rem;font-weight:700}.plan-menu__remove{border:1px solid var(--danger);width:100%;min-height:44px;color:var(--danger);background:#fff;border-radius:.375rem;font-size:.75rem;font-weight:700}@media (max-width:767px){.plan-menu[open]>.plan-menu__body{z-index:40;border-top:1px solid var(--border);box-shadow:var(--shadow);padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));background:#fff;border-radius:1rem 1rem 0 0;max-height:70vh;margin:0;position:fixed;inset:auto 0 0;overflow-y:auto}}@media (min-width:768px){.plan-menu{position:relative}.plan-menu[open]>.plan-menu__body{z-index:40;border:1px solid var(--border);width:max-content;min-width:15rem;box-shadow:var(--shadow);background:#fff;border-radius:.75rem;margin-top:.375rem;position:absolute;top:100%;left:50%;transform:translate(-50%)}}.plan-menu__close{background:var(--surface-2);width:100%;min-height:44px;color:var(--ink);border:0;border-radius:.375rem;font-size:.75rem;font-weight:700}@media (min-width:768px){.plan-menu__close{display:none}}.plan-undo{border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;padding:.625rem .75rem;font-size:.8125rem;display:flex}.plan-undo button{border:1px solid var(--primary);min-height:36px;color:var(--primary-strong);background:#fff;border-radius:.375rem;padding:0 .875rem;font-size:.8125rem;font-weight:700}.choose-suggestions{gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.choose-suggestion{border:1px solid var(--primary);background:var(--primary-soft);text-align:left;border-radius:.5rem;gap:.25rem;width:100%;padding:.75rem;display:grid}.choose-suggestion__title{color:var(--ink);font-size:.9375rem;font-weight:700}.choose-suggestion__reason{color:var(--primary-strong);font-size:.8125rem;font-weight:600}.choose-suggestion__availability{color:var(--muted);font-size:.8125rem}.choose-suggestion__meta{color:var(--muted);font-size:.75rem}.choose-suggestion__action,.choose-recipe__action{background:var(--primary);color:#fff;border-radius:999px;justify-self:end;padding:.25rem .75rem;font-size:.75rem;font-weight:700}.choose-suggestions--secondary{margin-top:-.125rem}.choose-suggestion--secondary{border-color:var(--border);background:#fff}.choose-suggestion--secondary .choose-suggestion__title{font-size:.875rem;font-weight:600}.choose-suggestion--secondary .choose-suggestion__reason{color:var(--muted);font-weight:500}.choose-page{width:min(100%,40rem);margin:0 auto;padding:1.5rem 1rem 4rem}.choose-back{min-height:44px;color:var(--primary-strong);align-items:center;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.choose-title{margin:.75rem 0 1rem;font-size:1.5rem}.choose-search{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.choose-search__label{color:var(--muted);grid-column:1/-1;font-size:.8125rem;font-weight:600}.choose-search input{border:1px solid var(--border);background:#fff;border-radius:.5rem;min-height:44px;padding:0 .75rem;font-size:.9375rem}.choose-search button{border:1px solid var(--border);background:#fff;border-radius:.5rem;min-height:44px;padding:0 1rem;font-size:.875rem;font-weight:700}.choose-empty{color:var(--muted);margin:1.5rem 0;font-size:.875rem}.choose-empty a{color:var(--primary-strong);font-weight:600}.choose-list{gap:.5rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.choose-recipe{border:1px solid var(--border);text-align:left;background:#fff;border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;width:100%;min-height:52px;padding:.75rem;display:flex}.choose-recipe__title{color:var(--ink);font-size:.9375rem;font-weight:600}.choose-recipe__meta{color:var(--muted);font-size:.8125rem}.pantry-list,.shopping-list,.pantry-detail,.recipe-card,.plan-day,.recipes-form,.recipe-editor__group,.summary{border:1px solid var(--border);box-shadow:var(--shadow)}.pantry-search{border:1px solid var(--border)}@media (min-width:768px){.shopping-bottom-nav{display:none}}.recipe-card,.choose-recipe,.choose-suggestion,.plan-slot__add,.plan-day{transition:transform .14s,box-shadow .16s,border-color .16s}.recipe-card:hover,.choose-recipe:hover,.choose-suggestion:hover{border-color:var(--primary-soft-border);transform:translateY(-2px);box-shadow:0 10px 28px #4a2d141a}.pantry-add,.primary-button,.shopping-confirm,.pantry-detail__save,.recipe-editor__save,.recipes-add-cta,.recipes-add .recipes-form button,.shopping-add button,.recipes-form__row button,.recipes-seed{transition:background .15s,transform .1s,box-shadow .15s}.pantry-add:hover:not(:disabled),.primary-button:hover,.shopping-confirm:hover:not(:disabled),.pantry-detail__save:hover:not(:disabled),.recipe-editor__save:hover,.recipes-add-cta:hover,.shopping-add button:hover:not(:disabled),.recipes-form__row button:hover:not(:disabled){background:var(--primary-strong)}.pantry-add:active:not(:disabled),.primary-button:active,.shopping-confirm:active:not(:disabled),.pantry-detail__save:active:not(:disabled),.recipe-editor__save:active{transform:translateY(1px)}.pantry-add:disabled,.shopping-add button:disabled,.recipes-form__row button:disabled,.recipes-add .recipes-form button:disabled,.pantry-detail__save:disabled,.shopping-confirm:disabled,.recipe-editor__save:disabled,.recipes-seed:disabled,.pantry-stepper button:disabled,.pantry-detail__quantity button:disabled{background:var(--surface-2);color:var(--muted-2);opacity:1}.pantry-empty,.pantry-hint,.shopping-empty,.shopping-next,.recipes-empty,.choose-empty{color:var(--muted);text-align:center;padding:2.25rem 1.5rem;font-size:.95rem;line-height:1.5}.pantry-empty:before,.shopping-empty:before,.recipes-empty:before,.choose-empty:before{content:"";opacity:.5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%235a5754' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8v12H3V8'/%3E%3Cpath d='M2 3h20v5H2z'/%3E%3Cpath d='M10 12h4'/%3E%3C/svg%3E") 50%/contain no-repeat;width:44px;height:44px;margin:0 auto .75rem;display:block}.recipes-add .recipes-form button:not(:disabled){color:var(--primary-strong);border:1px solid var(--primary);background:#fff}.recipes-add .recipes-form button:not(:disabled):hover{background:var(--primary-soft)}.plan-slot__cooked,.plan-menu__cook{font-size:.6875rem;font-weight:700;color:var(--success-strong)!important}.cook-list{gap:.5rem;margin:1rem 0 0;display:grid}.cook-row{border:1px solid var(--border);background:#fff;border-radius:.5rem;gap:.375rem;padding:.75rem;display:grid}.cook-row__toggle{align-items:center;gap:.5rem;display:flex}.cook-row__name{color:var(--ink);font-size:.9375rem;font-weight:600}.cook-row__current{color:var(--muted);font-size:.8125rem}.cook-row__remaining{color:var(--primary-strong);font-size:.8125rem;font-weight:700}.cook-row__field{color:var(--muted-2);align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;display:flex}.cook-row__field input,.cook-row__field select{border:1px solid var(--border);background:#fff;border-radius:.375rem;min-height:40px;padding:0 .5rem;font-size:.875rem}.cook-row__field input{width:6rem}.cook-row__field input:disabled,.cook-row__field select:disabled{opacity:.5}:root{--bg:#f8f5ef;--surface:#fffdf9;--surface-2:#f1ece3;--ink:#26332d;--muted:#5f6a63;--muted-2:#626d66;--border:#e4ddd2;--primary:#bf5539;--primary-strong:#963b27;--primary-soft:#f9e6dd;--primary-soft-border:#edc7b8;--success:#2d7c61;--success-soft:#e3f1e9;--warning:#b87318;--warning-soft:#fff0d8;--success-strong:#1f6b52;--warning-strong:#8a5410;--danger:#8e3022;--radius:.875rem;--radius-lg:1.25rem;--shadow:0 1px 2px #3f2c170a, 0 12px 32px #3f2c1712;--ease-out:cubic-bezier(.23, 1, .32, 1);--font-display:Georgia, "Times New Roman", serif}body{background:radial-gradient(circle at 0 0, #f5dabe66, transparent 28rem), radial-gradient(circle at 100% 100%, #d9ebdb73, transparent 26rem), var(--bg)}h1,h2,h3,.choose-title{font-family:var(--font-display);letter-spacing:-.035em;font-weight:700}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--primary-strong);outline-offset:2px}.pantry-toast button:focus-visible,.danger-button:focus-visible{outline-color:var(--surface)}.app-shell{min-height:100dvh;color:var(--ink);background:0 0;grid-template-columns:17rem minmax(0,1fr);place-items:stretch stretch;padding:0;display:grid}.app-shell__rail{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf9c2;border-right:1px solid #e4ddd2cc;flex-direction:column;gap:2.75rem;height:100dvh;padding:1.75rem 1.25rem;display:flex;position:sticky;top:0}.app-shell__brand{color:var(--ink);align-items:center;gap:.7rem;font-size:1rem;font-weight:800;text-decoration:none;display:inline-flex}.app-shell__brand-mark{background:linear-gradient(145deg, #d87350, var(--primary-strong));color:#fff;width:2.35rem;height:2.35rem;font-family:var(--font-display);border-radius:.85rem;place-items:center;font-size:1.2rem;font-weight:700;display:grid;box-shadow:0 .45rem 1rem #963b2738}.app-shell__rail-nav{gap:.35rem;display:grid}.app-shell__rail-nav a{min-height:48px;color:var(--muted);transition:color .16s var(--ease-out), background .16s var(--ease-out), transform .12s var(--ease-out);border-radius:.75rem;align-items:center;gap:.75rem;padding:0 .75rem;font-size:.9rem;font-weight:650;text-decoration:none;display:flex}.app-shell__rail-nav a[aria-current=page]{background:var(--primary-soft);color:var(--primary-strong)}.sign-out{color:var(--muted)}.sign-out .text-action{min-height:44px}.sign-out p{color:var(--primary-strong);margin:.35rem 0 0;font-size:.8rem}.app-shell__sign-out{border-top:1px solid var(--border);margin-top:auto;padding-top:1rem}.app-shell__sign-out-mobile{display:none}.onboarding-sign-out{z-index:30;top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));position:fixed}.onboarding-sign-out .text-action{border:1px solid var(--border);box-shadow:var(--shadow);background:#fffdf9eb;border-radius:999px;padding:.5rem .8rem}.app-shell__nav-icon{flex:none;place-items:center;width:1.35rem;height:1.35rem;display:grid}.app-shell__nav-icon svg{width:100%;height:100%;display:block}.app-shell__content{width:min(100%,78rem);padding:clamp(1.5rem,4vw,3.5rem)}.app-shell__dock{display:none}.app-shell h1{font-size:clamp(2rem,4vw,3.15rem);line-height:1}.app-shell .shopping-header,.app-shell .pantry-header{align-items:center;min-height:3.25rem}.app-shell .shopping-header h1,.app-shell .pantry-header h1{font-size:clamp(2rem,4vw,3.15rem)}.app-shell .pantry-list,.app-shell .shopping-list,.app-shell .plan-day,.app-shell .recipe-card,.app-shell .recipes-form,.app-shell .choose-recipe,.app-shell .choose-suggestion,.app-shell .pantry-detail{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.app-shell input,.app-shell select,.app-shell textarea{border-color:var(--border);background:#fffdf9eb;border-radius:.8rem}.app-shell .pantry-search,.app-shell .recipes-search{min-height:52px;padding-inline:1rem;box-shadow:inset 0 1px #ffffffd9}.app-shell .pantry-add,.app-shell .recipes-add-cta,.app-shell .shopping-add button,.app-shell .shopping-confirm,.app-shell .recipe-editor__save,.app-shell .pantry-detail__save,.app-shell .primary-button{transition:transform .14s var(--ease-out), background .16s var(--ease-out), box-shadow .16s var(--ease-out);border-radius:.8rem;box-shadow:0 .55rem 1.25rem #963b2729}.app-shell .plan-summary{color:var(--muted);margin-top:1.15rem;font-size:.95rem}.plan-overview{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg,#f9e6dde0,#fffdf9d6);justify-content:space-between;align-items:end;gap:1rem;margin-top:1.5rem;padding:1.1rem 1.2rem;display:flex;box-shadow:0 .55rem 1.3rem #3f2c170d}.plan-overview__eyebrow{color:var(--primary-strong);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.app-shell .plan-overview .plan-summary{max-width:36ch;margin:.3rem 0 0;font-size:.9rem}.plan-overview__count{color:var(--muted);text-align:right;justify-items:end;font-size:.72rem;display:grid}.plan-overview__count strong{color:var(--ink);font-family:var(--font-display);font-size:2rem;line-height:.9}.plan-overview__count strong span{color:var(--muted);font-size:1rem}.app-shell .plan-day__title{color:var(--ink);font-size:1rem}.app-shell .plan-slot{border-radius:.8rem}.app-shell .plan-slot__recipe{background:#fffdf9c7}.app-shell .plan-slot__add{border-style:solid;border-color:var(--primary-soft-border);color:var(--primary-strong);background:#fffdf9cc}.app-shell .recipe-card{background:linear-gradient(160deg,#fffdf9,#fdf8f1);min-height:9rem;padding:1.15rem}.app-shell .shopping-row{min-height:64px}.shopping-kicker{color:var(--primary-strong);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .25rem;font-size:.72rem;font-weight:800}.shopping-progress{color:var(--muted);justify-items:end;gap:.2rem;font-size:.78rem;display:grid}.shopping-progress strong{color:var(--ink);font-size:.88rem}.shopping-progress-bar{background:var(--surface-2);border-radius:999px;height:.45rem;margin:.85rem 0 1.15rem;overflow:hidden}.shopping-progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--success), #66aa82);height:100%;transition:width .22s var(--ease-out);display:block}.app-shell .pantry-row{min-height:60px}.app-shell .pantry-list__priority{background:linear-gradient(90deg,#fff0d894,#0000)}.app-shell .pantry-list__priority h2{color:var(--warning-strong)}.app-shell .choose-page,.app-shell .cook-page{width:min(100%,44rem)}.choose-header,.cook-header{margin:1rem 0 1.4rem}.choose-header p:last-child,.cook-header>p:last-child{color:var(--muted);margin:.45rem 0 0;font-size:.95rem}.choose-kicker,.cook-kicker{color:var(--primary-strong);letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.app-shell .choose-title{margin:.28rem 0 0;font-size:clamp(2.25rem,5vw,3.45rem);line-height:.98}.app-shell .choose-back,.cook-back{color:var(--primary-strong);font-size:.875rem;font-weight:750;text-decoration:none}.app-shell .choose-suggestions{gap:.7rem;margin-bottom:1.75rem}.app-shell .choose-suggestion{background:linear-gradient(135deg,#f9e6ddf0,#fffdf9e6);gap:.34rem;min-height:6.7rem;padding:1rem 1.1rem}.app-shell .choose-suggestion__title{font-family:var(--font-display);font-size:1.22rem;line-height:1.05}.app-shell .choose-suggestion__reason{color:var(--primary-strong)}.app-shell .choose-suggestion--secondary{min-height:auto;box-shadow:none;background:#fffdf9e0;padding:.75rem .9rem}.app-shell .choose-suggestion--secondary .choose-suggestion__title{font-family:inherit;font-size:.95rem}.app-shell .choose-suggestion--secondary .choose-suggestion__reason{color:var(--muted)}.app-shell .choose-search{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fffdf9b8;margin-top:.5rem;padding:1rem}.app-shell .choose-search button{border-color:var(--primary);background:var(--primary);color:#fff}.app-shell .choose-list{gap:.7rem}.app-shell .choose-recipe{background:#fffdf9e0;min-height:4.5rem;padding:1rem 1.1rem}.app-shell .choose-recipe__title{font-family:var(--font-display);font-size:1.12rem}.cook-overview{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--success-soft), #fffdf9eb);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:1rem;margin:1.2rem 0;padding:1rem 1.1rem;display:flex}.cook-overview p{color:var(--ink);margin:0;font-size:.94rem;font-weight:650}.cook-overview span{color:var(--success-strong);white-space:nowrap;flex:none;font-size:.76rem;font-weight:800}.cook-instruction{color:var(--muted);margin:1.15rem 0 .1rem;font-size:.9rem}.app-shell .cook-list{gap:.7rem}.app-shell .cook-row{border-radius:var(--radius-lg);box-shadow:var(--shadow);gap:.5rem;padding:1rem 1.1rem}.app-shell .cook-row__toggle{gap:.65rem}.app-shell .cook-row__toggle input{width:1.1rem;height:1.1rem;accent-color:var(--success)}.app-shell .cook-row__field{margin-top:.1rem}.app-shell .cook-row__field input,.app-shell .cook-row__field select{min-height:44px}.app-shell .cook-page .shopping-confirm{background:var(--success);width:100%;min-height:52px;margin-top:1.3rem;box-shadow:0 .55rem 1.25rem #2d7c612e}.app-shell .cook-page .shopping-confirm:hover:not(:disabled){background:#21694f}@media (hover:hover) and (pointer:fine){.app-shell__rail-nav a:hover{color:var(--ink);background:#fffdf9eb;transform:translate(2px)}.app-shell .recipe-card:hover,.app-shell .choose-recipe:hover,.app-shell .choose-suggestion:hover{transform:translateY(-3px);box-shadow:0 16px 34px #3f2c171f}}.app-shell button:active:not(:disabled),.app-shell a[role=button]:active{transform:scale(.98)}@media (max-width:767px){.app-shell{padding:0 0 calc(5.6rem + env(safe-area-inset-bottom));display:block}.app-shell__rail{display:none}.app-shell__content{width:100%;padding:1.3rem 1rem}.app-shell__dock{z-index:20;right:.75rem;bottom:max(.75rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf9e0;border:1px solid #e4ddd2e0;border-radius:1.15rem;grid-template-columns:repeat(5,minmax(0,1fr));gap:.2rem;padding:.4rem;display:grid;position:fixed;left:.75rem;box-shadow:0 .9rem 2rem #3f2c1729}.pantry-toast{bottom:calc(max(.75rem, env(safe-area-inset-bottom)) + 4.75rem)}.app-shell__sign-out-mobile{z-index:21;top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));display:block;position:fixed}.app-shell__sign-out-mobile .text-action{border:1px solid var(--border);box-shadow:var(--shadow);background:#fffdf9eb;border-radius:999px;padding:.5rem .8rem}.app-shell__dock a{min-width:0;min-height:58px;color:var(--muted);transition:background .16s var(--ease-out), color .16s var(--ease-out), transform .12s var(--ease-out);border-radius:.85rem;place-items:center;gap:.25rem;font-size:.68rem;font-weight:700;text-decoration:none;display:grid}.app-shell__dock a[aria-current=page]{background:var(--primary-soft);color:var(--primary-strong)}.app-shell__dock .app-shell__nav-icon{width:1.3rem;height:1.3rem}.app-shell__dock a:focus-visible{outline:3px solid var(--primary-strong);outline-offset:-3px}.app-shell h1,.app-shell .shopping-header h1,.app-shell .pantry-header h1{font-size:2.2rem}.app-shell .shopping-header,.app-shell .pantry-header{align-items:flex-start}.shopping-progress{padding-top:.45rem}.plan-overview{align-items:center;margin-top:1.1rem}.app-shell .pantry-add{min-height:44px;padding-inline:.75rem}.app-shell .choose-page,.app-shell .cook-page{padding-bottom:.5rem}.cook-overview{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :before,.app-shell :after{transition-duration:.01ms!important}}.household-manager{flex-direction:column;gap:.9rem;max-width:34rem;margin-inline:auto;padding:1rem 0;display:flex}.household-manager h1{margin:0}@media (max-width:767px){.household-manager h1{padding-right:7rem}}.household-people,.household-invitations{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.household-invitations li{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.household-invitations__actions{gap:1rem;display:flex}.household-people li{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .75rem;display:flex}.household-access-role{color:var(--muted);white-space:nowrap;font-size:.875rem}.household-access-you{background:var(--success);border-radius:50%;width:.5rem;height:.5rem;margin-right:.5rem;display:inline-block}.household-invite{flex-direction:column;gap:.5rem;display:flex}.household-invite-code{border:1px dashed var(--primary-soft-border);border-radius:var(--radius-lg);background:var(--primary-soft);gap:.4rem;padding:1rem;display:grid}.household-invite-code__value{letter-spacing:.18em;color:var(--primary-strong);-webkit-user-select:all;user-select:all;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.5rem;font-weight:700}.pantry-detail__exact-fields{align-items:end;gap:.75rem;display:flex}.pantry-detail__exact-fields .pantry-detail__field{flex:1}.pantry-detail__exact-unit,.pantry-detail__hint{color:var(--muted);margin:0;font-size:.875rem}.household-security,.household-backup,.household-restore,.household-reset{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fffdf9d1;gap:.5rem;padding:1rem;display:grid}.household-security p,.household-backup p,.household-restore p,.household-reset p{margin:0}.household-backup__notice{color:var(--muted);font-size:.9rem}.household-reset{border-color:var(--primary-soft-border);background:linear-gradient(135deg, var(--primary-soft), #fffdf9eb)}.household-reset input{max-width:14rem}.danger-button{border:1px solid var(--danger);background:var(--danger);color:#fff;border-radius:.75rem;min-height:44px;padding:.65rem .9rem;font-weight:750}.danger-button:disabled{border-color:var(--border);background:var(--surface-2);color:var(--muted-2)}.skip-link{z-index:50;background:var(--surface);color:var(--primary-strong);box-shadow:var(--shadow);transition:transform .14s var(--ease-out);border-radius:.75rem;padding:.75rem 1rem;font-size:.875rem;font-weight:700;text-decoration:none;position:fixed;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus-visible{transform:translateY(0)}.shopping-row input[type=checkbox],.shopping-select-all input[type=checkbox],.app-shell .cook-row__toggle input[type=checkbox]{width:1.5rem;height:1.5rem;min-height:1.5rem;accent-color:var(--primary);flex:none}.app-shell .cook-row__toggle input[type=checkbox]{accent-color:var(--success)}.shopping-row__label{grid-template-columns:1.5rem minmax(0,1fr) auto}.ticket-textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);resize:vertical;border-radius:.8rem;margin-top:.75rem;padding:.75rem;font-family:inherit;font-size:.9375rem;line-height:1.5}.ticket-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 5rem 6rem 2.75rem;align-items:center;gap:.5rem;padding:.625rem 1rem;display:grid}.ticket-row:last-child{border-bottom:0}.ticket-row input,.ticket-row select{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--ink);border-radius:.5rem;padding:0 .5rem}.ticket-qty{text-align:right}.ticket-remove{border:1px solid var(--border);background:var(--surface);min-width:44px;min-height:44px;color:var(--primary-strong);border-radius:.5rem;justify-content:center;align-items:center;font-size:1.125rem;line-height:1;display:inline-flex}.ticket-add-line{margin-top:.75rem}@media (max-width:600px){.ticket-row{grid-template-columns:minmax(0,1fr) 4.5rem 2.75rem}.ticket-unit{grid-column:2/4}}.brand-lockup,.brand--welcome{color:var(--ink);align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.brand-lockup__mark{background:linear-gradient(145deg, #d87350, var(--primary-strong));border-radius:.75rem;flex:none;width:2.25rem;height:2.25rem;box-shadow:0 .4rem .9rem #963b2738}.auth-links{flex-wrap:wrap;gap:1rem;margin:.25rem 0 0;display:flex}.auth-links .text-action{color:var(--primary-strong);font-weight:700}.combobox-wrap{gap:.5rem;display:grid}.pantry-list__finished{background:var(--surface-2)}.pantry-list__finished h3,.pantry-list__priority h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;padding:.5rem 1rem 0;font-size:.75rem;font-weight:700}.pantry-list__finished .pantry-row{background:0 0}.household-page{padding-bottom:2rem}.app-shell__content.recipe-detail,.app-shell__content.recipe-editor{background:0 0;width:min(100%,46rem);min-height:0;margin-inline:auto}h2.label{letter-spacing:.05em;text-transform:uppercase;margin:.5rem 0 0;font-family:inherit;font-size:.8rem}.shopping-back,.recipe-back,.choose-back,.cook-back,.pantry-detail__back{width:fit-content;min-height:44px;color:var(--primary-strong);align-items:center;gap:.25rem;font-size:.875rem;font-weight:650;text-decoration:none;display:inline-flex}.shopping-back:hover,.recipe-back:hover,.choose-back:hover,.cook-back:hover,.pantry-detail__back:hover{text-decoration:underline}
