:root{--ink:#1f2d29;--ink-soft:#68736e;--paper:#f6f5ef;--surface:#fff;--line:#e5e5dc;--green:#18594b;--green-dark:#10483d;--green-soft:#e4f0eb;--sage:#a8c7b7;--amber:#9b6a1d;--amber-soft:#f8edcf;--coral:#a44738;--coral-soft:#fae4df;--surface-sage:#edf5f0;--surface-sun:#fff7e5;--surface-rose:#fff0ec;--sidebar-tint:#eef4f0;--shadow:0 14px 40px #2c3d3617}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#edf5f0;--ink-soft:#a5b3ad;--paper:#111a17;--surface:#19241f;--line:#2b3a34;--green:#79b9a4;--green-dark:#68a58f;--green-soft:#203a31;--sage:#668e7e;--amber:#e1b766;--amber-soft:#3b321f;--coral:#eb998b;--coral-soft:#402a27;--surface-sage:#1c3029;--surface-sun:#302a1d;--surface-rose:#332321;--sidebar-tint:#182822;--shadow:0 14px 40px #00000040}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{min-height:100%;color:var(--ink);background:radial-gradient(circle at 88% 4%, #a8c7b733, transparent 25rem), var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #18594b47}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell,.app-content{min-height:100vh}.main-content{width:100%}.page-section{width:min(100% - 32px,1120px);margin:0 auto;padding:42px 0 120px;animation:.26s ease-out rise-in}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3.4rem);font-weight:500;line-height:1.03}h2{letter-spacing:-.025em;margin-bottom:8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,3vw,2rem);font-weight:500}h3{font-size:1rem}.lead{color:var(--ink-soft);font-size:1.02rem;line-height:1.6}.eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:.73rem;font-weight:800}.eyebrow--light{color:#ffffffb3}.desktop-sidebar{display:none}.mobile-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f6f5efe6;border-bottom:1px solid #1f2d2914;justify-content:space-between;align-items:center;min-height:68px;padding:0 18px;display:flex}.brand{align-items:center;gap:10px;font-size:.93rem;font-weight:800;display:flex}.brand__mark{color:#fff;background:var(--green);border-radius:12px 12px 12px 4px;place-items:center;width:36px;height:36px;font-family:Georgia,serif;font-size:.78rem;display:grid}.avatar-button{border:2px solid var(--surface);color:#fff;width:38px;height:38px;box-shadow:0 0 0 1px var(--line);cursor:pointer;background:#b36a4c;border-radius:50%;font-size:.7rem;font-weight:800}.bottom-nav{z-index:30;padding:8px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #1f2d290f}.bottom-nav__item{color:#7b8580;cursor:pointer;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:54px;font-size:.68rem;font-weight:700;display:flex;position:relative}.bottom-nav__item--active{color:var(--green);background:var(--green-soft)}.bottom-nav__icon{font-size:1.25rem;line-height:1}.bottom-nav__item b{color:#fff;background:var(--coral);border:2px solid #fff;border-radius:10px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.59rem;display:grid;position:absolute;top:2px;left:calc(50% + 7px)}.welcome-row,.page-heading-row{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.sync-note{color:var(--ink-soft);align-items:center;gap:8px;font-size:.78rem;font-weight:700;display:none}.live-dot{background:#3d9c73;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 4px #3d9c731f}.status-overview{grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0 18px;display:grid}.status-card{text-align:left;cursor:pointer;border:1px solid #0000;border-radius:20px;justify-items:start;min-width:0;min-height:138px;padding:16px 12px;transition:transform .16s,box-shadow .16s;display:grid}.status-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.status-card--enough{background:var(--green-soft);border-color:#cfe1d8}.status-card--low{background:var(--amber-soft);border-color:#efdfb5}.status-card--out{background:var(--coral-soft);border-color:#f0ccc4}.status-card__icon{background:#ffffffa6;border-radius:50%;place-items:center;width:30px;height:30px;margin-bottom:9px;font-weight:900;display:grid}.status-card--enough .status-card__icon{color:var(--green)}.status-card--low .status-card__icon{color:var(--amber)}.status-card--out .status-card__icon{color:var(--coral)}.status-card__number{font-family:Georgia,serif;font-size:2.1rem;line-height:1}.status-card__label{color:var(--ink-soft);margin-top:4px;font-size:.72rem;font-weight:800}.review-hero{color:#fff;background:var(--green);border-radius:28px;align-items:center;min-height:280px;padding:30px 24px;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 50px #18594b2e}.review-hero:after{content:"";border:50px solid #ffffff0d;border-radius:50%;width:250px;height:250px;position:absolute;bottom:-120px;right:-90px}.review-hero__content{z-index:2;position:relative}.review-hero h2{max-width:420px;font-size:clamp(1.7rem,4vw,2.6rem)}.review-hero p:not(.eyebrow){color:#ffffffc2;max-width:390px;line-height:1.6}.review-hero__visual{min-height:200px;display:none;position:relative}.mini-box{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1f;border-radius:24px;place-items:center;width:84px;height:84px;font-size:2rem;display:grid;position:absolute}.mini-box--one{top:8px;left:26px;transform:rotate(-7deg)}.mini-box--two{top:74px;left:130px;transform:rotate(6deg)}.mini-box--three{top:130px;left:5px;transform:rotate(3deg)}.check-bubble{z-index:2;border:5px solid var(--green);width:45px;height:45px;color:var(--green);background:#d9edb8;border-radius:50%;place-items:center;font-weight:900;display:grid;position:absolute;top:24px;left:164px}.primary-button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:0 20px;font-size:.86rem;font-weight:800;transition:transform .15s,background .15s;display:inline-flex}.primary-button:hover{background:var(--green-dark);transform:translateY(-1px)}.primary-button:disabled{opacity:.42;cursor:not-allowed;transform:none}.primary-button--light{color:var(--green);background:#fff;margin-top:6px}.primary-button--light:hover{color:var(--green-dark);background:#f6f7f3}.primary-button--wide{width:100%}.secondary-button{border:1px solid var(--line);min-height:46px;color:var(--green);background:var(--surface);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;padding:0 17px;font-size:.8rem;font-weight:800;transition:transform .15s,border-color .15s;display:inline-flex}.secondary-button:hover{border-color:var(--green);transform:translateY(-1px)}.heading-actions{align-items:center;gap:9px;display:flex}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:.83rem;font-weight:800}.attention-section{margin-top:40px}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;display:flex}.section-heading h2{margin-bottom:0}.attention-list{border:1px solid var(--line);background:var(--surface);border-radius:22px;overflow:hidden;box-shadow:0 10px 32px #1f2d290d}.product-row{border-bottom:1px solid var(--line);align-items:center;gap:13px;min-height:82px;padding:12px 14px;display:flex}.product-row:last-child{border-bottom:0}.product-row__icon{background:var(--paper);border-radius:14px;flex:0 0 46px;place-items:center;width:46px;height:46px;font-size:1.35rem;display:grid}.product-row__copy{flex:1;min-width:0}.product-row__copy h3{text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;overflow:hidden}.product-row__copy p{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.71rem;overflow:hidden}.status-pill{white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:5px;min-height:30px;padding:0 10px;font-size:.66rem;font-weight:800;display:inline-flex}button.status-pill{cursor:pointer}.status-pill--enough{color:var(--green);background:var(--green-soft)}.status-pill--low{color:var(--amber);background:var(--amber-soft)}.status-pill--out{color:var(--coral);background:var(--coral-soft)}.page-heading-row{align-items:center;margin-bottom:30px}.page-heading-row>.primary-button{flex:none}.inventory-tools{gap:14px;margin-bottom:24px;display:grid}.search-box{border:1px solid var(--line);background:var(--surface);border-radius:16px;align-items:center;gap:10px;height:52px;padding:0 16px;display:flex;box-shadow:0 8px 24px #1f2d290a}.search-box span{color:var(--green);font-size:1.4rem}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.search-box input::placeholder{color:#98a09c}.category-chips{scrollbar-width:none;gap:8px;padding:2px 1px 5px;display:flex;overflow-x:auto}.category-chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);min-height:38px;color:var(--ink-soft);white-space:nowrap;cursor:pointer;background:#ffffffb3;border-radius:999px;padding:0 16px;font-size:.76rem;font-weight:700}.chip--active{border-color:var(--green);color:#fff;background:var(--green)}.product-grid{grid-template-columns:1fr;gap:13px;display:grid}.inventory-category-panel{background:linear-gradient(135deg, var(--surface-sage) 0%, var(--surface) 76%);border-color:#d7e4dc;margin-bottom:24px}.product-section-heading{margin:34px 2px 16px}.product-section-heading h2{margin-bottom:0}.results-count{min-height:32px;color:var(--green);background:var(--green-soft);white-space:nowrap;border-radius:999px;align-items:center;padding:0 12px;font-size:.7rem;font-weight:800;display:inline-flex}.product-card{border:1px solid var(--line);background:var(--surface);border-radius:22px;min-height:224px;padding:18px;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 30px #1f2d290b}.product-card:before{content:"";height:4px;position:absolute;top:0;left:0;right:0}.product-card--enough{background:linear-gradient(180deg, var(--surface-sage) 0, var(--surface) 116px)}.product-card--low{background:linear-gradient(180deg, var(--surface-sun) 0, var(--surface) 116px)}.product-card--out{background:linear-gradient(180deg, var(--surface-rose) 0, var(--surface) 116px)}.product-card--enough:before{background:var(--green)}.product-card--low:before{background:var(--amber)}.product-card--out:before{background:var(--coral)}.product-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.product-card__actions{align-items:center;gap:7px;display:flex}.product-edit,.category-edit{border:1px solid var(--line);color:var(--ink-soft);background:var(--surface);cursor:pointer;place-items:center;display:inline-grid}.product-edit{border-radius:10px;width:32px;height:32px;font-size:1rem}.product-edit:hover,.category-edit:hover{border-color:var(--green);color:var(--green);background:var(--green-soft)}.product-icon{background:var(--paper);border-radius:16px;place-items:center;width:52px;height:52px;font-size:1.55rem;display:grid}.product-card__copy{align-self:end;margin:18px 0 14px}.product-card__copy p{color:var(--green);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:.69rem;font-weight:800}.product-card__copy h2{letter-spacing:0;margin-bottom:5px;font-family:inherit;font-size:1.05rem;font-weight:800}.product-card__copy small{color:var(--ink-soft);font-size:.68rem}.quick-status{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:7px;padding-top:13px;display:grid}.quick-status__button{border:1px solid var(--line);color:#929a96;cursor:pointer;background:#fafaf7;border-radius:11px;min-height:34px;font-weight:900}.quick-status__button--active.quick-status__button--enough{color:var(--green);background:var(--green-soft);border-color:#bfd7ca}.quick-status__button--active.quick-status__button--low{color:var(--amber);background:var(--amber-soft);border-color:#ead9ab}.quick-status__button--active.quick-status__button--out{color:var(--coral);background:var(--coral-soft);border-color:#ecc2b9}.review-page{min-height:calc(100vh - 80px)}.review-start,.review-complete{text-align:center;width:min(100%,620px);margin:20px auto 0}.review-start__illustration,.complete-mark{color:#fff;background:var(--green);border-radius:34px 34px 34px 10px;place-items:center;width:104px;height:104px;margin:0 auto 28px;font-family:Georgia,serif;font-size:3.2rem;display:grid;box-shadow:0 18px 40px #18594b33}.review-start .lead,.review-complete .lead{max-width:540px;margin:0 auto 26px}.review-benefits{grid-template-columns:repeat(3,1fr);gap:8px;margin:30px 0;display:grid}.review-benefits span{border:1px solid var(--line);color:var(--ink-soft);background:#ffffffbf;border-radius:16px;padding:14px 8px;font-size:.72rem;font-weight:700}.review-benefits b{width:25px;height:25px;color:var(--green);background:var(--green-soft);border-radius:50%;place-items:center;margin:0 auto 7px;display:grid}.review-category-picker{text-align:left;grid-template-columns:1fr;gap:9px;margin:26px 0;display:grid}.review-category-option{border:1px solid var(--line);min-height:68px;color:var(--ink);background:var(--surface);text-align:left;cursor:pointer;border-radius:16px;grid-template-rows:1fr 1fr;grid-template-columns:42px 1fr 24px;align-items:center;column-gap:11px;padding:9px 11px;display:grid}.review-category-option>span{background:var(--paper);border-radius:13px;grid-row:1/3;place-items:center;width:42px;height:42px;font-size:1.25rem;display:grid}.review-category-option b{align-self:end;font-size:.78rem}.review-category-option small{color:var(--ink-soft);align-self:start;font-size:.64rem}.review-category-option em{border:1px solid var(--line);color:#fff;border-radius:50%;grid-row:1/3;place-items:center;width:22px;height:22px;font-size:.7rem;font-style:normal;font-weight:900;display:grid}.review-category-option--selected{border-color:var(--green);background:var(--green-soft)}.review-category-option--selected em{border-color:var(--green);background:var(--green)}.review-resume__progress{color:var(--green);align-items:center;gap:12px;margin:26px 0;font-size:.78rem;font-weight:800;display:flex}.review-resume__progress>span{background:var(--line);border-radius:999px;flex:1;height:9px;display:block;overflow:hidden}.review-resume__progress i{border-radius:inherit;background:var(--green);height:100%;display:block}.review-flow{width:min(100%,780px);margin:0 auto}.review-progress-row{align-items:center;gap:14px;margin-bottom:28px;display:flex}.icon-button{border:1px solid var(--line);width:42px;height:42px;color:var(--ink-soft);background:var(--surface);cursor:pointer;border-radius:50%;flex:0 0 42px;place-items:center;font-size:1.4rem;display:grid}.progress-wrap{flex:1}.progress-label{color:var(--ink-soft);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.75rem;display:flex}.progress-label strong{color:var(--ink)}.progress-track{background:#dedfd9;border-radius:999px;height:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--green);height:100%;transition:width .24s;display:block}.review-product{border:1px solid var(--line);background:var(--surface);text-align:center;box-shadow:var(--shadow);border-radius:28px;padding:28px 20px}.review-product__category{color:var(--green);background:var(--green-soft);border-radius:999px;margin-bottom:18px;padding:6px 12px;font-size:.7rem;font-weight:800;display:inline-block}.review-product__icon{background:var(--paper);border-radius:32px;place-items:center;width:100px;height:100px;margin:0 auto 18px;font-size:3rem;display:grid}.review-product h1{font-size:clamp(2rem,7vw,3.1rem)}.review-product>p{color:var(--ink-soft)}.review-actions{grid-template-columns:1fr;gap:10px;margin-top:26px;display:grid}.review-answer{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:17px;grid-template-columns:42px 1fr;align-items:center;column-gap:12px;min-height:72px;padding:10px 14px;transition:transform .15s,box-shadow .15s;display:grid}.review-answer:hover{transform:translateY(-2px);box-shadow:0 10px 25px #1f2d2914}.review-answer:disabled{cursor:wait;opacity:.65;transform:none}.review-answer>span{border-radius:50%;grid-row:1/3;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.review-answer b{align-self:end;font-size:.9rem}.review-answer small{color:var(--ink-soft);align-self:start;font-size:.67rem}.review-answer--enough>span{color:var(--green);background:var(--green-soft)}.review-answer--low>span{color:var(--amber);background:var(--amber-soft)}.review-answer--out>span{color:var(--coral);background:var(--coral-soft)}.complete-mark{background:#397b65;border-radius:50%}.complete-summary{grid-template-columns:repeat(3,1fr);gap:9px;margin:26px 0;display:grid}.complete-summary span{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:16px;gap:4px;padding:15px 8px;font-size:.69rem;display:grid}.complete-summary b{color:var(--ink);font-family:Georgia,serif;font-size:1.7rem}.review-complete>.text-button{margin-top:10px}.review-back{margin-top:18px}.shopping-heading{align-items:flex-start}.shared-users{align-items:center;padding-top:4px;display:flex}.shared-users>span{border:3px solid var(--paper);color:#fff;background:#b36a4c;border-radius:50%;place-items:center;width:34px;height:34px;margin-left:-8px;font-size:.6rem;font-weight:800;display:grid}.shared-users>span:nth-child(2){background:#517b6e}.shared-users small{color:var(--green);margin-left:8px;font-size:.66rem;font-weight:800}.quick-add{border:1px solid var(--line);background:var(--surface);border-radius:17px;min-height:54px;margin-bottom:22px;padding:5px 6px 5px 18px;display:flex;box-shadow:0 8px 24px #1f2d290a}.quick-add input{background:0 0;border:0;outline:0;flex:1;min-width:0}.quick-add button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:13px;width:43px;height:43px;font-size:1.25rem}.shopping-list{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:23px;overflow:hidden}.shopping-item{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;min-height:84px;padding:12px 14px;transition:opacity .15s;display:flex;position:relative}.shopping-item:last-child{border-bottom:0}.shopping-item input{opacity:0;pointer-events:none;position:absolute}.custom-check{color:#0000;border:2px solid #c9cec9;border-radius:8px;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:.75rem;display:grid}.shopping-item input:focus-visible+.custom-check{outline-offset:2px;outline:3px solid #18594b47}.shopping-item input:checked+.custom-check{border-color:var(--green);color:#fff;background:var(--green)}.shopping-item--checked{opacity:.52}.shopping-item--checked .shopping-item__copy b{text-decoration:line-through}.shopping-item__icon{background:var(--paper);border-radius:13px;flex:0 0 43px;place-items:center;width:43px;height:43px;font-size:1.3rem;display:grid}.shopping-item__copy{flex:1;min-width:0}.shopping-item__copy b,.shopping-item__copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.shopping-item__copy b{margin-bottom:5px;font-size:.88rem}.shopping-item__copy small{color:var(--ink-soft);font-size:.67rem}.priority{color:var(--ink-soft);background:var(--paper);white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:.61rem;font-weight:800;display:none}.priority--out{color:var(--coral);background:var(--coral-soft)}.priority--low{color:var(--amber);background:var(--amber-soft)}.finish-shopping{border:1px solid var(--line);background:#ffffffb8;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:16px 18px;display:flex}.finish-shopping p{color:var(--ink-soft);margin:0;font-size:.75rem}.finish-shopping p strong{color:var(--ink)}.shopping-history{margin-top:34px}.shopping-history>h2{margin-bottom:14px}.shopping-history>div{border:1px solid var(--line);background:var(--surface);border-radius:18px;overflow:hidden}.shopping-history article{border-bottom:1px solid var(--line);align-items:center;gap:11px;min-height:62px;padding:10px 13px;display:flex}.shopping-history article:last-child{border-bottom:0}.shopping-history article>span{width:29px;height:29px;color:var(--green);background:var(--green-soft);border-radius:50%;place-items:center;font-size:.75rem;font-weight:900;display:grid}.shopping-history p{gap:3px;margin:0;display:grid}.shopping-history b{font-size:.75rem}.shopping-history small{color:var(--ink-soft);font-size:.64rem}.settings-page{max-width:920px}.settings-heading{align-items:flex-start}.settings-grid{gap:16px;display:grid}.settings-panel{border:1px solid var(--line);background:var(--surface);border-radius:24px;padding:22px;box-shadow:0 10px 30px #1f2d290b}.settings-panel__heading{align-items:center;gap:14px;display:flex}.settings-panel__heading--action{align-items:center}.settings-panel__heading--action .secondary-button{margin-left:auto}.settings-panel__heading h2{letter-spacing:0;margin-bottom:4px;font-family:inherit;font-size:1rem;font-weight:800}.settings-panel__heading p{color:var(--ink-soft);margin:0;font-size:.72rem;line-height:1.45}.settings-panel__icon{width:46px;height:46px;color:var(--green);background:var(--green-soft);border-radius:15px;flex:0 0 46px;place-items:center;font-size:1.25rem;font-weight:800;display:grid}.theme-options{grid-template-columns:1fr;gap:10px;margin-top:20px;display:grid}.theme-option{border:2px solid var(--line);min-height:86px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border-radius:17px;grid-template-columns:66px 1fr 25px;align-items:center;gap:12px;padding:10px;display:grid}.theme-option--active{border-color:var(--green);background:var(--green-soft)}.theme-option>span:nth-child(2) b,.theme-option>span:nth-child(2) small{display:block}.theme-option>span:nth-child(2) b{margin-bottom:4px;font-size:.8rem}.theme-option>span:nth-child(2) small{color:var(--ink-soft);font-size:.66rem}.theme-option em{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:23px;height:23px;font-size:.72rem;font-style:normal;font-weight:900;display:grid}.theme-option:not(.theme-option--active) em{background:0 0}.theme-preview{border:1px solid #8080803d;border-radius:10px;grid-template-rows:12px 1fr;grid-template-columns:15px 1fr;width:66px;height:58px;display:grid;overflow:hidden;box-shadow:0 6px 14px #0000001a}.theme-preview i{display:block}.theme-preview i:first-child{background:#d7e5de;grid-row:1/3}.theme-preview i:nth-child(2){background:#fff}.theme-preview i:nth-child(3){background:#edf1ed;border-radius:5px;margin:7px}.theme-preview--dark{background:#16221e;border-color:#34433d}.theme-preview--dark i:first-child{background:#243832}.theme-preview--dark i:nth-child(2){background:#1b2924}.theme-preview--dark i:nth-child(3){background:#2b3b35}.category-settings-list{grid-template-columns:1fr;gap:8px;margin-top:20px;display:grid}.category-setting{border:1px solid var(--line);background:var(--paper);border-radius:15px;align-items:center;gap:12px;min-height:62px;padding:8px 10px;display:flex}.category-setting>span{background:var(--surface);border-radius:12px;place-items:center;width:40px;height:40px;font-size:1.25rem;display:grid}.category-setting__copy{flex:1;min-width:0}.category-setting b,.category-setting small{display:block}.category-setting b{margin-bottom:3px;font-size:.77rem}.category-setting small{color:var(--ink-soft);font-size:.64rem}.category-edit{border-radius:10px;min-height:34px;padding:0 10px;font-size:.68rem;font-weight:800}.settings-panel--session{justify-content:space-between;align-items:center;gap:20px;display:flex}.logout-button{min-height:44px;color:var(--coral);background:var(--coral-soft);cursor:pointer;border:1px solid #e3b5ad;border-radius:13px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.75rem;font-weight:800;display:inline-flex}.logged-out-page{background:radial-gradient(circle at 50% 15%, var(--green-soft), transparent 24rem);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:var(--surface);width:min(100%,430px);box-shadow:var(--shadow);text-align:center;border-radius:28px;padding:38px 30px}.login-mark{color:#fff;background:var(--green);border-radius:22px 22px 22px 7px;place-items:center;width:72px;height:72px;margin:0 auto 25px;font-family:Georgia,serif;font-size:1.15rem;display:grid}.login-card .lead{margin-bottom:25px;font-size:.9rem}.login-card>small{color:var(--ink-soft);margin-top:18px;font-size:.65rem;line-height:1.5;display:block}.loading-card{align-content:center;place-items:center;min-height:370px;display:grid}.loading-card .login-mark{margin-bottom:22px}.loading-card h1{margin-top:18px;font-size:2rem}.auth-loader{border:4px solid var(--green-soft);border-top-color:var(--green);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.setup-page{padding:36px 24px}.setup-card{text-align:left;width:min(100%,780px);padding:34px}.auth-brand-row{align-items:center;gap:22px;margin-bottom:28px;display:flex}.auth-brand-row .login-mark{flex:0 0 82px;width:82px;height:82px;margin:0}.auth-brand-row h1{font-size:clamp(2rem,5vw,3rem)}.auth-brand-row .lead{margin-bottom:0}.setup-form{gap:16px;display:grid}.setup-section{border:1px solid var(--line);background:var(--paper);border-radius:19px;min-width:0;margin:0;padding:20px}.setup-section legend{color:var(--ink);padding:0 8px 0 0;font-size:.82rem;font-weight:800}.setup-section legend>span{width:27px;height:27px;color:var(--green);background:var(--green-soft);border-radius:50%;place-items:center;margin-right:7px;display:inline-grid}.setup-section legend small{color:var(--ink-soft);margin-left:6px;font-size:.62rem;font-weight:700}.setup-fields{grid-template-columns:1fr;gap:14px;display:grid}.setup-section label,.login-form label{color:var(--ink);gap:7px;font-size:.72rem;font-weight:800;display:grid}.setup-section input,.login-form input{border:1px solid var(--line);width:100%;min-height:50px;color:var(--ink);background:var(--surface);border-radius:14px;outline:0;padding:0 14px;font-weight:500}.setup-section label>small{color:var(--ink-soft);font-size:.61rem;font-weight:500}.login-form{text-align:left;gap:15px;display:grid}.password-field{gap:7px;display:grid}.password-field>small{color:var(--ink-soft);font-size:.61rem;font-weight:500}.password-input-wrap{position:relative}.password-input-wrap input{padding-right:52px}.password-input-wrap input::-ms-reveal{display:none}.password-eye{width:38px;height:38px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:11px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-eye:hover{color:var(--green);background:var(--green-soft)}.password-eye:focus-visible{outline:2px solid var(--green);outline-offset:2px}.eye-icon{border:2px solid;border-radius:50%/65%;width:20px;height:13px;display:block;position:relative}.eye-icon:after{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.eye-icon:not(.eye-icon--visible):before{content:"";z-index:1;width:24px;height:2px;box-shadow:0 0 0 2px var(--surface);background:currentColor;border-radius:99px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-45deg)}.auth-error{color:var(--coral);background:var(--coral-soft);border:1px solid #e4b0a7;border-radius:12px;margin:0;padding:11px 13px;font-size:.72rem;font-weight:700;line-height:1.45}.empty-state{text-align:center;color:var(--ink-soft);padding:60px 20px}.empty-state>span{width:64px;height:64px;color:var(--green);background:var(--green-soft);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:1.8rem;display:grid}.empty-state h2{color:var(--ink)}.empty-state p{margin-bottom:0}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10211c6b;align-items:end;display:grid;position:fixed;inset:0}.modal-sheet{width:100%;padding:24px 20px calc(24px + env(safe-area-inset-bottom));background:var(--surface);border-radius:28px 28px 0 0;animation:.22s ease-out sheet-in;box-shadow:0 -20px 60px #10211c33}@keyframes sheet-in{0%{opacity:0;transform:translateY(25px)}}.modal-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.modal-heading h2{font-size:1.8rem}.product-form{gap:18px;margin-top:22px;display:grid}.product-form label{color:var(--ink);gap:8px;font-size:.77rem;font-weight:800;display:grid}.product-form input,.product-form select{border:1px solid var(--line);width:100%;min-height:50px;color:var(--ink);background:#fbfbf8;border-radius:14px;outline:0;padding:0 14px}.product-form .emoji-input{font-size:1.4rem}.form-help{color:var(--ink-soft);margin-top:-10px;font-size:.67rem;line-height:1.5;display:block}.initial-status{background:var(--green-soft);border-radius:14px;justify-content:space-between;align-items:center;padding:15px;font-size:.77rem;display:flex}.initial-status b{color:var(--green);align-items:center;gap:8px;display:flex}.destructive-button{min-height:46px;color:var(--coral);background:var(--coral-soft);cursor:pointer;border:1px solid #e3b5ad;border-radius:14px;font-size:.78rem;font-weight:800}.destructive-button:disabled{opacity:.5;cursor:not-allowed}.archive-note{color:var(--ink-soft);background:var(--paper);border-radius:13px;margin:0;padding:12px 14px;font-size:.7rem;line-height:1.45}.toast{z-index:100;color:#fff;background:var(--ink);border-radius:15px;align-items:center;gap:10px;width:min(100% - 32px,430px);min-height:48px;padding:10px 16px;font-size:.77rem;font-weight:700;animation:.18s ease-out toast-in;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #10211c40}.toast span{width:24px;height:24px;color:var(--green);background:#d8efdf;border-radius:50%;place-items:center;font-weight:900;display:grid}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}}@media (min-width:560px){.page-section{width:min(100% - 48px,1120px)}.status-overview{gap:14px}.status-card{min-height:155px;padding:19px}.status-card__label{font-size:.78rem}.product-grid{grid-template-columns:repeat(2,1fr)}.review-actions{grid-template-columns:repeat(3,1fr)}.review-category-picker{grid-template-columns:repeat(2,1fr)}.review-answer{text-align:center;grid-template-columns:1fr;justify-items:center;min-height:128px}.review-answer>span{grid-row:auto}.priority{display:inline-flex}.theme-options,.category-settings-list,.setup-fields{grid-template-columns:repeat(2,1fr)}.setup-field--full{grid-column:1/-1}.modal-backdrop{place-items:center}.modal-sheet{border-radius:28px;width:min(100% - 40px,520px)}}@media (min-width:860px){.app-shell{grid-template-columns:238px minmax(0,1fr);display:grid}.desktop-sidebar{border-right:1px solid var(--line);background:linear-gradient(180deg, var(--sidebar-tint) 0%, var(--surface) 78%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;height:100vh;padding:30px 18px 22px;display:flex;position:sticky;top:0}.brand--sidebar{padding:0 8px}.sidebar-nav{gap:7px;margin-top:45px;display:grid}.sidebar-link{min-height:48px;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:13px;padding:0 14px;font-size:.8rem;font-weight:750;display:flex}.sidebar-link>span:first-child{text-align:center;width:18px;font-size:1.15rem}.sidebar-link--active{color:var(--green);background:var(--green-soft)}.nav-count{color:#fff;background:var(--coral);border-radius:11px;place-items:center;min-width:21px;height:21px;margin-left:auto;font-size:.61rem;display:grid}.household-card{border-top:1px solid var(--line);align-items:center;gap:11px;margin-top:auto;padding:14px 10px;display:flex}.avatar-stack{display:flex}.avatar-stack span{color:#fff;background:#b36a4c;border:2px solid #fff;border-radius:50%;place-items:center;width:29px;height:29px;margin-left:-7px;font-size:.52rem;font-weight:800;display:grid}.avatar-stack span:first-child{margin-left:0}.avatar-stack span:nth-child(2){background:#517b6e}.household-card strong,.household-card small{display:block}.household-card strong{font-size:.73rem}.household-card small{color:var(--ink-soft);margin-top:2px;font-size:.58rem}.mobile-header,.bottom-nav{display:none}.page-section{padding:64px 0 80px}.sync-note{display:flex}.status-overview{grid-template-columns:repeat(3,minmax(0,190px))}.status-card{min-height:170px}.review-hero{grid-template-columns:.8fr 1.2fr;padding:36px 48px}.review-hero__visual{display:block}.product-grid{grid-template-columns:repeat(3,1fr)}.inventory-tools{grid-template-columns:minmax(260px,.7fr) 1.3fr;align-items:center}.review-product{padding:38px 44px}.shopping-page{max-width:860px}.settings-grid{grid-template-columns:repeat(2,1fr)}.settings-panel--session{grid-column:1/-1}}@media (max-width:559px){.page-heading-row{align-items:flex-start}.page-heading-row:not(.shopping-heading){flex-direction:column}.page-heading-row:not(.shopping-heading)>.primary-button{width:100%}.finish-shopping{flex-direction:column;align-items:stretch}.finish-shopping .primary-button{width:100%}.heading-actions{flex-direction:column-reverse;width:100%}.heading-actions .primary-button,.heading-actions .secondary-button{width:100%}.settings-panel__heading--action{flex-wrap:wrap;align-items:flex-start}.settings-panel__heading--action .secondary-button{width:100%;margin-left:0}.settings-panel--session{flex-direction:column;align-items:stretch}.logout-button{width:100%}.setup-page{padding:16px}.setup-card{padding:24px 18px}.auth-brand-row{flex-direction:column;align-items:flex-start;gap:14px}.auth-brand-row .login-mark{flex-basis:64px;width:64px;height:64px}}:root[data-theme=dark] .mobile-header{background:#111a17e6}:root[data-theme=dark] .bottom-nav{background:#19241ff5;box-shadow:0 -12px 30px #0003}:root[data-theme=dark] .bottom-nav__item b{border-color:var(--surface)}:root[data-theme=dark] .desktop-sidebar{background:linear-gradient(180deg, var(--sidebar-tint) 0%, var(--surface) 78%)}:root[data-theme=dark] .inventory-category-panel{border-color:var(--line)}:root[data-theme=dark] .chip{background:#19241fb8}:root[data-theme=dark] .quick-status__button{color:#81908a;background:#14201c}:root[data-theme=dark] .review-benefits span{background:#19241fbf}:root[data-theme=dark] .review-answer{background:var(--surface)}:root[data-theme=dark] .finish-shopping{background:#19241fbf}:root[data-theme=dark] .product-form input,:root[data-theme=dark] .product-form select{background:#14201c}:root[data-theme=dark] .avatar-stack span,:root[data-theme=dark] .shared-users>span{border-color:var(--paper)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
