:root{color:#19211d;background:#f4f7f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{border:0;border-radius:8px;background:#12664f;color:#fff;cursor:pointer;font-weight:700;padding:.85rem 1rem}button:disabled{cursor:not-allowed;opacity:.65}button:hover:not(:disabled){background:#0d513f}a{color:#12664f;font-weight:700}.primary-link-button,.secondary-link-button{align-items:center;border-radius:8px;display:inline-flex;justify-content:center;min-height:46px;padding:.85rem 1rem;text-decoration:none}.primary-link-button{background:#12664f;color:#fff}.primary-link-button:hover{background:#0d513f}.secondary-link-button{background:#e8eee5;color:#19211d}.secondary-link-button:hover{background:#d9e3d5}.auth-layout{background:#f8f7f2;display:grid;min-height:100vh;padding:1.5rem;place-items:center}.auth-panel,.panel,.empty-state{background:#fff;border:1px solid #dfe7dc;border-radius:8px;box-shadow:0 18px 45px #19211d14}.auth-panel{display:grid;gap:1.5rem;border-color:#e3dfd8;box-shadow:0 22px 70px #362d1e1f;max-width:470px;padding:2rem;width:100%}.auth-brand{align-items:center;display:flex;gap:.9rem}.auth-brand h1{color:#2f7a47;font-size:clamp(1.8rem,5vw,2.5rem);margin-bottom:.35rem}.auth-brand p:last-child{color:#657064;margin-bottom:0}.google-auth-button{align-items:center;background:#fff;border:1px solid #d9ded8;box-shadow:0 10px 24px #362d1e14;color:#18231d;display:inline-flex;gap:.75rem;justify-content:center;min-height:50px;width:100%}.google-auth-button:hover:not(:disabled){background:#f7faf5}.google-mark{align-items:center;background:#fff;border:1px solid #d9ded8;border-radius:999px;color:#4285f4;display:inline-flex;font-weight:900;height:28px;justify-content:center;width:28px}.auth-divider{align-items:center;color:#6d766f;display:grid;font-size:.82rem;font-weight:800;gap:.75rem;grid-template-columns:1fr auto 1fr}.auth-divider:before,.auth-divider:after{background:#e3dfd8;content:"";height:1px}.auth-google-only{background:#f7faf5;border:1px solid #e4ece0;border-radius:8px;display:grid;gap:1rem;padding:1rem}.auth-google-only p{color:#5e6b64;font-weight:700;margin-bottom:0}.eyebrow{color:#5e6b64;font-size:.78rem;font-weight:800;letter-spacing:0;margin:0 0 .4rem;text-transform:uppercase}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin-bottom:.75rem}h2{font-size:1.15rem;margin-bottom:1rem}.form{display:grid;gap:1rem}label{color:#3e4a43;display:grid;font-size:.92rem;font-weight:700;gap:.45rem}input,select{background:#fbfdfa;border:1px solid #cdd9c9;border-radius:8px;color:#19211d;min-height:46px;padding:.75rem .85rem;width:100%}input:focus,select:focus{border-color:#12664f;outline:3px solid rgba(18,102,79,.16)}.auth-switch{color:#5e6b64;margin:0}.error-message{background:#fff2f0;border:1px solid #ffd1cc;border-radius:8px;color:#a83223;margin:0;padding:.85rem 1rem}.success-message{background:#eefaf4;border:1px solid #c7ead8;border-radius:8px;color:#12664f;margin:0;padding:.85rem 1rem}.page-status{display:grid;min-height:100vh;place-items:center}.dashboard{margin:0 auto;max-width:1160px;padding:2rem}.dashboard-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.family-switcher{align-items:center;display:flex;gap:.5rem}.family-switcher select{min-height:46px;min-width:170px}.dashboard-header p:last-child{color:#5e6b64;margin-bottom:0}.secondary-button{background:#e8eee5;color:#19211d}.secondary-button:hover{background:#d9e3d5}.choice-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.choice-card{align-items:flex-start;background:#fff;border:1px solid #dfe7dc;color:#19211d;display:grid;gap:.4rem;min-height:130px;padding:1.25rem;text-align:left}.choice-card:hover,.choice-card.active{background:#dff3ec;border-color:#94cfb8;color:#0d513f}.choice-card strong{font-size:1.2rem}.choice-card span{color:#5e6b64;font-weight:700}.onboarding-panel{max-width:560px}.panel{padding:1.25rem}.section-header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.section-header p,.muted-text{color:#5e6b64;margin-bottom:0}.categories-manager{display:grid;gap:1rem;margin-bottom:1rem}.category-form{align-items:end;display:grid;gap:1rem;grid-template-columns:minmax(220px,1fr) auto}.category-columns{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.category-columns h3{font-size:.95rem;margin:0 0 .75rem}.category-list{display:grid;gap:.5rem;list-style:none;margin:0;padding:0}.category-row{align-items:center;background:#f7faf5;border:1px solid #e4ece0;border-radius:8px;display:flex;gap:.75rem;justify-content:space-between;min-height:44px;padding:.6rem .75rem}.category-row span{font-weight:700}.category-row small{color:#5e6b64;font-weight:700}.text-button{background:transparent;color:#a83223;padding:.3rem 0}.text-button:hover:not(:disabled){background:transparent;color:#7b2118}.invite-strip{align-items:center;background:#dff3ec;border:1px solid #b7dfcf;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:1rem 1.25rem}.invite-strip span{color:#3e4a43;font-weight:700}.invite-strip strong{color:#0d513f;font-size:1.4rem}.dashboard-stats{display:grid;gap:1rem;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:1rem}.dashboard-stat{background:#fff;border:1px solid #dfe7dc;border-radius:8px;box-shadow:0 18px 45px #19211d14;display:grid;gap:.45rem;min-height:110px;padding:1rem}.dashboard-stat-link{color:inherit;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.dashboard-stat-link:hover{box-shadow:0 22px 52px #19211d1c;transform:translateY(-1px)}.dashboard-stat-link:focus-visible{outline:3px solid rgba(18,102,79,.18);outline-offset:3px}.dashboard-stat span{color:#5e6b64;font-size:.9rem;font-weight:800}.dashboard-stat strong{color:#19211d;font-size:2.35rem;line-height:1}.dashboard-stat-warning{border-color:#f0d28a}.dashboard-stat-warning strong{color:#8a6200}.dashboard-stat-danger{border-color:#f0aaa2}.dashboard-stat-danger strong{color:#a83223}.expired-banner{align-items:center;background:#fff2f0;border:1px solid #ffd1cc;border-radius:8px;color:#7b2118;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding:1rem 1.25rem}.expired-banner strong{display:block;margin-bottom:.25rem}.expired-banner p{margin-bottom:0}.expiry-intro-panel{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.expiry-intro-panel h2{margin-bottom:0}.expiry-products-list{display:grid;gap:.85rem}.expiry-product-card{background:#fff;border:1px solid #dfe7dc;border-radius:8px;box-shadow:0 18px 45px #19211d14;display:grid;gap:1rem;padding:1rem}.expiry-product-main,.expiry-product-footer{align-items:center;display:flex;gap:1rem;justify-content:space-between}.expiry-product-title{display:grid;gap:.6rem}.expiry-product-title h2{font-size:1.15rem;margin-bottom:0}.expiry-product-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.location-badge{background:#f7faf5;border:1px solid #e4ece0;border-radius:999px;color:#3e4a43;display:inline-flex;font-size:.85rem;font-weight:800;padding:.35rem .7rem}.expiry-date-text{color:#5e6b64;margin-bottom:0}.expiry-date-text strong{color:#19211d}.expiry-actions{display:flex;gap:.65rem}.profile-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-panel{display:grid;gap:1rem}.profile-family-panel{grid-column:1 / -1}.household-manager{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.household-manager .error-message,.household-manager .success-message{grid-column:1 / -1}.invite-profile-card{background:#dff3ec;border:1px solid #b7dfcf;border-radius:8px;display:grid;gap:.35rem;padding:1rem}.invite-profile-card span{color:#3e4a43;font-weight:800}.invite-profile-card strong{color:#0d513f;font-size:2rem;line-height:1}.inventory-shell{display:grid;gap:1rem}.inventory-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between}.inventory-filters{align-items:end;display:grid;gap:1rem;grid-template-columns:minmax(180px,1.2fr) minmax(170px,1fr) minmax(170px,1fr) auto}.inventory-tabs{background:#e8eee5;border-radius:8px;display:inline-grid;gap:.25rem;grid-template-columns:repeat(3,minmax(120px,1fr));padding:.25rem}.inventory-tab{align-items:center;background:transparent;color:#3e4a43;display:flex;gap:.75rem;justify-content:center;min-height:42px;padding:.6rem .85rem}.inventory-tab:hover:not(:disabled),.inventory-tab.active{background:#fff;color:#12664f}.inventory-tab small{background:#dff3ec;border-radius:999px;color:#0d513f;min-width:28px;padding:.15rem .45rem;text-align:center}.inventory-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-card{background:#fff;border:1px solid #dfe7dc;border-radius:8px;box-shadow:0 18px 45px #19211d14;display:grid;gap:1rem;padding:1rem}.low-stock-card{border-color:#f0d28a}.inventory-expiry-ok{border-left:5px solid #2d7d46}.inventory-expiry-soon{border-left:5px solid #d29600}.inventory-expiry-expired{border-left:5px solid #b3261e}.inventory-expiry-none{border-left:5px solid #8c9690}.inventory-card-main{align-items:start;display:flex;gap:1rem;justify-content:space-between}.inventory-card h3{font-size:1.1rem;margin:0 0 .5rem}.inventory-category{align-items:center;background:var(--category-background);border:1px solid color-mix(in srgb,var(--category-color),transparent 72%);border-radius:999px;color:var(--category-color);display:inline-flex;font-size:.85rem;font-weight:800;gap:.4rem;padding:.3rem .65rem .3rem .35rem}.category-icon{align-items:center;background:var(--category-color);border-radius:999px;color:#fff;display:inline-flex;font-size:.65rem;height:24px;justify-content:center;min-width:24px;padding:0 .25rem}.quantity-pill{align-items:center;background:#f7faf5;border:1px solid #e4ece0;border-radius:8px;display:grid;justify-items:center;min-width:78px;padding:.55rem .7rem}.quantity-pill strong{font-size:1.4rem;line-height:1}.quantity-pill span,.expiry-text,.minimum-text{color:#5e6b64;font-size:.9rem}.inventory-card-details{display:grid;gap:.35rem}.expiry-text,.minimum-text{margin:0}.expiry-status-pill{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;justify-self:start;padding:.25rem .55rem}.expiry-status-ok{background:#e5f7ea;color:#2d7d46}.expiry-status-soon{background:#fff8cf;color:#8a6200}.expiry-status-expired{background:#fff2f0;color:#a83223}.expiry-status-none{background:#eef2ed;color:#5e6b64}.minimum-text-warning{color:#8a6200;font-weight:800}.consume-button{padding:.7rem .9rem}.inventory-card-actions{display:flex;gap:.65rem;justify-content:flex-start}.edit-button{background:#1d64c8;color:#fff;padding:.7rem .9rem}.edit-button:hover:not(:disabled){background:#174f9e}.danger-button{background:#b3261e;color:#fff;padding:.7rem .9rem}.danger-button:hover:not(:disabled){background:#8f1d17}.loading-panel{margin:0}.shopping-list-shell{display:grid;gap:1rem}.shopping-mode .shopping-summary{position:sticky;top:0;z-index:10}.shopping-mode .shopping-item{min-height:76px}.shopping-mode .shopping-check{font-size:1.08rem}.shopping-mode .shopping-check input{height:24px;width:24px}.shopping-summary{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.shopping-summary>div{background:#fff;border:1px solid #dfe7dc;border-radius:8px;box-shadow:0 18px 45px #19211d14;display:grid;gap:.35rem;padding:1rem}.shopping-summary span{color:#5e6b64;font-weight:800}.shopping-summary strong{font-size:2rem;line-height:1}.shopping-add-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.shopping-add-form{display:grid;gap:1rem}.shopping-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between}.inline-checkbox,.shopping-check{align-items:center;display:inline-flex;gap:.65rem}.inline-checkbox input,.shopping-check input{min-height:auto;width:auto}.shopping-items{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}.shopping-category-groups{display:grid;gap:1rem}.shopping-category-group{display:grid;gap:.65rem}.shopping-group-title{color:#3e4a43;font-size:.95rem;margin-bottom:0}.shopping-item{align-items:center;background:#fff;border:1px solid #dfe7dc;border-radius:8px;box-shadow:0 18px 45px #19211d14;display:flex;gap:1rem;justify-content:space-between;min-height:62px;padding:.85rem 1rem}.shopping-item-main{display:grid;flex:1;gap:.35rem;min-width:0}.shopping-item-side{align-items:center;display:flex;flex-shrink:0;gap:.65rem}.shopping-check{color:#19211d;flex:1;font-size:1rem}.shopping-check span{font-weight:800}.shopping-item.completed{opacity:.72}.shopping-item.completed .shopping-check span{color:#5e6b64;text-decoration:line-through}.shopping-auto-note{background:#fff8cf;border:1px solid #f0d28a;border-radius:8px;color:#735000;font-size:.86rem;font-weight:800;line-height:1.35;margin:0;padding:.55rem .7rem}.shopping-category{flex-shrink:0}.shopping-replenish-button{white-space:nowrap}.replenished-pill{background:#dff3ec;border:1px solid #b7dfcf;border-radius:999px;color:#0d513f;font-size:.85rem;font-weight:800;padding:.35rem .7rem;white-space:nowrap}.suggested-expiry-note{align-self:end;background:#eef7ff;border:1px solid #c5def8;border-radius:8px;color:#174f9e;font-size:.88rem;font-weight:800;grid-column:1 / -1;margin:0;padding:.7rem .85rem}.use-soon-products{display:grid;gap:1rem;margin-bottom:1rem}.use-soon-product-list{display:grid;gap:.65rem}.use-soon-product-row{align-items:center;background:#f7faf5;border:1px solid #e4ece0;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:minmax(180px,1fr) auto auto;padding:.75rem .85rem}.use-soon-product-row span:not(.inventory-category):not(.category-icon){color:#5e6b64;font-weight:800}.use-soon-product-row strong{color:#8a6200}.recipe-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.recipe-card{background:#fff;border:1px solid #dfe7dc;border-radius:8px;box-shadow:0 18px 45px #19211d14;display:grid;gap:1rem;padding:1rem}.recipe-card h2{margin-bottom:.5rem}.recipe-card p:last-child{color:#5e6b64;margin-bottom:0}.recipe-matches{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.use-soon-chip{justify-self:start}.activity-history{display:grid;gap:1rem}.history-entry-panel{align-items:center;display:flex;gap:1rem;justify-content:space-between}.history-entry-panel h2{margin-bottom:.35rem}.activity-list{display:grid;gap:.65rem;list-style:none;margin:0;padding:0}.activity-list li{background:#f7faf5;border:1px solid #e4ece0;border-radius:8px;display:grid;gap:.2rem;padding:.75rem .85rem}.activity-list span{color:#5e6b64;font-size:.78rem;font-weight:800}.activity-list p{margin-bottom:0}.design-preview{background:linear-gradient(135deg,#def2eaeb,#f8fbf6eb),#f4f7f2;min-height:100vh;padding:2rem}.preview-shell{display:grid;gap:1.25rem;margin:0 auto;max-width:1280px}.preview-header{align-items:center;background:#fff;border:1px solid #dfe7dc;border-radius:18px;box-shadow:0 24px 70px #19211d1a;display:flex;gap:1rem;justify-content:space-between;padding:1.4rem}.preview-eyebrow{color:#5e6b64;font-size:.78rem;font-weight:900;letter-spacing:0;margin:0 0 .35rem;text-transform:uppercase}.preview-header h1{font-size:clamp(2.1rem,4vw,4.4rem);letter-spacing:0;margin-bottom:.55rem}.preview-header p:last-child{color:#5e6b64;margin-bottom:0}.preview-header-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.preview-primary-button,.preview-secondary-button,.preview-consume-button,.preview-edit-button,.preview-delete-button{align-items:center;border-radius:12px;display:inline-flex;gap:.45rem;justify-content:center;min-height:44px;padding:.7rem .9rem}.preview-primary-button{background:#12664f;color:#fff}.preview-secondary-button{background:#edf4ea;color:#19211d}.preview-stats{display:grid;gap:1rem;grid-template-columns:repeat(5,minmax(0,1fr))}.preview-stat{background:#fff;border:1px solid #dfe7dc;border-radius:18px;box-shadow:0 18px 45px #19211d14;display:grid;gap:.6rem;min-height:132px;padding:1rem}.preview-icon-box,.preview-category-icon{align-items:center;border-radius:14px;display:inline-flex;height:42px;justify-content:center;width:42px}.preview-stat span{color:#5e6b64;font-size:.86rem;font-weight:900}.preview-stat strong{color:#19211d;font-size:2.35rem;line-height:1}.preview-stat-green .preview-icon-box{background:#dff3ec;color:#12664f}.preview-stat-amber .preview-icon-box{background:#fff4ce;color:#8a6200}.preview-stat-blue .preview-icon-box{background:#e2f2ff;color:#1d64c8}.preview-stat-orange .preview-icon-box{background:#ffe9d6;color:#a34700}.preview-stat-red .preview-icon-box{background:#fff2f0;color:#a83223}.preview-workspace{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) 320px}.preview-workspace-single{grid-template-columns:1fr}.preview-main-column{display:grid;gap:1rem}.preview-toolbar,.preview-filters,.preview-side-panel{background:#fff;border:1px solid #dfe7dc;border-radius:18px;box-shadow:0 18px 45px #19211d14}.preview-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:.85rem}.preview-toolbar-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.preview-tabs{background:#edf4ea;border-radius:14px;display:grid;gap:.25rem;grid-template-columns:repeat(3,minmax(110px,1fr));padding:.25rem}.preview-tabs button{background:transparent;color:#3e4a43}.preview-tabs button.active{background:#fff;color:#12664f}.preview-filters{align-items:center;display:grid;gap:.75rem;grid-template-columns:minmax(180px,1fr) 180px 210px;padding:.85rem}.preview-filters label{align-items:center;background:#fbfdfa;border:1px solid #cdd9c9;border-radius:12px;display:flex;gap:.5rem;min-height:46px;padding:0 .85rem}.preview-filters input{background:transparent;border:0;min-height:auto;padding:0}.preview-products-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.preview-product-card{background:#fff;border:1px solid #dfe7dc;border-left:6px solid #2d7d46;border-radius:18px;box-shadow:0 18px 45px #19211d14;display:grid;gap:1rem;min-width:0;padding:1rem}.preview-product-soon{border-left-color:#d29600}.preview-product-frozen{border-left-color:#1d64c8}.preview-product-none{border-left-color:#8c9690}.preview-product-top{align-items:center;display:flex;justify-content:space-between}.preview-category-icon{background:#dff3ec;color:#12664f}.preview-product-card h2{font-size:1.15rem;margin-bottom:.25rem}.preview-product-card p,.preview-product-top span{color:#5e6b64;font-weight:800;margin-bottom:0}.preview-product-info{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.preview-product-info div{background:#f7faf5;border:1px solid #e4ece0;border-radius:12px;display:grid;gap:.2rem;padding:.65rem}.preview-product-info span{color:#5e6b64;font-size:.78rem;font-weight:900}.preview-product-info strong{color:#19211d;font-size:.95rem}.preview-actions{display:grid;gap:.5rem;grid-template-columns:1fr 1fr auto}.preview-consume-button{background:#12664f}.preview-edit-button{background:#1d64c8}.preview-delete-button{background:#b3261e;padding-inline:.8rem}.preview-side-panel{display:grid;gap:1rem;padding:1rem;position:sticky;top:1rem}.preview-side-panel h2{margin-bottom:0}.preview-side-panel ul{display:grid;gap:.65rem;list-style:none;margin:0;padding:0}.preview-side-panel li{align-items:center;background:#f7faf5;border:1px solid #e4ece0;border-radius:14px;display:grid;gap:.65rem;grid-template-columns:auto 1fr auto;min-height:64px;padding:.75rem}.preview-shopping-check{align-items:center;background:#dff3ec;border-radius:999px;color:#12664f;display:inline-flex;height:30px;justify-content:center;width:30px}.preview-side-panel small{color:#5e6b64;display:block;font-weight:800;margin-top:.2rem}.design-preview-page{background:#f8f7f2;color:#18231d;min-height:100vh;padding:1.75rem}.design-app-frame{background:#fffefa;border:1px solid #e7e1d8;border-radius:8px;box-shadow:0 22px 70px #362d1e1f;margin:0 auto;max-width:1380px;padding:1.5rem}.design-topbar{align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(260px,1fr) auto auto;margin-bottom:1.6rem}.design-brand{align-items:center;display:flex;gap:.9rem;min-width:0}.design-home-icon{align-items:center;border:3px solid #2f7a47;border-radius:8px;color:#2f7a47;display:inline-flex;height:58px;justify-content:center;width:58px}.design-brand h1{color:#2f7a47;font-size:clamp(1.55rem,3vw,2.1rem);line-height:1.05;margin:0}.design-brand p{color:#657064;margin:.25rem 0 0}.design-main-actions{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}.design-main-actions a,.design-main-actions button,.dashboard-logout-button,.inventory-clear-button,.design-profile-button,.design-add-button,.design-product-actions button,.design-stat-link{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;font-weight:800;gap:.5rem;justify-content:center;min-height:46px;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.design-main-actions a:hover,.design-main-actions button:hover,.dashboard-logout-button:hover,.inventory-clear-button:hover,.design-profile-button:hover,.design-add-button:hover,.design-product-actions button:hover,.design-stat-link:hover{transform:translateY(-1px)}.design-action-green{background:linear-gradient(180deg,#69a66e,#2f8a4e);border:1px solid #2f8a4e;box-shadow:0 10px 22px #2f8a4e3d;color:#fff;padding:0 1.15rem}.design-action-coral{background:linear-gradient(180deg,#ff9e8b,#ff765f);border:1px solid #ff765f;box-shadow:0 10px 22px #ff765f38;color:#fff;padding:0 1.15rem}.design-action-blue,.design-action-neutral{background:#fff;border:1px solid #cadff2;color:#0f65a9;padding:0 1.05rem}.design-action-neutral{border-color:#d9ded8;color:#3f5147}.design-profile-button{background:#fff;border:1px solid #e0ded8;box-shadow:0 10px 24px #362d1e14;color:#18231d;padding:.55rem .8rem;text-align:left}.design-profile-button span{align-items:center;background:#91a690;border-radius:999px;color:#fff;display:inline-flex;font-weight:900;height:40px;justify-content:center;width:40px}.design-profile-button strong,.design-profile-button small{display:block;line-height:1.15}.design-profile-button small{color:#69736b;font-weight:700;margin-top:.2rem}.design-stats-grid{display:grid;gap:.8rem;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:1.5rem}.design-stat-card{align-items:center;background:#fff;border:1px solid #e3dfd8;border-radius:8px;box-shadow:0 12px 30px #362d1e14;display:grid;gap:.8rem;grid-template-columns:auto 1fr;min-height:166px;padding:1.25rem}.design-stat-icon{align-items:center;border-radius:999px;display:inline-flex;height:72px;justify-content:center;width:72px}.design-stat-content span,.design-product-meta span,.design-filter-panel label>span{color:#435049;display:block;font-size:.9rem;font-weight:800}.design-stat-content strong{color:#14201a;display:block;font-size:2.55rem;line-height:1;margin:.35rem 0 .25rem}.design-stat-content small{color:#48564f;display:block}.design-stat-link{background:transparent;border:0;color:currentColor;margin-top:.8rem;min-height:auto;padding:0}.design-tone-green .design-stat-icon{background:#e1f2e6;color:#2d8a4b}.design-tone-amber .design-stat-icon{background:#fff1d2;color:#e79217}.design-tone-blue .design-stat-icon{background:#e2f1ff;color:#237ec0}.design-tone-orange .design-stat-icon,.design-product-orange .design-product-visual{background:#fff0d7;color:#ef8d17}.design-tone-orange .design-stat-link{color:#e87800}.design-tone-red .design-stat-icon,.design-product-red .design-product-visual{background:#ffe1e1;color:#e33a3a}.design-tone-red .design-stat-link{color:#e32323}.design-filter-panel{align-items:end;background:#fff;border:1px solid #e2ded8;border-radius:8px;box-shadow:0 12px 30px #362d1e12;display:grid;gap:1rem;grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(140px,.7fr)) minmax(190px,.95fr) auto;margin-bottom:1.5rem;padding:1rem}.design-search-field,.design-filter-panel label:not(.design-check-filter){min-width:0}.design-search-field{align-items:center;border:1px solid #e1ded8;border-radius:8px;color:#7a827d;display:flex;gap:.75rem;min-height:54px;padding:0 .9rem}.design-search-field input,.design-filter-panel select{background:#fff;border:0;color:#66716c;font:inherit;min-width:0;outline:none;width:100%}.design-filter-panel select{border:1px solid #e1ded8;border-radius:8px;color:#24302a;height:44px;margin-top:.35rem;padding:0 .75rem}.design-check-filter{align-items:center;border-left:1px solid #e6e0d8;display:flex;gap:.65rem;min-height:54px;padding-left:1rem}.design-check-filter input{height:20px;width:20px}.design-add-button{background:#243c2f;border:1px solid #243c2f;color:#fff;min-height:54px;padding:0 1rem;white-space:nowrap}.design-products-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.design-product-card{background:#fff;border:2px solid #e1ded8;border-radius:8px;display:grid;gap:1.15rem;min-height:330px;padding:1.2rem}.design-product-green{border-color:#2f8a4e}.design-product-orange{border-color:#ff9c18}.design-product-red{border-color:#ff4040}.design-product-main{align-items:center;display:grid;gap:1rem;grid-template-columns:116px 1fr}.design-product-visual{align-items:center;background:#e2f2e7;border-radius:8px;color:#2f8a4e;display:inline-flex;height:108px;justify-content:center;width:108px}.design-product-heading{min-width:0}.design-product-heading h2{color:#18231d;font-size:1.08rem;line-height:1.25;margin:0 0 .55rem}.design-product-details{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.design-product-details span{background:#e8f3ff;border-radius:8px;color:#0f65a9;font-size:.84rem;font-weight:800;padding:.38rem .6rem}.design-product-details .design-location-pill{background:transparent;color:#2d8a4b;font-size:.92rem;padding:0}.design-product-orange .design-location-pill{color:#ef8d17}.design-product-red .design-location-pill{color:#237ec0}.design-product-meta{border-top:1px solid #e5e0d8;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:1rem}.design-product-meta strong{color:#18231d;display:block;font-size:1rem;margin-top:.45rem}.design-product-meta small{color:#2f7a47;display:block;font-weight:800;margin-top:.25rem}.design-product-orange .design-product-meta div:last-child strong,.design-product-orange .design-product-meta div:last-child small{color:#c76900}.design-product-red .design-product-meta div:last-child strong,.design-product-red .design-product-meta div:last-child small{color:#e32323}.design-product-actions{align-self:end;display:grid;gap:.75rem;grid-template-columns:1fr 1fr 1fr}.design-product-actions button{background:#fff;border:1px solid currentColor;min-height:44px;padding:0 .75rem}.design-consume-button{color:#2f8a4e}.design-product-green .design-consume-button{background:linear-gradient(180deg,#5aa767,#2f8a4e);border-color:#2f8a4e;color:#fff}.design-product-orange .design-consume-button{background:linear-gradient(180deg,#ffa632,#ff8d18);border-color:#ff8d18;color:#fff}.design-product-red .design-consume-button{background:linear-gradient(180deg,#ff6a66,#f13c3c);border-color:#f13c3c;color:#fff}.design-edit-button{color:#1970b8}.design-delete-button{color:#e32323}.dashboard-polished{margin:0;max-width:none;padding:1.75rem}.dashboard-app-frame{display:grid;gap:1.5rem}.dashboard-topbar,.dashboard-stats{margin-bottom:0}.dashboard-user-actions{align-items:center;display:flex;gap:.7rem;justify-content:flex-end}.dashboard-user-actions .design-profile-button{text-decoration:none}.dashboard-family-switcher:empty{display:none}.dashboard-family-switcher .family-switcher{align-items:center;background:#fff;border:1px solid #d9ded8;border-radius:8px;color:#3f5147;display:flex;font-weight:800;min-height:46px;padding:0 .75rem}.dashboard-family-switcher .family-switcher select{background:transparent;border:0;color:#24302a;min-height:auto;min-width:150px;padding:0}.design-main-actions .active,.design-profile-button.active{box-shadow:0 0 0 3px #2f7a471f}.app-page-intro{align-items:center;background:#fff;border-color:#e3dfd8;box-shadow:0 12px 30px #362d1e12;display:flex;gap:1rem;justify-content:space-between;margin:0}.app-page-intro h2{color:#18231d;font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.1;margin-bottom:.35rem}.app-notification-panel{align-items:flex-start;background:#fff;border:1px solid #e3dfd8;border-radius:8px;box-shadow:0 12px 30px #362d1e12;display:grid;gap:.9rem;grid-template-columns:auto 1fr auto;padding:1rem}.app-notification-danger{border-color:#ffc0bc;box-shadow:0 12px 30px #e33a3a1a}.app-notification-warning{border-color:#ffd99b;box-shadow:0 12px 30px #ef8d171a}.app-notification-icon{align-items:center;border-radius:999px;display:inline-flex;height:44px;justify-content:center;width:44px}.app-notification-danger .app-notification-icon{background:#ffe1e1;color:#e32323}.app-notification-warning .app-notification-icon{background:#fff0d7;color:#e87800}.app-notification-content{display:grid;gap:.45rem}.app-notification-content strong{color:#18231d}.app-notification-content p{color:#5e6b64;margin-bottom:0}.app-notification-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.25rem}.app-notification-actions a,.app-notification-actions button{align-items:center;background:#fff;border:1px solid #d9ded8;border-radius:8px;color:#24302a;display:inline-flex;font-size:.9rem;font-weight:800;gap:.4rem;min-height:38px;padding:.5rem .75rem;text-decoration:none}.app-notification-actions button{background:#243c2f;border-color:#243c2f;color:#fff}.app-notification-close{align-items:center;background:#f2f0ea;color:#3f5147;display:inline-flex;height:36px;justify-content:center;padding:0;width:36px}.app-notification-close:hover:not(:disabled){background:#e5e1d8}.dashboard-app-frame>.profile-grid,.dashboard-app-frame>.choice-grid,.dashboard-app-frame>.categories-manager,.dashboard-app-frame>.shopping-list-shell,.dashboard-app-frame>.recipe-grid,.dashboard-app-frame>.expiry-products-list{margin-top:0}.dashboard-expired-banner,.dashboard-history-panel{margin-bottom:0}.inventory-shell-polished{gap:1.5rem}.inventory-toolbar-polished{margin-bottom:0}.inventory-filter-panel{grid-template-columns:minmax(220px,1.3fr) minmax(170px,.85fr) minmax(170px,.85fr) auto;margin-bottom:0}.inventory-clear-button{min-height:54px;padding:0 1rem;white-space:nowrap}.inventory-product-card{min-width:0}.inventory-product-card .design-product-visual span{font-size:2rem;font-weight:900;letter-spacing:0}.inventory-product-card .minimum-text{background:#fff8cf;border:1px solid #f0d28a;border-radius:8px;color:#7a5600;font-weight:800;justify-self:start;margin:0;padding:.6rem .75rem}.inventory-product-card.low-stock-card{box-shadow:0 12px 30px #d296001f}.modal-backdrop{align-items:center;background:#19211d80;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:20}.modal-panel{background:#fff;border-radius:8px;box-shadow:0 28px 80px #19211d3d;max-height:min(92vh,760px);max-width:760px;overflow:auto;padding:1.25rem;width:100%}.modal-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.modal-header h2{margin-bottom:0}.icon-button{align-items:center;background:#e8eee5;color:#19211d;display:inline-flex;height:42px;justify-content:center;padding:0;width:42px}.icon-button:hover:not(:disabled){background:#d9e3d5}.inventory-modal-form{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.modal-full-row,.modal-error,.modal-actions{grid-column:1 / -1}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.empty-state{padding:2rem;text-align:center}.empty-state p{color:#5e6b64;margin-bottom:0}@media(max-width:1040px){.inventory-grid,.preview-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.design-topbar{align-items:stretch;grid-template-columns:1fr}.design-main-actions{justify-content:flex-start}.design-profile-button{justify-self:start}.dashboard-user-actions{justify-content:flex-start}.design-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.design-filter-panel,.inventory-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-workspace{grid-template-columns:1fr}.preview-side-panel{position:static}}@media(max-width:820px){.dashboard{padding:1rem}.dashboard-header,.expiry-product-footer,.expiry-product-main,.invite-strip,.inventory-card-main,.preview-header,.preview-toolbar,.inventory-toolbar{align-items:stretch;flex-direction:column}.header-actions{justify-content:stretch}.header-actions>*{flex:1}.choice-grid,.category-columns,.category-form,.dashboard-stats,.household-manager,.inventory-filters,.inventory-modal-form,.preview-filters,.preview-stats,.profile-grid,.shopping-add-grid,.shopping-summary{grid-template-columns:1fr}.inventory-tabs,.modal-actions{grid-template-columns:1fr;width:100%}.inventory-grid,.preview-products-grid,.preview-product-info,.preview-actions,.preview-tabs{grid-template-columns:1fr}.design-preview-page{padding:.75rem}.design-app-frame{padding:1rem}.design-stats-grid,.design-products-grid,.design-filter-panel{grid-template-columns:1fr}.dashboard-user-actions{align-items:stretch;flex-direction:column}.app-notification-panel{grid-template-columns:1fr;justify-items:center;text-align:center}.app-notification-actions{justify-content:center}.app-notification-actions a,.app-notification-actions button{width:100%}.design-product-main,.design-product-meta,.design-product-actions{grid-template-columns:1fr}.design-product-card{justify-items:center;text-align:center}.design-product-main,.design-product-heading,.design-product-meta{justify-items:center;text-align:center;width:100%}.design-product-visual{margin:0 auto}.design-product-details{justify-content:center}.design-product-actions{width:100%}.design-main-actions button,.design-main-actions a,.dashboard-user-actions,.dashboard-user-actions>*,.design-profile-button,.dashboard-logout-button,.design-add-button{width:100%}.dashboard-family-switcher,.dashboard-family-switcher .family-switcher,.dashboard-family-switcher .family-switcher select{width:100%}.design-check-filter{border-left:0;padding-left:0}.design-preview{padding:1rem}.use-soon-product-row{grid-template-columns:1fr}.shopping-toolbar,.shopping-item,.shopping-item-side,.use-soon-product-row,.history-entry-panel,.app-page-intro,.expiry-intro-panel,.expired-banner{align-items:stretch;flex-direction:column}.modal-actions,.modal-actions button,.expiry-actions,.expiry-actions button,.inventory-toolbar>button,.shopping-replenish-button,.consume-button,.edit-button,.danger-button{flex:1;width:100%}.expiry-actions,.inventory-card-actions{flex-direction:column}}
