:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1d211f;background:#f7f5ef;font-synthesis:none;text-rendering:optimizeLegibility;--paper: #fffdfa;--ink: #1d211f;--muted: #686e68;--line: #e5e2d9;--green: #244a38;--green-soft: #dfe8df;--cream: #f2eee4;--danger: #9a3c35;--shadow: 0 10px 32px rgba(35, 42, 38, .07)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#f7f5ef}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh;min-height:100dvh;padding-bottom:max(28px,env(safe-area-inset-bottom))}.topbar{height:76px;padding:max(14px,env(safe-area-inset-top)) 18px 12px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;border-bottom:1px solid rgba(29,33,31,.08);background:#f7f5efeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.brand-mark{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:var(--green);color:#fff}.eyebrow,.section-kicker{font-size:.75rem;letter-spacing:.12em;font-weight:700;color:#666d67;text-transform:uppercase}.topbar h1{font-size:1.25rem;line-height:1.05;margin:2px 0 0;letter-spacing:-.025em}.count-pill{min-width:34px;height:34px;padding:0 10px;display:grid;place-items:center;border-radius:999px;background:#ebe8df;font-size:.8125rem;font-weight:700}.content{width:min(100%,720px);margin:0 auto;padding:18px 14px 40px}.voice-card{position:relative;overflow:hidden;border-radius:25px;padding:22px 22px 20px;background:var(--green);color:#fff;box-shadow:var(--shadow)}.voice-card:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:#ffffff0d;right:-70px;top:-72px;z-index:0;pointer-events:none}.voice-card .section-kicker{color:#bacbbf}.voice-copy{position:relative;z-index:1;padding-right:90px}.voice-card h2{margin:6px 0 7px;font-size:1.6875rem;letter-spacing:-.045em}.voice-card p{margin:0;color:#d2ddd5;font-size:.8125rem;line-height:1.45}.mic-button,.mic-disabled{position:absolute;right:20px;top:24px;width:64px;height:64px;border-radius:50%;border:0;display:grid;place-items:center;background:#fff;color:var(--green);box-shadow:0 8px 24px #00000029;z-index:2;touch-action:manipulation}.mic-button{cursor:pointer}.mic-button.listening{background:#f4d6d1;color:#7f2823;animation:breathe 1.4s infinite}.mic-disabled{opacity:.5}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.voice-status{position:relative;z-index:1;margin-top:17px;min-height:20px;color:#d9e2dc;font-size:.75rem}.pulse-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ef9b8e;margin-right:7px}.transcript-box{display:grid;gap:5px;padding-top:2px}.transcript-box span{color:#aebfb3}.transcript-box strong{font-size:.8125rem;color:#fff;line-height:1.4}.transcript-box button{justify-self:start;margin-top:5px;border:0;border-radius:9px;padding:8px 11px;font-weight:700;font-size:.75rem;background:#fff;color:var(--green)}.quick-add-card{margin-top:13px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:16px}.quick-add-card>label{display:block;font-size:.75rem;font-weight:700;margin:0 0 9px}.quick-row{display:flex;gap:8px}.quick-row input{flex:1;min-width:0;height:48px;border-radius:13px;border:1px solid #d8d5cd;background:#fff;padding:0 13px;outline:none;font-size:.8125rem}.quick-row input:focus{border-color:#71877a;box-shadow:0 0 0 3px #244a3817}.add-button{height:48px;border:0;border-radius:13px;background:#222725;color:#fff;padding:0 15px;display:flex;align-items:center;gap:7px;font-weight:700;cursor:pointer}.add-button:disabled{opacity:.4;cursor:default}.input-hint{margin:9px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}.error-banner{margin-top:12px;border:1px solid #e9c8c4;background:#fff1ef;color:#843b35;padding:11px 13px;border-radius:12px;font-size:.75rem}.list-section,.bought-section{margin-top:28px}.list-heading,.bought-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:0 2px}.list-heading h2,.bought-header h2,.sheet-header h2{font-size:1.25rem;margin:4px 0 0;letter-spacing:-.035em}.list-search-toggle{min-width:82px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d8ddd7;border-radius:11px;padding:0 10px;background:#f8faf7;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.list-heading-actions{display:flex;align-items:center;gap:7px}.category-route-toggle,.list-select-toggle{min-width:78px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d8ddd7;border-radius:11px;padding:0 10px;background:#fff;color:#5f6962;font-size:.75rem;font-weight:800;cursor:pointer}.category-route-toggle{min-width:72px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #dedbd2;border-radius:11px;padding:0 9px;background:#fffdf9;color:#6e695d;font-size:.75rem;font-weight:800;cursor:pointer}.category-route-toggle:hover{border-color:#b8c9bc;background:#f1f6f1;color:var(--green)}.list-select-toggle.active{border-color:#91ad98;background:#e8f2ea;color:var(--green)}.list-search-toggle:hover,.list-search-toggle.active{background:#e8f0e9;border-color:#bdcfc1}.groups{display:grid;gap:20px}.category-title{padding:0 3px 7px;color:#777c76;font-size:.75rem;font-weight:700;display:flex;align-items:center;gap:6px}.category-toggle{width:100%;min-height:36px;justify-content:flex-start;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer}.category-toggle:hover{background:#ebe9e1a6}.category-toggle:focus-visible{outline:3px solid rgba(61,101,77,.2);outline-offset:2px}.category-toggle>svg{margin-left:auto;color:#818780;transition:transform .18s ease}.category-group.collapsed .category-toggle>svg{transform:rotate(-90deg)}.category-group.collapsed{scroll-margin-top:176px}.category-select-toggle{min-height:28px;margin:-4px 3px 7px;border:0;border-radius:8px;padding:0 9px;background:#edf3ed;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.bought-select-toggle{min-height:32px;border:0;border-radius:9px;padding:0 10px;background:#edf3ed;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.memory-category-select-toggle{min-height:30px;margin:-2px 2px 7px;border:0;border-radius:9px;padding:0 10px;background:#edf3ed;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.category-items{animation:category-items-in .16s ease both}@keyframes category-items-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.category-count{min-width:20px;min-height:18px;display:inline-grid;place-items:center;padding:0 6px;border-radius:999px;background:#e9e7df;color:#757a74;font-size:.75rem;font-weight:800}.items-card{overflow:hidden;border-radius:18px;border:1px solid var(--line);background:var(--paper)}.shopping-row-shell{position:relative;overflow:hidden;border-bottom:1px solid #ece9e1;background:var(--paper);touch-action:pan-y}.shopping-row-shell:last-child{border-bottom:0}.shopping-row{position:relative;z-index:2;min-height:62px;display:grid;grid-template-columns:50px minmax(0,1fr) 44px;align-items:center;padding:4px 5px;background:var(--paper);transition:transform .18s cubic-bezier(.2,.72,.25,1);will-change:transform}.shopping-row-shell.swipe-dragging .shopping-row{transition:none}.shopping-row-shell:focus{outline:none}.shopping-row-shell:focus-visible{box-shadow:inset 0 0 0 2px #6d8976}.shopping-row-swipe-complete{position:absolute;z-index:1;inset:0 auto 0 0;width:138px;display:flex;align-items:center;gap:7px;padding-left:17px;background:#e2efe5;color:#2f6543;font-size:.75rem;font-weight:850;pointer-events:none;transition:background .12s ease,color .12s ease}.shopping-row-shell.swipe-commit-ready .shopping-row-swipe-complete{background:#2f6543;color:#fff}.shopping-row-swipe-actions{position:absolute;z-index:1;top:0;right:0;bottom:0;width:124px;display:grid;grid-template-columns:62px 62px}.shopping-row-swipe-actions button{min-width:0;border:0;display:grid;place-items:center;align-content:center;gap:3px;padding:4px;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}.shopping-row-swipe-actions .swipe-more-action{background:#edf3ee;color:#3e6a4d}.shopping-row-swipe-actions .swipe-delete-action{background:#fff0ed;color:#a24e47}.shopping-row-swipe-actions button:focus-visible{position:relative;z-index:3;outline:2px solid #315f42;outline-offset:-3px}.shopping-row:focus{outline:none}.shopping-row:focus-visible{box-shadow:inset 0 0 0 2px #6d8976}.shopping-row.located{animation:located-item 1.8s ease both}.shopping-row.toggle-pending{background:#f5f8f4}.shopping-row.toggle-pending:after{content:"";position:absolute;left:0;bottom:0;width:36%;height:2px;background:#63816d;animation:row-save-progress .75s ease-in-out infinite alternate}.shopping-row.visually-bought .item-name{text-decoration:line-through;color:#778079;font-weight:500}.shopping-row.visually-bought .item-qty{color:#929892}.shopping-row.toggle-pending .item-summary button:disabled,.shopping-row.toggle-pending .row-more-button:disabled{opacity:.72;cursor:wait}@keyframes row-save-progress{0%{transform:translate(-30%);opacity:.45}to{transform:translate(210%);opacity:1}}.shopping-row.selectable{grid-template-columns:50px minmax(0,1fr) 0;cursor:pointer}.shopping-row.selected{background:#edf6ef;box-shadow:inset 4px 0 #4f7d5e}.select-button{position:relative;width:44px;height:44px;display:grid;place-items:center;justify-self:center;border:0;border-radius:12px;background:transparent;color:#fff;cursor:pointer}.select-button:before{content:"";position:absolute;width:26px;height:26px;border:1.5px solid #c9c9c1;border-radius:9px;background:#fff}.select-button>svg{position:relative;z-index:1}.select-button.checked:before{border-color:var(--green);background:var(--green)}.select-button:hover{background:#f3f1e9}.batch-action-bar{position:fixed;z-index:105;left:50%;bottom:max(10px,env(safe-area-inset-bottom));width:min(calc(100% - 20px),620px);transform:translate(-50%);display:grid;gap:8px;border:1px solid #cbd7ce;border-radius:17px;padding:10px;background:#fffdfafa;box-shadow:0 12px 38px #162a1e33;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.batch-selection-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.75rem}.batch-selection-summary button{border:0;background:transparent;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.batch-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.batch-actions button,.batch-category-trigger{width:100%;min-height:40px;border:1px solid #d7dcd7;border-radius:11px;background:#f7faf7;color:var(--green);font-size:.75rem;font-weight:800}.batch-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}.batch-category-action{min-width:0}.batch-category-trigger{padding:0 9px;justify-content:space-between!important;text-align:left}.batch-category-trigger>svg{flex:0 0 auto;transition:transform .16s ease}.batch-category-trigger.open>svg{transform:rotate(180deg)}.batch-count{min-width:18px;min-height:18px;display:inline-grid;place-items:center;padding:0 5px;border-radius:999px;background:#3f704f1a;font-size:.75rem;line-height:1}.batch-actions .danger{color:#9a4b44;background:#fff6f4;border-color:#ecd2ce}.batch-actions button:disabled,.batch-category-trigger:disabled{opacity:.45;cursor:not-allowed}.bulk-category-menu{position:fixed;z-index:145;display:grid;gap:2px;overflow-y:auto;overscroll-behavior:contain;padding:5px;border:1px solid #cbd7ce;border-radius:13px;background:#fffdfafe;box-shadow:0 15px 42px #162a1e38;scrollbar-gutter:stable}.bulk-category-menu button{width:100%;min-height:40px;display:flex;align-items:center;border:0;border-radius:9px;padding:8px 10px;background:transparent;color:#33443a;font:inherit;font-size:.75rem;font-weight:700;text-align:left;cursor:pointer}.bulk-category-menu button:hover,.bulk-category-menu button:focus-visible{background:#edf5ef;color:var(--green);outline:none}.bulk-category-menu.opens-up{transform-origin:bottom center;animation:bulk-category-menu-up .12s ease-out}.bulk-category-menu.opens-down{transform-origin:top center;animation:bulk-category-menu-down .12s ease-out}@keyframes bulk-category-menu-up{0%{opacity:0;transform:translateY(4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bulk-category-menu-down{0%{opacity:0;transform:translateY(-4px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes located-item{0%,to{background:var(--paper);box-shadow:inset 0 0 #3f704f00}18%,66%{background:#eaf4ec;box-shadow:inset 4px 0 #4f7d5e}}.check-button{position:relative;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}.check-button:before{content:"";position:absolute;width:26px;height:26px;border:1.5px solid #c9c9c1;border-radius:9px;background:#fff}.check-button>svg{position:relative;z-index:1}.check-button.checked:before{background:var(--green);border-color:var(--green)}.check-button:hover{background:#f3f1e9}.check-button:disabled{cursor:wait}.item-main{min-width:0;display:grid;align-content:center;gap:3px;padding:8px 4px 8px 0;color:inherit}.item-summary{min-width:0;width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.item-name-button{min-width:0;flex:1;border:0;background:transparent;padding:4px 0;text-align:left;color:inherit;cursor:pointer}.item-name{min-width:0;font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-qty{flex:none;color:#747972;font-size:.75rem;font-weight:600}.item-qty-button{flex:none;min-height:34px;border:1px solid transparent;border-radius:10px;background:#f4f3ed;padding:6px 9px;cursor:pointer}.item-qty-button[aria-expanded=true]{border-color:#b9cdbf;background:#eaf3ec;color:#315f42}.shopping-row.quantity-expanded{background:#fbfdfb}.inline-quantity-panel{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(150px,1fr) auto;align-items:center;gap:9px;margin:0 6px 7px;padding:9px;border:1px solid #d8e4da;border-radius:12px;background:#f1f7f2}.inline-quantity-label{color:#617066;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.inline-quantity-controls{display:grid;grid-template-columns:44px minmax(62px,1fr) 44px;align-items:center;overflow:hidden;border:1px solid #c9d7cc;border-radius:11px;background:#fff}.inline-quantity-controls button{min-height:44px;border:0;background:transparent;color:var(--green);font-size:1.375rem;cursor:pointer}.inline-quantity-controls output{text-align:center;color:var(--ink);font-size:.75rem;font-weight:800}.inline-precise-edit{min-height:40px;display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.icon-button{width:36px;height:36px;border:0;background:transparent;color:#838781;border-radius:10px;display:grid;place-items:center;cursor:pointer}.icon-button.delete{color:#a3726f}.row-more-button{width:44px;height:44px}.row-more-button:hover{background:#f2f0e9;color:var(--green)}.shopping-row.bought .item-name{text-decoration:line-through;color:#8a8f89;font-weight:500}.shopping-row.bought .item-qty{color:#a0a49f}.shopping-row.bought .product-note{opacity:.7}.muted-card,.muted-card .shopping-row,.shopping-row.bought{background:#f0eee7}.bought-section{scroll-margin-top:176px}.bought-section:focus{outline:none}.bought-section:focus-visible{border-radius:18px;box-shadow:0 0 0 3px #3d654d29}.category-group{scroll-margin-top:176px}.category-group:focus{outline:none}.category-group:focus-visible{border-radius:18px;box-shadow:0 0 0 3px #3d654d29}.category-group.located-category .category-toggle{animation:located-category 1.8s ease both}@keyframes located-category{0%,to{background:transparent;box-shadow:inset 0 0 #4f7d5e00}18%,66%{background:#eaf4ec;box-shadow:inset 4px 0 #4f7d5e;color:#315f42}}.sticky-list-tools{position:sticky;top:76px;z-index:16;display:grid;gap:7px;margin:0 -5px 13px;padding:7px 5px;border-radius:0 0 15px 15px;background:#f7f5eff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sticky-shopping-progress{min-height:45px;display:grid;grid-template-columns:auto minmax(54px,1fr) 34px auto;align-items:center;gap:10px;border:1px solid #d8e1d9;border-radius:14px;padding:6px 7px 6px 11px;background:#edf3ed;box-shadow:0 5px 18px #244a3812}.sticky-progress-copy{display:grid;gap:1px;white-space:nowrap}.sticky-progress-copy strong{color:var(--green);font-size:.75rem}.sticky-progress-copy span{color:#69746c;font-size:.75rem}.sticky-progress-track{height:5px;overflow:hidden;border-radius:999px;background:#d2ded4}.sticky-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .2s ease}.sticky-shopping-progress>button{min-width:72px;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;border-radius:10px;background:var(--green);color:#fff;font-size:.75rem;font-weight:800;cursor:pointer}.sticky-shopping-progress>.sticky-search-button{min-width:34px;width:34px;padding:0;border:1px solid #c9d7cc;background:#f9fcf9;color:var(--green)}.sticky-shopping-progress>.sticky-search-button:hover,.sticky-shopping-progress>.sticky-search-button.active{background:#dfeadf}.list-focus-panel{min-width:0;display:grid;gap:7px;border:1px solid #dce2dc;border-radius:14px;padding:8px;background:#fffdfafa;box-shadow:0 7px 22px #23302814}.list-focus-search{min-width:0;height:42px;display:flex;align-items:center;gap:8px;border:1px solid #d4d8d2;border-radius:11px;padding:0 7px 0 11px;background:#fff;color:#777d78}.list-focus-search:focus-within{border-color:#71877a;box-shadow:0 0 0 3px #244a3817}.list-focus-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font-size:.75rem}.list-focus-search button{width:30px;height:30px;flex:none;display:grid;place-items:center;border:0;border-radius:9px;background:#f0eee7;color:#737872;cursor:pointer}.list-focus-filters{display:flex;gap:6px;overflow-x:auto;padding:1px 1px 3px;scrollbar-width:none;overscroll-behavior-inline:contain}.list-focus-filters::-webkit-scrollbar{display:none}.list-focus-filters button{min-height:34px;flex:none;display:inline-flex;align-items:center;gap:6px;border:1px solid #dfdcd4;border-radius:999px;padding:0 8px 0 10px;background:#fff;color:#646a65;font-size:.75rem;font-weight:750;cursor:pointer}.list-focus-filters button strong{min-width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:#efede7;font-size:.75rem}.list-focus-filters button.active{border-color:var(--green);background:var(--green);color:#fff}.list-focus-filters button.active strong{background:#ffffff2e}.list-focus-summary{padding:0 3px;color:var(--muted);font-size:.75rem;font-weight:700}.list-focus-summary span{color:#497058}.list-focus-empty .secondary-button{width:auto;height:40px;margin-top:5px;padding:0 13px;font-size:.75rem}.list-focus-active .category-group{scroll-margin-top:292px}.category-navigator{display:flex;gap:6px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:none}.category-navigator::-webkit-scrollbar{display:none}.category-navigator button{min-height:36px;flex:none;display:inline-flex;align-items:center;gap:7px;border:1px solid #dddad1;border-radius:999px;padding:0 9px 0 11px;background:#fffdfa;color:#626862;font-size:.75rem;font-weight:750;cursor:pointer}.category-navigator button strong{min-width:19px;height:19px;display:grid;place-items:center;border-radius:999px;background:#eceae3;font-size:.75rem}.category-navigator button.active{border-color:#315b44;background:#315b44;color:#fff}.category-navigator button.active strong{background:#ffffff2b}.product-note{min-width:0;max-width:100%;width:fit-content;min-height:24px;display:inline-grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px;border:1px solid #dfe3dd;border-radius:8px;padding:3px 7px;background:#f1f3ef;color:#566159;text-align:left;cursor:pointer}.product-note.substitute{border-color:#ead8a6;background:#fff6df;color:#795923}.product-note.preference{border-color:#d4e2d8;background:#edf4ef;color:#3d654d}.product-note:focus-visible{outline:2px solid #607b69;outline-offset:2px}.product-note-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:650;line-height:1.35}.product-note-chevron{flex:none;opacity:.62;transition:transform .16s ease}.product-note.expanded{width:100%}.product-note.expanded .product-note-text{overflow:visible;white-space:normal;overflow-wrap:anywhere}.product-note.expanded .product-note-chevron{transform:rotate(180deg)}.product-note.compact{min-height:24px;padding:2px 6px}.product-note.compact .product-note-text{font-size:.75rem}.empty-state{border:1px dashed #d4d1c8;border-radius:20px;padding:34px 20px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;color:var(--muted);font-size:.75rem}.empty-state strong{color:var(--ink);font-size:.875rem}.empty-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:#ebe8df;color:var(--green);margin-bottom:4px}.text-button{border:0;background:transparent;font-size:.75rem;font-weight:700;cursor:pointer;padding:8px 0}.text-button.danger{color:var(--danger)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;background:#12161466;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.edit-sheet{width:min(100%,620px);max-height:92dvh;overflow-y:auto;background:#fffdfa;border-radius:26px 26px 0 0;padding:10px 18px max(20px,env(safe-area-inset-bottom));box-shadow:0 -10px 40px #0000001f}.sheet-handle{width:42px;height:4px;border-radius:10px;background:#d8d5cc;margin:0 auto 16px}.sheet-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.close-button{width:38px;height:38px;border:0;border-radius:12px;background:#f0eee7;display:grid;place-items:center;cursor:pointer}.edit-sheet form{display:grid;gap:14px}.edit-sheet label{display:grid;gap:7px;color:#555b56;font-size:.75rem;font-weight:700}.edit-sheet input,.edit-sheet select{width:100%;height:48px;border:1px solid #d8d5cd;border-radius:12px;background:#fff;padding:0 12px;color:var(--ink);outline:none;font-size:.875rem;font-weight:500}.edit-sheet input:focus,.edit-sheet select:focus{border-color:#71877a;box-shadow:0 0 0 3px #244a3817}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.select-wrap{position:relative}.select-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:35px}.select-wrap svg{pointer-events:none;position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#777c76}.quantity-stepper{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:stretch;gap:6px}.quantity-stepper input{min-width:0;text-align:center;-moz-appearance:textfield}.quantity-stepper input::-webkit-outer-spin-button,.quantity-stepper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.quantity-step-button{min-width:42px;border:1px solid #d8d5cc;border-radius:12px;background:#f7f5ef;color:var(--green);font-size:1.375rem;font-weight:700;line-height:1;cursor:pointer}.quantity-step-button:hover{background:#eef2ec}.quantity-step-button:active{transform:translateY(1px)}.optional{color:#a1a49f;font-weight:500}.sheet-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:9px;padding-top:7px}.secondary-button,.primary-button{height:48px;border-radius:13px;font-weight:700;cursor:pointer}.secondary-button{border:1px solid #d8d5cd;background:#fff;color:var(--ink)}.primary-button{border:0;background:var(--green);color:#fff}.primary-button:disabled{opacity:.4}@media(min-width:760px){.topbar{padding-left:30px;padding-right:30px}.content{padding-top:28px}.voice-card{padding:26px}.mic-button,.mic-disabled{right:25px;top:27px}.edit-sheet{margin-bottom:24px;border-radius:26px;padding-bottom:22px}.sheet-backdrop{align-items:center}}@media(max-width:430px){.add-button span{display:none}.add-button{width:48px;padding:0;justify-content:center}.voice-card h2{font-size:1.5625rem}}.mic-button.working{cursor:wait;background:#eef2ee}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.voice-idle-note{display:block;color:#c7d3cb;line-height:1.45}.voice-progress,.voice-error{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px}.voice-progress>div,.voice-error>div{min-width:0;display:grid;gap:4px}.voice-progress strong,.voice-error strong{color:#fff;font-size:.75rem;line-height:1.35}.voice-progress span,.voice-error span{color:#c7d3cb;line-height:1.45;overflow-wrap:anywhere}.voice-progress>svg,.voice-error>svg{margin-top:1px;flex:none}.voice-success>svg{color:#bfe1c7}.voice-error{padding:10px 11px;margin:3px -3px 0;border:1px solid rgba(255,205,197,.28);border-radius:12px;background:#6c251f3d}.voice-error>svg{color:#ffc9c0}.voice-error strong{color:#fff4f2}.voice-error span{color:#f0cfca}.voice-error button{justify-self:start;margin-top:5px;border:0;border-radius:9px;padding:8px 11px;font-weight:700;font-size:.75rem;background:#fff;color:var(--green);cursor:pointer}.voice-error.voice-clarification{border-color:#f0d38b57;background:#674e1e3d}.voice-error.voice-clarification>svg{color:#f0d38b}.voice-error.voice-clarification strong{color:#fff5d8}.voice-error.voice-clarification span{color:#eadfb9}.voice-warning{margin-top:8px;padding:8px 10px;border-radius:10px;background:#ffeeb81f;color:#eadfb9;line-height:1.45}.voice-warning strong{color:#fff6d7}@media(max-width:430px){.voice-status{padding-right:2px}}.voice-mode-switch{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:4px;width:min(100%,390px);margin-top:17px;padding:4px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:#0000001f}.voice-mode-switch button{min-width:0;border:0;border-radius:10px;padding:8px 10px 7px;background:transparent;color:#c8d5cc;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}.voice-mode-switch button.active{background:#fffffff5;color:var(--green);box-shadow:0 3px 12px #00000014}.voice-mode-switch button:disabled{cursor:default}.voice-mode-switch span,.voice-mode-switch small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-mode-switch span{font-size:.75rem;font-weight:800}.voice-mode-switch small{margin-top:2px;font-size:.75rem;opacity:.72}.voice-fallback>svg{color:#f2d99f}.voice-privacy,.voice-transcript{display:block;color:#aebfb3;font-size:.75rem;line-height:1.45;font-weight:500}.voice-transcript{margin-top:2px;color:#d4ded7}@media(max-width:430px){.voice-mode-switch{width:100%}.voice-mode-switch button{padding-left:9px;padding-right:9px}}.undo-toast{position:fixed;left:50%;bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px));transform:translate(-50%);z-index:140;width:min(calc(100% - 28px),520px);min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 10px 9px 14px;border-radius:16px;background:#1f2924;color:#fff;box-shadow:0 14px 42px #11181440;animation:toast-in .2s ease-out}.undo-toast>div{min-width:0;display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:650}.unified-action-copy{min-width:0;display:grid;gap:1px;line-height:1.25}.unified-action-copy>strong{color:#bfe1c7;font-size:.75rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.unified-action-copy>span{min-width:0;overflow-wrap:anywhere}.undo-toast>div svg{flex:none;color:#bfe1c7}.undo-toast button{flex:none;height:36px;border:0;border-radius:10px;padding:0 11px;display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.notice-banner{margin-top:12px;border:1px solid #e3d7ad;background:#fff9e7;color:#6f5b1f;padding:11px 13px;border-radius:12px;font-size:.75rem;line-height:1.45}.quick-input-wrap{position:relative;flex:1;min-width:0}.quick-input-wrap>input{width:100%}.suggestions-popover{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:35;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 12px 32px #1f272224}.suggestions-label{padding:9px 12px 6px;color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.suggestion-row{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-top:1px solid #efede6;padding:8px 11px 8px 12px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.suggestion-row:hover{background:#f6f4ed}.suggestion-row:disabled{opacity:.55;cursor:wait}.suggestion-row>span{min-width:0;display:grid;gap:2px}.suggestion-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.suggestion-row small{color:var(--muted);font-size:.75rem}.suggestion-row>svg{flex:none;color:var(--green)}.suggestion-name{display:flex;align-items:center;gap:5px}.suggestion-name svg{flex:none;color:#8b6a2d}.suggestion-row.memory-status-open small,.suggestion-row.memory-status-bought small{color:#39704e;font-weight:750}.suggestion-row.memory-status-bought small{color:#667069}.suggestion-row.memory-status-unit-conflict small{color:#89682a}.memory-section{margin-top:22px}.memory-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:10px;padding:0 2px}.memory-heading h2{margin:4px 0 0;font-size:1.125rem;letter-spacing:-.03em}.memory-caption{color:var(--muted);font-size:.75rem;text-align:right}.memory-heading-actions{display:flex;align-items:center;gap:10px}.memory-show-all{min-height:36px;display:inline-flex;align-items:center;gap:6px;border:1px solid #d8ddd7;border-radius:11px;padding:0 10px;background:#f8faf7;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.memory-show-all span{min-width:19px;height:19px;display:grid;place-items:center;border-radius:999px;background:#e1ebe2;font-size:.75rem}.memory-show-all:hover{background:#edf4ee}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.memory-product{min-width:0;min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.memory-product.has-note{grid-template-rows:auto auto}.memory-quantity-row{grid-column:1 / -1;padding:0 10px 9px}.memory-quantity-toggle{min-height:32px;border:1px solid #d8ded9;border-radius:9px;background:#f6f8f6;color:#50685a;padding:0 10px;font-size:.75rem;font-weight:800;cursor:pointer}.memory-quantity-controls{display:grid;grid-template-columns:40px 1fr 40px auto 36px;align-items:center;overflow:hidden;border:1px solid #cbd9ce;border-radius:10px;background:#f7faf7}.memory-quantity-controls button{min-height:40px;border:0;background:transparent;color:var(--green);font-weight:800;cursor:pointer}.memory-quantity-controls output{text-align:center;font-size:.75rem;font-weight:800}.memory-quantity-controls .memory-custom-add{padding:0 11px;background:var(--green);color:#fff}.memory-quantity-controls .memory-quantity-close{color:#737b75}.memory-product.favorite{border-color:#d7d7c4;background:#fffef8}.memory-product.memory-status-open{border-color:#cbded0;background:#f8fcf8}.memory-product.memory-status-bought{border-color:#d9ddd8;background:#f5f5f1}.memory-product.memory-status-unit-conflict{border-color:#e4d5ad}.memory-product.selectable{grid-template-columns:44px minmax(0,1fr)}.memory-product.selected{border-color:#91b09a;background:#eef7f0;box-shadow:inset 3px 0 #4f7d5e}.memory-select-button{width:26px;height:26px;align-self:center;justify-self:center;display:grid;place-items:center;border:1.5px solid #aeb8b0;border-radius:8px;background:#fff;color:#fff;cursor:pointer}.memory-select-button.checked{border-color:var(--green);background:var(--green)}.memory-product-main{min-width:0;border:0;background:transparent;padding:11px 4px 10px 12px;display:grid;align-content:center;gap:4px;text-align:left;color:var(--ink);cursor:pointer}.memory-product-main:disabled,.memory-plus:disabled,.memory-more:disabled{opacity:.55;cursor:wait}.memory-name-line{min-width:0;display:flex;align-items:center;gap:5px}.memory-name-line>svg{flex:none;color:#8a7b3d}.memory-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:700}.memory-status-pill{width:fit-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:2px 7px;background:#efeee8;color:#6c716c;font-size:.75rem;font-weight:800;letter-spacing:.02em}.memory-status-pill.status-open{background:#e3efe5;color:#356547}.memory-status-pill.status-bought{background:#e8ebe7;color:#68716b}.memory-status-pill.status-unit-conflict{background:#f5ead0;color:#7b5d24}.memory-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem;font-weight:550}.memory-status-open .memory-meta{color:#39704e;font-weight:750}.memory-status-bought .memory-meta{color:#68716b;font-weight:750}.memory-status-unit-conflict .memory-meta{color:#89682a;font-weight:700}.memory-plus,.memory-more{min-width:44px;min-height:44px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.memory-plus{color:var(--green)}.memory-plus.locate{color:#39704e;background:#edf5ef}.memory-more{color:#858a84}.memory-plus:hover,.memory-more:hover{background:#f3f1e9}.memory-more:hover{color:var(--green)}.memory-note-row{min-width:0;grid-column:1 / -1;padding:0 10px 9px 12px}.memory-note-row .product-note{max-width:100%}@media(max-width:560px){.memory-grid{grid-template-columns:1fr}.memory-product{min-height:61px}.memory-batch-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-heading{align-items:center}.memory-caption{display:none}}@media(max-width:390px){.memory-show-all{padding:0 8px}}.memory-hub-backdrop{z-index:110;overflow:hidden;overscroll-behavior:none}.category-route-backdrop{z-index:160}.sticky-add-backdrop{z-index:150}.action-menu-backdrop{z-index:130}.confirm-action-backdrop{z-index:140}.memory-hub-sheet{width:min(100%,860px);height:min(94dvh,780px);max-height:94dvh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;isolation:isolate;border-radius:26px 26px 0 0;background:#fffdfa;padding:10px 18px max(18px,env(safe-area-inset-bottom));box-shadow:0 -14px 55px #141c172e}.category-route-sheet{width:min(100%,620px);max-height:min(92dvh,760px);display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto auto;overflow:hidden;border-radius:26px 26px 0 0;padding:10px 16px max(16px,env(safe-area-inset-bottom));background:#fffdfa;box-shadow:0 -14px 55px #141c1733}.category-route-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.category-route-heading h2{margin:4px 0 0;font-size:1.3125rem;letter-spacing:-.035em}.category-route-heading p{margin:5px 0 0;color:var(--muted);font-size:.75rem}.category-route-list{min-height:0;display:grid;grid-auto-rows:max-content;align-content:start;gap:7px;overflow-y:auto;padding:2px 3px 8px;overscroll-behavior:contain}.category-route-row{min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #dfddd5;border-radius:14px;padding:7px 8px;background:#fff}.category-route-row.empty{background:#f7f6f1;color:#777c76}.category-route-row.moved{animation:route-row-moved .65s ease both}@keyframes route-row-moved{0%,to{box-shadow:none}30%{border-color:#87a78f;box-shadow:0 0 0 3px #4874541f}}.route-row-main{min-width:0;display:grid;grid-template-columns:28px 24px minmax(0,1fr);align-items:center;gap:6px}.route-step{width:25px;height:25px;display:grid;place-items:center;border-radius:999px;background:#e7efe8;color:var(--green);font-size:.75rem;font-weight:850}.route-grip{color:#9a9d97;cursor:grab}.route-category-copy{min-width:0;display:grid;gap:2px}.route-category-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.route-category-copy small{color:var(--muted);font-size:.75rem}.route-row-actions{display:grid;grid-template-columns:repeat(4,34px);gap:3px}.route-row-actions button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #deddd7;border-radius:9px;background:#faf9f5;color:var(--green);font-size:.9375rem;font-weight:850;cursor:pointer}.route-row-actions button:disabled{opacity:.28;cursor:not-allowed}.category-route-status{min-height:31px;display:flex;align-items:center;padding:5px 2px;color:var(--muted);font-size:.75rem}.category-route-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.category-route-actions>button{min-height:42px}.route-reset-button{border:0;background:transparent;color:#8a6251;font-size:.75rem;font-weight:800;text-align:left;cursor:pointer}.route-reset-button:disabled{opacity:.4;cursor:not-allowed}.memory-hub-sheet[data-selecting]{grid-template-rows:auto minmax(0,1fr) auto}.memory-hub-header-actions{display:flex;align-items:center;gap:7px}.memory-select-toggle{min-height:36px;border:1px solid #d8ddd7;border-radius:10px;padding:0 10px;background:#f8faf7;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.memory-select-toggle.active{background:#e5f0e7;border-color:#a9bfaf}.memory-batch-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;border-top:1px solid #e0ddd5;padding:10px 0 0;background:#fffdfa}.memory-batch-bar button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d8ddd7;border-radius:10px;background:#f7faf7;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.memory-batch-bar .danger{border-color:#ecd2ce;background:#fff5f3;color:#9a4b44}.memory-batch-bar .confirm{background:#9a4b44;color:#fff}.memory-batch-bar button:disabled{opacity:.45;cursor:not-allowed}.memory-hub-chrome{position:relative;z-index:1;min-width:0;min-height:max-content;flex:none;background:#fffdfa}.memory-hub-header,.action-menu-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.memory-hub-header h2,.action-menu-heading h2{margin:4px 0 0;font-size:1.3125rem;line-height:1.16;letter-spacing:-.035em}.memory-hub-header p{margin:5px 0 0;color:var(--muted);font-size:.75rem}.memory-hub-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:9px;margin-top:16px}.memory-search{min-width:0;height:46px;display:flex;align-items:center;gap:8px;border:1px solid #d8d5cd;border-radius:13px;padding:0 9px 0 12px;background:#fff;color:#7d827d}.memory-search:focus-within{border-color:#71877a;box-shadow:0 0 0 3px #244a3817}.memory-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font-size:.75rem}.memory-search button{width:32px;height:32px;flex:none;display:grid;place-items:center;border:0;border-radius:9px;background:#f0eee7;color:#737872;cursor:pointer}.memory-sort{display:grid;gap:4px;color:var(--muted);font-size:.75rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.memory-sort select{min-width:0;height:32px;border:1px solid #d8d5cd;border-radius:10px;padding:0 8px;background:#fff;color:var(--ink);outline:0;font-size:.75rem;font-weight:700;text-transform:none}.memory-filters{display:flex;min-height:45px;flex:none;gap:6px;overflow-x:auto;overflow-y:hidden;margin:12px -2px 0;padding:2px 2px 7px;scrollbar-width:none;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;-webkit-overflow-scrolling:touch}.memory-filters::-webkit-scrollbar{display:none}.memory-filters button{min-height:36px;flex:none;display:inline-flex;align-items:center;gap:6px;border:1px solid #dedbd2;border-radius:999px;padding:0 10px;background:#fff;color:#646a65;font-size:.75rem;font-weight:750;cursor:pointer;scroll-snap-align:start}.memory-filters button span{min-width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:#efede7;font-size:.75rem}.memory-filters button.active{border-color:var(--green);background:var(--green);color:#fff}.memory-filters button.active span{background:#ffffff2e}.memory-hub-results{min-width:0;min-height:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:0 -5px -4px;padding:5px 5px 8px;scrollbar-gutter:stable}.memory-hub-results:focus-visible{outline:2px solid #607b69;outline-offset:-2px;border-radius:13px}.memory-results-summary{margin:1px 1px 8px;color:var(--muted);font-size:.75rem;font-weight:700}.memory-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-empty-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--muted);text-align:center}.memory-empty-state strong{color:var(--ink);font-size:.8125rem}.memory-empty-state span{font-size:.75rem}.memory-empty-state button{min-height:38px;margin-top:4px;border:1px solid #d7d9d4;border-radius:11px;padding:0 12px;background:#fff;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.sticky-add-sheet{width:min(100%,560px);max-height:90dvh;overflow-y:auto;border-radius:24px 24px 0 0;background:var(--paper);padding:10px 16px max(18px,env(safe-area-inset-bottom));box-shadow:0 -14px 55px #141c1733}.sticky-add-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}.sticky-add-heading h2{margin:4px 0 0;font-size:1.3125rem;letter-spacing:-.035em}.sticky-add-sheet form{display:grid;gap:8px}.sticky-add-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.sticky-add-input-row input{min-width:0;height:48px;border:1px solid #d8d5cd;border-radius:13px;padding:0 12px;outline:0;background:#fff;font-size:.75rem}.sticky-add-input-row input:focus{border-color:#71877a;box-shadow:0 0 0 3px #244a3817}.sticky-add-input-row .primary-button{min-width:94px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.sticky-voice-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d8ddd7;border-radius:11px;background:#f4f7f3;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.sticky-suggestions{display:grid;gap:5px;margin-top:14px}.sticky-suggestions>.section-kicker{margin:0 2px 3px}.sticky-suggestions>button{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;border:1px solid #e4e1d9;border-radius:12px;padding:7px 8px 7px 11px;background:#fff;color:var(--green);text-align:left;cursor:pointer}.sticky-suggestions>button>span{min-width:0;display:grid;gap:2px}.sticky-suggestions strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.75rem}.sticky-suggestions small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem}.sticky-suggestions>button>svg{justify-self:center}.sticky-add-error{margin-top:10px;border-radius:11px;padding:9px 11px;background:#fff0ee;color:#7d3934;font-size:.75rem}.action-menu-sheet{width:min(100%,520px);border-radius:24px 24px 0 0;background:var(--paper);padding:10px 16px max(18px,env(safe-area-inset-bottom));box-shadow:0 -14px 55px #141c1733}.action-menu-heading{margin-bottom:14px}.action-menu-heading h2{max-width:380px;overflow-wrap:anywhere}.action-menu-list{display:grid;gap:7px}.action-menu-list>button{min-height:58px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;border:1px solid #e2dfd6;border-radius:14px;padding:9px 11px;background:#fff;color:var(--green);text-align:left;cursor:pointer}.action-menu-list>button:hover{background:#f4f6f2}.action-menu-list>button>svg{justify-self:center}.action-menu-list>button>span{min-width:0;display:grid;gap:3px}.action-menu-list strong{color:var(--ink);font-size:.75rem}.action-menu-list small{color:var(--muted);font-size:.75rem;line-height:1.35}.action-menu-list>button.danger{color:var(--danger)}.action-menu-list>button.danger strong{color:#793b36}.confirm-action-sheet{width:min(92vw,470px);border-radius:22px;background:var(--paper);padding:22px;box-shadow:0 24px 70px #141c1738}.confirm-action-icon{width:52px;height:52px;display:grid;place-items:center;margin-bottom:12px;border-radius:17px;background:#f8e7e4;color:var(--danger)}.confirm-action-sheet h2{margin:5px 0 8px;font-size:1.25rem;line-height:1.2;letter-spacing:-.03em}.confirm-action-sheet p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.55}.confirm-action-sheet .sheet-actions{margin-top:17px}.danger-button{height:48px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:13px;background:var(--danger);color:#fff;font-weight:750;cursor:pointer}.danger-button:disabled{opacity:.5;cursor:wait}.bought-toggle{min-width:0;min-height:44px;display:flex;align-items:center;gap:10px;border:0;border-radius:11px;padding:3px 7px 3px 0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.bought-toggle>span{display:grid;gap:4px}.bought-toggle strong{font-size:1.1875rem;letter-spacing:-.035em}.bought-toggle>svg{color:#767c76;transition:transform .18s ease}.bought-section.expanded .bought-toggle>svg{transform:rotate(180deg)}.bought-toggle:hover{background:#ffffff94}.bought-items{animation:bought-items-in .18s ease both}@keyframes bought-items-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.memory-show-all:focus-visible,.category-route-toggle:focus-visible,.category-route-sheet button:focus-visible,.memory-select-toggle:focus-visible,.memory-select-button:focus-visible,.list-select-toggle:focus-visible,.select-button:focus-visible,.category-select-toggle:focus-visible,.bought-select-toggle:focus-visible,.memory-category-select-toggle:focus-visible,.batch-action-bar button:focus-visible,.batch-category-trigger:focus-visible,.bulk-category-menu button:focus-visible,.memory-batch-bar button:focus-visible,.list-search-toggle:focus-visible,.list-focus-search button:focus-visible,.list-focus-filters button:focus-visible,.memory-product-main:focus-visible,.memory-plus:focus-visible,.memory-more:focus-visible,.row-more-button:focus-visible,.bought-toggle:focus-visible,.memory-filters button:focus-visible,.action-menu-list button:focus-visible,.category-navigator button:focus-visible,.sticky-shopping-progress>button:focus-visible,.sticky-add-sheet button:focus-visible,.danger-button:focus-visible{outline:2px solid #607b69;outline-offset:2px}@media(min-width:760px){.memory-hub-sheet{height:min(88dvh,780px);max-height:88dvh;border-radius:26px;padding:12px 22px 22px}.action-menu-sheet{border-radius:24px;padding-bottom:18px}.category-route-sheet{border-radius:26px;padding:12px 20px 20px}.sticky-add-sheet{border-radius:24px;padding-bottom:18px}}@media(max-width:620px){.memory-hub-toolbar{grid-template-columns:1fr}.memory-sort{grid-template-columns:auto minmax(0,1fr);align-items:center}.memory-hub-grid{grid-template-columns:1fr}.memory-hub-sheet{width:100%;height:calc(100dvh - max(8px,env(safe-area-inset-top)));max-height:none;padding-left:13px;padding-right:13px}.memory-hub-header p{max-width:270px}}@media(max-width:430px){.memory-heading-actions{gap:0}.memory-show-all{min-height:40px}.list-heading-actions{gap:5px}.list-select-toggle{min-width:68px;padding:0 7px}.category-route-toggle{min-width:42px;width:42px;padding:0}.category-route-toggle span{display:none}.list-search-toggle{min-width:42px;width:42px;padding:0}.list-search-toggle span{display:none}.sticky-shopping-progress{grid-template-columns:auto minmax(34px,1fr) 34px 62px;gap:6px}.sticky-shopping-progress>button:last-child{min-width:62px}.list-focus-active .category-group{scroll-margin-top:302px}.confirm-action-sheet .sheet-actions{grid-template-columns:1fr}.confirm-action-sheet .danger-button{grid-row:1}.sticky-add-input-row{grid-template-columns:1fr 48px}.sticky-add-input-row .primary-button{min-width:48px;width:48px;padding:0;font-size:0}.batch-action-bar{bottom:max(7px,env(safe-area-inset-bottom));width:calc(100% - 14px)}.batch-actions{grid-template-columns:1fr 1fr}.batch-actions .danger{grid-column:auto}.category-route-row{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;padding:8px}.route-row-main{grid-template-columns:26px 20px minmax(0,1fr)}.route-row-actions{grid-column:auto;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.route-row-actions button{width:100%;height:auto;min-height:44px}.category-route-actions{grid-template-columns:1fr 1fr}.route-reset-button{grid-column:1 / -1;text-align:center}}@media(prefers-reduced-motion:reduce){.category-route-row.moved,.bulk-category-menu.opens-up,.bulk-category-menu.opens-down{animation:none}.batch-category-trigger>svg{transition:none}.category-items{animation:none}.category-toggle>svg{transition:none}.shopping-row.located,.category-group.located-category .category-toggle,.command-search-result.located,.bought-items,.shopping-row.toggle-pending:after{animation:none}.shopping-row{transition:none}.bought-toggle>svg,.product-note-chevron,.shopping-progress-track>span{transition:none}.sticky-progress-track>span{transition:none}html:focus-within{scroll-behavior:auto}}.household-title-button{min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.household-title-button h1{font-size:1.25rem;line-height:1.05;margin:2px 0 0;letter-spacing:-.025em}.household-subtitle{margin-top:3px;display:flex;align-items:center;gap:4px;color:var(--muted);font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{display:flex;align-items:center;gap:6px}.topbar-icon-button{width:34px;height:34px;border:1px solid #dfdcd3;border-radius:11px;background:#ffffff94;display:grid;place-items:center;color:#555d58;cursor:pointer}.topbar-icon-button:hover{background:#fff}.live-dot{width:8px;height:8px;border-radius:999px;background:#c4c5bf;box-shadow:0 0 0 3px #c4c5bf2b}.live-dot.online{background:#4d8b68;box-shadow:0 0 0 3px #4d8b6829}.item-copy{min-width:0;display:grid;justify-items:start;gap:3px}.item-author{color:#686e68;font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shopping-row.bought .item-author{opacity:.7}.auth-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 14px;background:radial-gradient(circle at 75% 5%,rgba(36,74,56,.1),transparent 28%),#f7f5ef}.auth-card{width:min(100%,440px);padding:27px;border:1px solid var(--line);border-radius:25px;background:var(--paper);box-shadow:var(--shadow)}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand .brand-mark{width:44px;height:44px;flex:0 0 auto}.auth-brand h1{margin:3px 0 0;font-size:1.4375rem;line-height:1.08;letter-spacing:-.035em}.auth-lead{margin:18px 0 20px;color:var(--muted);font-size:.78125rem;line-height:1.55}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:13px;background:#efede6}.auth-tabs.single{grid-template-columns:1fr}.auth-tabs button{height:38px;border:0;border-radius:10px;background:transparent;color:#6d726d;font-size:.75rem;font-weight:700;cursor:pointer}.auth-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px #0000000d}.auth-form{margin-top:18px;display:grid;gap:13px}.auth-form label{display:grid;gap:6px;font-size:.75rem;font-weight:700}.auth-form input,.inline-form input{width:100%;height:44px;border:1px solid #d9d6cd;border-radius:12px;background:#fff;padding:0 12px;outline:0;font-size:.8125rem;font-weight:500}.auth-form input:focus,.inline-form input:focus{border-color:#728679;box-shadow:0 0 0 3px #244a3814}.auth-submit{width:100%;min-height:45px;display:flex;align-items:center;justify-content:center;gap:8px}.auth-note{display:block;margin-top:14px;color:#858a84;font-size:.75rem;line-height:1.5}.error-banner.compact{margin:0;padding:10px 12px;font-size:.75rem}.boot-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:.8125rem}.family-backdrop{align-items:flex-end}.family-sheet{max-height:min(90vh,780px);overflow-y:auto}.family-user-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:15px;background:#faf8f2}.avatar-circle,.avatar-small{display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-weight:800}.avatar-circle{width:40px;height:40px;font-size:.875rem}.avatar-small{width:32px;height:32px;font-size:.75rem}.family-user-row>div:nth-child(2),.member-row>div:nth-child(2){min-width:0;display:grid;gap:2px}.family-user-row strong,.member-row strong{font-size:.75rem}.family-user-row span,.member-row span{color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-user-row .text-button{display:flex;align-items:center;gap:5px;font-size:.75rem}.family-section{margin-top:19px}.family-section>.section-kicker{display:block;margin-bottom:8px}.household-switch-list{display:grid;gap:7px}.household-choice{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) 24px;align-items:center;gap:7px;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:#fff;color:inherit;text-align:left;cursor:pointer}.household-choice.active{border-color:#8ea092;background:#f3f6f2}.household-choice>span{display:grid;gap:2px}.household-choice strong{font-size:.75rem}.household-choice small{color:var(--muted);font-size:.75rem}.family-rename{margin-top:8px}.inline-form{display:flex;gap:7px}.inline-form input{min-width:0;height:40px}.inline-form .secondary-button{min-height:40px;white-space:nowrap}.family-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:8px}.family-section-heading h3{margin:3px 0 0;font-size:1rem}.member-count{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:.75rem}.member-list{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.member-row{min-height:50px;display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #eeece6}.member-row:last-child{border-bottom:0}.member-row>small{color:#858a84;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.invite-button{width:100%;margin-top:8px;min-height:42px;display:flex;justify-content:center;align-items:center;gap:7px}.invite-card{margin-top:8px;padding:12px;border-radius:14px;background:#edf3ed;border:1px solid #d4e1d5}.invite-card>span{display:block;color:#69766d;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.invite-card>div{margin:7px 0 6px;display:flex;align-items:center;justify-content:space-between;gap:10px}.invite-card strong{font-size:1.1875rem;letter-spacing:.09em}.invite-card button{border:0;border-radius:10px;background:#fff;padding:8px 10px;display:flex;align-items:center;gap:5px;cursor:pointer;font-size:.75rem;font-weight:700}.invite-card small{color:#727a74;font-size:.75rem;line-height:1.45}.split-family-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.split-family-actions form{min-width:0;display:grid;gap:7px}@media(max-width:620px){.topbar{grid-template-columns:38px minmax(0,1fr) auto;padding-left:12px;padding-right:10px;gap:8px}.topbar-actions{gap:4px}.desktop-logout{display:none}.count-pill{min-width:31px;height:31px;padding:0 8px}.topbar-icon-button{width:31px;height:31px;border-radius:10px}.household-title-button h1{font-size:1.125rem}.household-subtitle{max-width:180px}.split-family-actions{grid-template-columns:1fr}}@media(max-width:400px){.household-subtitle{max-width:145px}.auth-card{padding:21px 17px}.family-user-row{grid-template-columns:38px minmax(0,1fr)}.family-user-row .text-button{grid-column:2;justify-self:start}.inline-form{flex-direction:column}}.https-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.https-actions a{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:9px;background:#ffffffed;color:var(--green);font-weight:800;font-size:.75rem;text-decoration:none}.https-actions a:hover{background:#fff}.voice-confirm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.voice-confirm-actions button{margin-top:0}.voice-confirm-actions .voice-confirm-danger{background:#fff1ed;color:#8f342b}.voice-confirm-actions .voice-confirm-primary{background:#e7f2eb;color:#205b43}.voice-confirm-actions .voice-confirm-cancel{background:#ffffff1f;color:#fff5d8;border:1px solid rgba(255,255,255,.18)}.field-error{display:block;margin-top:6px;color:#a84f42;font-size:.78rem;font-weight:600}.brand-back-button{border:0;cursor:pointer;padding:0}.brand-back-button:hover{filter:brightness(1.07)}.list-title-static{cursor:default}.lists-content{width:min(100%,920px);padding-top:24px}.lists-hero{display:flex;align-items:end;justify-content:space-between;gap:22px;padding:5px 3px 21px}.lists-hero h2{margin:5px 0 7px;font-size:clamp(1.6875rem,4vw,2.25rem);line-height:1.05;letter-spacing:-.045em}.lists-hero p{max-width:590px;margin:0;color:var(--muted);font-size:.78125rem;line-height:1.55}.lists-new-button,.empty-create-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;padding:0 17px}.lists-new-button{min-width:132px}.lists-loading{min-height:170px;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:.75rem}.lists-empty{min-height:270px}.empty-create-button{margin-top:8px;min-height:44px}.shopping-lists-section{margin-top:4px}.lists-section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px;padding:0 2px}.lists-section-heading h2{margin:4px 0 0;font-size:1.25rem;letter-spacing:-.035em}.shopping-lists-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shopping-list-card{min-width:0;border:1px solid var(--line);border-radius:19px;background:var(--paper);overflow:hidden;box-shadow:0 5px 18px #232a2609;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.shopping-list-card:hover{transform:translateY(-1px);border-color:#d6d6cc;box-shadow:0 9px 24px #232a2612}.shopping-list-card-main{width:100%;min-height:168px;display:flex;flex-direction:column;border:0;background:transparent;padding:16px;color:inherit;text-align:left;cursor:pointer}.shopping-list-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.list-status-badge{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:999px;background:#efede6;color:#6f746e;font-size:.75rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.list-status-badge.shopping{background:#e2eee5;color:#356247}.list-open-label{color:var(--green);font-size:.75rem;font-weight:800}.shopping-list-card h3{margin:18px 0 13px;font-size:1.125rem;line-height:1.15;letter-spacing:-.035em;overflow-wrap:anywhere}.shopping-list-meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:.75rem;font-weight:600}.shopping-list-meta span{min-width:0;display:inline-flex;align-items:center;gap:5px}.list-progress-line{height:4px;margin-top:15px;overflow:hidden;border-radius:999px;background:#eceae3}.list-progress-line>span{display:block;height:100%;border-radius:inherit;background:var(--green)}.history-preview{margin-top:18px;padding:14px 16px;border:1px dashed #d8d4cb;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);background:#fffdfa73}.history-preview>div{display:grid;gap:3px}.history-preview strong{color:var(--ink);font-size:.75rem}.history-preview>span{max-width:340px;font-size:.75rem;line-height:1.45;text-align:right}.list-create-sheet .sheet-actions .primary-button{display:flex;align-items:center;justify-content:center;gap:7px}@media(max-width:650px){.lists-content{padding-top:18px}.lists-hero{align-items:stretch;flex-direction:column;gap:14px}.lists-hero h2{font-size:1.8125rem}.lists-new-button{width:100%}.shopping-lists-grid{grid-template-columns:1fr}.shopping-list-card-main{min-height:148px}.history-preview{align-items:flex-start;flex-direction:column;gap:7px}.history-preview>span{text-align:left}}.shopping-list-card-actions{padding:0 14px 14px;display:flex;align-items:stretch;gap:8px}.list-shopping-button{flex:1 1 auto;width:auto;min-height:42px;border:0;border-radius:12px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font-size:.75rem;font-weight:800;cursor:pointer}.list-shopping-button.continue{background:#e3eee5;color:#315e44}.list-shopping-button:disabled{opacity:.62;cursor:wait}.list-delete-button{flex:0 0 42px;min-width:42px;min-height:42px;border:1px solid #deddd6;border-radius:12px;background:#fffdfa;color:#6d736e;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease}.list-delete-button:hover,.list-delete-button:focus-visible{background:#fff4f1;border-color:#dfc0b6;color:#9a4637;outline:none}.list-delete-button:active{transform:scale(.98)}.list-delete-button:disabled{opacity:.55;cursor:wait}.shopping-start-card,.shopping-progress-card,.shopping-complete-card{margin-bottom:14px;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 5px 18px #232a2609}.shopping-start-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 17px}.shopping-start-card h2,.shopping-complete-card h2{margin:4px 0 5px;font-size:1.125rem;letter-spacing:-.035em}.shopping-start-card p,.shopping-complete-card p,.completion-sheet p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.5}.shopping-start-button,.shopping-back-button{min-height:44px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none}.shopping-progress-card{padding:16px 17px 14px;background:#edf3ed;border-color:#d6e2d8}.shopping-progress-main{display:flex;align-items:center;justify-content:space-between;gap:16px}.shopping-progress-main>div:first-child{display:grid;gap:3px}.shopping-progress-main strong{font-size:1.25rem;letter-spacing:-.035em}.shopping-progress-main span:not(.section-kicker){color:#68766c;font-size:.75rem}.shopping-progress-percent{flex:none;min-width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);font-size:.9375rem;font-weight:850;box-shadow:0 5px 16px #244a3814}.shopping-progress-track{height:8px;margin:13px 0 12px;overflow:hidden;border-radius:999px;background:#d8e1d9}.shopping-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .2s ease}.shopping-finish-button{width:100%;min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;background:#fff}.shopping-active-shell .topbar{background:#eff4eff0}.shopping-active-shell .voice-card{margin-bottom:18px}.shopping-mode-content{width:min(100%,760px);padding-top:14px}.shopping-mode-list-section{margin-top:20px}.shopping-active-shell .category-title{margin-bottom:7px;font-size:.75rem}.shopping-active-shell .category-count{background:#dde8df;color:#4d6755}.shopping-active-shell .items-card{border-radius:18px}.shopping-row.shopping-mode-row{min-height:72px;grid-template-columns:50px minmax(0,1fr) 44px;padding-top:7px;padding-bottom:7px}.shopping-mode-row .check-button{width:46px;height:46px;flex:0 0 46px}.shopping-mode-row .check-button:before{width:42px;height:42px;border-radius:13px}.shopping-mode-row .select-button:before{width:42px;height:42px;border-radius:13px}.shopping-mode-row .check-button.checked:before{background:var(--green);border-color:var(--green)}.shopping-mode-row .item-name{font-size:.9375rem}.shopping-mode-row .item-qty{font-size:.8125rem;font-weight:800}.shopping-mode-row .product-note{min-height:26px;border-radius:9px}.shopping-mode-row .product-note-text{font-size:.75rem}.shopping-mode-row.bought .item-name{text-decoration:line-through;color:#7c837e}.shopping-active-shell .bought-section{margin-top:24px}.shopping-active-shell .muted-card{opacity:.88}.shopping-complete-card{margin-top:28px;padding:28px 22px;text-align:center}.shopping-complete-icon{width:70px;height:70px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#e4efe6;color:var(--green)}.shopping-complete-icon.warning{width:58px;height:58px;margin:0 0 12px;background:#f1ede0;color:#7d6941}.shopping-complete-card .shopping-back-button{margin-top:18px}.completion-sheet{width:min(92vw,470px);border-radius:22px;background:var(--paper);padding:22px;box-shadow:0 24px 70px #141c1738}.completion-sheet h2{margin:4px 0 8px;font-size:1.3125rem;line-height:1.2;letter-spacing:-.035em}.completion-sheet .sheet-actions{margin-top:18px}@media(max-width:650px){.shopping-start-card{align-items:stretch;flex-direction:column;gap:12px}.shopping-start-button{width:100%}.shopping-mode-content{padding-left:9px;padding-right:9px}.shopping-active-shell .voice-card{border-radius:22px}.shopping-active-shell .voice-copy{padding-right:76px}.shopping-active-shell .voice-card h2{font-size:1.5rem}.shopping-row.shopping-mode-row{min-height:78px;grid-template-columns:56px minmax(0,1fr) 44px}.shopping-mode-row .check-button{width:48px;height:48px;flex-basis:48px}.shopping-mode-row .item-name{font-size:1rem}.shopping-mode-row .item-qty{font-size:.875rem}.shopping-progress-main strong{font-size:1.375rem}.shopping-progress-percent{min-width:62px;height:62px}}.shopping-quick-add-card{margin-top:10px;margin-bottom:4px;padding:13px;border-radius:17px}.shopping-quick-add-card .input-hint{margin-bottom:0}.history-preview-button{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:left;font:inherit}.history-preview-button:hover{border-color:#cfcabd;background:#fffdfacc}.list-status-badge.completed{background:#e8ebe6;color:#5f675f}.history-content,.history-detail-content{width:min(100%,920px)}.history-hero{margin-bottom:6px}.history-empty{min-height:290px}.history-empty .secondary-button{margin-top:8px}.history-list-section{margin-top:12px}.history-list-stack{display:grid;gap:12px}.history-list-card{border:1px solid var(--line);border-radius:19px;background:var(--paper);overflow:hidden;box-shadow:0 5px 18px #232a2609}.history-card-main{width:100%;border:0;background:transparent;padding:17px 18px 15px;color:inherit;text-align:left;cursor:pointer}.history-card-main:hover{background:#f6f5f09e}.history-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-date{color:var(--muted);font-size:.75rem;font-weight:700}.history-list-card h3{margin:14px 0 11px;font-size:1.1875rem;letter-spacing:-.035em}.history-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 15px;color:var(--muted);font-size:.75rem;font-weight:650}.history-card-meta span{display:inline-flex;align-items:center;gap:5px}.history-card-meta .history-remaining{color:#8b6745}.history-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 14px 14px}.history-card-actions .secondary-button,.history-card-actions .primary-button{min-height:42px;justify-content:center}.buy-again-source{margin-top:4px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#f6f5f0;display:grid;gap:3px}.buy-again-source span,.buy-again-source small{color:var(--muted);font-size:.75rem}.buy-again-source strong{font-size:.8125rem;color:var(--ink)}.buy-again-sheet .primary-button{display:flex;align-items:center;justify-content:center;gap:7px}.history-summary-card{margin-top:24px;border:1px solid var(--line);border-radius:22px;background:var(--paper);padding:20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon copy stats" "icon button button";gap:10px 16px;align-items:center;box-shadow:0 7px 24px #232a260b}.history-summary-icon{grid-area:icon;width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:#e6eee7;color:var(--green)}.history-summary-copy{grid-area:copy;min-width:0}.history-summary-copy h2{margin:3px 0 4px;font-size:1.4375rem;letter-spacing:-.04em;overflow-wrap:anywhere}.history-summary-copy p{margin:0;color:var(--muted);font-size:.75rem}.history-summary-stats{grid-area:stats;min-width:78px;text-align:right;display:grid;gap:0}.history-summary-stats strong{font-size:1.3125rem;letter-spacing:-.04em}.history-summary-stats span{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.history-buy-again{grid-area:button;justify-self:end;min-height:40px;display:flex;align-items:center;justify-content:center;gap:7px}.history-products-section{margin-top:22px}.history-items-card{overflow:hidden}.history-items-card.missed{border-color:#e4d8cb}.history-empty-products{border:1px dashed var(--line);border-radius:16px;padding:18px;color:var(--muted);font-size:.75rem}.history-item-row{min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px 13px;border-bottom:1px solid var(--line)}.history-item-row:last-child{border-bottom:0}.history-item-row.bought .history-item-copy strong{color:#58635b}.history-item-check{width:29px;height:29px;border:1px solid #d6d8d4;border-radius:9px;display:grid;place-items:center;color:#fff;background:#fff}.history-item-check.checked{background:var(--green);border-color:var(--green)}.history-item-copy{min-width:0;display:grid;gap:2px}.history-item-copy strong{font-size:.8125rem;overflow-wrap:anywhere}.history-item-copy span{color:var(--muted);font-size:.75rem}.history-item-copy .product-note{margin-top:2px}.history-item-copy .product-note.substitute{color:#795923}.history-item-copy .product-note.preference{color:#3d654d}.history-item-copy .product-note-text{font-size:.75rem}.history-item-qty{color:var(--ink);font-size:.75rem;font-weight:800;white-space:nowrap}@media(max-width:650px){.history-card-actions{grid-template-columns:1fr}.history-summary-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon copy" "stats stats" "button button";padding:17px}.history-summary-stats{text-align:left;display:flex;gap:6px;align-items:baseline}.history-buy-again{width:100%;justify-self:stretch}.history-summary-copy h2{font-size:1.25rem}.history-item-row{min-height:62px;padding:10px}}.text-product-confirmation{margin-top:12px}.text-product-confirmation{margin-top:12px;border-color:#d8c58c;background:#f5efe1;box-shadow:inset 0 0 0 1px #6d561f0a}.text-product-confirmation>svg{color:#a77412}.text-product-confirmation strong{color:#2f342f}.text-product-confirmation span{color:#51584f}.text-product-confirmation .voice-transcript{color:#70766d;font-weight:600}.text-product-confirmation .voice-confirm-cancel{background:#fffdf8;color:#4c534d;border:1px solid #d8d3c8}.voice-error.voice-clarification.text-product-confirmation{border-color:#d2b15f;background:#fff8e7;box-shadow:inset 0 0 0 1px #6f52120f}.voice-error.voice-clarification.text-product-confirmation>svg{color:#8c6817}.voice-error.voice-clarification.text-product-confirmation strong{color:#3b321f}.voice-error.voice-clarification.text-product-confirmation span{color:#443f33}.voice-error.voice-clarification.text-product-confirmation .voice-transcript{color:#5d625a;font-weight:700}.voice-error.voice-clarification.text-product-confirmation .voice-confirm-primary{background:#e7f2eb;color:#205b43}.voice-error.voice-clarification.text-product-confirmation .voice-confirm-cancel{background:#fff;color:#394039;border:1px solid #d7d2c6}.category-progress-label{min-height:20px;display:inline-flex;align-items:center;border-radius:999px;padding:0 7px;background:#ebe9e2;color:#6f756f;font-size:.75rem;font-weight:800;white-space:nowrap}.category-progress-label.complete{background:#e4eee5;color:#467054}.category-group.complete .category-toggle{color:#657269}.category-navigation-row,.memory-category-navigation{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}.category-collapse-all,.memory-collapse-all{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid #d9d9d2;border-radius:999px;padding:0 9px;background:#f8f7f2;color:#5f6e64;font-size:.75rem;font-weight:800;cursor:pointer;white-space:nowrap}.category-collapse-all:hover,.memory-collapse-all:hover{border-color:#b8c9bc;background:#edf3ed;color:var(--green)}.category-collapse-all:focus-visible,.memory-collapse-all:focus-visible,.memory-category-title:focus-visible,.memory-category-navigator button:focus-visible{outline:3px solid rgba(61,101,77,.2);outline-offset:2px}.memory-category-navigation{position:sticky;top:-5px;z-index:2;margin:-1px -1px 10px;padding:6px 1px;background:#fffdfaf5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.memory-category-navigator{min-width:0;display:flex;gap:6px;overflow-x:auto;padding:1px 1px 3px;scrollbar-width:none;overscroll-behavior-inline:contain}.memory-category-navigator::-webkit-scrollbar{display:none}.memory-category-navigator button{min-height:34px;flex:none;display:inline-flex;align-items:center;gap:6px;border:1px solid #dfdcd4;border-radius:999px;padding:0 8px 0 10px;background:#fff;color:#646a65;font-size:.75rem;font-weight:750;cursor:pointer}.memory-category-navigator button strong{min-width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:#efede7;font-size:.75rem}.memory-category-groups{display:grid;gap:15px}.memory-category-group{min-width:0;scroll-margin-top:56px}.memory-category-title{width:100%;min-height:35px;display:flex;align-items:center;gap:7px;border:0;border-radius:10px;padding:0 4px 6px;background:transparent;color:#6d746e;text-align:left;font-size:.75rem;font-weight:800;cursor:pointer}.memory-category-title:hover{background:#f3f2ec}.memory-category-title strong{min-width:20px;min-height:18px;display:inline-grid;place-items:center;border-radius:999px;padding:0 5px;background:#e9e7df;color:#757a74;font-size:.75rem}.memory-category-title>svg{margin-left:auto;transition:transform .18s ease}.memory-category-group.collapsed .memory-category-title>svg{transform:rotate(-90deg)}.memory-category-group .memory-hub-grid{animation:category-items-in .16s ease both}@media(max-width:650px){.category-collapse-all span,.memory-collapse-all span{display:none}.category-collapse-all,.memory-collapse-all{width:36px;padding:0}.category-progress-label{max-width:150px;overflow:hidden;text-overflow:ellipsis}.memory-category-groups{gap:12px}}@media(prefers-reduced-motion:reduce){.memory-category-title>svg{transition:none}.memory-category-group .memory-hub-grid{animation:none}}.memory-quick-filters{position:relative;display:grid;gap:5px;margin-top:9px;padding-right:70px}.memory-filter-row{min-width:0;display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:7px}.memory-filter-label{color:#7a807a;font-size:.75rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}.memory-filter-row .memory-filters,.memory-category-filters{min-width:0;min-height:36px;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;margin:0;padding:2px 2px 3px;scrollbar-width:none;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.memory-filter-row .memory-filters::-webkit-scrollbar,.memory-category-filters::-webkit-scrollbar{display:none}.memory-category-filters button{min-height:32px;flex:none;display:inline-flex;align-items:center;gap:6px;border:1px solid #dedbd2;border-radius:999px;padding:0 9px;background:#fff;color:#656b66;font-size:.75rem;font-weight:750;cursor:pointer}.memory-category-filters button span{min-width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:#efede7;font-size:.75rem}.memory-category-filters button.active{border-color:#667d6e;background:#edf3ed;color:#2f5d45;box-shadow:inset 0 0 0 1px #2f5d450f}.memory-category-filters button.active span{background:#dce8de}.memory-filters button:disabled,.memory-category-filters button:disabled{opacity:.42;cursor:default}.memory-clear-filters{position:absolute;top:2px;right:0;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:0;border-radius:9px;padding:0 8px;background:#f2f0e9;color:#69706a;font-size:.75rem;font-weight:800;cursor:pointer}.memory-clear-filters:hover{background:#e8eee8;color:var(--green)}.memory-clear-filters:focus-visible,.memory-category-filters button:focus-visible{outline:3px solid rgba(61,101,77,.2);outline-offset:2px}@media(max-width:650px){.memory-quick-filters{padding-right:0;gap:4px}.memory-filter-row{grid-template-columns:1fr;gap:1px}.memory-filter-label{padding-left:2px}.memory-clear-filters{position:static;width:max-content;margin-top:2px}.memory-category-filters button{min-height:34px}}.memory-product:not(.selectable){grid-template-columns:minmax(0,1fr) 40px 44px 44px}.memory-favorite-toggle{min-width:40px;min-height:44px;border:0;background:transparent;display:grid;place-items:center;color:#9a9d97;cursor:pointer}.memory-favorite-toggle.active{color:#9a7a22;background:#fff9df}.memory-favorite-toggle:hover{background:#f7f3e4;color:#8a722f}.memory-favorite-toggle:disabled{opacity:.55;cursor:wait}.memory-spotlights{display:grid;gap:11px;margin:0 0 14px}.memory-spotlight{display:grid;gap:7px}.memory-spotlight-heading{display:flex;align-items:center;gap:6px;color:#53645a;font-size:.75rem}.memory-spotlight-heading>span{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#edf3ed;color:#51705b}.memory-spotlight:first-child .memory-spotlight-heading>span{background:#fff6d8;color:#987827}.memory-spotlight-row{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:none;scroll-snap-type:x proximity}.memory-spotlight-row::-webkit-scrollbar{display:none}.memory-spotlight-card{flex:0 0 min(220px,70vw);min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 34px 38px;align-items:stretch;overflow:hidden;border:1px solid #dfe4de;border-radius:13px;background:#fbfcfa;scroll-snap-align:start}.memory-spotlight-main{min-width:0;border:0;background:transparent;padding:9px 5px 9px 10px;display:grid;gap:2px;text-align:left;cursor:pointer}.memory-spotlight-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.75rem}.memory-spotlight-main small{color:var(--muted);font-size:.75rem}.memory-spotlight-star,.memory-spotlight-action{border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.memory-spotlight-star{color:#9ca09a}.memory-spotlight-star.active{color:#987827;background:#fff9e3}.memory-spotlight-action{color:var(--green)}.memory-spotlight-star:hover,.memory-spotlight-action:hover{background:#f1f4f0}@media(max-width:560px){.memory-product:not(.selectable){grid-template-columns:minmax(0,1fr) 38px 42px 42px}.memory-favorite-toggle{min-width:38px}.memory-spotlight-card{flex-basis:min(205px,76vw)}}.smart-quick-add-section{margin-top:18px;padding:12px;border:1px solid #dce4dc;border-radius:18px;background:linear-gradient(180deg,#fbfdf9,#f6f9f5);box-shadow:0 4px 16px #234a3809}.smart-quick-add-section.empty-list{border-color:#cfddd1;background:linear-gradient(180deg,#f8fcf8,#f3f8f3)}.smart-quick-add-section.shopping-mode{margin-top:10px;padding:10px}.smart-quick-add-section.collapsed{padding-bottom:10px}.smart-quick-add-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.smart-quick-add-heading{min-width:0;flex:1;display:grid;grid-template-columns:34px minmax(0,1fr) 26px;align-items:center;gap:8px;border:0;padding:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.smart-quick-add-heading-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#e5efe6;color:var(--green)}.smart-quick-add-heading-copy{min-width:0;display:grid;gap:1px}.smart-quick-add-heading-copy .section-kicker{font-size:.75rem}.smart-quick-add-heading-copy strong{font-size:.9375rem;letter-spacing:-.02em}.smart-quick-add-heading-copy small{color:var(--muted);font-size:.75rem;line-height:1.35}.smart-quick-add-chevron{color:#78847b;transition:transform .18s ease}.smart-quick-add-chevron.expanded{transform:rotate(180deg)}.smart-quick-add-header .memory-show-all{flex:none;min-height:34px;display:inline-flex;align-items:center;gap:5px;border:1px solid #d7dfd8;border-radius:10px;padding:0 9px;background:#ffffffb8;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.smart-quick-add-header .memory-show-all span{min-width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:#e3ece4;font-size:.75rem}.smart-quick-add-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.smart-quick-add-item{min-width:0;min-height:54px;display:grid;grid-template-columns:31px minmax(0,1fr) 26px;align-items:center;gap:7px;border:1px solid #dce2dc;border-radius:13px;padding:7px 8px;background:#ffffffdb;color:inherit;text-align:left;font:inherit;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.smart-quick-add-item:hover{border-color:#bdcfbf;background:#fff;transform:translateY(-1px)}.smart-quick-add-item:disabled{opacity:.58;cursor:wait;transform:none}.smart-quick-add-item.reason-favorite{border-color:#ddd9bf;background:#fffef8}.smart-quick-add-item.reason-frequent{border-color:#d4e1d7}.smart-quick-add-item-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#edf3ed;color:var(--green)}.smart-quick-add-item.reason-favorite .smart-quick-add-item-icon{background:#f5f0d9;color:#8a6b24}.smart-quick-add-item-copy{min-width:0;display:grid;gap:2px}.smart-quick-add-item-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.smart-quick-add-item-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem}.smart-quick-add-plus{color:var(--green);justify-self:end}@media(max-width:720px){.smart-quick-add-section{margin-top:14px;padding:10px;border-radius:16px}.smart-quick-add-header{align-items:stretch}.smart-quick-add-heading{grid-template-columns:32px minmax(0,1fr) 22px}.smart-quick-add-heading-icon{width:32px;height:32px}.smart-quick-add-heading-copy strong{font-size:.875rem}.smart-quick-add-heading-copy small{display:none}.smart-quick-add-header .memory-show-all{min-height:32px;padding:0 8px}.smart-quick-add-row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(174px,68vw);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;margin-right:-10px;padding-right:10px}.smart-quick-add-row::-webkit-scrollbar{display:none}.smart-quick-add-item{scroll-snap-align:start}}@media(prefers-reduced-motion:reduce){.smart-quick-add-chevron,.smart-quick-add-item{transition:none}}.memory-product.compact-memory-card{min-height:68px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto;align-items:stretch}.memory-product.compact-memory-card.selectable{grid-template-columns:42px minmax(0,1fr)}.memory-product-body{min-width:0;padding:10px 4px 9px 12px;display:grid;align-content:center;gap:5px}.compact-memory-card .memory-product-main{min-width:0;min-height:0;padding:0;display:block;text-align:left}.compact-memory-card .memory-name{font-size:.75rem;line-height:1.25;font-weight:750}.memory-compact-meta{min-width:0;display:flex;align-items:center;gap:4px;overflow:hidden;white-space:nowrap;color:var(--muted);font-size:.75rem;line-height:1.25;font-weight:550}.memory-meta-quantity{flex:none;font-weight:700;color:#5c665f}.memory-inline-quantity{flex:none;min-height:22px;border:0;border-radius:7px;background:#f1f5f1;color:#456553;padding:0 6px;font:inherit;font-weight:800;cursor:pointer}.memory-inline-quantity:hover,.memory-inline-quantity[aria-expanded=true]{background:#e5eee6;color:var(--green)}.memory-inline-quantity:focus-visible{outline:3px solid rgba(61,101,77,.18);outline-offset:1px}.memory-meta-separator{flex:none;color:#a2a7a2}.compact-memory-card .memory-status-pill{min-width:0;width:auto;max-width:none;overflow:hidden;text-overflow:ellipsis;border-radius:0;padding:0;background:transparent;color:#777d78;font-size:.75rem;font-weight:650;letter-spacing:0}.compact-memory-card .memory-status-pill.status-open{background:transparent;color:#39704e}.compact-memory-card .memory-status-pill.status-bought{background:transparent;color:#68716b}.compact-memory-card .memory-status-pill.status-unit-conflict{background:transparent;color:#89682a}.memory-card-actions{display:grid;grid-auto-flow:column;grid-auto-columns:36px;align-items:stretch;align-self:stretch}.compact-memory-card .memory-plus,.compact-memory-card .memory-favorite-toggle,.compact-memory-card .memory-more{min-width:36px;width:36px;min-height:44px;padding:0}.compact-memory-card .memory-plus.locate{background:transparent}.compact-memory-card .memory-plus.locate:hover{background:#edf5ef}.compact-memory-card .memory-favorite-toggle.active{background:transparent}.compact-memory-card .memory-favorite-toggle.active:hover{background:#fff9df}.compact-memory-card .memory-quantity-row.compact-expanded{grid-column:1 / -1;padding:0 10px 9px 12px}.compact-memory-card.quantity-open{grid-template-rows:auto auto}.compact-memory-card .memory-note-row{grid-column:1 / -1;padding:0 10px 8px 12px}@media(max-width:560px){.memory-product.compact-memory-card{min-height:64px;grid-template-columns:minmax(0,1fr) auto;border-radius:13px}.memory-product.compact-memory-card.selectable{grid-template-columns:38px minmax(0,1fr)}.memory-product-body{padding:9px 2px 8px 11px;gap:4px}.compact-memory-card .memory-name{font-size:.75rem}.memory-compact-meta{gap:3px;font-size:.75rem}.memory-inline-quantity{min-height:21px;padding:0 5px}.memory-card-actions{grid-auto-columns:34px}.compact-memory-card .memory-plus,.compact-memory-card .memory-favorite-toggle,.compact-memory-card .memory-more{min-width:34px;width:34px;min-height:42px}.compact-memory-card .memory-quantity-controls{grid-template-columns:36px 1fr 36px auto 34px}}@media(max-width:380px){.memory-card-actions{grid-auto-columns:32px}.compact-memory-card .memory-plus,.compact-memory-card .memory-favorite-toggle,.compact-memory-card .memory-more{min-width:32px;width:32px}.memory-compact-meta{font-size:.75rem}}@media(min-width:761px){.shopping-row-swipe-complete,.shopping-row-swipe-actions{display:none}}.list-density-toggle{min-width:76px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d8ddd7;border-radius:11px;padding:0 9px;background:#fff;color:#5f6962;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}.list-density-toggle:hover{border-color:#b8c9bc;background:#f1f6f1;color:var(--green)}.list-density-toggle:focus-visible{outline:2px solid #607b69;outline-offset:2px}.density-lines{width:14px;height:15px;display:grid;align-content:center;gap:3px}.density-lines i{height:1.5px;border-radius:999px;background:currentColor}.list-density-toggle.compact .density-lines{gap:2px}.list-density-toggle.comfortable .density-lines{gap:4px}.list-density-compact .shopping-row{min-height:54px;grid-template-columns:42px minmax(0,1fr) 38px;padding:2px 3px}.list-density-compact .shopping-row.selectable{grid-template-columns:42px minmax(0,1fr) 0}.list-density-compact .check-button{width:40px;height:40px}.list-density-compact .check-button:before{width:24px;height:24px;border-radius:8px}.list-density-compact .item-main{gap:1px;padding:5px 2px 5px 0}.list-density-compact .item-summary{gap:8px}.list-density-compact .item-name-button{padding:2px 0}.list-density-compact .item-name{font-size:.8125rem}.list-density-compact .item-qty-button{min-height:28px;border-radius:8px;padding:3px 7px}.list-density-compact .item-qty{font-size:.75rem}.list-density-compact .row-more-button{width:38px;height:38px}.list-density-compact .item-copy{min-height:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px}.list-density-compact .item-copy .product-note{flex:0 1 auto;min-height:20px;max-width:min(100%,270px);padding:1px 5px;border-radius:7px}.list-density-compact .item-copy .product-note-text{font-size:.75rem}.list-density-compact .item-copy .product-note.expanded{flex-basis:100%;max-width:100%}.list-density-compact .item-author{flex:0 1 auto;max-width:145px;font-size:.75rem}.list-density-compact .inline-quantity-panel{grid-template-columns:minmax(130px,1fr) auto;gap:6px;margin:0 4px 5px;padding:7px;border-radius:10px}.list-density-compact .inline-quantity-label{grid-column:1 / -1;font-size:.75rem}.list-density-compact .inline-quantity-controls{grid-template-columns:38px minmax(58px,1fr) 38px;border-radius:9px}.list-density-compact .inline-quantity-controls button{min-height:38px}.list-density-compact .inline-precise-edit{min-height:36px;font-size:.75rem}.list-density-compact .shopping-row.shopping-mode-row{min-height:60px;grid-template-columns:44px minmax(0,1fr) 40px;padding-top:3px;padding-bottom:3px}.list-density-compact .shopping-mode-row .check-button{width:42px;height:42px;flex-basis:42px}.list-density-compact .shopping-mode-row .check-button:before{width:32px;height:32px;border-radius:10px}.list-density-compact .shopping-mode-row .item-name{font-size:.875rem}.list-density-compact .shopping-mode-row .item-qty{font-size:.75rem}.list-density-compact .shopping-mode-row .product-note{min-height:20px}.list-density-compact .shopping-mode-row .product-note-text{font-size:.75rem}@media(max-width:650px){.list-density-toggle{min-width:56px;width:56px;padding:0 6px;gap:4px}.list-density-toggle>span:last-child{font-size:.75rem}.list-density-compact .shopping-row{min-height:52px;grid-template-columns:40px minmax(0,1fr) 36px}.list-density-compact .shopping-row.selectable{grid-template-columns:40px minmax(0,1fr) 0}.list-density-compact .check-button{width:38px;height:38px}.list-density-compact .item-name{font-size:.78125rem}.list-density-compact .item-qty-button{min-height:27px;padding:3px 6px}.list-density-compact .item-qty{font-size:.75rem}.list-density-compact .row-more-button{width:36px;height:36px}.list-density-compact .item-copy .product-note{max-width:min(72vw,235px)}.list-density-compact .item-author{max-width:110px}.list-density-compact .shopping-row.shopping-mode-row{min-height:58px;grid-template-columns:42px minmax(0,1fr) 38px}.list-density-compact .shopping-mode-row .check-button{width:40px;height:40px;flex-basis:40px}.list-density-compact .shopping-mode-row .check-button:before{width:31px;height:31px}.list-density-compact .shopping-mode-row .item-name{font-size:.84375rem}.list-density-compact .shopping-mode-row .item-qty{font-size:.75rem}}@media(max-width:390px){.list-density-toggle{min-width:48px;width:48px}.list-density-toggle>span:last-child{display:none}}.next-category-guidance{min-width:0;min-height:56px;display:grid;grid-template-columns:30px minmax(0,1fr) auto 28px;align-items:center;gap:8px;border:1px solid #c9d9cd;border-radius:14px;padding:7px 7px 7px 9px;background:linear-gradient(135deg,#ecf5eefa,#f9fbf7fa);box-shadow:0 6px 20px #244a3814}.next-category-guidance.complete{border-color:#bad2c0;background:#eaf3eb}.next-category-guidance-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:var(--green);color:#fff}.next-category-guidance-copy{min-width:0;display:grid;gap:1px;line-height:1.15}.next-category-guidance-copy>span{overflow:hidden;color:#738077;font-size:.75rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap}.next-category-guidance-copy>strong{overflow:hidden;color:#294f3a;font-size:.75rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.next-category-guidance-copy>small{overflow:hidden;color:#69746c;font-size:.75rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.next-category-guidance-action{min-width:64px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;border-radius:10px;padding:0 10px;background:var(--green);color:#fff;font-size:.75rem;font-weight:850;cursor:pointer}.next-category-guidance-action:hover{background:#1f5038}.next-category-guidance-dismiss{width:28px;height:32px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#748079;cursor:pointer}.next-category-guidance-dismiss:hover{background:#315b4414;color:var(--green)}.next-category-guidance-action:focus-visible,.next-category-guidance-dismiss:focus-visible{outline:2px solid #607b69;outline-offset:2px}@media(max-width:650px){.next-category-guidance{min-height:52px;grid-template-columns:28px minmax(0,1fr) auto 26px;gap:6px;padding:6px 5px 6px 7px;border-radius:12px}.next-category-guidance-icon{width:26px;height:26px}.next-category-guidance-copy>strong{font-size:.75rem}.next-category-guidance-copy>small{font-size:.75rem}.next-category-guidance-action{min-width:58px;min-height:34px;padding:0 8px}.next-category-guidance-dismiss{width:26px;height:30px}}@media(prefers-reduced-motion:reduce){.next-category-guidance-action,.next-category-guidance-dismiss{transition:none}}.memory-cleanup-toggle{min-height:36px;display:inline-flex;align-items:center;gap:5px;border:1px solid #dedbd2;border-radius:10px;padding:0 10px;background:#fffdf9;color:#6b705f;font-size:.75rem;font-weight:800;cursor:pointer}.memory-cleanup-toggle.active{background:#eef3ec;border-color:#b9c8bb;color:var(--green)}.memory-cleanup-panel{display:grid;gap:13px;padding-bottom:8px}.memory-cleanup-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #e0ddd4;border-radius:16px;background:#f9f8f3}.memory-cleanup-intro h3{margin:3px 0 4px;font-size:1rem;letter-spacing:-.025em}.memory-cleanup-intro p{margin:0;max-width:590px;color:var(--muted);font-size:.75rem;line-height:1.45}.memory-cleanup-total{flex:none;border-radius:999px;padding:6px 9px;background:#fff;color:var(--muted);font-size:.75rem;font-weight:800}.memory-cleanup-insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.memory-cleanup-insights button{min-width:0;display:grid;gap:2px;text-align:left;border:1px solid #dedbd2;border-radius:14px;padding:10px 11px;background:#fff;color:var(--ink);cursor:pointer}.memory-cleanup-insights button:hover{border-color:#c6cec7}.memory-cleanup-insights button.active{border-color:#91aa96;background:#edf3ed;box-shadow:0 0 0 2px #3e694c0f}.memory-cleanup-insights strong{font-size:1.1875rem;letter-spacing:-.03em;color:var(--green)}.memory-cleanup-insights span{font-size:.75rem;font-weight:850}.memory-cleanup-insights small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem}.memory-stale-review,.memory-similar-review{display:grid;gap:8px}.memory-cleanup-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px}.memory-cleanup-section-heading>div{min-width:0;display:grid;gap:2px}.memory-cleanup-section-heading strong{font-size:.75rem}.memory-cleanup-section-heading span{color:var(--muted);font-size:.75rem}.memory-cleanup-select-all{flex:none;min-height:32px;border:1px solid #d9ddd8;border-radius:9px;padding:0 9px;background:#fff;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.memory-cleanup-list{display:grid;gap:5px}.memory-cleanup-row{min-height:50px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid #e2dfd7;border-radius:12px;padding:7px 9px;background:#fff;cursor:pointer}.memory-cleanup-row.selected{border-color:#a9bbaa;background:#f1f6f1}.memory-cleanup-row input{accent-color:var(--green)}.memory-cleanup-row-copy{min-width:0;display:grid;gap:2px}.memory-cleanup-row-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.memory-cleanup-row-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem}.memory-cleanup-age{border-radius:999px;padding:5px 7px;background:#f1efe9;color:#726e65;font-size:.75rem;font-weight:800}.memory-cleanup-deletebar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e0ddd5;border-radius:13px;padding:8px 9px;background:#fffdfaf7;box-shadow:0 -5px 18px #232a260f}.memory-cleanup-deletebar>span{color:var(--muted);font-size:.75rem;font-weight:750}.memory-cleanup-deletebar button{min-height:34px;display:inline-flex;align-items:center;gap:5px;border:1px solid #ecd2ce;border-radius:9px;padding:0 10px;background:#fff5f3;color:#9a4b44;font-size:.75rem;font-weight:850;cursor:pointer}.memory-cleanup-deletebar button.confirm{background:#9a4b44;color:#fff}.memory-cleanup-empty{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px dashed #dedbd2;border-radius:14px;background:#fbfaf6;color:var(--muted);text-align:center}.memory-cleanup-empty strong{color:var(--ink);font-size:.75rem}.memory-cleanup-empty span{max-width:360px;font-size:.75rem}.memory-similar-pair{display:grid;gap:8px;border:1px solid #dfddd5;border-radius:15px;padding:10px;background:#fff}.memory-similar-pair-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.memory-similar-pair-heading>span{flex:none;border-radius:999px;padding:4px 7px;background:#edf3ed;color:var(--green);font-size:.75rem;font-weight:850}.memory-similar-pair-heading small{max-width:530px;color:var(--muted);font-size:.75rem;line-height:1.4}.memory-similar-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.memory-similar-option{min-width:0;border:1px solid #e6e3dc;border-radius:11px;padding:8px 9px;background:#faf9f5}.memory-similar-option>div{min-width:0;display:grid;gap:2px}.memory-similar-option strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.memory-similar-option span,.memory-similar-option small{color:var(--muted);font-size:.75rem}.memory-similar-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.memory-similar-actions button{min-height:36px;border:1px solid #cfd8d0;border-radius:10px;padding:0 9px;background:#f5f8f4;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-similar-actions button:disabled,.memory-cleanup-deletebar button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:650px){.memory-cleanup-toggle{padding:0 8px}.memory-cleanup-intro{padding:10px 11px}.memory-cleanup-total{display:none}.memory-cleanup-insights{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-cleanup-insights button{padding:9px 10px}.memory-similar-options,.memory-similar-actions{grid-template-columns:1fr}.memory-similar-pair-heading{display:grid}.memory-cleanup-row{min-height:48px}}.contextual-onboarding-hint{min-height:52px;margin:-2px 0 12px;display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:9px;border:1px solid #d8e2d9;border-radius:14px;padding:8px 8px 8px 10px;background:#f1f6f1;color:#34463a;box-shadow:0 5px 16px #23372b0a}.contextual-onboarding-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#dfeae1;color:var(--green)}.contextual-onboarding-copy{min-width:0;display:grid;gap:2px}.contextual-onboarding-copy strong{font-size:.75rem;line-height:1.25}.contextual-onboarding-copy span{color:#68746b;font-size:.75rem;line-height:1.4}.contextual-onboarding-close{width:30px;height:30px;border:0;border-radius:9px;display:grid;place-items:center;background:transparent;color:#778078;cursor:pointer}.contextual-onboarding-close:hover{background:#244a3812;color:var(--green)}.contextual-onboarding-close:focus-visible,.help-button:focus-visible,.memory-help-toggle:focus-visible{outline:3px solid rgba(61,101,77,.2);outline-offset:2px}.context-help-backdrop{z-index:190}.context-help-sheet{width:min(100%,560px);max-height:min(88dvh,680px);overflow-y:auto;border-radius:26px 26px 0 0;padding:10px 18px max(20px,env(safe-area-inset-bottom));background:#fffdfa;box-shadow:0 -14px 55px #141c1733}.context-help-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.context-help-heading h2{margin:4px 0 0;font-size:1.3125rem;letter-spacing:-.035em}.context-help-list{display:grid;gap:7px}.context-help-item{min-height:54px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:9px;border:1px solid #e5e2d9;border-radius:13px;padding:10px;background:#fff;color:var(--green)}.context-help-item>svg{margin:2px 0 0 5px}.context-help-item>span{min-width:0;display:grid;gap:3px;color:var(--ink)}.context-help-item strong{font-size:.75rem}.context-help-item small{color:var(--muted);font-size:.75rem;line-height:1.45}.context-help-footnote{margin:12px 2px 0;color:#7a807a;font-size:.75rem;line-height:1.5}.memory-help-toggle{width:36px;height:36px;flex:0 0 auto;border:1px solid #d8ddd7;border-radius:10px;display:grid;place-items:center;background:#f8faf7;color:var(--green);cursor:pointer}.memory-help-toggle:hover{background:#eaf1eb;border-color:#bdd0c1}@media(max-width:760px)and (pointer:coarse){.shopping-row-shell{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}@media(max-width:650px){.contextual-onboarding-hint{margin-bottom:9px;border-radius:12px}.contextual-onboarding-copy span{font-size:.75rem}.context-help-sheet{padding-left:14px;padding-right:14px}.context-help-item{min-height:52px;padding:9px}.memory-help-toggle{width:34px;height:34px}}@media(prefers-reduced-motion:reduce){.contextual-onboarding-hint{scroll-behavior:auto}}.unified-state{min-height:210px;border:1px dashed #d4d1c8;border-radius:20px;padding:28px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;background:#fff9;color:var(--muted)}.unified-state-icon{width:50px;height:50px;border-radius:17px;display:grid;place-items:center;background:#ebe8df;color:var(--green)}.unified-state-copy{display:grid;gap:5px;max-width:520px}.unified-state-copy strong{color:var(--ink);font-size:.875rem;line-height:1.25}.unified-state-copy span{font-size:.75rem;line-height:1.5}.unified-state-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:5px}.unified-state-actions .secondary-button{min-height:40px;padding:0 14px}.unified-state-error,.unified-state-offline{border-style:solid}.unified-state-error{border-color:#ead0cc;background:#fff8f7}.unified-state-error .unified-state-icon{background:#f8e6e3;color:#9b4b43}.unified-state-offline{border-color:#ddd7c6;background:#fffdf7}.unified-state-offline .unified-state-icon{background:#f1ecdd;color:#75632a}.unified-state.compact{min-height:0;margin:12px 0;padding:11px 13px;border-radius:13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;justify-items:stretch;gap:10px;text-align:left}.unified-state.compact .unified-state-icon{width:34px;height:34px;border-radius:11px}.unified-state.compact .unified-state-copy{gap:2px}.unified-state.compact .unified-state-copy strong,.unified-state.compact .unified-state-copy span{font-size:.75rem}.unified-state.compact .unified-state-actions{margin:0;justify-content:end}.unified-state.compact .unified-state-actions .secondary-button{min-height:34px;padding:0 10px;font-size:.75rem}.connectivity-notice{margin:12px 0 0;padding:10px 12px;border:1px solid #e3d7ad;border-radius:13px;background:#fff9e7;color:#69591f;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.connectivity-notice.offline{border-color:#ded7c5;background:#fffdf7;color:#635829}.connectivity-notice-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#ffffffbf}.connectivity-notice-copy{min-width:0;display:grid;gap:2px}.connectivity-notice-copy strong{color:var(--ink);font-size:.75rem}.connectivity-notice-copy span{font-size:.75rem;line-height:1.4}.connectivity-notice>button{min-height:34px;border:1px solid rgba(94,80,28,.2);border-radius:10px;background:#ffffffd9;color:inherit;display:inline-flex;align-items:center;gap:5px;padding:0 10px;font-size:.75rem;font-weight:800;cursor:pointer}.live-dot.error{background:#d29b4b;box-shadow:0 0 0 3px #d29b4b29}.state-skeleton{width:100%;min-height:180px;padding:4px 0}.state-skeleton-grid{display:grid;gap:9px}.state-skeleton-cards .state-skeleton-grid,.state-skeleton-memory .state-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skeleton-card{min-height:70px;border:1px solid #e7e4db;border-radius:16px;padding:14px;background:#ffffffb3;display:grid;align-content:center;gap:9px;overflow:hidden}.state-skeleton-cards .skeleton-card{min-height:125px}.state-skeleton-memory .skeleton-card{min-height:92px}.skeleton-line,.skeleton-detail-hero>span{display:block;position:relative;overflow:hidden;border-radius:999px;background:#ebe9e2}.skeleton-line:after,.skeleton-detail-hero>span:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:state-skeleton-shimmer 1.35s ease-in-out infinite}.skeleton-line-title{width:58%;height:12px}.skeleton-line-meta{width:82%;height:9px}.skeleton-line-short{width:38%;height:9px}.skeleton-detail-hero{min-height:150px;border:1px solid #e7e4db;border-radius:20px;background:#ffffffb8;padding:24px;margin-bottom:18px;display:grid;align-content:center;gap:12px}.skeleton-detail-hero>span:nth-child(1){width:28%;height:10px}.skeleton-detail-hero>span:nth-child(2){width:54%;height:20px}.skeleton-detail-hero>span:nth-child(3){width:42%;height:10px}@keyframes state-skeleton-shimmer{to{transform:translate(100%)}}.memory-hub-results>.unified-state{margin:10px 2px 4px}.memory-hub-results>.state-skeleton{padding:10px 2px}@media(max-width:700px){.unified-state{min-height:180px;padding:24px 16px;border-radius:17px}.unified-state.compact{grid-template-columns:auto minmax(0,1fr)}.unified-state.compact .unified-state-actions{grid-column:1 / -1;width:100%;justify-content:stretch}.unified-state.compact .unified-state-actions .secondary-button{flex:1}.connectivity-notice{grid-template-columns:auto minmax(0,1fr)}.connectivity-notice>button{grid-column:1 / -1;justify-self:stretch;justify-content:center}.state-skeleton-cards .state-skeleton-grid,.state-skeleton-memory .state-skeleton-grid{grid-template-columns:1fr}.state-skeleton-cards .skeleton-card{min-height:105px}.state-skeleton-memory .skeleton-card{min-height:76px}}@media(prefers-reduced-motion:reduce){.skeleton-line:after,.skeleton-detail-hero>span:after{animation:none;display:none}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:92px}button,input,select,textarea{font:inherit}button,[role=button]{touch-action:manipulation}:root{--muted: #686e68}.eyebrow,.section-kicker{color:#666d67}.category-title,.item-author,.context-help-footnote{color:#686e68}button:focus-visible,a[href]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:3px solid #2f6b49;outline-offset:3px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:#3d7553;box-shadow:0 0 0 3px #2f6b4929}.skip-link{position:fixed;z-index:1000;top:max(8px,env(safe-area-inset-top));left:10px;transform:translateY(-160%);min-height:44px;display:inline-flex;align-items:center;padding:0 14px;border-radius:12px;background:#153c2a;color:#fff;font-weight:800;text-decoration:none;box-shadow:0 8px 24px #0003;transition:transform .14s ease}.skip-link:focus{transform:translateY(0)}@media(hover:none),(pointer:coarse){button:not(.mic-button),input,select,textarea{min-height:44px}.brand-mark,.topbar-icon-button,.close-button,.check-button,.select-button,.row-more-button,.memory-select-button,.memory-plus,.memory-more,.memory-favorite-toggle,.memory-help-toggle,.contextual-onboarding-close,.memory-spotlight-star,.memory-spotlight-action,.memory-quantity-close,.list-focus-search button{min-width:44px;width:44px;min-height:44px;height:44px}.list-search-toggle,.category-route-toggle,.list-select-toggle,.list-density-toggle,.category-toggle,.category-select-toggle,.bought-select-toggle,.memory-category-select-toggle,.list-focus-filters button,.memory-filters button,.memory-category-filters button,.memory-category-navigator button,.memory-cleanup-toggle,.memory-select-toggle,.memory-collapse-all,.memory-inline-quantity,.memory-quantity-toggle,.inline-precise-edit,.unified-state-actions .secondary-button,.connectivity-notice>button{min-height:44px}.list-density-compact .shopping-row{min-height:56px;grid-template-columns:44px minmax(0,1fr) 44px}.list-density-compact .shopping-row.selectable{grid-template-columns:44px minmax(0,1fr) 0}.list-density-compact .check-button,.list-density-compact .row-more-button,.list-density-compact .shopping-mode-row .check-button{min-width:44px;width:44px;min-height:44px;height:44px;flex-basis:44px}.list-density-compact .item-qty-button,.list-density-compact .inline-quantity-controls button,.list-density-compact .inline-precise-edit,.list-density-compact .product-note{min-height:44px}.memory-card-actions{grid-auto-columns:44px}.compact-memory-card .memory-plus,.compact-memory-card .memory-favorite-toggle,.compact-memory-card .memory-more{min-width:44px;width:44px;min-height:44px}.compact-memory-card .memory-quantity-controls{grid-template-columns:44px minmax(54px,1fr) 44px auto 44px}input,select,textarea{font-size:max(16px,1em)}}@media(max-width:390px)and (hover:none),(max-width:390px)and (pointer:coarse){.memory-card-actions{grid-auto-columns:44px}.compact-memory-card .memory-plus,.compact-memory-card .memory-favorite-toggle,.compact-memory-card .memory-more{min-width:44px;width:44px}}@media(prefers-contrast:more){:root{--muted: #505650;--line: #b9b7af}.items-card,.quick-add-card,.memory-product,.unified-state,.edit-sheet,.memory-hub-sheet{border-color:#9da39d}button:focus-visible,a[href]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-width:4px;outline-color:#174b31}}@media(forced-colors:active){button,input,select,textarea,.items-card,.memory-product,.unified-state{forced-color-adjust:auto}.live-dot{border:1px solid CanvasText}}.smart-composer-popover{max-height:min(360px,calc(100vh - 180px));overflow-y:auto;overscroll-behavior:contain}.smart-composer-row{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;padding:6px 8px 6px 10px;border-top:1px solid #efede6;background:var(--paper)}.smart-composer-row:hover{background:#f8f7f2}.smart-composer-row .composer-suggestion-main{min-width:0;min-height:44px;display:flex;align-items:center;border:0;padding:2px 0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.smart-composer-row .composer-suggestion-main>span{min-width:0;display:grid;gap:3px}.smart-composer-row .composer-suggestion-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.smart-composer-row .composer-suggestion-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem;line-height:1.25}.smart-composer-row.memory-status-open .composer-suggestion-main small{color:#39704e}.smart-composer-row.memory-status-bought .composer-suggestion-main small{color:#667069}.smart-composer-row.memory-status-unit-conflict .composer-suggestion-main small{color:#89682a}.composer-suggestion-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.composer-suggestion-actions button{min-height:36px;border:1px solid #d9ded9;border-radius:10px;background:#f6f8f5;color:var(--green);font-size:.75rem;font-weight:850;cursor:pointer}.composer-suggestion-actions button:disabled{opacity:.55;cursor:wait}.composer-primary-action{min-width:70px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 9px}.composer-primary-action.secondary{background:#fff;color:#48574f}.composer-icon-action{width:36px;padding:0;display:inline-grid;place-items:center;background:#fff!important}.smart-composer-sticky{gap:6px}.smart-composer-sticky>.smart-composer-row{border:1px solid #e4e1d9;border-radius:12px;background:#fff}@media(pointer:coarse){.composer-suggestion-actions button,.smart-composer-row .composer-suggestion-main{min-height:44px}.composer-icon-action{width:44px}}@media(max-width:560px){.smart-composer-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:5px 6px 5px 9px}.smart-composer-row .composer-suggestion-main strong,.smart-composer-row .composer-suggestion-main small{font-size:.75rem}.composer-primary-action{min-width:0;padding:0 8px}}.sync-status-pill{min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border:1px solid #d9ddd8;border-radius:999px;background:#ffffffb8;color:#4f5952;font-size:.75rem;font-weight:800;line-height:1;white-space:nowrap}.sync-status-pill.compact{min-height:28px;padding:0 8px;font-size:.75rem}.sync-status-dot{width:7px;height:7px;flex:0 0 7px;border-radius:999px;background:#9da29e;box-shadow:0 0 0 3px #9da29e24}.sync-status-pill.saved{border-color:#cedcd1;background:#f1f7f2;color:#315d40}.sync-status-pill.saved .sync-status-dot{background:#4d8b68;box-shadow:0 0 0 3px #4d8b6824}.sync-status-pill.syncing{border-color:#d8dddb;background:#f7f8f7;color:#5f6862}.sync-status-pill.syncing .sync-status-dot{background:#7b8c83;animation:sync-status-pulse 1.1s ease-in-out infinite}.sync-status-pill.offline{border-color:#ded7c5;background:#fffaf0;color:#715f28}.sync-status-pill.offline .sync-status-dot{background:#c29a3f;box-shadow:0 0 0 3px #c29a3f24}.sync-status-pill.error{border-color:#e6c8c4;background:#fff5f3;color:#8b4942}.sync-status-pill.error .sync-status-dot{background:#c8655b;box-shadow:0 0 0 3px #c8655b21}.household-remote-summary{width:min(100%,720px);margin:8px auto 0;min-height:32px;display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #d9e5dc;border-radius:11px;background:#f4f8f5;color:#486254;font-size:.75rem;font-weight:700}.household-remote-summary svg{flex:0 0 auto;color:#5f7d69}.shopping-row.remote-updated{box-shadow:inset 3px 0 #79a287;background:#f8fbf8}.shopping-row.bought.remote-updated{background:#eef4ef}.item-remote-activity{max-width:100%;display:inline-flex;align-items:center;min-height:18px;padding:1px 6px;border-radius:999px;background:#e8f2ea;color:#3d684b;font-size:.75rem;font-weight:800;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-remote-activity.checked{background:#e2efe5;color:#316043}.item-remote-activity.unchecked{background:#edf2ed;color:#536159}.item-remote-activity.quantity,.item-remote-activity.category,.item-remote-activity.edited{background:#edf2ef;color:#52675a}@keyframes sync-status-pulse{0%,to{opacity:.48;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}@media(max-width:620px){.sync-status-pill{max-width:104px;min-height:30px;padding:0 7px;gap:5px;font-size:.75rem}.sync-status-pill>span:last-child{overflow:hidden;text-overflow:ellipsis}.household-remote-summary{margin-top:6px;border-radius:10px;font-size:.75rem}.item-remote-activity{font-size:.75rem}}@media(max-width:430px){.topbar-actions .count-pill{display:none}.sync-status-pill{max-width:98px}}@media(prefers-reduced-motion:reduce){.sync-status-pill.syncing .sync-status-dot{animation:none}}@media(forced-colors:active){.sync-status-pill,.household-remote-summary,.item-remote-activity{border:1px solid CanvasText}.sync-status-dot{forced-color-adjust:none}}.offline-queue-notice{width:min(100%,720px);margin:8px auto 0;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #ded7c5;border-radius:11px;background:#fffaf0;color:#6f5c28}.offline-queue-notice>div{min-width:0;display:grid;gap:2px}.offline-queue-notice strong{font-size:.75rem}.offline-queue-notice span{font-size:.75rem;line-height:1.35;color:#776a45}.offline-queue-notice.retrying{border-color:#d4ddd7;background:#f5f8f6;color:#52655a}.offline-queue-notice.blocked{border-color:#e6c8c4;background:#fff5f3;color:#8b4942}.offline-queue-notice.blocked span{color:#815b57}.item-offline-pending{display:inline-flex;align-items:center;min-height:18px;padding:1px 6px;border-radius:999px;background:#fff5d9;color:#735f24;font-size:.75rem;font-weight:800;line-height:1.35;white-space:nowrap}.shopping-row:has(.item-offline-pending){box-shadow:inset 3px 0 #d0aa49}@media(max-width:620px){.offline-queue-notice{margin-top:6px;padding:7px 9px}.offline-queue-notice strong,.offline-queue-notice span,.item-offline-pending{font-size:.75rem}}@media(forced-colors:active){.offline-queue-notice,.item-offline-pending{border:1px solid CanvasText}}.item-offline-pending.blocked{background:#fde8e5;color:#8b4942}.one-hand-shopping-dock{position:fixed;z-index:100;left:50%;bottom:max(7px,env(safe-area-inset-bottom));width:min(calc(100% - 14px),620px);transform:translate(-50%);display:grid;grid-template-columns:minmax(92px,1.3fr) minmax(54px,.82fr) minmax(66px,.92fr) minmax(54px,.82fr) minmax(58px,.86fr);gap:6px;border:1px solid rgba(189,204,193,.92);border-radius:18px;padding:7px;background:#fffdfaf5;box-shadow:0 14px 38px #162a1e33;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.one-hand-shopping-dock>button{min-width:0;min-height:54px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d8dfd9;border-radius:13px;padding:5px 7px;background:#f7faf7;color:#496252;font:inherit;font-size:.75rem;font-weight:850;cursor:pointer}.one-hand-shopping-dock>button>svg{flex:0 0 auto}.one-hand-shopping-dock>button>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.one-hand-shopping-dock>button.active{border-color:#aac1b0;background:#e5efe7;color:var(--green)}.one-hand-shopping-dock>.one-hand-next{justify-content:flex-start;padding-left:12px;border-color:#2f6848;background:var(--green);color:#fff}.one-hand-shopping-dock>.one-hand-next>span{display:grid;gap:1px;text-align:left;line-height:1.05}.one-hand-shopping-dock>.one-hand-next strong{font-size:.75rem}.one-hand-shopping-dock>.one-hand-next small{overflow:hidden;max-width:118px;opacity:.78;font-size:.75rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.one-hand-shopping-dock>.one-hand-voice{position:relative;min-height:60px;margin-top:-7px;border-color:#2f6848;border-radius:16px;background:var(--green);color:#fff;box-shadow:0 8px 20px #2052373d}.one-hand-shopping-dock>.one-hand-voice.listening{box-shadow:0 0 0 4px #2f684826,0 8px 20px #2052373d}.one-hand-shopping-dock>.one-hand-voice.working{opacity:.78}.one-hand-shopping-dock>.one-hand-voice:disabled{cursor:wait}.one-hand-shopping-dock>button:focus-visible{outline:3px solid #2f6b49;outline-offset:2px}@media(max-width:760px){.shopping-active-shell .shopping-mode-content{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.shopping-active-shell .undo-toast{bottom:calc(max(18px,env(safe-area-inset-bottom)) + 78px)}.shopping-active-shell.one-hand-focus .voice-card,.shopping-active-shell.one-hand-focus .shopping-quick-add-card,.shopping-active-shell.one-hand-focus .smart-quick-add-section.shopping-mode,.shopping-active-shell.one-hand-focus .list-heading-actions,.shopping-active-shell.one-hand-focus .category-navigation-row{display:none}.shopping-active-shell.one-hand-focus .shopping-mode-list-section{margin-top:10px}.shopping-active-shell.one-hand-focus .sticky-list-tools{padding-top:4px}}@media(max-width:430px){.one-hand-shopping-dock{grid-template-columns:minmax(76px,1.25fr) minmax(42px,.8fr) minmax(54px,.9fr) minmax(42px,.8fr) minmax(48px,.85fr);gap:5px;width:calc(100% - 10px);padding:6px;border-radius:16px}.one-hand-shopping-dock>button{min-height:52px;padding-left:4px;padding-right:4px;font-size:.75rem}.one-hand-shopping-dock>.one-hand-next{padding-left:8px}.one-hand-shopping-dock>.one-hand-next small{max-width:82px}.one-hand-shopping-dock>.one-hand-voice{min-height:58px;margin-top:-6px}}@media(max-width:760px)and (pointer:coarse),(max-width:760px)and (hover:none){.shopping-row.shopping-mode-row{grid-template-columns:58px minmax(0,1fr) 50px}.shopping-mode-row .check-button{min-width:52px;width:52px;min-height:52px;height:52px;flex-basis:52px}.shopping-mode-row .check-button:before{width:44px;height:44px}.shopping-mode-row .item-qty-button{min-height:48px;padding-left:8px;padding-right:8px}.shopping-mode-row .row-more-button{min-width:48px;width:48px;min-height:48px;height:48px}.shopping-mode-row .inline-quantity-controls button{min-width:52px;min-height:52px}}@media(prefers-reduced-motion:reduce){.one-hand-shopping-dock,.one-hand-shopping-dock>button{transition:none}}@media(forced-colors:active){.one-hand-shopping-dock,.one-hand-shopping-dock>button{border:1px solid CanvasText}}.one-hand-shopping-dock,.one-hand-shopping-entry-dock{display:none}@media(max-width:760px){.one-hand-shopping-dock{display:grid;visibility:visible;opacity:1;z-index:100}.one-hand-shopping-entry-dock{position:fixed;z-index:100;left:50%;bottom:max(7px,env(safe-area-inset-bottom));width:min(calc(100% - 14px),620px);transform:translate(-50%);display:block;visibility:visible;opacity:1;padding:7px;border:1px solid rgba(189,204,193,.92);border-radius:18px;background:#fffdfaf7;box-shadow:0 14px 38px #162a1e33;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.one-hand-shopping-entry-dock>button{width:100%;min-height:56px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #2f6848;border-radius:13px;padding:7px 14px;background:var(--green);color:#fff;font:inherit;cursor:pointer}.one-hand-shopping-entry-dock>button>span{min-width:0;display:grid;gap:2px;text-align:left;line-height:1.1}.one-hand-shopping-entry-dock strong{font-size:.75rem;font-weight:850}.one-hand-shopping-entry-dock small{overflow:hidden;max-width:min(72vw,350px);opacity:.8;font-size:.75rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.one-hand-shopping-entry-dock>button:disabled{cursor:wait;opacity:.72}.one-hand-shopping-entry-dock>button:focus-visible{outline:3px solid #2f6b49;outline-offset:2px}.app-shell:not(.shopping-active-shell):not(.shopping-completed-shell) .content{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.app-shell:not(.shopping-active-shell):not(.shopping-completed-shell) .undo-toast{bottom:calc(max(18px,env(safe-area-inset-bottom)) + 76px)}}@media(max-width:430px){.one-hand-shopping-entry-dock{width:calc(100% - 10px);padding:6px;border-radius:16px}.one-hand-shopping-entry-dock>button{min-height:54px;padding-left:10px;padding-right:10px}}@media(prefers-reduced-motion:reduce){.one-hand-shopping-entry-dock,.one-hand-shopping-entry-dock>button{transition:none}}@media(forced-colors:active){.one-hand-shopping-entry-dock,.one-hand-shopping-entry-dock>button{border:1px solid CanvasText}}.command-search-backdrop{z-index:175}.command-search-palette{width:min(680px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 56px));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;overflow:hidden;border:1px solid #d8ded9;border-radius:22px;padding:12px 16px 15px;background:var(--paper);box-shadow:0 24px 70px #162a1e3d}.command-search-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.command-search-header>div{min-width:0}.command-search-header h2{margin:2px 0 3px;font-size:1.4375rem;line-height:1.08}.command-search-header p{margin:0;max-width:470px;color:var(--muted);font-size:.75rem;line-height:1.45}.command-search-input{min-height:52px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid #cfd9d1;border-radius:15px;padding:0 8px 0 14px;background:#fff;color:#577060;box-shadow:0 5px 16px #1e3c280d}.command-search-input:focus-within{border-color:#7fa18a;box-shadow:0 0 0 3px #3d654d1f}.command-search-input input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:.9375rem}.command-search-input input::placeholder{color:#929a94}.command-search-input button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:11px;background:transparent;color:#78817a;cursor:pointer}.command-search-input button:hover{background:#f0f3ef;color:var(--green)}.command-search-results{min-height:180px;overflow:auto;overscroll-behavior:contain;padding-right:2px}.command-search-summary{padding:0 2px 8px;color:#737b75;font-size:.75rem;font-weight:750}.command-search-list{display:grid;gap:8px}.command-search-result{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #e1e5e0;border-radius:14px;padding:11px 11px 11px 13px;background:#fff}.command-search-result.result-open{border-color:#c9ddce;background:#f7fbf7}.command-search-result.result-bought{background:#f7f7f4}.command-search-result.result-memory{border-color:#dcd8c9;background:#fffdf7}.command-search-result.result-missing{border-style:dashed;background:#fafaf7}.command-search-result.located{animation:located-search-result 1.8s ease both}@keyframes located-search-result{0%,to{box-shadow:0 0 #4f7d5e00}18%,66%{border-color:#7da189;box-shadow:0 0 0 3px #4f7d5e26,inset 4px 0 #4f7d5e}}.command-search-result-main{min-width:0;display:grid;gap:4px}.command-search-result-title{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.command-search-result-title strong{min-width:0;color:var(--ink);font-size:.8125rem;overflow-wrap:anywhere}.command-search-status{flex:none;display:inline-flex;align-items:center;min-height:22px;border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:850;letter-spacing:.01em}.command-search-status.status-open,.command-search-status-guide .status-open{background:#e3efe5;color:#356547}.command-search-status.status-bought,.command-search-status-guide .status-bought{background:#e9ebe8;color:#667069}.command-search-status.status-memory,.command-search-status-guide .status-memory{background:#f1ead6;color:#755f2d}.command-search-status.status-missing,.command-search-status-guide .status-missing{background:#f1efea;color:#77766f}.command-search-result-meta{color:#727a74;font-size:.75rem;font-weight:700}.command-search-result-note{min-width:0;display:flex;align-items:center;gap:4px;color:#65736a;font-size:.75rem;overflow-wrap:anywhere}.command-search-action{min-width:92px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #bcd0c1;border-radius:12px;padding:7px 11px;background:#edf5ef;color:#356547;font:inherit;font-size:.75rem;font-weight:850;cursor:pointer}.command-search-action.action-bought{border-color:#d5d9d4;background:#f2f3f0;color:#58635b}.command-search-action.action-memory,.command-search-action.action-missing{border-color:#386b4c;background:var(--green);color:#fff}.command-search-action:disabled{opacity:.58;cursor:wait}.command-search-action:focus-visible,.command-search-input button:focus-visible,.command-search-footer button:focus-visible{outline:3px solid rgba(61,101,77,.22);outline-offset:2px}.command-search-empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:22px;text-align:center;color:#748078}.command-search-empty>svg{color:#75927e}.command-search-empty strong{color:var(--ink);font-size:.8125rem}.command-search-empty>span{max-width:360px;font-size:.75rem;line-height:1.45}.command-search-status-guide{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:5px}.command-search-status-guide span{border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:850}.command-search-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ebece8;padding-top:11px;color:#777e78;font-size:.75rem}.command-search-footer button{flex:none;min-height:38px;border:1px solid #d4dbd5;border-radius:11px;padding:0 12px;background:#f7f8f5;color:#476052;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}@media(max-width:760px){.command-search-backdrop{align-items:end;padding:0}.command-search-palette{width:100%;max-height:min(82dvh,760px);gap:11px;border-width:1px 0 0;border-radius:22px 22px 0 0;padding:9px 12px calc(12px + env(safe-area-inset-bottom))}.command-search-header h2{font-size:1.25rem}.command-search-header p{font-size:.75rem}.command-search-input{min-height:54px}.command-search-result{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px}.command-search-action{min-width:86px;min-height:46px}.command-search-footer span{display:none}.command-search-footer{justify-content:flex-end}}@media(max-width:390px){.command-search-result{grid-template-columns:minmax(0,1fr)}.command-search-action{width:100%;min-height:44px}}@media(prefers-reduced-motion:reduce){.command-search-palette,.command-search-result,.command-search-action{transition:none}}@media(forced-colors:active){.command-search-palette,.command-search-input,.command-search-result,.command-search-action,.command-search-footer button{border:1px solid CanvasText}}.command-search-loading{min-height:110px;display:flex;align-items:center;justify-content:center;gap:8px;color:#6f7a72;font-size:.75rem;font-weight:750}:root{--ui-radius-control: 12px;--ui-radius-subcard: 14px;--ui-radius-card: 18px;--ui-radius-dialog: 22px;--ui-radius-sheet: 26px;--ui-radius-pill: 999px;--ui-space-1: 4px;--ui-space-2: 8px;--ui-space-3: 12px;--ui-space-4: 16px;--ui-motion-fast: .16s;--ui-motion-standard: .18s;--ui-motion-progress: .2s;--ui-ease-standard: cubic-bezier(.2, .72, .25, 1)}.voice-card,.quick-add-card,.items-card,.shopping-list-card,.shopping-start-card,.shopping-progress-card,.shopping-complete-card,.history-list-card,.history-summary-card,.invite-card,.unified-state,.offline-queue-notice,.contextual-onboarding-hint,.one-hand-shopping-dock,.one-hand-shopping-entry-dock{border-radius:var(--ui-radius-card)}.category-route-row,.action-menu-list>button,.context-help-item,.command-search-result,.memory-spotlight-card,.smart-quick-add-item,.suggestions-popover,.memory-product.compact-memory-card{border-radius:var(--ui-radius-subcard)}.edit-sheet,.memory-hub-sheet,.category-route-sheet,.sticky-add-sheet,.action-menu-sheet,.context-help-sheet,.multimodal-sheet{border-radius:var(--ui-radius-sheet) var(--ui-radius-sheet) 0 0}.confirm-action-sheet,.completion-sheet,.command-search-palette{border-radius:var(--ui-radius-dialog)}.close-button,.icon-button,.memory-more,.row-more-button,.command-search-input button,.memory-help-toggle,.list-search-toggle,.category-route-toggle,.list-select-toggle,.list-density-toggle,.secondary-button,.primary-button,.danger-button,.command-search-action,.command-search-footer button{border-radius:var(--ui-radius-control)}.row-more-button,.memory-more{min-width:40px;width:40px;min-height:40px;height:40px;color:#777f79;background:transparent}.row-more-button:hover,.memory-more:hover{background:#eef3ee;color:var(--green)}.action-menu-list,.context-help-list,.command-search-list,.category-route-list{gap:var(--ui-space-2)}.action-menu-heading,.context-help-heading,.sticky-add-heading,.category-route-heading{margin-bottom:var(--ui-space-4)}button:not(:disabled),.shopping-list-card,.smart-quick-add-item,.command-search-result,.action-menu-list>button,.context-help-item,.memory-product,.memory-spotlight-card,.category-route-row{transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:var(--ui-motion-fast);transition-timing-function:ease}.category-toggle>svg,.batch-category-trigger>svg,.bought-toggle>svg,.memory-category-title>svg,.smart-quick-add-chevron,.shopping-row{transition-duration:var(--ui-motion-standard)}.shopping-progress-track>span,.sticky-progress-track>span{transition-duration:var(--ui-motion-progress)}.sheet-backdrop{animation:ui-backdrop-in var(--ui-motion-standard) ease-out both}.edit-sheet,.memory-hub-sheet,.category-route-sheet,.sticky-add-sheet,.action-menu-sheet,.context-help-sheet,.multimodal-sheet{animation:ui-sheet-in var(--ui-motion-standard) var(--ui-ease-standard) both}.confirm-action-sheet,.completion-sheet,.command-search-palette{animation:ui-dialog-in var(--ui-motion-standard) var(--ui-ease-standard) both}.bulk-category-menu.opens-up,.bulk-category-menu.opens-down,.category-items,.memory-category-group .memory-hub-grid{animation-duration:var(--ui-motion-fast)}.undo-toast{animation-duration:var(--ui-motion-standard)}@keyframes ui-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes ui-sheet-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ui-dialog-in{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.error-banner,.notice-banner,.sticky-add-error,.unified-state.compact,.connectivity-notice,.offline-queue-notice{border-radius:var(--ui-radius-subcard)}.error-banner,.notice-banner,.sticky-add-error{line-height:1.45}.undo-toast{min-height:56px;border-radius:var(--ui-radius-card);padding:10px 10px 10px 14px}.undo-toast button{border-radius:var(--ui-radius-control)}.confirm-action-sheet .sheet-actions,.completion-sheet .sheet-actions,.edit-sheet .sheet-actions,.voice-confirm-actions{gap:var(--ui-space-2)}.voice-confirm-actions .voice-confirm-cancel{order:1}.voice-confirm-actions .voice-confirm-primary,.voice-confirm-actions .voice-confirm-danger{order:2}@media(min-width:761px){.memory-hub-sheet,.category-route-sheet,.sticky-add-sheet,.action-menu-sheet,.context-help-sheet,.multimodal-sheet,.edit-sheet{border-radius:var(--ui-radius-sheet)}}@media(max-width:760px)and (pointer:coarse),(max-width:760px)and (hover:none){.row-more-button,.memory-more{min-width:48px;width:48px;min-height:48px;height:48px}}@media(prefers-reduced-motion:reduce){.sheet-backdrop,.edit-sheet,.memory-hub-sheet,.category-route-sheet,.sticky-add-sheet,.action-menu-sheet,.context-help-sheet,.multimodal-sheet,.confirm-action-sheet,.completion-sheet,.command-search-palette,.undo-toast,.bulk-category-menu.opens-up,.bulk-category-menu.opens-down,.category-items,.memory-category-group .memory-hub-grid{animation:none!important}button,.shopping-list-card,.smart-quick-add-item,.command-search-result,.action-menu-list>button,.context-help-item,.memory-product,.memory-spotlight-card,.category-route-row,.category-toggle>svg,.batch-category-trigger>svg,.bought-toggle>svg,.memory-category-title>svg,.smart-quick-add-chevron,.shopping-row,.shopping-progress-track>span,.sticky-progress-track>span{transition:none!important}}.voice-card{padding:20px 20px 17px}.voice-copy{padding-right:82px}.voice-card h2{margin-bottom:6px}.voice-card p{max-width:520px}.voice-status{margin-top:10px;min-height:0}.voice-status-idle{margin-top:8px}.voice-ready-state{gap:6px;color:#c5d3ca;font-size:.75rem;font-weight:700}.voice-ready-state svg{color:#a9d5b4}.voice-status:not(.voice-status-idle){padding:10px 11px;border-radius:var(--ui-radius-subcard);background:#00000014}.voice-progress{align-items:center}.voice-progress strong,.voice-progress span{font-size:.75rem}.voice-listening-state .pulse-dot{width:9px;height:9px;margin-right:0;box-shadow:0 0 #ef9b8e5c;animation:voice-pulse 1.35s ease-out infinite}.voice-status-success{background:#a9d5b41a!important}.voice-status-error,.voice-status-clarification,.voice-status-confirmation{padding:0!important;background:transparent!important}.voice-status .voice-error{margin-top:0}.mic-button:not(.listening):not(.working){transition:transform var(--ui-motion-fast) ease,box-shadow var(--ui-motion-fast) ease}.mic-button:not(:disabled):not(.listening):not(.working):active{transform:scale(.96);box-shadow:0 5px 16px #00000024}@keyframes voice-pulse{0%{box-shadow:0 0 #ef9b8e5c}70%,to{box-shadow:0 0 0 8px #ef9b8e00}}@media(max-width:430px){.voice-card{padding:18px 17px 15px}.voice-copy{padding-right:76px}}@media(prefers-reduced-motion:reduce){.voice-listening-state .pulse-dot,.mic-button.listening{animation:none!important}.mic-button:not(.listening):not(.working){transition:none!important}}.voice-card{padding-bottom:15px}.voice-status{margin-top:13px}.voice-status-idle{margin-top:13px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}.voice-ready-state{min-height:18px}.voice-status:not(.voice-status-idle){margin-top:13px}.voice-status-requesting,.voice-status-recognizing,.voice-status-interpreting,.voice-status-fallback,.voice-status-transcribing,.voice-status-adding,.voice-status-success{animation:voice-state-in var(--ui-motion-standard) var(--ui-ease-standard) both}@keyframes voice-state-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media(max-width:430px){.voice-card{padding-bottom:14px}.voice-status-idle{margin-top:11px;padding-top:9px}}@media(prefers-reduced-motion:reduce){.voice-status-requesting,.voice-status-recognizing,.voice-status-interpreting,.voice-status-fallback,.voice-status-transcribing,.voice-status-adding,.voice-status-success{animation:none!important}}.category-route-sheet{grid-template-rows:auto auto auto minmax(0,1fr) auto auto}.category-route-list{grid-auto-rows:max-content;align-content:start}.context-help-diagnostics{width:100%;min-height:44px;margin-top:12px;border:1px solid #d8ddd7;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;background:#f8faf7;color:var(--green);font-size:.75rem;font-weight:750;cursor:pointer}.context-help-diagnostics:hover{background:#edf3ed;border-color:#bdd0c1}.context-help-diagnostics:focus-visible{outline:3px solid rgba(61,101,77,.2);outline-offset:2px}.context-help-voice-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.context-help-voice-actions .context-help-diagnostics{margin-top:0}.context-help-voice-settings{width:100%;min-height:44px;border:1px solid #d8ddd7;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--ink);font-size:.75rem;font-weight:750;cursor:pointer}.context-help-voice-settings:hover{background:#f6f5f0;border-color:#cfcac0}.context-help-voice-settings:focus-visible{outline:3px solid rgba(61,101,77,.2);outline-offset:2px}.voice-settings-backdrop{z-index:205}.voice-settings-sheet{width:min(100%,620px);border-radius:26px 26px 0 0;padding:10px 18px max(22px,env(safe-area-inset-bottom));background:#fffdfa;box-shadow:0 -14px 55px #141c1738}.voice-settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.voice-settings-heading>div{min-width:0}.voice-settings-heading h2{margin:4px 0 5px;font-size:1.375rem;letter-spacing:-.035em}.voice-settings-heading p{max-width:500px;margin:0;color:var(--muted);font-size:.75rem;line-height:1.5}.voice-setting-toggle{min-height:68px;border:1px solid #dce3dc;border-radius:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;background:#f7faf6;cursor:pointer}.voice-setting-toggle>span{min-width:0;display:grid;gap:4px}.voice-setting-toggle strong{color:var(--ink);font-size:.75rem}.voice-setting-toggle small{color:var(--muted);font-size:.75rem;line-height:1.45}.voice-setting-toggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.voice-setting-toggle>i{position:relative;width:46px;height:27px;border-radius:999px;background:#cacfc9;transition:background .16s ease}.voice-setting-toggle>i:after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #141c173d;transition:transform .16s ease}.voice-setting-toggle input:checked+i{background:var(--green)}.voice-setting-toggle input:checked+i:after{transform:translate(19px)}.voice-setting-toggle:has(input:focus-visible){outline:3px solid rgba(61,101,77,.2);outline-offset:2px}.voice-setting-group{margin-top:10px;border:1px solid #e3e0d8;border-radius:15px;padding:12px;background:#fff}.voice-setting-group.disabled{opacity:.56}.voice-setting-group-copy{display:grid;gap:4px}.voice-setting-group-copy strong{color:var(--ink);font-size:.75rem}.voice-setting-group-copy small{color:var(--muted);font-size:.75rem;line-height:1.45}.voice-choice-grid,.voice-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}.voice-choice-grid button,.voice-mode-grid button{min-height:42px;border:1px solid #ddd9cf;border-radius:11px;background:#f8f7f3;color:#59605a;font-size:.75rem;font-weight:750;cursor:pointer}.voice-choice-grid button.active,.voice-mode-grid button.active{border-color:#a9c2ad;background:#eaf2eb;color:var(--green)}.voice-choice-grid button:disabled,.voice-mode-grid button:disabled{cursor:default}.voice-choice-grid button:focus-visible,.voice-mode-grid button:focus-visible{outline:3px solid rgba(61,101,77,.2);outline-offset:2px}.voice-settings-warning{margin-top:10px;border:1px solid #ead9c3;border-radius:12px;padding:9px 10px;background:#fff8ee;color:#725332;font-size:.75rem;line-height:1.45}.voice-preview-button{width:100%;min-height:44px;margin-top:12px;border:0;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;font-size:.75rem;font-weight:750;cursor:pointer}.voice-preview-button:disabled{opacity:.48;cursor:default}.voice-preview-button:focus-visible{outline:3px solid rgba(61,101,77,.2);outline-offset:2px}.voice-error-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:5px}.voice-error-actions button{margin-top:0}.voice-error .voice-diagnostics-link{border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff4f2}.voice-error .voice-diagnostics-link:hover{background:#ffffff14}.voice-diagnostics-backdrop{z-index:205}.voice-diagnostics-sheet{width:min(100%,680px);max-height:min(90dvh,860px);overflow-y:auto;border-radius:26px 26px 0 0;padding:10px 18px max(22px,env(safe-area-inset-bottom));background:#fffdfa;box-shadow:0 -14px 55px #141c1738}.voice-diagnostics-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.voice-diagnostics-heading>div{min-width:0}.voice-diagnostics-heading h2{margin:4px 0 5px;font-size:1.375rem;letter-spacing:-.035em}.voice-diagnostics-heading p{max-width:540px;margin:0;color:var(--muted);font-size:.75rem;line-height:1.5}.voice-diagnostics-health{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.voice-diagnostics-health>div{min-width:0;display:grid;gap:4px;border:1px solid #e4e1d9;border-radius:12px;padding:10px;background:#fff}.voice-diagnostics-health span{color:var(--muted);font-size:.75rem}.voice-diagnostics-health strong{color:var(--ink);font-size:.75rem;overflow-wrap:anywhere}.voice-mic-test-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dce3dc;border-radius:14px;padding:11px 12px;background:#f7faf6}.voice-mic-test-card>div{min-width:0;display:grid;gap:3px}.voice-mic-test-card strong{color:var(--ink);font-size:.75rem}.voice-mic-test-card span{color:var(--muted);font-size:.75rem;line-height:1.45}.voice-mic-test-card button{min-height:42px;flex:0 0 auto;border:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;background:var(--green);color:#fff;font-size:.75rem;font-weight:750;cursor:pointer}.voice-mic-test-card button:disabled{opacity:.5;cursor:default}.voice-mic-test-card button:focus-visible{outline:3px solid rgba(61,101,77,.2);outline-offset:2px}.voice-diagnostics-latest{margin-top:9px;border:1px solid #ead9c3;border-radius:12px;display:flex;align-items:flex-start;gap:8px;padding:9px 10px;background:#fff8ee;color:#725332;font-size:.75rem;line-height:1.45}.voice-diagnostics-latest svg{flex:0 0 auto;margin-top:1px}.voice-diagnostics-latest.problem-microphone,.voice-diagnostics-latest.problem-stt,.voice-diagnostics-latest.problem-api{border-color:#ecd3ce;background:#fff4f2;color:#7c4b45}.voice-diagnostics-history-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:18px 1px 9px}.voice-diagnostics-history-heading h3{margin:3px 0 0;font-size:.875rem;letter-spacing:-.02em}.voice-diagnostics-history-heading button{min-height:36px;border:0;border-radius:10px;padding:0 10px;background:#efede6;color:#676c67;font-size:.75rem;font-weight:700;cursor:pointer}.voice-diagnostics-history{display:grid;gap:8px}.voice-diagnostics-empty{min-height:118px;border:1px dashed #d8d4ca;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:18px;text-align:center;color:var(--muted)}.voice-diagnostics-empty strong{color:var(--ink);font-size:.75rem}.voice-diagnostics-empty span{max-width:390px;font-size:.75rem;line-height:1.45}.voice-diagnostic-entry{border:1px solid #e3e0d8;border-radius:15px;padding:11px;background:#fff}.voice-diagnostic-entry.outcome-error{border-color:#ead1cc}.voice-diagnostic-entry.outcome-clarification,.voice-diagnostic-entry.outcome-confirmation{border-color:#e7dcc1}.voice-diagnostic-entry-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.voice-diagnostic-entry-head span{color:#8a8f89;font-size:.75rem;font-variant-numeric:tabular-nums}.voice-diagnostic-entry-head strong{color:var(--green);font-size:.75rem}.outcome-error .voice-diagnostic-entry-head strong{color:#9b5149}.outcome-clarification .voice-diagnostic-entry-head strong,.outcome-confirmation .voice-diagnostic-entry-head strong{color:#86652f}.voice-diagnostic-trace{margin:0;display:grid;gap:6px}.voice-diagnostic-trace>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;align-items:start}.voice-diagnostic-trace dt{color:#737a74;font-size:.75rem;font-weight:750}.voice-diagnostic-trace dd{min-width:0;margin:0;color:var(--ink);font-size:.75rem;line-height:1.45;overflow-wrap:anywhere}.voice-diagnostic-trace dd small{display:block;margin-top:2px;color:#8a8f89;font-size:.75rem}.voice-diagnostic-details{margin-top:9px;border-top:1px solid #efede7;padding-top:7px}.voice-diagnostic-details summary{color:#777d77;font-size:.75rem;font-weight:700;cursor:pointer}.voice-diagnostic-details>div{display:grid;gap:4px;margin-top:7px}.voice-diagnostic-details span{color:#696f69;font-size:.75rem;line-height:1.45;overflow-wrap:anywhere}@media(min-width:760px){.voice-settings-sheet,.voice-diagnostics-sheet{margin-bottom:24px;border-radius:26px}}@media(max-width:560px){.context-help-voice-actions{grid-template-columns:1fr}.voice-settings-sheet,.voice-diagnostics-sheet{padding-left:14px;padding-right:14px}.voice-choice-grid,.voice-diagnostics-health{grid-template-columns:1fr}.voice-mic-test-card{align-items:stretch;flex-direction:column}.voice-mic-test-card button{width:100%}.voice-diagnostic-trace>div{grid-template-columns:82px minmax(0,1fr)}}.voice-feedback-mode-group{background:#f7faf6;border-color:#dce3dc}.shopping-route-continuity{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:stretch;gap:5px;border:1px solid #d7e0d9;border-radius:14px;padding:5px;background:#fffdfafa;box-shadow:0 4px 15px #244a380f}.shopping-route-continuity.complete{display:block}.shopping-route-step{min-width:0;min-height:46px;display:grid;align-content:center;gap:1px;border:1px solid transparent;border-radius:10px;padding:5px 8px;background:transparent;color:#56645b;text-align:left;cursor:pointer}.shopping-route-step>span{color:#758078;font-size:.75rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.shopping-route-step>strong{overflow:hidden;color:#2f563e;font-size:.75rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.shopping-route-step>small{overflow:hidden;color:#778079;font-size:.75rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.shopping-route-step.current{border-color:#9fbea9;background:#e8f1e9;box-shadow:inset 3px 0 0 var(--green)}.shopping-route-step.current>span,.shopping-route-step.current>strong{color:var(--green)}.shopping-route-step.next{background:#f5f4ef}.shopping-route-step.next:hover:not(:disabled){background:#eef2ed;border-color:#d0dacf}.shopping-route-step:disabled{cursor:default;opacity:.72}.shopping-route-flow-arrow{align-self:center;justify-self:center;transform:rotate(-90deg);color:#789080}.shopping-route-complete{min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;background:#e8f1e9;color:var(--green)}.shopping-route-complete>span{display:grid;gap:1px}.shopping-route-complete strong{font-size:.75rem}.shopping-route-complete small{color:#6f7b72;font-size:.75rem;font-weight:700}.shopping-route-step:focus-visible{outline:2px solid #607b69;outline-offset:2px}@media(max-width:650px){.shopping-route-continuity{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:3px;padding:4px;border-radius:12px}.shopping-route-step{min-height:43px;padding:4px 6px}.shopping-route-step>strong{font-size:.75rem}.shopping-route-step>small{font-size:.75rem}.shopping-route-complete{min-height:43px}}@media(prefers-reduced-motion:reduce){.shopping-route-step{transition:none}}.voice-settings-sheet{max-height:min(92dvh,900px);overflow-y:auto}.voice-vocabulary-group{background:#fbfcfa}.voice-vocabulary-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:11px}.voice-vocabulary-form label{min-width:0;display:grid;gap:5px;color:#677068;font-size:.75rem;font-weight:800}.voice-vocabulary-form input{width:100%;min-height:42px;border:1px solid #dcd9d1;border-radius:11px;padding:0 10px;background:#fff;color:var(--ink);font:inherit;font-size:.75rem}.voice-vocabulary-form input:focus{outline:3px solid rgba(61,101,77,.15);border-color:#a7bea9}.voice-vocabulary-form>button,.voice-vocabulary-last,.voice-vocabulary-clear{min-height:42px;border:1px solid #cfd8d0;border-radius:11px;padding:0 11px;background:#eef4ee;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.voice-vocabulary-form>button:disabled{opacity:.45;cursor:default}.voice-vocabulary-last{width:100%;margin-top:8px;min-height:38px;background:#fff;color:#5f6962}.voice-vocabulary-list{display:grid;gap:6px;margin-top:10px}.voice-vocabulary-entry{min-width:0;min-height:42px;display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:7px;border:1px solid #e2e2dc;border-radius:11px;padding:5px 5px 5px 9px;background:#fff}.voice-vocabulary-entry>span{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden}.voice-vocabulary-entry samp,.voice-vocabulary-entry strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-size:.75rem}.voice-vocabulary-entry samp{color:#737a74}.voice-vocabulary-entry strong{color:var(--ink)}.voice-vocabulary-entry i{color:#96a098;font-style:normal}.voice-vocabulary-entry>button{width:38px;height:38px;border:0;border-radius:9px;display:grid;place-items:center;background:transparent;color:#8a625d;cursor:pointer}.voice-vocabulary-entry>button:hover{background:#fff1ee}.voice-vocabulary-clear{width:100%;min-height:38px;border-color:#ead8d3;background:#fff7f5;color:#8a5149}@media(max-width:560px){.voice-vocabulary-form{grid-template-columns:1fr}.voice-vocabulary-form>button{width:100%}}.sticky-add-source-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sticky-image-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d8ddd7;border-radius:11px;background:#f7f4ec;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.sticky-image-button:disabled,.sticky-voice-button:disabled{opacity:.45;cursor:default}.multimodal-backdrop{z-index:175}.multimodal-sheet{width:min(100%,700px);max-height:94dvh;display:flex;flex-direction:column;overflow:hidden;border-radius:26px 26px 0 0;background:var(--paper);padding:10px 16px max(16px,env(safe-area-inset-bottom));box-shadow:0 -16px 60px #141c173d}.multimodal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.multimodal-heading h2{margin:4px 0 0;font-size:1.3125rem;letter-spacing:-.035em}.multimodal-scroll-body{display:contents}.multimodal-sheet.receipt-aware .multimodal-scroll-body{display:block;flex:1 1 0;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:2px}.multimodal-sheet.receipt-aware .multimodal-candidate-list{overflow-y:visible}.multimodal-source-card{display:grid;grid-template-columns:minmax(96px,150px) minmax(0,1fr);gap:12px;align-items:center;border:1px solid #dfddd5;border-radius:16px;padding:9px;background:#fffdfa}.multimodal-preview-strip{min-width:0;display:flex;gap:5px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding-bottom:2px}.multimodal-preview-tile{position:relative;flex:0 0 64px}.multimodal-preview-image{width:64px;height:64px;object-fit:cover;border-radius:11px;background:#efede7;border:1px solid #e4e1d9}.multimodal-preview-tile:only-child{flex-basis:88px}.multimodal-preview-tile:only-child .multimodal-preview-image{width:88px;height:72px}.multimodal-preview-tile>span{position:absolute;left:4px;bottom:4px;min-width:18px;height:18px;border-radius:999px;display:grid;place-items:center;padding:0 4px;background:#192f24e0;color:#fff;font-size:.75rem;font-weight:900}.multimodal-source-copy{min-width:0;display:grid;gap:4px}.multimodal-source-copy strong{font-size:.75rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multimodal-source-copy>span:not(.multimodal-source-badge){color:var(--muted);font-size:.75rem;line-height:1.4}.multimodal-privacy{color:#8a8e89;font-size:.75rem;line-height:1.35}.multimodal-source-files{color:#8a8e89;font-size:.75rem;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.multimodal-duplicate-summary{color:#496958!important;font-weight:800}.multimodal-source-badge{justify-self:start;border-radius:999px;padding:4px 7px;background:#eaf2ec;color:var(--green);font-size:.75rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase}.multimodal-source-badge.source-recipe{background:#f6efe3;color:#745526}.multimodal-source-badge.source-other{background:#efefec;color:#646963}.multimodal-recipe-scale{margin-top:10px;border:1px solid #e3d8c2;border-radius:15px;padding:10px 11px;background:#fbf6ec;display:grid;gap:9px}.multimodal-recipe-scale-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.multimodal-recipe-scale-heading>div{display:grid;gap:2px}.multimodal-recipe-scale-heading strong{font-size:.75rem;color:var(--ink)}.multimodal-recipe-scale-heading button{min-height:34px;border:1px solid #ddcfb4;border-radius:9px;padding:0 9px;background:#fffdfa;color:#745526;font-size:.75rem;font-weight:850;cursor:pointer}.multimodal-recipe-portions{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:9px;align-items:end}.multimodal-recipe-portions label{display:grid;grid-template-columns:1fr 64px auto;align-items:center;gap:6px;min-width:0}.multimodal-recipe-portions label>span{font-size:.75rem;color:var(--muted);font-weight:750;white-space:nowrap}.multimodal-recipe-portions input{width:64px;height:36px;border:1px solid #d8cfbe;border-radius:9px;background:#fff;color:var(--ink);text-align:center;font-weight:850;outline:none}.multimodal-recipe-portions input:focus{border-color:#9b7a43;box-shadow:0 0 0 3px #9b7a4317}.multimodal-recipe-portions small{font-size:.75rem;color:#8b7655}.multimodal-recipe-arrow{align-self:center;color:#92784d;font-weight:900}.multimodal-recipe-scale-status{display:grid;gap:2px;color:#6f624c}.multimodal-recipe-scale-status>span{font-size:.75rem;line-height:1.4}.multimodal-recipe-scale-status>small{font-size:.75rem;color:#97866c}.multimodal-handwriting-notice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:10px 12px;border:1px solid #d8c9a9;border-radius:14px;background:#fbf7ed;color:#725a2d}.multimodal-handwriting-notice>div{display:grid;gap:2px}.multimodal-handwriting-notice strong{font-size:.75rem}.multimodal-handwriting-notice span{font-size:.75rem;line-height:1.4;color:#82714f}.multimodal-handwriting-notice.legibility-poor{border-color:#dfad8c;background:#fff4ea;color:#7d4429}.multimodal-candidate.review-required.selected{border-color:#c88c3d;box-shadow:0 0 0 2px #be7e2b1f}.multimodal-uncertainty{display:grid;gap:2px;padding:7px 9px;border-radius:10px;background:#fff5df;color:#795322}.multimodal-uncertainty strong{font-size:.75rem}.multimodal-uncertainty span{font-size:.75rem;line-height:1.35}.multimodal-alternatives{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.multimodal-alternatives>span{font-size:.75rem;color:var(--muted);font-weight:700}.multimodal-alternatives button{min-height:30px;padding:5px 9px;border-radius:999px;border:1px solid #d9d5ca;background:#fff;color:var(--ink);font-size:.75rem;font-weight:800}.multimodal-alternatives button:disabled{opacity:.5}.multimodal-raw-text{color:#6f746f;font-size:.75rem;line-height:1.35;font-style:italic}.multimodal-learned-correction{color:#486a56;font-size:.75rem;line-height:1.35;font-weight:760}.multimodal-confirm-read{justify-self:start;min-height:34px;display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:10px;border:1px solid #c49a5d;background:#fffaf0;color:#6f4c1d;font-size:.75rem;font-weight:850}.multimodal-loading,.multimodal-error{margin-top:10px;border-radius:13px;padding:11px 12px;display:flex;align-items:center;gap:10px}.multimodal-loading{background:#eef4ef;color:var(--green)}.multimodal-loading>div{display:grid;gap:2px}.multimodal-loading strong{font-size:.75rem}.multimodal-loading span{font-size:.75rem;color:var(--muted)}.multimodal-error{background:#fff0ee;color:#7d3934;font-size:.75rem}.multimodal-learning-banner{margin-top:10px;border-radius:13px;padding:11px 12px;display:flex;align-items:flex-start;gap:10px;background:#eef7ef;color:#365c43}.multimodal-learning-banner>div{display:grid;gap:2px}.multimodal-learning-banner strong{font-size:.75rem;color:var(--ink)}.multimodal-learning-banner span{font-size:.75rem;color:#5d7264;line-height:1.35}.multimodal-review-toolbar{margin-top:10px;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e8e5de;padding:0 2px 9px}.multimodal-review-toolbar>div{min-width:0;display:grid;gap:2px}.multimodal-review-toolbar strong{font-size:.75rem;color:var(--ink)}.multimodal-review-toolbar span{font-size:.75rem;color:var(--muted)}.multimodal-review-toolbar button{min-height:36px;border:1px solid #d8ddd7;border-radius:10px;padding:0 10px;background:#fff;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer;white-space:nowrap}.multimodal-candidate-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:8px;padding:10px 2px 12px}.multimodal-candidate{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px;align-items:start;border:1px solid #e0ddd5;border-radius:15px;padding:9px;background:#fff}.multimodal-candidate.unselected{opacity:.55;background:#f7f5f0}.multimodal-candidate.needs-review.selected{border-color:#d9bb81;box-shadow:0 0 0 2px #b7842914}.multimodal-select{width:34px;height:34px;display:grid;place-items:center;border:1px solid #cfd5cf;border-radius:10px;background:#fff;color:#fff;cursor:pointer}.multimodal-select.checked{border-color:var(--green);background:var(--green)}.multimodal-candidate-fields{min-width:0;display:grid;gap:7px}.multimodal-name-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}.multimodal-name-row input,.multimodal-quantity-row input,.multimodal-quantity-row select,.multimodal-note-input{min-width:0;width:100%;height:39px;border:1px solid #d8d5cd;border-radius:10px;background:#fff;padding:0 9px;color:var(--ink);outline:none;font-size:.75rem}.multimodal-name-row input{font-weight:800;font-size:.75rem}.multimodal-name-row input:focus,.multimodal-quantity-row input:focus,.multimodal-quantity-row select:focus,.multimodal-note-input:focus{border-color:#71877a;box-shadow:0 0 0 3px #244a3812}.multimodal-review-badge{border-radius:999px;padding:4px 7px;background:#fff4d9;color:#77541c;font-size:.75rem;font-weight:900;text-transform:uppercase}.multimodal-quantity-row{display:grid;grid-template-columns:86px 86px minmax(120px,1fr);gap:6px}.multimodal-evidence{color:#898d88;font-size:.75rem;line-height:1.35}.multimodal-source-pages{justify-self:start;border-radius:999px;padding:3px 7px;background:#edf3ee;color:#4e6858;font-size:.75rem;font-weight:800}.multimodal-scaled-from{color:#7d6b4c;font-size:.75rem;font-weight:750}.multimodal-scale-warning{color:#8a5328;font-size:.75rem;line-height:1.35;font-weight:750}.multimodal-footer{display:grid;grid-template-columns:1fr .9fr 1.2fr;gap:8px;border-top:1px solid #e8e5de;padding-top:10px}.multimodal-footer button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.multimodal-commit{min-width:0}@media(min-width:761px){.multimodal-sheet{border-radius:26px;max-height:min(88dvh,820px)}}@media(max-width:520px){.multimodal-sheet{padding-left:12px;padding-right:12px}.multimodal-source-card{grid-template-columns:104px minmax(0,1fr)}.multimodal-preview-tile{flex-basis:48px}.multimodal-preview-image{width:48px;height:56px}.multimodal-preview-tile:only-child{flex-basis:72px}.multimodal-preview-tile:only-child .multimodal-preview-image{width:72px;height:64px}.multimodal-footer{grid-template-columns:1fr 1fr}.multimodal-commit{grid-column:1 / -1}.multimodal-quantity-row{grid-template-columns:74px 78px minmax(0,1fr)}.multimodal-review-toolbar{align-items:flex-start}.multimodal-review-toolbar button{min-height:40px}.multimodal-recipe-portions{grid-template-columns:1fr;gap:6px}.multimodal-recipe-arrow{display:none}.multimodal-recipe-portions label{grid-template-columns:1fr 62px auto}}@media(max-width:380px){.multimodal-quantity-row{grid-template-columns:1fr 1fr}.multimodal-quantity-row select:last-child{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){.multimodal-sheet{animation:none!important}}.multimodal-preview-tile{flex-basis:112px;display:grid;gap:5px}.multimodal-preview-visual{position:relative;width:72px}.multimodal-preview-image{width:72px;height:72px}.multimodal-preview-tile:only-child{flex-basis:150px}.multimodal-preview-tile:only-child .multimodal-preview-visual{width:96px}.multimodal-preview-tile:only-child .multimodal-preview-image{width:96px;height:78px}.multimodal-preview-number{position:absolute;left:4px;bottom:4px;min-width:18px;height:18px;border-radius:999px;display:grid;place-items:center;padding:0 4px;background:#192f24e0;color:#fff;font-size:.75rem;font-weight:900}.multimodal-quality-badge{position:absolute;left:4px;top:4px;max-width:calc(100% - 8px);padding:3px 5px;border-radius:999px;background:#eef6f0f0;color:#315f48;font-size:.75rem;font-weight:900;line-height:1.05;white-space:nowrap}.multimodal-quality-badge.quality-warning{background:#fff6dcf5;color:#76531d}.multimodal-quality-badge.quality-critical{background:#ffe9e4f7;color:#843d35}.multimodal-preprocess-meta{display:grid;gap:4px;min-width:0}.multimodal-preprocess-tags{display:flex;flex-wrap:wrap;gap:3px}.multimodal-preprocess-tags span{display:inline-flex;align-items:center;min-height:18px;padding:2px 5px;border-radius:999px;background:#eff3ef;color:#496255;font-size:.75rem;font-weight:850}.multimodal-preprocess-meta small{color:#786d5a;font-size:.75rem;line-height:1.25}.multimodal-image-variant{justify-self:start;min-height:28px;border:1px solid #d8d7cf;border-radius:9px;background:#fff;color:var(--ink);padding:4px 7px;font-size:.75rem;font-weight:850}.multimodal-quality-summary{font-size:.75rem;line-height:1.35;font-weight:750}.multimodal-quality-summary.all-good{color:#467057}.multimodal-quality-summary.has-warning{color:#806226}.multimodal-quality-summary.has-critical{color:#8a4038}@media(max-width:520px){.multimodal-preview-strip{gap:8px}.multimodal-preview-tile{flex-basis:104px}}.multimodal-source-verification{display:grid;gap:6px;padding:7px;border:1px solid #dce4dd;border-radius:12px;background:#f8fbf8}.multimodal-source-verification.needs-attention{border-color:#d9bb81;background:#fffaf0}.multimodal-source-verification-copy{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.multimodal-source-verification-copy strong{font-size:.75rem;color:#405c4c}.multimodal-source-verification.needs-attention .multimodal-source-verification-copy strong{color:#76531d}.multimodal-source-verification-copy span{color:#7a827c;font-size:.75rem;text-align:right}.multimodal-source-crops{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:1px}.multimodal-source-crop{flex:0 0 min(150px,44vw);min-width:112px;border:1px solid #d9dfda;border-radius:10px;padding:4px;background:#fff;color:#425a4c;text-align:left;cursor:pointer}.multimodal-source-crop.needs-attention{border-color:#d4aa68;box-shadow:0 0 0 2px #c18b3414}.multimodal-source-crop canvas{display:block;width:100%;height:45px;border-radius:7px;background:#f1eee7}.multimodal-source-crop>span{margin-top:3px;display:flex;align-items:center;gap:4px;font-size:.75rem;font-weight:850;white-space:nowrap}.source-verification-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:245;display:grid;place-items:center;padding:18px;background:#101713a8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.source-verification-dialog{width:min(94vw,780px);max-height:92dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;overflow:hidden;padding:14px;border-radius:20px;background:var(--paper);box-shadow:0 22px 70px #00000047}.source-verification-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.source-verification-heading>div{min-width:0;display:grid;gap:2px}.source-verification-heading h3{margin:1px 0 0;font-size:1.125rem;color:var(--ink)}.source-verification-heading small{color:var(--muted);font-size:.75rem}.source-verification-scroll{min-height:0;overflow:auto;display:grid;place-items:start center;padding:4px;border-radius:13px;background:#ebe8e0}.source-verification-frame{position:relative;display:inline-block;max-width:100%}.source-verification-frame img{display:block;max-width:min(86vw,720px);max-height:72dvh;width:auto;height:auto;border-radius:8px}.source-verification-highlight{position:absolute;border:3px solid #c77d22;border-radius:5px;background:#ffbf4729;box-shadow:0 0 0 9999px #14191638;pointer-events:none}.source-verification-dialog>p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.4}@media(max-width:520px){.multimodal-source-verification-copy{display:grid;gap:2px}.multimodal-source-verification-copy span{text-align:left}.source-verification-backdrop{padding:8px}.source-verification-dialog{width:100%;max-height:94dvh;border-radius:18px;padding:11px}.source-verification-frame img{max-width:92vw;max-height:74dvh}}@media(prefers-reduced-motion:reduce){.source-verification-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}.multimodal-source-crop>span em{margin-left:auto;padding:1px 4px;border-radius:999px;background:#edf5ef;color:#53705f;font-size:.75rem;font-style:normal;font-weight:850;letter-spacing:.01em}.source-verification-highlight{border-width:2px;background:#ffb83621}.sticky-add-source-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.sticky-package-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d8d6e2;border-radius:11px;background:#f5f3fb;color:#5a5379;font-size:.75rem;font-weight:800;cursor:pointer}.sticky-package-button:disabled{opacity:.45;cursor:default}.multimodal-source-badge.source-product_package{background:#f1eefb;color:#5d5680}.sticky-receipt-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dfd6c4;border-radius:11px;background:#fbf6ec;color:#76592b;font-size:.75rem;font-weight:800;cursor:pointer}.sticky-receipt-button:disabled{opacity:.45;cursor:default}.multimodal-source-badge.source-receipt{background:#f7efe1;color:#755525}.multimodal-receipt-summary{margin-top:10px;display:grid;gap:8px;padding:10px 12px;border:1px solid #dfd2b9;border-radius:15px;background:#fcf8ef;color:#6d552c}.multimodal-receipt-summary-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px}.multimodal-receipt-summary-heading>div{min-width:0;display:grid;gap:2px}.multimodal-receipt-summary-heading strong{color:var(--ink);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multimodal-receipt-summary-heading small{color:#8d7a59;font-size:.75rem}.multimodal-receipt-summary p{margin:0;font-size:.75rem;line-height:1.45;color:#796747}.multimodal-receipt-filter-details{border-top:1px solid #e7dcc8;padding-top:7px}.multimodal-receipt-filter-details summary{min-height:32px;display:flex;align-items:center;cursor:pointer;font-size:.75rem;font-weight:850;color:#755525}.multimodal-receipt-filter-details>div{display:grid;gap:5px;max-height:128px;overflow-y:auto;padding:2px 0 3px}.multimodal-receipt-filter-details span{font-size:.75rem;line-height:1.35;color:#7f7159;overflow-wrap:anywhere}.multimodal-receipt-filter-details span strong{color:#6e5730}@media(max-width:420px){.sticky-add-source-actions{gap:6px}.sticky-voice-button,.sticky-image-button,.sticky-package-button,.sticky-receipt-button{gap:5px;padding-inline:6px;font-size:.75rem}}.multimodal-sheet.receipt-aware .multimodal-heading{margin-bottom:8px}.multimodal-sheet.receipt-aware .multimodal-source-card{grid-template-columns:minmax(72px,88px) minmax(0,1fr);gap:9px;padding:7px 8px;align-items:start}.multimodal-sheet.receipt-aware .multimodal-preview-tile:only-child{flex-basis:72px}.multimodal-sheet.receipt-aware .multimodal-preview-tile:only-child .multimodal-preview-visual{width:64px}.multimodal-sheet.receipt-aware .multimodal-preview-tile:only-child .multimodal-preview-image{width:64px;height:68px}.multimodal-sheet.receipt-aware .multimodal-preprocess-meta{gap:3px}.multimodal-sheet.receipt-aware .multimodal-preprocess-tags,.multimodal-sheet.receipt-aware .multimodal-preprocess-meta>small{display:none}.multimodal-sheet.receipt-aware .multimodal-image-variant{min-height:28px;padding:3px 6px;font-size:.75rem}.multimodal-sheet.receipt-aware .multimodal-source-copy{gap:3px}.multimodal-sheet.receipt-aware .multimodal-source-copy>span:not(.multimodal-source-badge){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.multimodal-sheet.receipt-aware .multimodal-privacy{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multimodal-sheet.receipt-aware .multimodal-quality-summary{line-height:1.2}.multimodal-sheet.receipt-aware .multimodal-receipt-summary{margin-top:7px;gap:5px;padding:8px 10px;border-radius:13px}.multimodal-sheet.receipt-aware .multimodal-receipt-summary-heading{gap:7px}.multimodal-sheet.receipt-aware .multimodal-receipt-summary p{font-size:.75rem;line-height:1.35}.multimodal-sheet.receipt-aware .multimodal-receipt-filter-details{padding-top:4px}.multimodal-sheet.receipt-aware .multimodal-receipt-filter-details summary{min-height:28px}.multimodal-sheet.receipt-aware .multimodal-review-toolbar{flex:0 0 auto;margin-top:6px;min-height:44px;padding-bottom:6px}.multimodal-sheet.receipt-aware .multimodal-candidate-list{flex:1 1 300px;min-height:clamp(180px,31dvh,300px);padding-top:8px;padding-bottom:8px;scrollbar-gutter:stable}.multimodal-sheet.receipt-aware .multimodal-footer{flex:0 0 auto;padding-top:8px}@media(max-width:520px){.multimodal-sheet.receipt-aware{padding-left:10px;padding-right:10px}.multimodal-sheet.receipt-aware .multimodal-footer{grid-template-columns:.95fr .82fr 1.35fr;gap:6px}.multimodal-sheet.receipt-aware .multimodal-commit{grid-column:auto}.multimodal-sheet.receipt-aware .multimodal-footer button{min-width:0;padding-inline:7px;white-space:nowrap}}@media(max-width:400px){.multimodal-sheet.receipt-aware .multimodal-footer{grid-template-columns:1fr 1fr}.multimodal-sheet.receipt-aware .multimodal-commit{grid-column:1 / -1}.multimodal-sheet.receipt-aware .multimodal-candidate-list{min-height:clamp(165px,28dvh,240px)}}@media(max-height:740px){.multimodal-sheet.receipt-aware .multimodal-source-copy>span:not(.multimodal-source-badge){-webkit-line-clamp:1}.multimodal-sheet.receipt-aware .multimodal-privacy{display:none}.multimodal-sheet.receipt-aware .multimodal-candidate-list{min-height:160px}}.sticky-add-source-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.sticky-pantry-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cbdccf;border-radius:11px;background:#f1f7f2;color:#355f45;font-size:.75rem;font-weight:800;cursor:pointer}.sticky-pantry-button:disabled{opacity:.45;cursor:default}.multimodal-source-badge.source-pantry{background:#eaf4ec;color:#356047}.multimodal-pantry-summary,.multimodal-recipe-pantry-hints{margin-top:10px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:10px 12px;border:1px solid #cdddcf;border-radius:15px;background:#f3f8f4;color:#355c43}.multimodal-pantry-summary>div,.multimodal-recipe-pantry-hints>div{min-width:0;display:grid;gap:3px}.multimodal-pantry-summary strong,.multimodal-recipe-pantry-hints strong{font-size:.75rem;color:var(--ink)}.multimodal-pantry-summary p,.multimodal-recipe-pantry-hints span{margin:0;font-size:.75rem;line-height:1.45;color:#5d7464}.multimodal-pantry-match-badge{min-height:24px;display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;border-radius:999px;font-size:.75rem;font-weight:850;white-space:nowrap}.multimodal-pantry-match-badge.strong{background:#e6f2e8;color:#346245;border:1px solid #bfd6c4}.multimodal-pantry-match-badge.possible{background:#f6f2e6;color:#725f34;border:1px solid #ded2b5}.multimodal-sheet.pantry-aware .multimodal-candidate-list{min-height:150px}.multimodal-sheet.pantry-aware .multimodal-candidate-fields{gap:6px}@media(max-width:420px){.sticky-voice-button,.sticky-image-button,.sticky-package-button,.sticky-pantry-button,.sticky-receipt-button{gap:4px;padding-inline:5px;font-size:.75rem}}.pantry-overview-button{color:#3d6b4e}.pantry-hub-backdrop{z-index:158}.pantry-hub-sheet{grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,720px);height:min(90dvh,720px);border-color:#cad8cd}.pantry-hub-chrome{padding-bottom:10px;border-bottom:1px solid #e2e7e2}.pantry-hub-header p{max-width:460px}.pantry-hub-summary{margin-top:12px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;padding:9px 11px;border:1px solid #cfddd1;border-radius:13px;background:#f2f7f3}.pantry-hub-summary-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#e2eee5;color:#356047}.pantry-hub-summary>div{min-width:0;display:grid;gap:3px}.pantry-hub-summary strong{font-size:.75rem;color:var(--ink)}.pantry-hub-summary span{color:#617267;font-size:.75rem;line-height:1.4}.pantry-hub-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 2px 12px}.pantry-hub-groups{display:grid;gap:12px}.pantry-hub-group{display:grid;gap:6px}.pantry-hub-category{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px;color:#5c6960;font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.pantry-hub-category strong{min-width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:#edf3ee;color:#476552;font-size:.75rem}.pantry-hub-items{display:grid;gap:6px}.pantry-hub-item{min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) 38px;align-items:center;gap:9px;padding:8px 9px;border:1px solid #e0e3de;border-radius:13px;background:#fff}.pantry-hub-item-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#edf5ef;color:#3f674e}.pantry-hub-item-copy{min-width:0;display:grid;gap:3px}.pantry-hub-item-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:var(--ink)}.pantry-hub-item-copy span{color:#777f79;font-size:.75rem;line-height:1.35}.pantry-hub-remove{width:36px;height:36px;display:grid;place-items:center;border:1px solid #ead8d4;border-radius:10px;background:#fff7f5;color:#96534b;cursor:pointer}.pantry-hub-empty{min-height:220px;display:grid;justify-items:center;align-content:center;gap:7px;padding:28px 20px;text-align:center;color:#627067}.pantry-hub-empty svg{color:#52715d}.pantry-hub-empty strong{color:var(--ink);font-size:.8125rem}.pantry-hub-empty span{max-width:390px;font-size:.75rem;line-height:1.5}.pantry-hub-footer{display:grid;grid-template-columns:minmax(180px,auto) minmax(0,1fr);align-items:center;gap:10px;border-top:1px solid #e1e4df;padding-top:10px;background:#fffdfa}.pantry-hub-capture{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.pantry-hub-footer>span{color:#747b76;font-size:.75rem;line-height:1.4}@media(max-width:560px){.pantry-hub-sheet{height:min(92dvh,760px);padding-left:12px;padding-right:12px}.pantry-hub-footer{grid-template-columns:1fr;gap:6px}.pantry-hub-footer>span{text-align:center}}.pantry-hub-manual{margin-top:10px;display:grid;gap:6px}.pantry-hub-manual-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:stretch}.pantry-hub-manual-row input{min-width:0;min-height:44px;border:1px solid #cfd8d0;border-radius:12px;padding:0 12px;background:#fff;color:var(--ink);font:inherit;font-size:.75rem}.pantry-hub-manual-row input:focus{outline:3px solid rgba(61,101,77,.14);border-color:#8cae96}.pantry-hub-manual-add,.pantry-hub-voice{min-height:44px;border:1px solid #cbd9ce;border-radius:12px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#f4f8f4;color:#315c43;font-size:.75rem;font-weight:800;cursor:pointer}.pantry-hub-manual-add{background:#365f47;border-color:#365f47;color:#fff}.pantry-hub-voice.listening{background:#fff1ee;border-color:#e2bcb4;color:#9a4d45}.pantry-hub-manual-add:disabled,.pantry-hub-voice:disabled{opacity:.5;cursor:default}.pantry-hub-manual-hint,.pantry-hub-manual-status{padding-inline:2px;color:#6b756e;font-size:.75rem;line-height:1.4}.pantry-hub-manual-status{padding:6px 8px;border-radius:9px;background:#f4f6f3}.pantry-hub-manual-status.success{background:#edf6ef;color:#356047}.pantry-hub-manual-status.error{background:#fff0ed;color:#934b43}.pantry-hub-item-copy strong small{font-size:.75rem;font-weight:750;color:#55705f}.pantry-hub-item-copy .pantry-hub-item-note{color:#59675e;font-style:italic}@media(max-width:480px){.pantry-hub-manual-row{grid-template-columns:minmax(0,1fr) 44px 44px}.pantry-hub-manual-add,.pantry-hub-voice{width:44px;padding:0}.pantry-hub-manual-add span,.pantry-hub-voice span{display:none}}.multimodal-shopping-pantry-hints{margin-top:10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 12px;border:1px solid #cdddcf;border-radius:15px;background:#f3f8f4;color:#355c43}.multimodal-shopping-pantry-hints>div{min-width:0;display:grid;gap:3px}.multimodal-shopping-pantry-hints strong{font-size:.75rem;color:var(--ink)}.multimodal-shopping-pantry-hints span{font-size:.75rem;line-height:1.45;color:#5d7464}.multimodal-shopping-pantry-hints button{min-height:38px;padding:7px 10px;border:1px solid #bcd1c1;border-radius:11px;background:#fff;color:#356047;font-size:.75rem;font-weight:850;cursor:pointer;white-space:nowrap}.multimodal-shopping-pantry-hints button:disabled{opacity:.55;cursor:default}@media(max-width:520px){.multimodal-shopping-pantry-hints{grid-template-columns:auto minmax(0,1fr)}.multimodal-shopping-pantry-hints button{grid-column:1 / -1;width:100%}}.multimodal-sheet.review-workspace{height:min(94dvh,860px);max-height:94dvh}.multimodal-sheet.review-workspace .multimodal-heading{flex:0 0 auto;margin-bottom:7px}.multimodal-sheet.review-workspace .multimodal-source-card{flex:0 0 auto;grid-template-columns:minmax(68px,82px) minmax(0,1fr);gap:8px;padding:7px 8px;align-items:start}.multimodal-sheet.review-workspace .multimodal-preview-tile:only-child{flex-basis:64px}.multimodal-sheet.review-workspace .multimodal-preview-tile:only-child .multimodal-preview-visual{width:60px}.multimodal-sheet.review-workspace .multimodal-preview-tile:only-child .multimodal-preview-image{width:60px;height:62px}.multimodal-sheet.review-workspace .multimodal-preprocess-meta{gap:2px}.multimodal-sheet.review-workspace .multimodal-preprocess-tags,.multimodal-sheet.review-workspace .multimodal-preprocess-meta>small{display:none}.multimodal-sheet.review-workspace .multimodal-image-variant{min-height:27px;padding:3px 6px;font-size:.75rem}.multimodal-sheet.review-workspace .multimodal-source-copy{gap:2px}.multimodal-sheet.review-workspace .multimodal-source-copy>span:not(.multimodal-source-badge){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.75rem;line-height:1.3}.multimodal-sheet.review-workspace .multimodal-source-copy strong{font-size:.75rem}.multimodal-sheet.review-workspace .multimodal-privacy{display:none}.multimodal-sheet.review-workspace .multimodal-quality-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.multimodal-sheet.review-workspace .multimodal-handwriting-notice{flex:0 0 auto;align-items:center;gap:7px;padding:6px 8px;border-radius:12px}.multimodal-sheet.review-workspace .multimodal-handwriting-notice>div{display:flex;align-items:baseline;gap:6px;min-width:0}.multimodal-sheet.review-workspace .multimodal-handwriting-notice strong{flex:0 0 auto;font-size:.75rem}.multimodal-sheet.review-workspace .multimodal-handwriting-notice span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.25}.multimodal-sheet.review-workspace .multimodal-shopping-pantry-hints,.multimodal-sheet.review-workspace .multimodal-recipe-pantry-hints,.multimodal-sheet.review-workspace .multimodal-pantry-summary{flex:0 0 auto;margin-top:6px;gap:7px;padding:7px 9px;border-radius:12px}.multimodal-sheet.review-workspace .multimodal-shopping-pantry-hints strong,.multimodal-sheet.review-workspace .multimodal-recipe-pantry-hints strong,.multimodal-sheet.review-workspace .multimodal-pantry-summary strong{font-size:.75rem}.multimodal-sheet.review-workspace .multimodal-shopping-pantry-hints span,.multimodal-sheet.review-workspace .multimodal-recipe-pantry-hints span,.multimodal-sheet.review-workspace .multimodal-pantry-summary p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-size:.75rem;line-height:1.3}.multimodal-sheet.review-workspace .multimodal-shopping-pantry-hints button{min-height:32px;padding:5px 8px;font-size:.75rem}.multimodal-sheet.review-workspace .multimodal-recipe-scale{flex:0 0 auto;margin-top:6px;gap:6px;padding:7px 9px;border-radius:12px}.multimodal-sheet.review-workspace .multimodal-recipe-scale-heading strong{font-size:.75rem}.multimodal-sheet.review-workspace .multimodal-recipe-portions{gap:6px}.multimodal-sheet.review-workspace .multimodal-recipe-portions input{height:32px}.multimodal-sheet.review-workspace .multimodal-receipt-summary{flex:0 0 auto}.multimodal-sheet.review-workspace .multimodal-review-toolbar{flex:0 0 auto;margin-top:6px;min-height:42px;padding-bottom:6px}.multimodal-sheet.review-workspace .multimodal-review-toolbar button{min-height:34px}.multimodal-sheet.review-workspace .multimodal-candidate-list{flex:1 1 360px;min-height:clamp(220px,36dvh,390px);padding-top:7px;padding-bottom:7px;scrollbar-gutter:stable}.multimodal-sheet.review-workspace .multimodal-footer{flex:0 0 auto;padding-top:7px}@media(min-width:761px){.multimodal-sheet.review-workspace{height:min(88dvh,820px);max-height:min(88dvh,820px)}}@media(max-width:520px){.multimodal-sheet.review-workspace{padding-left:10px;padding-right:10px}.multimodal-sheet.review-workspace .multimodal-footer{grid-template-columns:.95fr .82fr 1.35fr;gap:6px}.multimodal-sheet.review-workspace .multimodal-commit{grid-column:auto}.multimodal-sheet.review-workspace .multimodal-footer button{min-width:0;padding-inline:7px;white-space:nowrap}.multimodal-sheet.review-workspace .multimodal-shopping-pantry-hints{grid-template-columns:auto minmax(0,1fr)}.multimodal-sheet.review-workspace .multimodal-shopping-pantry-hints button{grid-column:1 / -1;width:100%;min-height:30px}.multimodal-sheet.review-workspace .multimodal-recipe-portions{grid-template-columns:1fr 1fr}.multimodal-sheet.review-workspace .multimodal-recipe-arrow{display:none}}@media(max-width:400px){.multimodal-sheet.review-workspace .multimodal-footer{grid-template-columns:1fr 1fr}.multimodal-sheet.review-workspace .multimodal-commit{grid-column:1 / -1}.multimodal-sheet.review-workspace .multimodal-candidate-list{min-height:clamp(180px,30dvh,270px)}}@media(max-height:740px){.multimodal-sheet.review-workspace .multimodal-source-copy>span:not(.multimodal-source-badge){-webkit-line-clamp:1}.multimodal-sheet.review-workspace .multimodal-handwriting-notice span,.multimodal-sheet.review-workspace .multimodal-shopping-pantry-hints span,.multimodal-sheet.review-workspace .multimodal-recipe-pantry-hints span,.multimodal-sheet.review-workspace .multimodal-pantry-summary p{display:none}.multimodal-sheet.review-workspace .multimodal-candidate-list{min-height:170px}}.multimodal-conflict-summary{flex:0 0 auto;margin-top:6px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid #dfc693;border-radius:12px;background:#fff8e8}.multimodal-conflict-summary.resolved{border-color:#bdd5c4;background:#f2f8f4}.multimodal-conflict-summary>div{min-width:0;display:grid;gap:2px}.multimodal-conflict-summary strong{font-size:.75rem;color:var(--ink)}.multimodal-conflict-summary span{font-size:.75rem;line-height:1.35;color:#79673f}.multimodal-conflict-summary.resolved span{color:#56705f}.multimodal-conflict-summary button{min-height:34px;padding:5px 8px;border:1px solid #d3ba83;border-radius:10px;background:#fff;color:#70541e;font-size:.75rem;font-weight:850;cursor:pointer;white-space:nowrap}.multimodal-conflict-summary button:disabled{opacity:.55;cursor:default}.multimodal-list-conflict{display:grid;gap:7px;padding:8px 9px;border:1px solid #dec38b;border-radius:11px;background:#fff9eb}.multimodal-list-conflict.resolved{border-color:#bcd2c2;background:#f4f9f5}.multimodal-list-conflict-copy{display:grid;gap:2px}.multimodal-list-conflict-copy strong{font-size:.75rem;line-height:1.35;color:var(--ink)}.multimodal-list-conflict-copy span{font-size:.75rem;line-height:1.35;color:#7e6940}.multimodal-list-conflict.resolved .multimodal-list-conflict-copy span{color:#55705e}.multimodal-list-conflict-actions{display:flex;flex-wrap:wrap;gap:5px}.multimodal-list-conflict-actions button{min-height:32px;padding:5px 8px;border:1px solid #d4c39e;border-radius:9px;background:#fff;color:#5f5136;font-size:.75rem;font-weight:850;cursor:pointer}.multimodal-list-conflict-actions button.active{border-color:#789886;background:#eaf4ed;color:#315a43;box-shadow:0 0 0 1px #315a4314}.multimodal-list-conflict-actions button.skip{color:#75554d}.multimodal-list-conflict-actions button:disabled{opacity:.5;cursor:default}.multimodal-sheet.review-workspace .multimodal-conflict-summary{padding:6px 8px}.multimodal-sheet.review-workspace .multimodal-list-conflict{padding:7px 8px;gap:6px}@media(max-width:520px){.multimodal-conflict-summary{grid-template-columns:1fr}.multimodal-conflict-summary button{width:100%}.multimodal-list-conflict-actions button{flex:1 1 112px}}.multimodal-add-menu-trigger{height:48px;min-width:92px;border:1px solid #cfd9d1;border-radius:13px;background:#f4f8f5;color:var(--green);padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800;font-size:.75rem;cursor:pointer;white-space:nowrap}.multimodal-add-menu-trigger:hover{border-color:#aec1b2;background:#eef5f0}.multimodal-add-menu-trigger:disabled{opacity:.4;cursor:default}.multimodal-add-menu-trigger:focus-visible{outline:3px solid rgba(36,74,56,.15);outline-offset:2px}.multimodal-add-menu-backdrop{z-index:168}.multimodal-add-menu-sheet{width:min(100%,540px);max-height:min(88dvh,720px);overflow-y:auto;border-radius:24px 24px 0 0;background:var(--paper);padding:10px 14px max(16px,env(safe-area-inset-bottom));box-shadow:0 -14px 55px #141c1738}.multimodal-add-menu-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.multimodal-add-menu-heading h2{margin:4px 0 0;font-size:1.3125rem;letter-spacing:-.035em}.multimodal-add-menu-options{display:grid;gap:8px}.multimodal-add-menu-options>button{width:100%;min-height:66px;border:1px solid #dcded9;border-radius:15px;background:#fff;color:var(--ink);padding:10px 12px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;text-align:left;cursor:pointer}.multimodal-add-menu-options>button:hover{border-color:#bdcdbf;background:#fbfdfb}.multimodal-add-menu-options>button:disabled{opacity:.45;cursor:default}.multimodal-add-menu-options>button>span:last-child{min-width:0;display:grid;gap:3px}.multimodal-add-menu-options strong{font-size:.75rem}.multimodal-add-menu-options small{color:var(--muted);font-size:.75rem;line-height:1.4}.multimodal-add-menu-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#edf4ef;color:var(--green)}.multimodal-add-menu-icon.receipt{background:#f8f1e6;color:#77592a}.multimodal-add-menu-icon.pantry{background:#edf6ee;color:#3d6549}@media(max-width:430px){.multimodal-add-menu-trigger{min-width:48px;width:48px;padding:0}.multimodal-add-menu-trigger span{display:none}}@media(min-width:760px){.multimodal-add-menu-sheet{border-radius:24px;padding-bottom:16px}}.camera-first-capture-backdrop{z-index:169}.camera-first-capture-sheet{width:min(100%,540px);max-height:min(88dvh,720px);overflow-y:auto;border-radius:24px 24px 0 0;background:var(--paper);padding:10px 14px max(16px,env(safe-area-inset-bottom));box-shadow:0 -14px 55px #141c1738}.camera-first-capture-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.camera-first-capture-heading h2{margin:4px 0 0;font-size:1.3125rem;letter-spacing:-.035em}.camera-first-capture-copy{margin:0 0 12px;color:var(--muted);font-size:.75rem;line-height:1.45}.camera-first-capture-options{display:grid;gap:8px}.camera-first-capture-options>button{width:100%;min-height:70px;border:1px solid #dcded9;border-radius:15px;background:#fff;color:var(--ink);padding:10px 12px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;text-align:left;cursor:pointer}.camera-first-capture-options>button:hover{border-color:#bdcdbf;background:#fbfdfb}.camera-first-capture-options>button:disabled{opacity:.45;cursor:default}.camera-first-capture-options>button>span:last-child{min-width:0;display:grid;gap:3px}.camera-first-capture-options strong{font-size:.75rem}.camera-first-capture-options small{color:var(--muted);font-size:.75rem;line-height:1.42}.camera-first-capture-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#edf4ef;color:var(--green)}.camera-first-capture-icon.gallery{background:#edf3f8;color:#415f78}.camera-first-capture-icon.screenshot{background:#f7f1e8;color:#77592a}@media(min-width:760px){.camera-first-capture-sheet{border-radius:24px;padding-bottom:16px}}.camera-first-capture-sheet.capture-session-active{overflow:hidden;display:flex;flex-direction:column}.camera-capture-session{min-height:0;display:grid;gap:10px}.camera-capture-status{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;border:1px solid #c8dbcd;border-radius:13px;background:#f0f7f2}.camera-capture-status-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#dfeee3;color:var(--green)}.camera-capture-status>div{min-width:0;display:grid;gap:2px}.camera-capture-status strong{font-size:.75rem;color:var(--ink)}.camera-capture-status span{font-size:.75rem;line-height:1.4;color:#607166}.camera-capture-pages{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 5px;scroll-snap-type:x proximity}.camera-capture-page{position:relative;flex:0 0 78px;height:98px;border-radius:11px;overflow:hidden;border:1px solid #d7dbd6;background:#eceeea;scroll-snap-align:start}.camera-capture-page img{width:100%;height:100%;object-fit:cover;display:block}.camera-capture-page>span{position:absolute;left:6px;bottom:6px;min-width:22px;height:22px;display:grid;place-items:center;padding:0 5px;border-radius:999px;background:#234835eb;color:#fff;font-size:.75rem;font-weight:900}.camera-scan-next{width:100%;min-height:58px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;padding:8px 11px;border:1px dashed #94b29f;border-radius:13px;background:#f8fbf9;color:var(--green);text-align:left;cursor:pointer}.camera-scan-next>span{min-width:0;display:grid;gap:2px}.camera-scan-next strong{font-size:.75rem}.camera-scan-next small{color:#708078;font-size:.75rem;line-height:1.35}.camera-scan-next:disabled{opacity:.5;cursor:default}.camera-capture-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.camera-capture-secondary-actions button{min-height:36px;border:1px solid #d9dcd7;border-radius:10px;background:#fff;color:#5e665f;font-size:.75rem;font-weight:800;cursor:pointer}.camera-capture-secondary-actions button:disabled{opacity:.45;cursor:default}.camera-analyze-pages{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:7px}@media(max-height:600px){.camera-capture-page{flex-basis:62px;height:76px}.camera-scan-next{min-height:48px}.camera-scan-next small{display:none}}.camera-capture-preprocess-note{color:#7a837d;font-size:.75rem;line-height:1.4;text-align:center}.multimodal-learning-hub-link{width:100%;min-height:50px;margin-top:10px;border:1px solid #d8ddd8;border-radius:13px;background:#f8faf8;color:var(--ink);padding:8px 10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;cursor:pointer}.multimodal-learning-hub-link>span{display:grid;gap:2px;min-width:0}.multimodal-learning-hub-link strong{font-size:.75rem}.multimodal-learning-hub-link small{color:var(--muted);font-size:.75rem;line-height:1.35}.multimodal-learning-hub-link svg:first-child{color:#496b56}.multimodal-learning-hub-link .learning-hub-chevron{transform:rotate(-90deg);color:#778178}.multimodal-learning-hub-link:disabled{opacity:.45;cursor:default}.import-learning-backdrop{z-index:170}.import-learning-sheet{width:min(100%,620px);max-height:min(90dvh,820px);overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border-radius:25px 25px 0 0;background:var(--paper);padding:10px 14px max(16px,env(safe-area-inset-bottom));box-shadow:0 -14px 55px #141c1738}.import-learning-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.import-learning-heading>div{min-width:0}.import-learning-heading h2{margin:4px 0 5px;font-size:1.3125rem;letter-spacing:-.035em}.import-learning-heading p{margin:0;max-width:470px;color:var(--muted);font-size:.75rem;line-height:1.45}.import-learning-summary{margin:12px 0 10px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.import-learning-summary>div{min-width:0;display:grid;gap:2px;padding:8px 9px;border:1px solid #e0e3df;border-radius:11px;background:#fafbf9}.import-learning-summary strong{font-size:.9375rem;color:var(--green)}.import-learning-summary span{font-size:.75rem;line-height:1.25;color:var(--muted)}.import-learning-empty{min-height:180px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;padding:20px;color:#647169}.import-learning-empty strong{font-size:.75rem;color:var(--ink)}.import-learning-empty span{max-width:330px;font-size:.75rem;line-height:1.45}.import-learning-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;align-content:start;gap:8px;padding:2px 2px 10px}.import-learning-row{position:relative;display:grid;gap:7px;padding:10px 11px;border:1px solid #e0e2dd;border-radius:13px;background:#fff}.import-learning-row.status-active{border-color:#cbdacf;background:#fbfdfb}.import-learning-row.status-conflict{border-color:#dfc58e;background:#fffaf0}.import-learning-rule{min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;padding-right:66px;font-size:.75rem}.import-learning-rule .import-learning-source{color:#717872}.import-learning-rule .import-learning-arrow{color:#9aa09b}.import-learning-rule strong{color:var(--ink);font-size:.75rem}.import-learning-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.import-learning-meta>span{min-height:22px;display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#f0f1ef;color:#687069;font-size:.75rem;font-weight:760}.import-learning-status.active{background:#e8f3eb;color:#356047}.import-learning-status.learning{background:#eef1f5;color:#556576}.import-learning-status.conflict{background:#fff0cf;color:#76531d}.import-learning-conflict-note{padding:7px 8px;border-radius:9px;background:#fff3d8;color:#755a28;font-size:.75rem;line-height:1.4}.import-learning-remove{position:absolute;top:8px;right:8px;min-height:30px;display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid #e1d3d0;border-radius:9px;background:#fff;color:#80534e;font-size:.75rem;font-weight:800;cursor:pointer}.import-learning-footer{padding-top:9px;border-top:1px solid #e7e7e3}.import-learning-clear{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #e0cfcc;border-radius:10px;background:#fff;color:#83534d;padding:6px 10px;font-size:.75rem;font-weight:800;cursor:pointer}.import-learning-clear:disabled{opacity:.45;cursor:default}.import-learning-clear-confirm{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px}.import-learning-clear-confirm span{font-size:.75rem;line-height:1.35;color:#6d5b58}.import-learning-clear-confirm button{min-height:34px;border:1px solid #dadbd7;border-radius:9px;background:#fff;color:var(--ink);padding:5px 8px;font-size:.75rem;font-weight:800;cursor:pointer}.import-learning-clear-confirm button.danger{border-color:#d9b8b3;background:#fff4f2;color:#833f38}.multimodal-learned-correction{display:flex;align-items:center;justify-content:space-between;gap:7px;color:#486a56;font-size:.75rem;line-height:1.35;font-weight:760}.multimodal-learned-correction>span{min-width:0}.multimodal-learned-correction>button{flex:0 0 auto;min-height:28px;padding:4px 7px;border:1px solid #cbd8ce;border-radius:8px;background:#fff;color:#456650;font-size:.75rem;font-weight:850;cursor:pointer}.multimodal-learned-correction>button:disabled{opacity:.45;cursor:default}@media(max-width:520px){.import-learning-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.import-learning-summary>div{padding:7px}.import-learning-clear-confirm{grid-template-columns:1fr 1fr}.import-learning-clear-confirm span{grid-column:1 / -1}.import-learning-clear-confirm button{width:100%}}@media(min-width:760px){.import-learning-sheet{border-radius:25px;padding-bottom:16px}}.multimodal-page-recovery{margin-top:10px;border:1px solid #dce1dd;border-radius:14px;background:#fafbf9;padding:9px 10px;display:grid;gap:8px}.multimodal-page-recovery.has-failures{border-color:#dec28e;background:#fffaf0}.multimodal-page-recovery.all-good{border-color:#c9d9ce;background:#f5faf6}.multimodal-page-recovery-heading>div{min-width:0;display:grid;gap:2px}.multimodal-page-recovery-heading strong{font-size:.75rem;color:var(--ink)}.multimodal-page-recovery-heading small{font-size:.75rem;line-height:1.4;color:#6f786f}.multimodal-page-recovery-list{display:grid;gap:6px}.multimodal-page-status{min-height:46px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;border:1px solid #e0e3df;border-radius:10px;background:#fff}.multimodal-page-status.status-success{border-color:#d2dfd5}.multimodal-page-status.status-failed{border-color:#dfc18b;background:#fff8e9}.multimodal-page-status.status-analyzing,.multimodal-page-status.status-retrying{border-color:#cfd8d2;background:#f7faf8}.multimodal-page-status.preprocess-fallback.status-success{border-color:#ddd0aa;background:#fffbef}.multimodal-page-status-icon{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#eef2ef;color:#50675a}.multimodal-page-status.status-success .multimodal-page-status-icon{background:#e8f3eb;color:#356047}.multimodal-page-status.status-failed .multimodal-page-status-icon{background:#fff0d3;color:#805b20}.multimodal-page-status>div{min-width:0;display:grid;gap:2px}.multimodal-page-status strong{font-size:.75rem;color:var(--ink)}.multimodal-page-status span{font-size:.75rem;line-height:1.35;color:#6d746e}.multimodal-page-status>button{min-height:32px;padding:5px 8px;border:1px solid #d3ba84;border-radius:9px;background:#fff;color:#76551e;font-size:.75rem;font-weight:850;cursor:pointer;white-space:nowrap}.multimodal-page-status>button:disabled{opacity:.5;cursor:default}.multimodal-error>div{min-width:0;display:grid;gap:2px}.multimodal-error strong{font-size:.75rem}.multimodal-error span{font-size:.75rem;line-height:1.4}.multimodal-error.kind-vision{background:#fff5e7;color:#775322}.multimodal-error.kind-api{background:#fff0ee;color:#7d3934}.multimodal-error.kind-preprocessing,.multimodal-error.kind-input{background:#fff8e8;color:#76551e}.multimodal-error.kind-quota{background:#f6f0ff;color:#5e4d79}@media(max-width:520px){.multimodal-page-status{grid-template-columns:26px minmax(0,1fr)}.multimodal-page-status>button{grid-column:1 / -1;width:100%}}.replenishment-section{margin-top:14px;padding:13px;border:1px solid #d8e4da;border-radius:18px;background:linear-gradient(145deg,#f7fbf7,#fffdf8);box-shadow:0 5px 18px #233a2b09}.replenishment-section.shopping-mode{border-color:#cadccc;background:linear-gradient(145deg,#f0f7f1,#fbfdf8)}.replenishment-header{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:11px}.replenishment-header-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#e7f1e8;color:var(--green)}.replenishment-header h2{margin:1px 0 2px;font-size:1rem;line-height:1.2;letter-spacing:-.025em}.replenishment-header p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.4}.replenishment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.replenishment-card{min-width:0;padding:10px;border:1px solid #dfe5df;border-radius:14px;background:#ffffffd1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center}.replenishment-card.reason-cycle_due{border-color:#cfe0d1;background:#fbfefb}.replenishment-card.reason-stale{border-color:#e5dfcf;background:#fffdf8}.replenishment-card-copy{min-width:0;display:grid;gap:2px}.replenishment-signal-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:3px}.replenishment-signal-row.compact{margin-bottom:5px}.replenishment-timing,.replenishment-confidence{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:999px;font-size:.75rem;line-height:1.15;font-weight:800;letter-spacing:.005em}.replenishment-timing{background:#eef5ef;color:#315e44;border:1px solid #d5e5d7}.replenishment-timing.timing-soon{background:#f3f6ed;color:#5a6638;border-color:#e0e6cf}.replenishment-timing.timing-seasonal{background:#f6f1fa;color:#655075;border-color:#e5dced}.replenishment-timing.timing-check{background:#f5f4f0;color:#645f51;border-color:#e4e1d7}.replenishment-confidence{background:transparent;color:#6d776f;border:1px solid #e1e6e2;font-weight:750}.replenishment-card-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;letter-spacing:-.01em}.replenishment-card-copy>span{color:#637068;font-size:.75rem;font-weight:700}.replenishment-card-copy>.replenishment-household-scope,.replenishment-household-scope{display:inline-flex;width:fit-content;align-items:center;min-height:19px;padding:2px 7px;border-radius:999px;border:1px solid #dce6df;background:#f5f8f6;color:#496354;font-size:.75rem;font-weight:800;line-height:1.15}.replenishment-household-scope.scope-you{background:#eef6f0;color:#315e44;border-color:#d4e6d8}.replenishment-household-scope.scope-member{background:#f4f3f8;color:#5d5670;border-color:#e2dfeb}.replenishment-household-scope.scope-household{background:#f4f6f5;color:#53645a;border-color:#dfe5e1}.replenishment-card-copy p{margin:2px 0 0;color:#355c43;font-size:.75rem;font-weight:750;line-height:1.35}.replenishment-card.reason-stale .replenishment-card-copy p{color:#725f32}.replenishment-card-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.75rem}.replenishment-preset-prediction{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:2px}.replenishment-preset-prediction span,.replenishment-preset-inline{color:#4e6857;font-size:.75rem;font-weight:750;line-height:1.35}.replenishment-preset-prediction span:before{content:"✓ ";opacity:.72}.replenishment-add-button{min-height:34px;padding:0 10px;border:0;border-radius:10px;background:#e5efe6;color:#315e44;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:.75rem;font-weight:850;cursor:pointer}.replenishment-add-button:hover{background:#dce9de}.replenishment-add-button:disabled{opacity:.56;cursor:wait}.replenishment-digest-section{display:grid;gap:10px}.replenishment-digest-header{margin-bottom:0}.replenishment-digest-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid #dde7df;border-radius:14px;background:#ffffffb8}.replenishment-digest-copy{min-width:0;display:grid;gap:3px}.replenishment-digest-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:#3d5848}.replenishment-digest-copy span{color:var(--muted);font-size:.75rem;line-height:1.4}.replenishment-digest-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.replenishment-digest-actions button{min-height:36px;border-radius:10px;cursor:pointer}.replenishment-digest-actions .secondary-button{display:inline-flex;align-items:center;gap:5px}.replenishment-digest-actions .tertiary-button{padding:0 9px;border:1px solid transparent;background:transparent;color:#677269;font-size:.75rem;font-weight:750}.replenishment-digest-actions .tertiary-button:hover{background:#445b490f}.digest-chevron{transition:transform .16s ease}.digest-chevron.expanded{transform:rotate(180deg)}.replenishment-digest-grid{margin-top:0}@media(max-width:650px){.replenishment-section{padding:10px;border-radius:16px}.replenishment-header{grid-template-columns:32px minmax(0,1fr);gap:8px;margin-bottom:9px}.replenishment-header-icon{width:32px;height:32px;border-radius:10px}.replenishment-header h2{font-size:.875rem}.replenishment-header p{font-size:.75rem}.replenishment-grid{grid-template-columns:minmax(0,1fr);max-height:236px;overflow-y:auto;overscroll-behavior:contain}.replenishment-card{padding:9px 10px}.replenishment-card-copy small{white-space:normal}.replenishment-digest-summary{grid-template-columns:minmax(0,1fr);gap:8px;padding:9px}.replenishment-digest-copy strong{white-space:normal}.replenishment-digest-actions{justify-content:stretch}.replenishment-digest-actions button{flex:1 1 auto;min-height:44px}}@media(prefers-reduced-motion:reduce){.replenishment-add-button{transition:none}}.receipt-feedback-loop{display:grid;gap:10px;margin:0 14px 10px;padding:12px;border:1px solid rgba(76,110,78,.18);border-radius:16px;background:#f5faf5e0}.receipt-feedback-loop.is-dirty{border-color:#9a702a4d;background:#fff9eeeb}.receipt-feedback-loop.is-saved{border-color:#387f4947}.receipt-feedback-heading,.receipt-feedback-source,.receipt-feedback-substitutes-heading,.receipt-feedback-state{display:flex;align-items:center;gap:10px}.receipt-feedback-heading{justify-content:space-between;align-items:flex-start}.receipt-feedback-title{display:flex;gap:9px;align-items:center;min-width:0}.receipt-feedback-title>div{display:grid;gap:2px}.receipt-feedback-title strong{font-size:.75rem;color:var(--ink)}.receipt-feedback-list-select{display:grid;gap:4px;min-width:min(280px,48%)}.receipt-feedback-list-select span{font-size:.75rem;color:var(--muted);font-weight:700}.receipt-feedback-list-select select{width:100%;min-height:36px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);padding:6px 9px;font:inherit;font-size:.75rem}.receipt-feedback-state{min-height:38px;padding:8px 10px;border-radius:11px;background:#ffffffb8;color:var(--muted);font-size:.75rem;line-height:1.4}.receipt-feedback-state span{flex:1}.receipt-feedback-state.error{background:#fff1eff2;color:#8b3f35}.receipt-feedback-state.success{background:#eef9eff5;color:#356c40}.receipt-feedback-state button,.receipt-feedback-source button{min-height:34px;border:1px solid var(--line);border-radius:10px;padding:6px 9px;background:var(--card);color:var(--ink);font:inherit;font-size:.75rem;font-weight:700}.receipt-feedback-source{justify-content:space-between;align-items:flex-end}.receipt-feedback-source>div{display:grid;gap:2px;min-width:0}.receipt-feedback-source>div>span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.receipt-feedback-source strong{font-size:.75rem}.receipt-feedback-source small{color:var(--muted);font-size:.75rem}.receipt-feedback-source button{display:inline-flex;align-items:center;gap:5px}.receipt-feedback-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.receipt-feedback-counts span{display:grid;gap:1px;min-width:0;padding:7px 8px;border-radius:10px;background:#ffffffc7;color:var(--muted);font-size:.75rem;line-height:1.25}.receipt-feedback-counts strong{color:var(--ink);font-size:.8125rem}.receipt-feedback-counts .substitute{background:#faf5e2e0}.receipt-feedback-counts .extra{background:#eef6fbe0}.receipt-feedback-counts .missing{background:#fcefeee0}.receipt-feedback-substitutes{display:grid;gap:7px}.receipt-feedback-substitutes-heading{align-items:flex-start}.receipt-feedback-substitutes-heading>div{display:grid;gap:2px}.receipt-feedback-substitutes-heading strong{font-size:.75rem}.receipt-feedback-substitutes-heading span{color:var(--muted);font-size:.75rem;line-height:1.35}.receipt-feedback-substitute{display:grid;gap:8px;padding:9px;border-radius:11px;border:1px solid rgba(161,126,61,.19);background:#fffcf3d1}.receipt-feedback-substitute.confirmed{border-color:#397f4947;background:#f2faf3e6}.receipt-feedback-substitute>div:first-child{display:grid;gap:3px}.receipt-feedback-arrow{font-size:.75rem;line-height:1.35}.receipt-feedback-substitute small{color:var(--muted);font-size:.75rem}.receipt-feedback-substitute-actions{display:flex;flex-wrap:wrap;gap:6px}.receipt-feedback-substitute-actions button{min-height:34px;border-radius:10px;border:1px solid var(--line);padding:6px 9px;background:var(--card);color:var(--ink);font:inherit;font-size:.75rem;font-weight:700}.receipt-feedback-substitute-actions button.active{border-color:#3a804973;background:#e5f6e8f2;color:#2f6b3d}.receipt-feedback-substitute-actions button.active.secondary{border-color:#636f7b47;background:#f1f4f6f5;color:var(--ink)}.receipt-feedback-details-grid{display:grid;gap:6px}.receipt-feedback-details-grid details{border:1px solid rgba(69,81,91,.1);border-radius:10px;background:#ffffffa8;overflow:hidden}.receipt-feedback-details-grid summary{min-height:34px;display:flex;align-items:center;gap:6px;cursor:pointer;padding:7px 9px;font-size:.75rem;font-weight:700;color:var(--ink)}.receipt-feedback-details-grid details>div{display:grid;gap:4px;padding:0 9px 9px}.receipt-feedback-details-grid details>div span{font-size:.75rem;color:var(--muted);line-height:1.35}.receipt-feedback-details-grid .checked-discrepancy{color:#954a3f;font-weight:700}.receipt-feedback-pending-note{color:#806a42;font-size:.75rem;line-height:1.4}.multimodal-receipt-buy-again{display:inline-flex;align-items:center;justify-content:center;gap:6px}.receipt-feedback-save{min-width:148px}@media(max-width:640px){.multimodal-sheet.receipt-aware{max-height:calc(100dvh - max(8px,env(safe-area-inset-top)))}.multimodal-sheet.receipt-aware .multimodal-heading,.multimodal-sheet.receipt-aware .multimodal-footer{flex:0 0 auto}.multimodal-sheet.receipt-aware .multimodal-scroll-body{scrollbar-width:thin;padding-right:2px}.receipt-feedback-loop{margin-inline:8px;padding:10px}.receipt-feedback-heading{display:grid;gap:8px}.receipt-feedback-list-select{min-width:0;width:100%}.receipt-feedback-list-select select{min-height:44px;font-size:.75rem}.receipt-feedback-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-feedback-source{align-items:stretch;display:grid}.receipt-feedback-source button,.receipt-feedback-state button,.receipt-feedback-substitute-actions button{min-height:44px}.multimodal-sheet.receipt-aware .multimodal-footer .multimodal-receipt-buy-again,.multimodal-sheet.receipt-aware .multimodal-footer .receipt-feedback-save{flex:1 1 46%;min-height:46px}}@media(max-width:640px){.multimodal-sheet.receipt-aware .multimodal-footer{grid-template-columns:repeat(2,minmax(0,1fr))}.multimodal-sheet.receipt-aware .multimodal-footer .multimodal-receipt-buy-again,.multimodal-sheet.receipt-aware .multimodal-footer .receipt-feedback-save,.multimodal-sheet.receipt-aware .multimodal-footer .multimodal-commit{grid-column:auto;width:100%}}.smart-quick-add-item.reason-adaptive{border-color:#c9ded0;background:#fbfefb}.smart-quick-add-item.reason-adaptive .smart-quick-add-item-icon{background:#e6f1e8;color:#315b44}.memory-adaptive-hint{color:#3f6a4f;font-weight:700}.memory-adaptive-hint.confidence-learning{color:#6a6f58;font-weight:650}.pre-shopping-review-backdrop{align-items:center;padding:16px}.pre-shopping-review-sheet{width:min(94vw,620px);max-height:min(88dvh,760px);display:flex;flex-direction:column;min-height:0;background:var(--paper);border:1px solid rgba(36,74,56,.12);border-radius:var(--ui-radius-dialog, 22px);padding:22px;box-shadow:0 24px 70px #141c1738}.pre-shopping-review-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;margin-bottom:12px;background:#edf3ed;color:var(--green)}.pre-shopping-review-sheet h2{margin:5px 0 8px;font-size:1.375rem;line-height:1.2;letter-spacing:-.035em}.pre-shopping-review-summary{margin:0;color:var(--muted);font-size:.8125rem;line-height:1.6}.pre-shopping-review-summary.compact{margin-bottom:14px}.pre-shopping-review-actions{margin-top:18px}.pre-shopping-review-scroll{min-height:0;overflow-y:auto;display:grid;gap:16px;padding:2px 2px 4px;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.pre-shopping-review-group{display:grid;gap:9px}.pre-shopping-review-group-title{display:flex;gap:12px;align-items:center;justify-content:space-between}.pre-shopping-review-group-title>div{min-width:0;display:grid;gap:3px}.pre-shopping-review-group-title strong{font-size:.8125rem;color:var(--ink)}.pre-shopping-review-group-title span:not(.count-pill){font-size:.75rem;color:var(--muted)}.pre-shopping-review-list{display:grid;gap:7px}.pre-shopping-review-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid #e4e2da;border-radius:14px;background:#fff}.pre-shopping-review-row>div{min-width:0;display:grid;gap:3px}.pre-shopping-review-row strong{font-size:.75rem;color:var(--ink)}.pre-shopping-review-row span{font-size:.75rem;line-height:1.4;color:var(--muted)}.pre-shopping-review-row>button{min-height:38px;padding:0 11px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.pre-shopping-review-row .danger-text{color:var(--danger)}.pre-shopping-review-clear{min-height:120px;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;color:var(--green)}.pre-shopping-review-clear span{color:var(--muted);font-size:.75rem}@media(max-width:560px){.pre-shopping-review-backdrop{align-items:flex-end;padding:0}.pre-shopping-review-sheet{width:100%;max-height:92dvh;border-radius:var(--ui-radius-sheet, 26px) var(--ui-radius-sheet, 26px) 0 0;padding:18px 16px max(18px,env(safe-area-inset-bottom))}.pre-shopping-review-actions,.pre-shopping-review-row{grid-template-columns:1fr}.pre-shopping-review-row>button{width:100%;justify-content:center}}.store-intelligence-panel{margin:0 0 12px;padding:12px;border:1px solid var(--line, #dfe5df);border-radius:18px;background:#f5f8f5db}.store-intelligence-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.store-intelligence-head>div{display:flex;flex-direction:column;gap:2px}.store-intelligence-head small,.store-switch-strip small{color:var(--muted, #6f7772);font-size:.74rem;font-weight:500}.last-store-badge{flex:0 0 auto;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid var(--line, #dfe5df);font-size:.72rem;color:var(--muted, #6f7772)}.store-switch-strip{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin}.store-switch-strip button{flex:0 0 auto;min-width:132px;display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:14px;border:1px solid var(--line, #dfe5df);background:#fff;color:inherit;text-align:left}.store-switch-strip button>span{min-width:0;display:flex;flex:1;flex-direction:column;gap:1px}.store-switch-strip button strong{max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.store-switch-strip button.active{border-color:#2d684e;background:#edf6f0;color:#204f3d}.store-switch-status{display:flex;align-items:center;gap:6px;margin-top:7px;font-size:.78rem;color:var(--muted, #6f7772)}.store-typical-products{margin-top:10px;padding-top:10px;border-top:1px solid var(--line, #dfe5df);display:flex;flex-direction:column;gap:6px}.store-typical-products>span{font-size:.76rem;color:var(--muted, #6f7772);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.store-typical-products>div{display:flex;flex-wrap:wrap;gap:6px}.store-typical-products>div>span{padding:5px 8px;border-radius:999px;background:#fff;border:1px solid var(--line, #dfe5df);font-size:.77rem}@media(max-width:640px){.store-intelligence-head{align-items:stretch;flex-direction:column}.last-store-badge{max-width:100%;align-self:flex-start}.store-switch-strip button{min-width:122px}}.price-estimate-card{margin:0 0 14px;padding:13px 15px;border:1px solid rgba(43,91,66,.14);border-radius:18px;background:#eff7f1c7}.price-estimate-card>div{display:grid;gap:3px}.price-estimate-card strong{color:var(--ink);font-size:.9375rem}.price-estimate-card small{color:var(--muted);font-size:.75rem;line-height:1.45}.receipt-total-chip{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:8px 10px;border-radius:11px;background:#ecf6eff0;color:#315c43}.receipt-total-chip span{font-size:.75rem;font-weight:750}.receipt-total-chip strong{font-size:.875rem}.multimodal-price-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.multimodal-price-row label{display:grid;gap:3px}.multimodal-price-row label>span{color:var(--muted);font-size:.75rem;font-weight:750}.multimodal-price-row input{width:100%;min-height:38px;border:1px solid #d9d5ca;border-radius:10px;background:#fff;padding:7px 9px;color:var(--ink);font:inherit;font-size:.75rem}.multimodal-price-row input:focus{border-color:#71877a;box-shadow:0 0 0 3px #244a3812;outline:none}.basket-history-card{display:grid;gap:12px;margin-bottom:16px;padding:15px;border:1px solid rgba(35,74,56,.14);border-radius:20px;background:#f9faf7f2}.basket-history-heading h2{margin:2px 0 4px}.basket-history-heading p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.45}.basket-history-recent{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.basket-history-basket{display:grid;gap:2px;padding:10px;border-radius:13px;background:#fff;border:1px solid rgba(0,0,0,.06)}.basket-history-basket span{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.basket-history-basket strong{font-size:.9375rem;color:var(--ink)}.basket-history-basket small{font-size:.75rem;color:var(--muted);line-height:1.35}.basket-history-products{display:grid;gap:6px}.basket-history-product{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:2px 10px;align-items:center;padding:11px 10px 11px 12px;border-radius:var(--radius-md, 12px);background:var(--surface, #fff);border:1px solid var(--border-subtle, rgba(0,0,0,.055));color:inherit;font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-xs, none);transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease}.basket-history-product:hover{border-color:var(--border-strong, rgba(27,82,62,.2));box-shadow:var(--shadow-sm, 0 4px 14px rgba(20,45,35,.07))}.basket-history-product:active{transform:scale(.992);background:var(--surface-subtle, #f7faf8)}.basket-history-product:focus-visible{outline:3px solid var(--focus-ring, rgba(31,111,78,.28));outline-offset:2px}.basket-history-product-chevron{grid-column:3;grid-row:1 / span 2;color:var(--muted);opacity:.72;justify-self:end}.basket-history-product>div{min-width:0;display:grid;gap:2px}.basket-history-product strong{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.basket-history-product span,.basket-history-product small{font-size:.75rem;color:var(--muted)}.basket-history-product>small:nth-of-type(2){grid-column:1 / 3}.basket-history-product .price-up{color:#9a4f3b;font-weight:800}.basket-history-product .price-down{color:#34704a;font-weight:800}@media(max-width:620px){.basket-history-recent{grid-template-columns:1fr}.multimodal-price-row{grid-template-columns:1fr 1fr}.basket-history-product{grid-template-columns:minmax(0,1fr) auto 20px}}.item-author{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.item-author span+span:before{content:"·";margin-right:6px;opacity:.55}.shopping-assistant-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;min-height:0;overflow-y:auto}.shopping-assistant-brief-row{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:start;padding:10px;border:1px solid #e4e2da;border-radius:14px;background:#fff}.shopping-assistant-brief-row.wide{grid-column:1 / -1}.shopping-assistant-brief-row.has-signal{border-color:#c9ded0;background:#fbfefb}.shopping-assistant-brief-row.has-attention{border-color:#e3d2ad;background:#fffdf7}.shopping-assistant-brief-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#edf3ed;color:var(--green)}.shopping-assistant-brief-row.has-attention .shopping-assistant-brief-icon{background:#f8f0df;color:#80632f}.shopping-assistant-brief-row>div{min-width:0;display:grid;gap:2px}.shopping-assistant-brief-row small{color:var(--muted);font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.shopping-assistant-brief-row strong{color:var(--ink);font-size:.75rem;line-height:1.35;overflow-wrap:anywhere}.shopping-assistant-brief-row span:not(.shopping-assistant-brief-icon){color:var(--muted);font-size:.75rem;line-height:1.35;overflow-wrap:anywhere}@media(max-width:560px){.shopping-assistant-brief-grid{grid-template-columns:1fr}.shopping-assistant-brief-row.wide{grid-column:auto}.shopping-assistant-brief-sheet{max-height:94dvh}}.check-button.state-marker{cursor:default;pointer-events:none;opacity:.45}.check-button.state-marker:before{background:var(--surface, #fff);border-style:dashed}.state-aware-menu-note{display:flex;align-items:center;gap:.55rem;padding:.75rem .85rem;border-radius:.85rem;background:#3f604614;font-size:.85rem;line-height:1.35}.offline-queue-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.offline-queue-actions .text-button{margin:0}.multimodal-session-recovery-note{display:block;padding:7px 9px;border:1px solid rgba(51,101,72,.18);border-radius:10px;background:#eef7f0eb;color:#41614b;font-size:.75rem;line-height:1.4}.basket-history-latest{display:grid;gap:3px;padding:11px 12px;border-radius:14px;background:#235b4314;border:1px solid rgba(35,91,67,.12)}.basket-history-latest span{font-size:.75rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.basket-history-latest strong{font-size:1.1875rem;color:var(--ink)}.basket-history-latest small{font-size:.75rem;color:var(--muted);line-height:1.4}.basket-history-product .price-stable{color:var(--muted);font-weight:750}.suggestion-why-label{font-weight:800;color:var(--ink)}.suggestion-feedback-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.suggestion-feedback-actions button{border:0;background:transparent;padding:3px 0;color:var(--muted);font:inherit;font-size:.75rem;font-weight:800;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.suggestion-feedback-actions button+button{margin-left:7px}.suggestion-feedback-actions button:disabled{opacity:.5;cursor:wait}.suggestion-feedback-actions.compact{margin-top:4px}.suggestion-why-inline{display:block;white-space:normal!important;opacity:.9}.store-typical-products>div>span{display:inline-grid;gap:1px}.store-typical-products>div>span small{font-size:.75rem;font-weight:650;opacity:.78}.pre-shopping-review-row>div>small{color:var(--muted);font-size:.75rem}.history-card-hint{font-size:.78rem;color:var(--muted, #68706c);align-self:center;margin-right:auto}.receipt-finish-back-row{display:flex;justify-content:center;margin:.15rem 0 .55rem}.receipt-finish-back-row .text-button{border:0;background:transparent;text-decoration:underline;font:inherit;font-weight:700;cursor:pointer;padding:.35rem .55rem}@media(max-width:640px){.history-card-hint{display:none}}.pantry-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px}.pantry-empty-actions .primary-button,.pantry-empty-actions .secondary-button{width:auto;min-height:42px;padding:0 14px}.progressive-more-menu{position:relative;flex:0 0 auto}.progressive-more-trigger{list-style:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;font-size:.75rem;font-weight:800;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.progressive-more-menu.open .progressive-more-trigger,.progressive-more-trigger:hover,.progressive-more-trigger:focus-visible{border-color:var(--line-strong, #c8d2cb);background:var(--surface-soft, #f5f8f6);outline:none}.progressive-more-menu.icon-only .progressive-more-trigger{width:38px;min-width:38px;padding:0;border-radius:50%}.topbar-more-menu .progressive-more-trigger{width:36px;min-width:36px;min-height:36px;border-radius:11px}.progressive-more-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140}.progressive-more-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#12191529;cursor:default}.progressive-more-popover{position:fixed;z-index:141;min-width:210px;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface, #fffdfa);box-shadow:0 14px 38px #14221929;overflow:auto}.progressive-more-popover.desktop-anchor{max-width:min(280px,calc(100vw - 24px))}.progressive-more-popover.mobile-sheet{left:12px;right:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));min-width:0;max-height:min(75vh,460px);padding:10px 8px calc(8px + env(safe-area-inset-bottom,0px));border-radius:18px;box-shadow:0 18px 50px #1422193d}.progressive-more-popover.mobile-sheet:before{content:"";display:block;width:42px;height:4px;margin:2px auto 10px;border-radius:999px;background:#d8ddd7}.progressive-more-popover button{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:46px;padding:11px 12px;border:0;border-radius:12px;background:transparent;color:var(--text);text-align:left;font:inherit;font-size:.8125rem;font-weight:700;line-height:1.25;cursor:pointer}.progressive-more-popover button>span{min-width:0;overflow-wrap:anywhere}.progressive-more-popover button:hover,.progressive-more-popover button:focus-visible{background:var(--surface-soft, #f5f8f6);outline:none}.progressive-more-popover button small{min-width:24px;padding:2px 6px;border-radius:999px;background:var(--surface-strong, #eef3ef);color:var(--muted);text-align:center;font-size:.75rem;justify-self:end}.progressive-more-popover .danger-menu-action{color:#a23838}.progressive-more-popover .danger-menu-action:hover,.progressive-more-popover .danger-menu-action:focus-visible{background:#fff3f2}.list-tools-more-menu .progressive-more-trigger{min-height:36px;border-radius:10px}.list-tools-more-menu .density-lines{width:16px;height:14px;display:inline-flex;flex-direction:column;justify-content:center;gap:2px}.list-tools-more-menu .density-lines i{display:block;width:15px;height:2px;border-radius:999px;background:currentColor}.list-card-more-menu .progressive-more-popover{min-width:170px}.shopping-list-card-actions .list-card-more-menu{margin-left:auto}@media(max-width:760px){.progressive-more-popover button{min-height:50px;font-size:.875rem}}.smart-default-hint,.smart-default-sheet-hint{display:block;margin-top:5px;color:#65736a;font-size:.75rem;line-height:1.4;font-weight:600}.smart-default-sheet-hint{max-width:360px;margin-top:4px}.smart-default-inline{margin-left:4px;color:#728077;font-size:.75rem;font-weight:700;text-transform:none;letter-spacing:0}.multimodal-add-menu-options>.state-aware-menu-note{order:99}.recovery-copy{display:grid;gap:5px;margin-top:2px}.recovery-copy>span{display:block;line-height:1.42}.recovery-copy b{font-weight:850}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}#main-content:focus{outline:none}:where(button,a[href],input,select,textarea,summary,[role=button],[role=menuitem],[role=option],[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid #174b31;outline-offset:3px}.primary-button:focus-visible,.danger-button:focus-visible,.mic-button:focus-visible,.one-hand-shopping-dock>button:focus-visible,.one-hand-shopping-entry-dock>button:focus-visible{outline-color:#fffdfa;box-shadow:0 0 0 5px #174b31}[role=dialog][tabindex="-1"],[role=alertdialog][tabindex="-1"]{outline:none}.topbar{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.content{max-width:100%;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.batch-action-bar,.one-hand-shopping-dock,.one-hand-shopping-entry-dock{max-width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 14px)}.progressive-more-popover.mobile-sheet{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}.edit-sheet,.memory-hub-sheet,.category-route-sheet,.sticky-add-sheet,.action-menu-sheet,.context-help-sheet,.multimodal-sheet,.voice-settings-sheet,.voice-diagnostics-sheet,.camera-first-capture-sheet,.import-learning-sheet,.multimodal-add-menu-sheet{padding-left:max(13px,env(safe-area-inset-left));padding-right:max(13px,env(safe-area-inset-right))}.auth-note,.member-row>small,.multimodal-source-verification-copy span,.pantry-hub-item-copy span{color:#686e68}.topbar{min-height:76px;height:auto}.topbar h1,.household-title-button h1,.shopping-list-card h3,.list-heading h2,.bought-header h2,.sheet-header h2{overflow-wrap:anywhere}button,summary,[role=button],[role=menuitem]{touch-action:manipulation}@media(hover:none),(pointer:coarse){summary,[role=button],[role=menuitem],[role=option]{min-height:44px}.progressive-more-trigger,.list-delete-button,.close-button{min-width:44px;min-height:44px}}@media(max-width:650px){.topbar{grid-template-columns:minmax(44px,auto) minmax(0,1fr) auto;align-items:center}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.household-subtitle{max-width:min(48vw,220px)}.sheet-header,.source-verification-heading,.family-section-heading{min-width:0}.sheet-header>:first-child,.source-verification-heading>:first-child,.family-section-heading>:first-child{min-width:0}.form-grid,.split-family-actions{grid-template-columns:minmax(0,1fr)}.progressive-more-popover button,.action-menu-list button,.context-help-item{white-space:normal;overflow-wrap:anywhere}}@media(max-width:430px){.one-hand-shopping-dock>button>span,.one-hand-shopping-dock>.one-hand-next small{white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}@media(prefers-reduced-motion:reduce){.progressive-more-layer,.progressive-more-popover,.one-hand-shopping-dock,.one-hand-shopping-entry-dock,.source-verification-backdrop,.source-verification-dialog{animation:none!important;transition:none!important}}@media(forced-colors:active){:where(button,a[href],input,select,textarea,summary,[role=button],[role=menuitem]):focus-visible{outline:3px solid Highlight}}@media(prefers-reduced-motion:no-preference){button:not(:disabled),[role=button]:not([aria-disabled=true]){transition-property:transform,background-color,border-color,box-shadow,opacity;transition-duration:90ms;transition-timing-function:ease-out}button:not(:disabled):active,[role=button]:not([aria-disabled=true]):active{transform:scale(.985)}}.state-skeleton,.skeleton-card,.skeleton-detail-hero{contain:layout paint}.state-skeleton-cards{min-height:286px}.state-skeleton-detail{min-height:250px}.state-skeleton-memory{min-height:220px}.list-shopping-button,.primary-button,.secondary-button,.danger-button,.multimodal-add-menu-trigger,.sticky-image-button,.sticky-voice-button{contain:layout}.list-shopping-button>svg,.primary-button>svg,.secondary-button>svg,.danger-button>svg{flex:0 0 auto}.shopping-row.toggle-pending,.shopping-list-card-actions,.voice-status{contain:layout paint}@media(prefers-reduced-motion:reduce){button,[role=button]{transition:none!important;transform:none!important}}.invite-auth-banner{display:flex;gap:10px;align-items:flex-start;margin:16px 0 18px;padding:12px 13px;border:1px solid #cfddd2;border-radius:14px;background:#eef5ef;color:#31543f}.invite-auth-banner>svg{flex:0 0 auto;margin-top:1px}.invite-auth-banner>div{display:grid;gap:3px;min-width:0}.invite-auth-banner strong{font-size:.75rem}.invite-auth-banner span{color:#617267;font-size:.75rem;line-height:1.45}.family-manage-details{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.family-manage-details>summary{min-height:44px;display:flex;align-items:center;padding:0 12px;cursor:pointer;color:#58615b;font-size:.75rem;font-weight:800;list-style:none}.family-manage-details>summary::-webkit-details-marker{display:none}.family-manage-details>summary:after{content:"›";margin-left:auto;font-size:1.0625rem;transform:rotate(90deg);transition:transform .15s ease}.family-manage-details[open]>summary:after{transform:rotate(270deg)}.family-manage-details .household-switch-list{padding:0 8px 8px}.family-manage-details .family-rename{margin:0 8px 8px}.guided-invite-card{display:grid;gap:9px}.invite-card.guided-invite-card>div{margin:0}.invite-code-row{justify-content:center!important;padding:7px;border-radius:11px;background:#ffffffa6}.guided-invite-explainer{margin:0;color:#53655a;font-size:.75rem;line-height:1.5}.guided-invite-actions{display:grid!important;grid-template-columns:1.2fr 1fr;gap:7px!important}.invite-card .guided-invite-actions button{min-height:42px;justify-content:center}.invite-card .guided-invite-actions .guided-invite-share{background:var(--green);color:#fff;border:1px solid var(--green)}.invite-card .guided-invite-actions .guided-invite-share:hover,.invite-card .guided-invite-actions .guided-invite-share:focus-visible{background:#1d3f30;color:#fff}.invite-card .guided-invite-actions .guided-invite-copy{background:#fff;color:var(--ink);border:1px solid #d9ddd8}.invite-card .guided-invite-actions button>span{color:inherit;font-size:inherit;font-weight:inherit;text-transform:none;letter-spacing:normal}.guided-invite-steps{list-style:none;display:grid;gap:6px;margin:0;padding:2px 0}.guided-invite-steps li{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;color:#52635a;font-size:.75rem}.guided-invite-steps b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#dfeadf;color:#31543f;font-size:.75rem}@media(max-width:520px){.guided-invite-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.family-manage-details>summary:after{transition:none}}:root{--ux-color-bg: #f7f5ef;--ux-color-surface: #fffdfa;--ux-color-text: #1d211f;--ux-color-muted: #686e68;--ux-color-line: #e5e2d9;--ux-color-primary: #244a38;--ux-color-primary-soft: #dfe8df;--ux-color-danger: #9a3c35;--ux-control-min: 44px;--ux-control-comfort: 48px;--ux-radius-control: 12px;--ux-radius-card: 18px;--ux-radius-sheet: 26px;--ux-focus-ring: #174b31;--ux-shadow-card: 0 10px 32px rgba(35,42,38,.07);--ux-shadow-overlay: 0 18px 50px rgba(20,34,25,.24)}.primary-button,.secondary-button,.danger-button{min-height:var(--ux-control-min);border-radius:var(--ux-radius-control);line-height:1.2}.primary-button{background:var(--ux-color-primary);color:#fff}.secondary-button{background:var(--ux-color-surface);color:var(--ux-color-text);border-color:#d8d5cd}.danger-button{color:#fff}.text-button{min-height:var(--ux-control-min);display:inline-flex;align-items:center;gap:6px}.edit-sheet,.memory-hub-sheet,.category-route-sheet,.sticky-add-sheet,.action-menu-sheet,.context-help-sheet,.multimodal-sheet,.voice-settings-sheet,.voice-diagnostics-sheet,.camera-first-capture-sheet,.import-learning-sheet,.multimodal-add-menu-sheet{box-shadow:var(--ux-shadow-overlay)}:where(.primary-button,.secondary-button,.danger-button,.text-button,.close-button,.icon-button,.progressive-more-trigger):disabled{cursor:not-allowed}:where(.primary-button,.secondary-button,.danger-button,.text-button,.close-button,.icon-button,.progressive-more-trigger):focus-visible{outline:3px solid var(--ux-focus-ring);outline-offset:3px}[aria-busy=true] :where(button,[role=button]),button[aria-busy=true]{cursor:progress}.input-hint,.action-menu-list small,.context-help-item small,.recovery-copy span{color:var(--ux-color-muted)}@media(hover:none),(pointer:coarse){:where(button,summary,[role=button],[role=menuitem],[role=option]){min-height:var(--ux-control-min)}}@media(max-width:650px){.sheet-actions,.voice-confirm-actions{grid-template-columns:minmax(0,1fr)}.sheet-actions>button,.voice-confirm-actions>button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}.pantry-intelligence-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:1px}.pantry-intelligence-badge{min-height:20px;display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #d9e0da;border-radius:999px;background:#f6f8f5;color:#5d685f;font-size:.75rem;font-weight:800;line-height:1.2;white-space:nowrap}.pantry-intelligence-badge.quantity-confirmed{border-color:#bcd3c2;background:#edf6ef;color:#315c43}.pantry-intelligence-badge.quantity-estimated{border-color:#d7cfad;background:#faf7e9;color:#746322}.pantry-intelligence-badge.quantity-unknown{border-color:#dfe1df;background:#f5f5f4;color:#6e7470}.pantry-intelligence-badge.source{background:#f7f8f7;color:#657069}.pantry-stock-estimate{display:grid;gap:2px;margin-top:2px;padding:5px 7px;border:1px solid #dfe4df;border-radius:9px;background:#f8faf8}.pantry-stock-estimate>strong{font-size:.75rem;line-height:1.25;color:#4f5d53}.pantry-stock-estimate>span{font-size:.75rem;line-height:1.35;color:#6b746e}.pantry-stock-estimate.stock-confirmed{border-color:#bfd8c6;background:#f0f7f1}.pantry-stock-estimate.stock-confirmed>strong{color:#315c43}.pantry-stock-estimate.stock-likely_have{border-color:#cbdccf;background:#f3f8f4}.pantry-stock-estimate.stock-likely_have>strong{color:#3f664c}.pantry-stock-estimate.stock-running_low{border-color:#ddd3ad;background:#fbf8eb}.pantry-stock-estimate.stock-running_low>strong{color:#776527}.pantry-stock-estimate.stock-likely_empty{border-color:#e3c8c4;background:#fbf2f1}.pantry-stock-estimate.stock-likely_empty>strong{color:#8a4a43}.pantry-stock-estimate.stock-unknown{background:#f7f7f6;border-color:#e1e3e1}.pantry-quick-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}.pantry-quick-actions button{min-height:30px;border:1px solid #ced9d0;border-radius:9px;padding:0 8px;background:#f5f8f5;color:#3f624b;font-size:.75rem;font-weight:850;cursor:pointer}.pantry-quick-actions button.depleted{border-color:#e1cbc6;background:#fff7f5;color:#8c5048}.pantry-quick-actions button.quantity{background:#f7f6f1;color:#62685f}.pantry-quick-actions button:hover{filter:brightness(.98)}.pantry-quick-actions button:focus-visible,.pantry-quantity-correction button:focus-visible,.pantry-quantity-correction input:focus-visible,.pantry-quantity-correction select:focus-visible{outline:3px solid rgba(61,101,77,.18);outline-offset:1px}.pantry-quantity-correction{display:grid;grid-template-columns:minmax(70px,.7fr) minmax(90px,1fr) auto auto;gap:5px;align-items:end;margin-top:4px;padding:7px;border:1px solid #d8dfd9;border-radius:10px;background:#f8faf8}.pantry-quantity-correction label{min-width:0;display:grid;gap:2px}.pantry-quantity-correction label>span{font-size:.75rem;font-weight:800;color:#68736b}.pantry-quantity-correction input,.pantry-quantity-correction select{min-width:0;width:100%;min-height:34px;border:1px solid #cfd8d0;border-radius:8px;padding:0 8px;background:#fff;color:var(--ink);font:inherit;font-size:.75rem}.pantry-quantity-correction .select-wrap{min-width:0;width:100%}.pantry-quantity-correction .select-wrap select{padding-right:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pantry-correction-hint{grid-column:1 / -1;color:#657068!important;font-size:.75rem!important;line-height:1.4}.pantry-consume-correction{border-color:#cbdccf;background:#f5f9f5}.pantry-quantity-correction>button{min-height:34px;border:1px solid #365f47;border-radius:8px;padding:0 8px;background:#365f47;color:#fff;font-size:.75rem;font-weight:850;cursor:pointer}.pantry-quantity-correction>button.cancel{border-color:#d8ddd9;background:#fff;color:#666e68}.pantry-quantity-correction-error{grid-column:1 / -1;color:#934b43!important;font-size:.75rem!important}@media(max-width:560px){.pantry-hub-item{grid-template-columns:auto minmax(0,1fr) 34px;gap:7px;padding-inline:7px}.pantry-quick-actions{gap:4px}.pantry-quick-actions button{min-height:32px;padding-inline:7px}.pantry-quantity-correction{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pantry-quantity-correction>button{min-height:34px}}.pantry-quick-actions button.expiry{border-color:#d8d3bd;background:#fbf9f0;color:#6f622e}.pantry-expiry-summary{display:grid;gap:4px;margin-top:3px;padding:6px 7px;border:1px solid #dfe2d7;border-radius:9px;background:#fafbf7}.pantry-expiry-summary-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pantry-expiry-summary-head>strong{color:#53604f;font-size:.75rem;line-height:1.25}.pantry-expiry-summary-head>span,.pantry-expiry-summary>span{color:#6f786e;font-size:.75rem;line-height:1.35}.pantry-expiry-summary.expiry-use_soon,.pantry-expiry-batch.expiry-use_soon{border-color:#ddd2a7;background:#fcf8e8}.pantry-expiry-summary.expiry-use_soon .pantry-expiry-summary-head>strong{color:#7a6520}.pantry-expiry-summary.expiry-upcoming,.pantry-expiry-batch.expiry-upcoming{border-color:#e4dcc1;background:#fbf9f1}.pantry-expiry-summary.expiry-expired,.pantry-expiry-batch.expiry-expired{border-color:#e2c8c3;background:#fcf3f1}.pantry-expiry-summary.expiry-expired .pantry-expiry-summary-head>strong{color:#8a4a43}.pantry-expiry-batches{display:grid;gap:4px}.pantry-expiry-batch{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding:5px 6px;border:1px solid #e3e5df;border-radius:8px;background:#fff}.pantry-expiry-batch>div{min-width:0;display:grid;gap:2px}.pantry-expiry-batch strong{overflow:hidden;color:#4d584f;font-size:.75rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.pantry-expiry-batch span{color:#737a74;font-size:.75rem;line-height:1.35}.pantry-expiry-batch>button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dcded9;border-radius:8px;background:#fffc;color:#737973;cursor:pointer}.pantry-expiry-editor{display:grid;grid-template-columns:minmax(118px,1.1fr) minmax(135px,1fr) minmax(82px,.65fr) minmax(90px,.8fr);gap:5px;align-items:end;margin-top:4px;padding:7px;border:1px solid #ddd8c4;border-radius:10px;background:#fbfaf4}.pantry-expiry-editor label{min-width:0;display:grid;gap:2px}.pantry-expiry-editor label>span{color:#6c7168;font-size:.75rem;font-weight:800}.pantry-expiry-editor label>span small{font-size:.75rem;font-weight:700}.pantry-expiry-editor input,.pantry-expiry-editor select{min-width:0;width:100%;min-height:34px;border:1px solid #d4d6cb;border-radius:8px;padding:0 8px;background:#fff;color:var(--ink);font:inherit;font-size:.75rem}.pantry-expiry-editor .select-wrap{min-width:0;width:100%}.pantry-expiry-editor .select-wrap select{padding-right:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pantry-expiry-source-field{grid-column:span 2}.pantry-expiry-editor-note{grid-column:1 / -1;color:#72766e!important;font-size:.75rem!important;line-height:1.4}.pantry-expiry-editor>button{min-height:34px;border:1px solid #6f6538;border-radius:8px;padding:0 9px;background:#6f6538;color:#fff;font-size:.75rem;font-weight:850;cursor:pointer}.pantry-expiry-editor>button.cancel{border-color:#d8ddd9;background:#fff;color:#666e68}.pantry-expiry-editor button:focus-visible,.pantry-expiry-editor input:focus-visible,.pantry-expiry-editor select:focus-visible,.pantry-expiry-batch>button:focus-visible{outline:3px solid rgba(111,101,56,.18);outline-offset:1px}@media(max-width:640px){.pantry-expiry-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pantry-expiry-source-field{grid-column:1 / -1}.pantry-expiry-editor>button{min-height:36px}.pantry-expiry-batch strong{white-space:normal}}.replenishment-pantry-signal,.pantry-restock-hint{display:grid;gap:2px;margin-top:4px;padding:6px 8px;border:1px solid #d8e3d9;border-radius:9px;background:#f5f9f5;color:#526459;font-size:.75rem;line-height:1.35}.replenishment-pantry-signal.pantry-running_low,.pantry-restock-hint{border-color:#ded7b9;background:#fbf8ec;color:#73642c}.replenishment-pantry-signal.pantry-likely_empty{border-color:#e0d2c9;background:#fbf5f1;color:#785b4d}.pantry-restock-hint strong,.pantry-restock-hint span{font-size:.75rem}.pantry-quick-actions button.pantry-restock{border-color:#c8d9cb;background:#eff7f0;color:#356047;font-weight:850}.replenishment-pantry-inline{color:#58685d;font-size:.75rem;line-height:1.35}.multimodal-recipe-pantry-badge{min-height:24px;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;border:1px solid #d3ddd4;background:#f5f7f4;color:#516158;font-size:.75rem;font-weight:850;white-space:nowrap}.multimodal-recipe-pantry-badge.state-enough{background:#e7f3e9;border-color:#bfd8c4;color:#326247}.multimodal-recipe-pantry-badge.state-likely_have{background:#eef4e9;border-color:#d0dcbd;color:#597039}.multimodal-recipe-pantry-badge.state-partial{background:#fff6df;border-color:#e4d3a4;color:#7c641f}.multimodal-recipe-pantry-badge.state-missing{background:#fff0ea;border-color:#e5c4b9;color:#8a4d3e}.multimodal-recipe-pantry-badge.state-check{background:#f5f1e8;border-color:#ddd2bc;color:#6e6147}.multimodal-recipe-pantry-decision{display:grid;gap:2px;padding:7px 9px;border:1px solid #dce4dc;border-radius:10px;background:#f8faf7}.multimodal-recipe-pantry-decision strong{font-size:.75rem;color:#405349}.multimodal-recipe-pantry-decision span{font-size:.75rem;line-height:1.4;color:#68756d}.multimodal-recipe-pantry-decision small{font-size:.75rem;font-weight:800;color:#6c5926}.multimodal-recipe-pantry-decision.state-partial{background:#fffaf0;border-color:#e7d9b6}.multimodal-recipe-pantry-decision.state-missing{background:#fff7f3;border-color:#ead2c8}.pantry-recipe-plan{margin-top:10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 11px;border:1px solid #d9d5bd;border-radius:13px;background:#fbf8ee}.pantry-recipe-plan-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#f0ead6;color:#735f2c}.pantry-recipe-plan-copy{min-width:0;display:grid;gap:2px}.pantry-recipe-plan-copy strong{font-size:.75rem;color:var(--ink)}.pantry-recipe-plan-copy>span:last-child{font-size:.75rem;line-height:1.4;color:#736d5a}.pantry-recipe-plan-actions{display:grid;gap:4px;justify-items:stretch}.pantry-recipe-plan-actions .primary-button{min-height:34px;padding:6px 9px;font-size:.75rem;white-space:nowrap}.pantry-recipe-plan-actions .text-button{min-height:28px;font-size:.75rem}@media(max-width:560px){.pantry-recipe-plan{grid-template-columns:auto minmax(0,1fr)}.pantry-recipe-plan-actions{grid-column:1 / -1;grid-template-columns:1fr auto}.pantry-recipe-plan-actions .primary-button{white-space:normal}}.pantry-household-attribution{color:#4f6658!important;font-weight:750}.pantry-digest-section{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:8px 0 10px;padding:11px 12px;border:1px solid #d7ded3;border-radius:14px;background:#f7faf5}.pantry-digest-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#e8f1e7;color:#45634b}.pantry-digest-copy{min-width:0;display:grid;gap:2px}.pantry-digest-copy strong{color:var(--ink);font-size:.75rem;line-height:1.35}.pantry-digest-copy>span:not(.section-kicker){color:#607064;font-size:.75rem;line-height:1.35}.pantry-digest-copy small{color:#7a837c;font-size:.75rem;line-height:1.35}.pantry-digest-actions{display:grid;gap:5px;min-width:128px}.pantry-digest-actions button{min-height:40px}.pantry-sync-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;margin-top:9px;padding:9px 10px;border:1px solid #d9dfd7;border-radius:12px;background:#f7f9f6}.pantry-sync-notice.offline{border-color:#ddd5bd;background:#fbf8ef}.pantry-sync-notice.pending{border-color:#cedbcf;background:#f2f7f2}.pantry-sync-notice.blocked{border-color:#e2c5bb;background:#fff4ef}.pantry-sync-notice-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#ffffffb8;color:#5d6b60}.pantry-sync-notice.blocked .pantry-sync-notice-icon{color:#8a4d3e}.pantry-sync-notice-copy{min-width:0;display:grid;gap:2px}.pantry-sync-notice-copy strong{font-size:.75rem;color:var(--ink)}.pantry-sync-notice-copy span{font-size:.75rem;line-height:1.4;color:#6d776f}.pantry-sync-notice-actions{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.pantry-sync-notice-actions button{min-height:40px}.pantry-intelligence-badge.sync-pending{border-color:#d8cfae;background:#fff8e7;color:#745f24}.pantry-hub-manual-row button:disabled,.pantry-hub-capture:disabled,.pantry-empty-actions button:disabled{cursor:not-allowed;opacity:.56}.pantry-digest-actions button:focus-visible,.pantry-sync-notice-actions button:focus-visible,.pantry-hub-manual-row button:focus-visible,.pantry-hub-capture:focus-visible{outline:3px solid rgba(72,103,79,.24);outline-offset:2px}@media(max-width:640px){.pantry-digest-section{grid-template-columns:auto minmax(0,1fr)}.pantry-digest-actions{grid-column:1 / -1;grid-template-columns:1fr auto;min-width:0}.pantry-sync-notice{grid-template-columns:auto minmax(0,1fr)}.pantry-sync-notice-actions{grid-column:1 / -1;justify-content:stretch}.pantry-sync-notice-actions button{flex:1 1 145px}}@media(prefers-reduced-motion:reduce){.pantry-sync-notice .spin{animation:none!important}}.lists-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex:none}.lists-meal-plan-button,.lists-new-button{min-height:44px;white-space:nowrap}.meal-plans-content{width:min(100%,940px);padding-top:24px}.meal-plans-hero,.meal-plan-detail-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:6px 3px 22px}.meal-plans-hero h2,.meal-plan-detail-hero h2{margin:5px 0 7px;font-size:clamp(1.6875rem,4vw,2.25rem);line-height:1.05;letter-spacing:-.045em}.meal-plans-hero p,.meal-plan-detail-hero p{margin:0;color:var(--muted);font-size:.78125rem;line-height:1.55}.meal-plans-hero>div:first-child{max-width:640px}.meal-plan-detail-copy{min-width:0}.meal-plan-detail-copy>small{display:block;margin-top:6px;color:#7a7f7a;font-size:.75rem;line-height:1.45}.meal-plan-status-row{display:flex;align-items:center;gap:8px}.meal-plan-status-row>span:last-child{color:#858984;font-size:.75rem;font-weight:700}.meal-plan-status{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;border:1px solid #dedbd1;background:#f4f1e8;color:#6d706c;font-size:.75rem;font-weight:800;letter-spacing:.02em}.meal-plan-status.status-ready{border-color:#c9d9cb;background:#edf5ed;color:#3f6548}.meal-plan-status.status-generated{border-color:#c9d6df;background:#eef4f7;color:#496779}.meal-plan-section-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px}.meal-plan-section-heading h2{margin:4px 0 0;font-size:1.25rem;letter-spacing:-.025em}.meal-plan-count-pill{min-width:31px;height:31px;display:grid;place-items:center;padding:0 9px;border-radius:999px;background:#ebe8df;font-size:.75rem;font-weight:800}.meal-plan-overview,.meal-recipe-library{margin-top:8px}.meal-recipe-library{margin-top:28px}.meal-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meal-plan-card{min-width:0;min-height:156px;padding:15px;text-align:left;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow);color:var(--ink);cursor:pointer}.meal-plan-card:hover{border-color:#cfcabf;transform:translateY(-1px)}.meal-plan-card:disabled{opacity:.66;cursor:wait;transform:none}.meal-plan-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.meal-plan-card-top>span:last-child{color:#69736d;font-size:.75rem;font-weight:700}.meal-plan-card h3{margin:13px 0 10px;font-size:1.25rem;line-height:1.15;letter-spacing:-.025em}.meal-plan-card-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:#5f6762;font-size:.75rem}.meal-plan-card-meta span{display:inline-flex;align-items:center;gap:5px}.meal-plan-card>small{display:block;margin-top:11px;color:#858984;font-size:.75rem;line-height:1.4}.meal-plan-loading{min-height:180px;display:flex;align-items:center;justify-content:center;gap:9px;color:#6c726d;font-size:.75rem}.meal-plan-empty-card{display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:var(--paper);color:#526058}.meal-plan-empty-card.prominent{align-items:flex-start;padding:17px}.meal-plan-empty-card>div{min-width:0;display:grid;gap:3px}.meal-plan-empty-card strong{color:var(--ink);font-size:.75rem}.meal-plan-empty-card span{color:#707770;font-size:.75rem;line-height:1.45}.meal-plan-empty-card .primary-button{margin-left:auto;flex:none}.meal-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.meal-recipe-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfaf6}.meal-recipe-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#e6eee6;color:#365d45}.meal-recipe-card>div:last-child{min-width:0;display:grid;gap:3px}.meal-recipe-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.meal-recipe-card span{color:#737972;font-size:.75rem}.meal-plan-foundation-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;margin:0 0 16px;padding:12px 13px;border:1px solid #d7dfd5;border-radius:14px;background:#f5f9f4;color:#48604e}.meal-plan-foundation-note>div{display:grid;gap:3px}.meal-plan-foundation-note strong{color:#2f4536;font-size:.75rem}.meal-plan-foundation-note span{font-size:.75rem;line-height:1.45}.meal-plan-days{display:grid;gap:12px;margin-top:16px}.meal-plan-day-card{border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 6px 18px #232a2609;overflow:hidden}.meal-plan-day-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-bottom:1px solid #eeebe3;background:#fbfaf6}.meal-plan-day-heading h3{margin:3px 0 0;font-size:1rem;text-transform:capitalize}.secondary-button.compact{min-height:38px;padding:0 11px}.meal-plan-meal-list{display:grid}.meal-plan-meal-row{display:grid;grid-template-columns:minmax(95px,.7fr) minmax(0,2fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #efede6}.meal-plan-meal-row:last-child{border-bottom:0}.meal-plan-meal-time,.meal-plan-meal-recipe{min-width:0;display:grid;gap:2px}.meal-plan-meal-time>span{color:#526259;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.meal-plan-meal-time small{color:#858984;font-size:.75rem}.meal-plan-meal-recipe strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.meal-plan-meal-recipe span{color:#737972;font-size:.75rem}.meal-plan-meal-actions{display:flex;gap:4px}.meal-plan-meal-actions button{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:#69706b;cursor:pointer}.meal-plan-meal-actions button:hover{background:#f1eee6}.meal-plan-meal-actions button:last-child{color:#9a5149}.meal-plan-meal-actions button:disabled{opacity:.45;cursor:wait}.meal-plan-meal-local-error{grid-column:1 / -1;border:1px solid var(--danger-border, #efc8c0);border-radius:10px;background:var(--danger-soft, #fff2ef);color:var(--danger-text, #8c3f34);padding:8px 10px;font-size:.75rem;line-height:1.45}.meal-plan-day-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;color:#858984;font-size:.75rem}.meal-plan-day-empty button{border:0;background:transparent;color:var(--green);font-weight:800;cursor:pointer}.meal-plan-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:12px;padding:10px 11px;border:1px solid #cfe0d0;border-radius:12px;background:#f1f8f1;color:#416349;font-size:.75rem}.meal-plan-notice button{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:inherit;cursor:pointer}.meal-plan-sheet-backdrop{z-index:78}.meal-plan-form-sheet{width:min(94vw,520px);max-height:min(88vh,720px);overflow:auto;padding:10px 16px 16px;border-radius:22px;background:var(--paper);box-shadow:0 24px 70px #20262238}.meal-plan-sheet-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:6px 0 14px}.meal-plan-sheet-heading h2{margin:3px 0 0;font-size:1.375rem;letter-spacing:-.03em}.meal-plan-form{display:grid;gap:13px}.meal-plan-form label{display:grid;gap:6px;color:#535b56;font-size:.75rem;font-weight:750}.meal-plan-form label span{display:flex;align-items:baseline;gap:5px}.meal-plan-form label small{color:#8b8e89;font-weight:600}.meal-plan-form input,.meal-plan-form select{width:100%;min-height:44px;padding:0 12px;border:1px solid #dcd9cf;border-radius:12px;background:#fff;color:var(--ink)}.meal-plan-form input:focus,.meal-plan-form select:focus{outline:3px solid rgba(36,74,56,.14);border-color:#9fb3a5}.meal-plan-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.meal-plan-form-note{margin:0;padding:10px 11px;border-radius:11px;background:#f5f2e9;color:#747269;font-size:.75rem;line-height:1.45}.multimodal-save-recipe{white-space:nowrap}@media(max-width:650px){.lists-hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.lists-new-button{width:auto}.meal-plans-content{padding-top:18px}.meal-plans-hero,.meal-plan-detail-hero{align-items:stretch;flex-direction:column;gap:13px}.meal-plans-hero h2,.meal-plan-detail-hero h2{font-size:1.8125rem}.meal-plans-hero>button,.meal-plan-detail-hero>button{width:100%}.meal-plan-grid,.meal-recipe-grid{grid-template-columns:1fr}.meal-plan-empty-card.prominent{display:grid;grid-template-columns:auto minmax(0,1fr)}.meal-plan-empty-card.prominent .primary-button{grid-column:1 / -1;width:100%;margin:4px 0 0}.meal-plan-meal-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.meal-plan-meal-time,.meal-plan-meal-recipe{grid-column:1 / 2}.meal-plan-meal-actions{grid-column:2 / 3;grid-row:1 / span 2}.meal-plan-form-grid{grid-template-columns:1fr}.meal-plan-day-heading{align-items:flex-start}.meal-plan-day-heading .secondary-button{min-width:42px}}@media(max-width:430px){.lists-hero-actions{grid-template-columns:1fr}.meal-plan-day-heading{flex-direction:column}.meal-plan-day-heading .secondary-button{width:100%}.meal-plan-day-empty{align-items:flex-start;flex-direction:column}}.meal-serving-preview{display:grid;gap:9px;padding:11px 12px;border:1px solid #d8e1d8;border-radius:13px;background:#f6faf5}.meal-serving-preview.is-warning{border-color:#e3d9bd;background:#fbf8ef}.meal-serving-preview-heading{display:grid;gap:2px}.meal-serving-preview-heading>span{color:#667068;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.meal-serving-preview-heading>strong{color:#314c39;font-size:.75rem;line-height:1.35}.meal-serving-preview.is-warning .meal-serving-preview-heading>strong{color:#725f2f}.meal-serving-preview>p{margin:0;color:#766d55;font-size:.75rem;line-height:1.45}.meal-serving-preview-list{display:grid;gap:5px}.meal-serving-preview-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:7px;min-width:0;font-size:.75rem}.meal-serving-preview-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#525d56}.meal-serving-preview-row>strong{color:var(--ink);font-size:.75rem}.meal-serving-preview-row>small{color:#858984;font-size:.75rem;white-space:nowrap}.meal-serving-preview-more{color:#7d827d;font-size:.75rem}.meal-scale-summary{margin-top:2px;color:#496452;font-size:.75rem;line-height:1.35}.meal-scale-summary.warning{color:#7b6a3b}.meal-plan-ingredients-toggle{width:fit-content;min-height:30px;display:inline-flex;align-items:center;gap:4px;margin-top:3px;padding:0;border:0;background:transparent;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.meal-plan-scaled-ingredients{grid-column:1 / -1;display:grid;gap:8px;margin-top:2px;padding:11px 12px;border:1px solid #e4e8e1;border-radius:12px;background:#fafbf8}.meal-plan-scaled-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.meal-plan-scaled-heading>span{color:#48564d;font-size:.75rem;font-weight:800}.meal-plan-scaled-heading>small{color:#838781;font-size:.75rem}.meal-plan-scaled-list{display:grid;gap:6px}.meal-plan-scaled-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(74px,auto);gap:8px;align-items:baseline;min-width:0}.meal-plan-scaled-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4e5852;font-size:.75rem}.meal-plan-scaled-row>strong{color:var(--ink);font-size:.75rem;white-space:nowrap}.meal-plan-scaled-row>small{color:#8a8d88;font-size:.75rem;text-align:right}@media(max-width:650px){.meal-plan-scaled-row{grid-template-columns:minmax(0,1fr) auto}.meal-plan-scaled-row>small{grid-column:1 / -1;text-align:left;margin-top:-3px}}@media(max-width:430px){.meal-serving-preview-row{grid-template-columns:minmax(0,1fr) auto}.meal-serving-preview-row>small{grid-column:1 / -1}}.meal-plan-requirements{margin:18px 0 20px}.meal-plan-requirements-heading{margin-bottom:8px}.meal-plan-requirements-intro{display:grid;gap:3px;margin-bottom:10px;color:#5d675f}.meal-plan-requirements-intro>span{font-size:.75rem;font-weight:800}.meal-plan-requirements-intro>small{color:#7d827d;font-size:.75rem;line-height:1.45}.meal-requirement-list{display:grid;gap:8px}.meal-requirement-card{display:grid;gap:7px;padding:11px 12px;border:1px solid #e0e4dd;border-radius:14px;background:#fbfcf9}.meal-requirement-card.is-qualitative{border-style:dashed;background:#fcfbf7}.meal-requirement-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}.meal-requirement-name{min-width:0;display:grid;gap:2px}.meal-requirement-name>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.75rem}.meal-requirement-name>span{color:#7f847f;font-size:.75rem}.meal-requirement-total{color:#2f4f39;font-size:.75rem;white-space:nowrap}.meal-requirement-aliases,.meal-requirement-warning{padding:7px 8px;border-radius:9px;font-size:.75rem;line-height:1.4}.meal-requirement-aliases{background:#f0f5ef;color:#566c5b}.meal-requirement-warning{background:#f8f3e7;color:#796a42}.meal-requirement-explain-toggle{width:fit-content;min-height:30px;display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:var(--green);font-size:.75rem;font-weight:800;cursor:pointer}.meal-requirement-explanation{display:grid;gap:8px;padding-top:7px;border-top:1px solid #eceee9}.meal-requirement-equation{padding:8px 9px;border-radius:9px;background:#f5f7f3;color:#4d5b51;font-size:.75rem;line-height:1.5;overflow-wrap:anywhere}.meal-requirement-sources{display:grid;gap:5px}.meal-requirement-source{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 2px;border-bottom:1px solid #f0efe9}.meal-requirement-source:last-child{border-bottom:0}.meal-requirement-source>div{min-width:0;display:grid;gap:2px}.meal-requirement-source>div:last-child{text-align:right}.meal-requirement-source strong{color:#4b554f;font-size:.75rem}.meal-requirement-source span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#898d88;font-size:.75rem}@media(max-width:430px){.meal-requirement-source{grid-template-columns:minmax(0,1fr) auto;gap:7px}.meal-requirement-source>div:first-child span{white-space:normal}}.meal-plan-pantry-summary{color:#2f5d45;font-weight:850}.meal-requirement-pantry{display:grid;gap:7px;padding:9px 10px;border:1px solid #dce7df;border-radius:11px;background:#f7faf7}.meal-requirement-pantry.pantry-estimated_partial,.meal-requirement-pantry.pantry-estimated_enough{border-color:#e6dfcb;background:#fbf8ef}.meal-requirement-pantry.pantry-unknown,.meal-requirement-pantry.pantry-incompatible,.meal-requirement-pantry.pantry-ambiguous{border-color:#eadfca;background:#fbf7ee}.meal-requirement-pantry.pantry-none,.meal-requirement-pantry.pantry-qualitative{border-color:#e6e7e2;background:#fafaf7}.meal-requirement-pantry-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.meal-requirement-pantry-heading>span{display:inline-flex;align-items:center;gap:4px;color:#627168;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.meal-requirement-pantry-heading>strong{color:#355a43;font-size:.75rem}.meal-requirement-pantry-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:baseline}.meal-requirement-pantry-grid>span{color:#737a75;font-size:.75rem}.meal-requirement-pantry-grid>strong{color:#2d4435;font-size:.75rem;text-align:right}.meal-requirement-pantry-grid>strong.is-suggestion{color:#6f5a24}.meal-requirement-pantry>small{color:#667069;font-size:.75rem;line-height:1.45}.meal-requirement-pantry>em{color:#806f42;font-size:.75rem;font-style:normal;font-weight:700}@media(max-width:430px){.meal-requirement-pantry{padding:8px 9px}.meal-requirement-pantry-grid{gap:3px 7px}}.meal-plan-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.meal-plan-shopping-preview-backdrop{z-index:84;align-items:center;padding:16px}.meal-plan-shopping-preview-sheet{width:min(96vw,720px);max-height:min(92dvh,860px);display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:10px 16px 16px;border-radius:24px;background:var(--paper);box-shadow:0 24px 80px #2026223d}.meal-plan-shopping-preview-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:11px}.meal-plan-shopping-preview-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#edf4ed;color:var(--green)}.meal-plan-shopping-preview-header>div:nth-child(2){min-width:0}.meal-plan-shopping-preview-header h2{margin:2px 0 3px;color:var(--ink);font-size:1.375rem;line-height:1.15;letter-spacing:-.03em}.meal-plan-shopping-preview-header p{margin:0;color:#6f756f;font-size:.75rem;font-weight:700}.meal-plan-shopping-preview-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;padding:10px 11px;border:1px solid #d7e5d8;border-radius:12px;background:#f3f8f2;color:#4d6653;font-size:.75rem;line-height:1.45}.meal-plan-shopping-preview-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.meal-plan-shopping-preview-counts>span{min-width:0;display:grid;gap:1px;padding:7px 8px;border:1px solid #e2e4dd;border-radius:10px;background:#fafbf8;color:#747a74;font-size:.75rem;line-height:1.2}.meal-plan-shopping-preview-counts strong{color:var(--ink);font-size:.75rem}.meal-plan-shopping-preview-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;align-content:start;gap:16px;padding:2px 2px 6px;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.meal-shopping-preview-group{display:grid;gap:8px}.meal-shopping-preview-group-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.meal-shopping-preview-group-heading>div{min-width:0;display:grid;gap:2px}.meal-shopping-preview-group-heading h3{margin:0;color:var(--ink);font-size:.75rem}.meal-shopping-preview-group-heading span:not(.count-pill){color:#818681;font-size:.75rem}.meal-shopping-preview-list{display:grid;gap:7px}.meal-shopping-preview-row{display:grid;gap:9px;padding:11px 12px;border:1px solid #e1e4dd;border-radius:14px;background:#fff}.meal-shopping-preview-row.is-edited{border-color:#bfd5c3;background:#fbfdf9}.group-at_home .meal-shopping-preview-row{background:#f6faf5}.group-check .meal-shopping-preview-row{background:#fcfaf3;border-color:#e6dcc3}.group-skipped .meal-shopping-preview-row{background:#f7f6f3;opacity:.84}.meal-shopping-preview-row-main{min-width:0;display:grid;gap:5px}.meal-shopping-preview-row-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.meal-shopping-preview-row-title>strong{color:var(--ink);font-size:.75rem}.meal-shopping-preview-edited-badge{padding:2px 6px;border-radius:999px;background:#e5f0e7;color:#486450;font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.meal-shopping-preview-values{display:flex;flex-wrap:wrap;gap:5px 12px;color:#737a74;font-size:.75rem}.meal-shopping-preview-values strong{color:#35533e;font-size:.75rem}.meal-shopping-preview-row-main>small{color:#858a85;font-size:.75rem;line-height:1.45}.meal-shopping-preview-suggestion{width:fit-content;padding:6px 8px;border-radius:8px;background:#f2efe4;color:#74683f;font-size:.75rem}.meal-shopping-preview-actions{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.meal-shopping-preview-actions button{min-height:30px;padding:0;border:0;background:transparent;color:var(--green);font-size:.75rem;font-weight:800;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.meal-shopping-preview-actions button.danger-text{color:#99584f}.meal-shopping-preview-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;padding:9px;border-radius:10px;background:#f4f7f2}.meal-shopping-preview-editor label{display:grid;gap:4px;color:#667067;font-size:.75rem;font-weight:750}.meal-shopping-preview-editor label>div{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);gap:7px;align-items:center}.meal-shopping-preview-editor input{width:100%;min-height:38px;padding:0 10px;border:1px solid #d7dbd3;border-radius:10px;background:#fff;color:var(--ink)}.meal-shopping-preview-editor strong{color:#566158;font-size:.75rem}.meal-shopping-preview-editor label>small{color:#747b75;font-size:.75rem;line-height:1.35;font-weight:500}.meal-plan-shopping-preview-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding-top:11px;border-top:1px solid #e7e5de}.meal-plan-shopping-preview-footer>div:first-child{min-width:0;display:grid;gap:2px}.meal-plan-shopping-preview-footer>div:first-child strong{color:#45544a;font-size:.75rem}.meal-plan-shopping-preview-footer>div:first-child span{color:#858984;font-size:.75rem;line-height:1.35}.meal-plan-shopping-preview-footer .sheet-actions{margin:0;grid-template-columns:auto auto}@media(max-width:650px){.meal-plan-detail-actions{width:100%;display:grid;grid-template-columns:1fr}.meal-plan-detail-actions>button{width:100%}.meal-plan-shopping-preview-backdrop{align-items:flex-end;padding:0}.meal-plan-shopping-preview-sheet{width:100%;max-height:94dvh;border-radius:var(--ui-radius-sheet, 26px) var(--ui-radius-sheet, 26px) 0 0;padding:10px 14px max(14px,env(safe-area-inset-bottom))}.meal-plan-shopping-preview-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.meal-plan-shopping-preview-footer{grid-template-columns:1fr}.meal-plan-shopping-preview-footer .sheet-actions{grid-template-columns:1fr 1fr}.meal-plan-shopping-preview-footer .sheet-actions>:only-child{grid-column:1 / -1}}@media(max-width:430px){.meal-plan-shopping-preview-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-shopping-preview-editor{grid-template-columns:1fr}.meal-shopping-preview-editor .secondary-button{width:100%}.meal-plan-shopping-preview-footer .sheet-actions{grid-template-columns:1fr}}.meal-plan-generation-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:4px 2px 12px;display:grid;align-content:start;gap:12px}.meal-plan-generation-card{border:1px solid var(--line, #dde2dc);border-radius:16px;padding:14px;display:grid;gap:12px;background:#ffffffb8}.meal-plan-generation-card h3{margin:0;font-size:.9375rem}.meal-plan-generation-card>select,.meal-plan-generation-card>input{width:100%;min-height:44px;border:1px solid #d5dad4;border-radius:12px;background:#fff;padding:0 12px;font:inherit}.meal-plan-generation-choice{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;cursor:pointer}.meal-plan-generation-choice input{margin-top:3px}.meal-plan-generation-choice span{display:grid;gap:2px}.meal-plan-generation-choice strong{font-size:.8125rem}.meal-plan-generation-choice small{color:#727973;line-height:1.35}.meal-plan-generation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.meal-plan-generation-summary span{min-width:0;border:1px solid #e1e5df;border-radius:12px;padding:9px;display:grid;gap:2px;font-size:.75rem;color:#747a75;background:#fff}.meal-plan-generation-summary strong{font-size:.9375rem;color:var(--ink)}.meal-plan-generation-issue{border-top:1px solid #eceeea;padding-top:11px;display:grid;gap:9px}.meal-plan-generation-issue:first-of-type{border-top:0;padding-top:0}.meal-plan-generation-issue>div:first-child{display:grid;gap:2px}.meal-plan-generation-issue span{color:#425248;font-weight:700;font-size:.75rem}.meal-plan-generation-issue small{color:#737a74;line-height:1.35}@media(max-width:520px){.meal-plan-generation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.meal-plan-shopping-preview-sheet.is-generation-stage{align-items:stretch}.meal-plan-generation-error-slot{min-height:0}.meal-plan-generation-error-slot:empty{display:none}.meal-plan-generation-decision-callout{border:1px solid #eadfb7;border-radius:14px;padding:11px 12px;background:#fffaf0;display:grid;gap:4px}.meal-plan-generation-decision-callout strong{font-size:.8125rem;color:var(--ink)}.meal-plan-generation-decision-callout span{font-size:.75rem;line-height:1.4;color:#6f746f}.meal-plan-generation-decision-callout.is-ready{border-color:#cfe1d4;background:#f3faf5}.meal-plan-generation-issue.is-resolved{background:#fbfdfb}.meal-plan-generation-resolution{color:#315f46!important;font-weight:600;margin-top:3px}.meal-plan-generation-amount-editor{border:1px solid #dce5dd;border-radius:12px;padding:10px;background:#f7faf7;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.meal-plan-generation-amount-editor label{display:grid;gap:5px;min-width:0}.meal-plan-generation-amount-editor label>span{font-size:.75rem;font-weight:800;color:#56645b}.meal-plan-generation-amount-editor input{width:100%;min-width:0;min-height:42px;border:1px solid #d2d9d3;border-radius:10px;background:#fff;padding:0 10px;font:inherit}.meal-plan-generation-amount-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:430px){.meal-plan-generation-amount-editor{grid-template-columns:1fr}.meal-plan-generation-amount-actions{grid-column:auto;grid-template-columns:1fr 1fr}}.meal-plan-generation-amount-hint{grid-column:1 / -1;color:#6f766f;line-height:1.35}@media(max-width:430px){.meal-plan-generation-amount-hint{grid-column:auto}}.meal-plan-incremental{display:grid;gap:10px;margin:0 0 16px;padding:13px;border:1px solid #ddd9c9;border-radius:16px;background:#fcfaf3}.meal-plan-incremental.is-ready{border-color:#cbdccf;background:#f5faf5}.meal-plan-incremental-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.meal-plan-incremental-heading>div{min-width:0}.meal-plan-incremental-heading h2{margin:2px 0 0;font-size:1rem;line-height:1.2}.meal-plan-incremental>p{margin:0;color:#556159;font-size:.75rem;line-height:1.5}.meal-plan-incremental>p strong{color:#2d4335}.meal-plan-incremental-list{display:grid;gap:6px}.meal-plan-incremental-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:baseline;padding:8px 9px;border:1px solid #e3e4dc;border-radius:11px;background:#ffffffb8}.meal-plan-incremental-row>span{min-width:0;color:var(--ink);font-size:.75rem;font-weight:750}.meal-plan-incremental-row>strong{color:#315e44;font-size:.75rem}.meal-plan-incremental-row.is-decrease>strong,.meal-plan-incremental-row.is-remove>strong{color:#8d5a4b}.meal-plan-incremental-row.is-review>strong{color:#7b6b34}.meal-plan-incremental-row>small{grid-column:1 / -1;color:#7a817b;font-size:.75rem;line-height:1.4}.meal-plan-incremental-warning{display:grid;gap:3px;padding:9px 10px;border-radius:11px;background:#fff6df;color:#74632b}.meal-plan-incremental-warning strong{font-size:.75rem}.meal-plan-incremental-warning span{font-size:.75rem;line-height:1.4}.meal-plan-incremental-blocked{color:#747b75;font-size:.75rem;line-height:1.45}.meal-plan-incremental .primary-button{width:fit-content;min-width:220px}@media(max-width:650px){.meal-plan-incremental .primary-button{width:100%;min-width:0}}.meal-plan-incremental-warning .secondary-button{width:fit-content;min-width:0;margin-top:4px}.meal-plan-incremental-warning.is-ready{background:#eef7f1;color:#315e44}.meal-plan-incremental-row.is-resolved{border-color:#bfd8c7;background:#f7fbf8}@media(max-width:650px){.meal-plan-incremental-warning .secondary-button{width:100%}}.meal-plan-shopping-preview-sheet.is-incremental-review .meal-plan-shopping-preview-scroll{flex:1 1 300px;min-height:0}.meal-plan-shopping-preview-sheet.is-incremental-review .meal-shopping-preview-group{align-content:start}@media(max-width:650px){.meal-plan-shopping-preview-sheet.is-incremental-review{max-height:96dvh}.meal-plan-shopping-preview-sheet.is-incremental-review .meal-plan-shopping-preview-scroll{flex-basis:min(44dvh,390px)}}.meal-reuse-mode{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:4px;border:1px solid #dcd9cf;border-radius:13px;background:#f4f2eb}.meal-reuse-mode button{min-height:40px;border:0;border-radius:10px;background:transparent;color:#626a64;font-weight:800;cursor:pointer}.meal-reuse-mode button.active{background:#fff;color:var(--green);box-shadow:0 1px 6px #26372d14}.meal-reuse-mode button:disabled{opacity:.45;cursor:default}.meal-leftover-plan-note,.meal-leftover-reuse-note{display:grid;gap:3px;padding:10px 11px;border:1px solid #dedbd2;border-radius:12px;background:#faf9f5;color:#626a64;font-size:.75rem;line-height:1.4}.meal-leftover-plan-note strong,.meal-leftover-reuse-note strong{color:#42534a;font-size:.75rem}.meal-leftover-plan-note.has-leftovers{border-color:#c8ddcd;background:#f1f8f2}.meal-leftover-reuse-note{grid-template-columns:auto minmax(0,1fr);align-items:start;color:#45634f;border-color:#c7ddcd;background:#f1f8f2}.meal-leftover-reuse-note>div{display:grid;gap:2px}.meal-plan-form-grid.single-leading{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.meal-leftover-card-meta{display:flex;align-items:flex-start;gap:5px;margin-top:3px;padding:5px 7px;border-radius:8px;font-size:.75rem;line-height:1.35}.meal-leftover-card-meta.is-source{color:#4f6656;background:#eef6ef}.meal-leftover-card-meta.is-reuse{color:#6a5c37;background:#f8f3e7}.meal-leftover-card-meta svg{flex:0 0 auto;margin-top:1px}@media(max-width:430px){.meal-plan-form-grid.single-leading{grid-template-columns:1fr}}.meal-plan-inline-error{border:1px solid var(--danger-border, #efc8c0);border-radius:14px;background:var(--danger-soft, #fff2ef);color:var(--danger-text, #8c3f34);padding:10px 12px;font-size:.88rem;line-height:1.4}.meal-plan-live-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid #dedbd1;border-radius:999px;background:#f5f2e9;color:#71766f;font-size:.75rem;font-weight:800;white-space:nowrap}.meal-plan-live-pill.is-live{border-color:#c9dfcf;background:#edf7ef;color:#356148}.meal-plan-live-pill.is-live:before,.meal-plan-live-pill.is-reconnecting:before{content:"";width:6px;height:6px;margin-right:5px;border-radius:50%;background:currentColor;opacity:.78}.meal-plan-remote-activity{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:12px;padding:10px 11px;border:1px solid #cfdde5;border-radius:12px;background:#f1f6f8;color:#41606f;font-size:.75rem}.meal-plan-remote-activity button{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:inherit;cursor:pointer}.meal-plan-last-editor{color:#66736b!important;font-weight:650!important}.meal-plan-card-editor{margin-top:4px!important;color:#60736a!important}.meal-plan-remote-change-chip{width:fit-content;margin-top:3px;padding:3px 7px;border-radius:999px;background:#eaf2f5;color:#426271!important;font-size:.75rem!important;font-weight:800}@media(max-width:560px){.meal-plan-live-pill{min-height:26px;padding:0 7px;font-size:.75rem}.meal-plan-status-row{flex-wrap:wrap}.meal-plan-last-editor{flex-basis:100%}}.meal-plan-smart-suggestions{display:grid;gap:10px;margin:14px 0 18px}.meal-plan-smart-suggestions-heading{margin-bottom:0}.meal-plan-smart-suggestions-note{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--line, #d9ddd7);border-radius:14px;background:#f4f8f4;color:#52615a;font-size:.75rem;line-height:1.45}.meal-plan-smart-suggestions-note svg{flex:0 0 auto;color:var(--green-800, #245842);margin-top:1px}.meal-plan-smart-suggestion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.meal-plan-smart-suggestion{min-width:0;display:grid;gap:6px;padding:13px;border:1px solid #dce3dc;border-radius:16px;background:#fff}.meal-plan-smart-suggestion.is-opened_stock,.meal-plan-smart-suggestion.is-pantry_coverage{border-color:#cfe0d3;background:#fbfefb}.meal-plan-smart-suggestion.is-shared_ingredient{border-color:#e6ddc9;background:#fffdf8}.meal-plan-smart-suggestion-topline{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.meal-plan-smart-suggestion-topline>span{color:var(--green-800, #245842);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.meal-plan-smart-suggestion-topline>small{min-width:0;max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#758078;font-size:.75rem}.meal-plan-smart-suggestion>strong{font-size:.875rem;line-height:1.25;color:#202623}.meal-plan-smart-suggestion>p{margin:0;color:#58635d;font-size:.75rem;line-height:1.45}.meal-plan-smart-suggestion-reason{color:#737d76;font-size:.75rem;line-height:1.4}@media(max-width:620px){.meal-plan-smart-suggestion-list{grid-template-columns:minmax(0,1fr)}}.meal-plan-digest{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;margin:0 0 12px;padding:13px 14px;border:1px solid #d7dfd5;border-radius:16px;background:#f7faf6;color:#48604e}.meal-plan-digest>svg{margin-top:2px;color:#456650}.meal-plan-digest>div{min-width:0;display:grid;gap:4px}.meal-plan-digest strong{color:#26372d;font-size:.8125rem;line-height:1.45;font-weight:760}.meal-plan-digest small{color:#6c756e;font-size:.75rem;line-height:1.4}.meal-plan-calendar-ux{display:grid;gap:9px;margin:18px 0 8px}.meal-plan-calendar-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.meal-plan-calendar-heading>div:first-child{display:grid;gap:3px}.meal-plan-calendar-heading>div:first-child>strong{font-size:1.0625rem;color:var(--ink)}.meal-plan-calendar-switch{display:inline-grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:4px;padding:4px;border:1px solid #dedbd1;border-radius:13px;background:#f3f1ea}.meal-plan-calendar-switch button{min-height:40px;padding:0 13px;border:0;border-radius:10px;background:transparent;color:#646b66;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}.meal-plan-calendar-switch button.active{background:#fff;color:#2f5c40;box-shadow:0 1px 7px #26372d14}.meal-plan-calendar-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px dashed #d8d8cf;border-radius:14px;background:#fbfaf6;color:#747b75;font-size:.75rem}.meal-plan-calendar-empty button{min-height:38px;border:0;background:transparent;color:var(--green, #245842);font:inherit;font-weight:800;cursor:pointer}@media(max-width:650px){.meal-plan-calendar-heading{align-items:stretch;flex-direction:column}.meal-plan-calendar-switch{width:100%;grid-auto-flow:initial;grid-template-columns:repeat(3,minmax(0,1fr))}.meal-plan-calendar-switch button{min-width:0;padding:0 7px}.meal-plan-calendar-empty{align-items:flex-start;flex-direction:column}.meal-plan-calendar-empty button{width:100%;text-align:left}}.meal-plan-live-pill.is-offline{border-color:#dfd4bd;background:#fbf6e9;color:#745f35}.meal-plan-live-pill.is-recovering{border-color:#cbd9df;background:#eff5f7;color:#426471}.meal-plan-live-pill.is-offline:before,.meal-plan-live-pill.is-recovering:before{content:"";width:6px;height:6px;margin-right:5px;border-radius:50%;background:currentColor;opacity:.78}.meal-plan-offline-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;margin-bottom:12px;padding:10px 12px;border:1px solid #dfd4bd;border-radius:12px;background:#fbf6e9;color:#67583b;font-size:.75rem;line-height:1.45}.meal-plan-offline-banner svg{margin-top:1px}.meal-plan-offline-edit-note{padding:9px 11px;border-radius:12px;background:#f7f3e9;color:#6e6248;font-size:.84rem;line-height:1.4}.meal-plan-inline-error{display:grid;gap:9px}.meal-plan-inline-error .secondary-button{justify-self:start}@media(prefers-reduced-motion:reduce){.meal-plan-live-pill:before,.meal-plan-offline-banner svg{animation:none!important}}.item-price-memory{color:#657168;font-size:.75rem;font-weight:560;line-height:1.35;white-space:normal}.shopping-row.bought .item-price-memory{opacity:.72}.list-density-compact .item-price-memory{flex:0 1 auto;max-width:min(100%,300px);font-size:.75rem}.item-price-memory-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px}.item-price-history-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:1px 0;color:var(--accent, currentColor);font:inherit;font-size:.75rem;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.item-price-history-button:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:3px}.price-history-backdrop{z-index:96}.price-history-sheet{width:min(560px,calc(100vw - 20px));max-height:min(84vh,760px);overflow:auto;align-self:end;margin:0 auto 10px;padding:10px 16px calc(16px + env(safe-area-inset-bottom));border-radius:22px;background:var(--surface, #fff);box-shadow:0 20px 70px #00000038}.price-history-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.price-history-heading h2{margin:3px 0 5px}.price-history-heading p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.45}.price-history-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:15px 0 10px}.price-history-stats>div{min-width:0;padding:9px 8px;border:1px solid var(--line);border-radius:12px}.price-history-stats span{display:block;color:var(--muted);font-size:.75rem}.price-history-stats strong{display:block;margin-top:3px;font-size:.8125rem;white-space:nowrap}.price-history-chart-card{margin-top:10px;padding:11px 12px 8px;border:1px solid var(--line);border-radius:14px}.price-history-chart-card>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.price-history-chart-card small{color:var(--muted);font-size:.75rem}.price-history-sparkline{display:block;width:100%;height:84px;margin-top:4px;overflow:visible;color:var(--accent, currentColor)}.price-history-sparkline polyline{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.price-history-sparkline circle{fill:var(--surface, #fff);stroke:currentColor;stroke-width:2}.price-history-list{margin-top:12px;border-top:1px solid var(--line)}.price-history-list-head{display:flex;justify-content:space-between;align-items:baseline;padding:11px 2px 5px}.price-history-list-head small{color:var(--muted);font-size:.75rem}.price-history-entry{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 2px;border-top:1px solid var(--line)}.price-history-entry>div{display:grid;gap:2px}.price-history-entry span,.price-history-entry time{color:var(--muted);font-size:.75rem}.price-history-entry time{white-space:nowrap}.price-history-footnote{margin:10px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}@media(max-width:520px){.price-history-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.price-history-stats>div:first-child{grid-column:1 / -1}.price-history-sheet{width:calc(100vw - 10px);margin-bottom:5px;border-radius:20px}}.price-history-comparison{display:block;margin-top:.45rem;color:var(--muted, #64748b);line-height:1.35}.shopping-cost-estimate-card{display:flex;align-items:center;gap:11px;margin:4px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.shopping-cost-estimate-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:11px;background:var(--surface-soft, rgba(127,127,127,.08));color:var(--accent, currentColor)}.shopping-cost-estimate-body{min-width:0;flex:1 1 auto;display:grid;gap:5px}.shopping-cost-estimate-copy{min-width:0;display:grid;gap:2px}.shopping-cost-estimate-copy>span{color:var(--muted);font-size:.75rem;font-weight:700}.shopping-cost-estimate-copy>strong{font-size:1.1875rem;line-height:1.15;letter-spacing:-.02em}.shopping-cost-estimate-copy>small{color:var(--muted);font-size:.75rem;line-height:1.35}.shopping-cost-estimate-explain{margin-top:1px;color:var(--muted);font-size:.75rem}.shopping-cost-estimate-explain>summary{width:max-content;max-width:100%;cursor:pointer;color:var(--accent, currentColor);font-weight:700}.shopping-cost-estimate-explain>div{margin-top:6px;padding-top:6px;border-top:1px solid var(--line);line-height:1.4}.shopping-cost-estimate-explain p{margin:0 0 5px}.shopping-cost-estimate-explain ul{margin:0 0 5px;padding-left:18px}.shopping-cost-estimate-explain li+li{margin-top:2px}@media(max-width:520px){.shopping-cost-estimate-card{margin-top:2px;padding:10px 11px;border-radius:14px;align-items:flex-start}.shopping-cost-estimate-copy>strong{font-size:1.125rem}}.price-history-store-card{margin-top:10px;padding:11px 12px;border:1px solid var(--line);border-radius:14px}.price-history-store-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.price-history-store-head small{color:var(--muted);font-size:.75rem}.price-history-store-list{margin-top:6px}.price-history-store-entry{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.price-history-store-entry>div{display:flex;align-items:baseline;gap:6px;min-width:0}.price-history-store-entry strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-history-store-entry span,.price-history-store-entry time{color:var(--muted);font-size:.75rem}.price-history-store-entry time{white-space:nowrap}.price-history-store-card>p{margin:6px 0 0;color:var(--muted);font-size:.75rem;line-height:1.4}.basket-store-comparison-card{margin:-4px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.basket-store-comparison-head{display:flex;align-items:center;gap:10px}.basket-store-comparison-head>div:last-child{min-width:0}.basket-store-comparison-head h3{margin:1px 0 0;font-size:.9375rem}.basket-store-comparison-icon{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:10px;background:var(--surface-soft, rgba(127,127,127,.08));color:var(--accent, currentColor)}.basket-store-coverage-list{margin-top:9px;display:grid;gap:1px}.basket-store-coverage-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--line)}.basket-store-coverage-copy{min-width:0;display:grid;gap:2px}.basket-store-coverage-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.basket-store-coverage-copy small{color:var(--muted);font-size:.75rem;line-height:1.25}.basket-store-inline-amount{justify-self:end;white-space:nowrap;font-size:.8125rem;font-weight:800}.basket-store-inline-status{justify-self:end;white-space:nowrap;color:var(--muted);font-size:.75rem;font-weight:700;text-align:right}.basket-store-common-comparison{margin-top:7px;padding-top:8px;border-top:1px solid var(--line)}.basket-store-common-comparison>p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.4}.basket-store-common-comparison>small,.basket-store-comparison-note{display:block;margin:5px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}.basket-store-personal-advantage{margin-top:9px;padding:9px 10px;border-radius:12px;background:var(--surface-soft, rgba(127,127,127,.07));border:1px solid var(--line)}.basket-store-personal-advantage-head{display:flex;align-items:center;gap:6px;color:var(--accent, currentColor);font-size:.75rem}.basket-store-personal-advantage p{margin:5px 0 0;font-size:.75rem;line-height:1.42}.basket-store-personal-advantage small{display:block;margin-top:5px;color:var(--muted);font-size:.75rem;line-height:1.4}@media(max-width:520px){.basket-store-comparison-card{margin-top:-3px;padding:10px 11px;border-radius:14px}.basket-store-coverage-row{gap:8px}.basket-store-inline-amount{font-size:.75rem}}.item-price-change-signal{display:block;width:fit-content;max-width:100%;color:var(--muted);font-size:.75rem;font-weight:700;line-height:1.35}.price-change-detection-card{display:grid;gap:4px;margin-top:10px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft, rgba(127,127,127,.06))}.price-change-detection-card>strong{font-size:.8125rem;line-height:1.35}.price-change-detection-card>span{font-size:.75rem;line-height:1.4}.price-change-detection-card>small{color:var(--muted);font-size:.75rem;line-height:1.45}.shopping-price-flow-brief>div{gap:3px}.shopping-price-flow-brief strong{font-size:.75rem}.shopping-price-flow-brief span:not(.shopping-assistant-brief-icon){display:block}.item-price-flow-hint{display:flex;align-items:center;flex-wrap:wrap;gap:3px 7px;margin-top:2px;min-width:0}.item-price-flow-last{color:var(--muted);font-size:.75rem;line-height:1.3}.item-price-flow-signal{font-size:.75rem;line-height:1.3;font-weight:800}.item-price-flow-signal.higher{color:#9a4d36}.item-price-flow-signal.lower{color:#397455}.item-price-flow-signal.returned{color:var(--accent, currentColor)}.item-price-flow-signal.stale{color:var(--muted);font-weight:700}.item-price-history-button.compact{padding:0;font-size:.75rem}@media(max-width:520px){.item-price-flow-hint{gap:2px 6px}.shopping-price-flow-brief strong{font-size:.75rem}}.shopping-price-flow-stale{color:var(--muted);font-size:.75rem;line-height:1.35}.price-history-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:15px 0 8px}.price-history-overview-item{min-width:0;display:grid;align-content:start;gap:3px;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.price-history-overview-item>span{color:var(--muted);font-size:.75rem;line-height:1.25}.price-history-overview-item>strong{font-size:.875rem;line-height:1.25;letter-spacing:-.01em}.price-history-overview-item>small{color:var(--muted);font-size:.75rem;line-height:1.35}.price-history-overview-item.trend-up>strong{color:#9a4d36}.price-history-overview-item.trend-down>strong{color:#397455}.price-history-personal-assessment{margin:0 0 9px;padding:7px 9px;border-radius:11px;background:var(--surface-soft, rgba(127,127,127,.06));color:var(--muted);font-size:.75rem;line-height:1.4}.price-history-personal-assessment.below_typical{color:#397455}.price-history-personal-assessment.above_typical{color:#9a4d36}.price-history-band{fill:currentColor;opacity:.08;stroke:currentColor;stroke-width:.7;vector-effect:non-scaling-stroke}.price-history-sparkline circle.latest{fill:currentColor}.price-history-chart-legend{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:2px;color:var(--muted);font-size:.75rem;line-height:1.3}.price-history-chart-legend span:last-child:before{content:"▰";margin-right:4px;opacity:.35}.price-history-more-stats{margin-top:10px;border-top:1px solid var(--line)}.price-history-more-stats>summary{width:max-content;max-width:100%;padding:10px 2px 4px;cursor:pointer;color:var(--accent, currentColor);font-size:.75rem;font-weight:750}.price-history-more-stats>summary:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:3px}.price-history-more-stats .price-history-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:5px 0 2px}.price-history-more-stats .price-history-stats>div:first-child{grid-column:auto}.price-change-detection-card .section-kicker{color:var(--muted);font-size:.75rem;letter-spacing:.04em}@media(max-width:520px){.price-history-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px}.price-history-overview-item.latest{grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;align-items:baseline}.price-history-overview-item.latest>span{grid-column:1}.price-history-overview-item.latest>strong{grid-column:2;grid-row:1 / span 2;justify-self:end;font-size:.9375rem;white-space:nowrap}.price-history-overview-item.latest>small{grid-column:1}.price-history-more-stats .price-history-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.price-history-more-stats .price-history-stats>div:first-child{grid-column:auto}}.item-price-flow-meta{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:6px;min-width:0;max-width:100%}.item-price-flow-meta .item-author{flex-wrap:nowrap;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.item-price-flow-meta .item-author span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media(max-width:520px){.item-price-flow-meta{gap:5px}}.similar-basket-history-card{margin:-4px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.similar-basket-history-head{display:flex;align-items:center;gap:10px}.similar-basket-history-head>div:last-child{min-width:0}.similar-basket-history-head h3{margin:1px 0 0;font-size:.9375rem}.similar-basket-history-icon{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:10px;background:var(--surface-soft, rgba(127,127,127,.08));color:var(--accent, currentColor)}.similar-basket-history-summary{margin:9px 0 0;font-size:.75rem;line-height:1.4}.similar-basket-history-typical{display:grid;gap:2px;margin-top:8px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft, rgba(127,127,127,.06))}.similar-basket-history-typical>span,.similar-basket-history-latest>div>span{color:var(--muted);font-size:.75rem;font-weight:700}.similar-basket-history-typical>strong{font-size:1.125rem;line-height:1.15;letter-spacing:-.02em}.similar-basket-history-typical>small{color:var(--muted);font-size:.75rem;line-height:1.35}.similar-basket-history-note,.similar-basket-history-footnote{margin:8px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}.similar-basket-history-latest{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.similar-basket-history-latest>div{display:grid;gap:2px}.similar-basket-history-latest>div>strong{font-size:.75rem;line-height:1.35}.similar-basket-history-latest>small{display:block;margin-top:3px;color:var(--muted);font-size:.75rem;line-height:1.4}.similar-basket-history-details{margin-top:8px;color:var(--muted);font-size:.75rem}.similar-basket-history-details>summary{width:max-content;max-width:100%;cursor:pointer;color:var(--accent, currentColor);font-weight:700}.similar-basket-history-list{margin-top:6px;border-top:1px solid var(--line)}.similar-basket-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--line)}.similar-basket-history-row:first-child{border-top:0}.similar-basket-history-row>div{min-width:0;display:grid;gap:1px}.similar-basket-history-row>div>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:var(--text)}.similar-basket-history-row span,.similar-basket-history-row small{color:var(--muted);font-size:.75rem;line-height:1.3}.similar-basket-history-row small{text-align:right;white-space:nowrap}@media(max-width:520px){.similar-basket-history-card{margin-top:-3px;padding:10px 11px;border-radius:14px}.similar-basket-history-typical>strong{font-size:1.0625rem}.similar-basket-history-row{grid-template-columns:minmax(0,1fr);gap:2px}.similar-basket-history-row small{text-align:left;white-space:normal}}.household-monthly-basket-card{margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.household-monthly-basket-head{display:flex;align-items:center;gap:10px}.household-monthly-basket-head>div:last-child{min-width:0}.household-monthly-basket-head h2{margin:1px 0 0;font-size:1rem;line-height:1.2}.household-monthly-basket-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:11px;background:var(--surface-soft, rgba(127,127,127,.08));color:var(--accent, currentColor)}.household-monthly-basket-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.household-monthly-basket-stats>div{min-width:0;display:grid;gap:1px;padding:8px 9px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft, rgba(127,127,127,.05))}.household-monthly-basket-stats strong{font-size:1.0625rem;line-height:1.1}.household-monthly-basket-stats span{color:var(--muted);font-size:.75rem;line-height:1.25}.household-monthly-basket-cost{display:grid;gap:2px;margin-top:8px;padding:9px 10px;border-radius:12px;background:var(--surface-soft, rgba(127,127,127,.06))}.household-monthly-basket-cost>span{color:var(--muted);font-size:.75rem;font-weight:700}.household-monthly-basket-cost>strong{font-size:1.125rem;line-height:1.15;letter-spacing:-.02em}.household-monthly-basket-cost>small,.household-monthly-basket-note,.household-monthly-basket-footnote{color:var(--muted);font-size:.75rem;line-height:1.45}.household-monthly-basket-note,.household-monthly-basket-footnote{margin:9px 0 0}.household-monthly-basket-patterns{margin-top:9px;color:var(--muted);font-size:.75rem}.household-monthly-basket-patterns>summary{width:max-content;max-width:100%;cursor:pointer;color:var(--accent, currentColor);font-weight:700}.household-monthly-basket-pattern-list{display:grid;gap:7px;margin-top:7px;padding-top:7px;border-top:1px solid var(--line)}.household-monthly-basket-pattern-list>div{display:grid;gap:2px}.household-monthly-basket-pattern-list strong{font-size:.75rem;color:var(--text)}.household-monthly-basket-pattern-list span{color:var(--muted);font-size:.75rem;line-height:1.4}@media(max-width:520px){.household-monthly-basket-card{padding:11px;border-radius:15px}.household-monthly-basket-stats{gap:5px}.household-monthly-basket-stats>div{padding:7px}.household-monthly-basket-stats strong{font-size:1rem}.household-monthly-basket-cost>strong{font-size:1.0625rem}}.household-spend-card{margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.household-spend-head{display:flex;align-items:center;gap:10px}.household-spend-head>div:last-child{min-width:0}.household-spend-head h2{margin:1px 0 0;font-size:1rem;line-height:1.2}.household-spend-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:11px;background:var(--surface-soft, rgba(127,127,127,.08));color:var(--accent, currentColor)}.household-spend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.household-spend-period{min-width:0;display:grid;gap:2px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft, rgba(127,127,127,.05))}.household-spend-period>span{color:var(--muted);font-size:.75rem;font-weight:750;line-height:1.25}.household-spend-period>strong{font-size:1.125rem;line-height:1.15;letter-spacing:-.02em}.household-spend-period>small{color:var(--muted);font-size:.75rem;line-height:1.35}.household-spend-period.is-partial>strong{font-size:1rem}.household-spend-coverage{font-weight:650}.household-spend-footnote{margin:9px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}@media(max-width:520px){.household-spend-card{padding:11px;border-radius:15px}.household-spend-grid{gap:5px}.household-spend-period{padding:8px}.household-spend-period>strong{font-size:1.0625rem}.household-spend-period.is-partial>strong{font-size:.9375rem}}@media(max-width:360px){.household-spend-grid{grid-template-columns:minmax(0,1fr)}}.category-spend-card{margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.category-spend-head{display:flex;align-items:center;gap:10px}.category-spend-head>div:last-child{min-width:0}.category-spend-head h2{margin:1px 0 0;font-size:1rem;line-height:1.2}.category-spend-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:11px;background:var(--surface-soft, rgba(127,127,127,.08));color:var(--accent, currentColor)}.category-spend-period-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-top:10px;padding-bottom:1px}.category-spend-period-tabs::-webkit-scrollbar{display:none}.category-spend-period-tabs button{flex:0 0 auto;min-height:32px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft, rgba(127,127,127,.05));color:var(--muted);font:inherit;font-size:.75rem;font-weight:700;cursor:pointer}.category-spend-period-tabs button.is-active{color:var(--text);border-color:color-mix(in srgb,var(--accent, currentColor) 35%,var(--line));background:color-mix(in srgb,var(--accent, currentColor) 9%,var(--surface))}.category-spend-summary{display:grid;gap:2px;margin-top:10px;padding:9px 10px;border-radius:12px;background:var(--surface-soft, rgba(127,127,127,.05))}.category-spend-summary>span{color:var(--muted);font-size:.75rem;font-weight:750}.category-spend-summary>strong{font-size:1.125rem;line-height:1.15;letter-spacing:-.02em}.category-spend-summary>small{color:var(--muted);font-size:.75rem;line-height:1.35}.category-spend-list{display:grid;gap:6px;margin-top:8px}.category-spend-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:12px}.category-spend-row.is-unrecognized{border-style:dashed}.category-spend-row-main,.category-spend-row-value{min-width:0;display:grid;gap:2px}.category-spend-row-main strong{font-size:.75rem;line-height:1.25}.category-spend-row-main span{color:var(--muted);font-size:.75rem;line-height:1.3}.category-spend-row-value{text-align:right;justify-items:end}.category-spend-row-value>strong{font-size:.875rem;line-height:1.2}.category-spend-row-value>small{font-size:.75rem;line-height:1.25}.category-spend-warning,.category-spend-footnote{margin:8px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}.category-spend-warning{font-weight:650}@media(max-width:520px){.category-spend-card{padding:11px;border-radius:15px}.category-spend-row{padding:8px;gap:7px}.category-spend-summary>strong{font-size:1.0625rem}}@media(max-width:360px){.category-spend-row{grid-template-columns:minmax(0,1fr)}.category-spend-row-value{text-align:left;justify-items:start}}.store-category-mix-card{margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.store-category-mix-head{display:flex;align-items:center;gap:10px}.store-category-mix-head>div:last-child{min-width:0}.store-category-mix-head h2{margin:1px 0 0;font-size:1rem;line-height:1.2}.store-category-mix-icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;flex:0 0 auto}.store-category-mix-period-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-top:10px;padding-bottom:1px}.store-category-mix-period-tabs::-webkit-scrollbar{display:none}.store-category-mix-period-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;white-space:nowrap;border:1px solid var(--border);background:var(--surface-subtle);color:var(--text);border-radius:999px;padding:6px 9px;font:inherit;font-size:.75rem;font-weight:700;cursor:pointer}.store-category-mix-period-tabs button.is-active{background:var(--text);color:var(--surface);border-color:var(--text)}.store-category-mix-section{margin-top:10px}.store-category-mix-subhead{display:grid;gap:2px}.store-category-mix-subhead>strong{font-size:.75rem;line-height:1.3}.store-category-mix-subhead>small{color:var(--muted);font-size:.75rem;line-height:1.4}.store-category-mix-store-list,.store-category-mix-patterns{display:grid;gap:6px;margin-top:7px}.store-category-mix-store{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 9px;border:1px solid var(--border);border-radius:12px;background:var(--surface-subtle)}.store-category-mix-store.is-unrecognized{border-style:dashed}.store-category-mix-store>div{min-width:0;display:grid;gap:1px}.store-category-mix-store>div:last-child{text-align:right;justify-items:end}.store-category-mix-store strong{font-size:.75rem;line-height:1.25}.store-category-mix-store>div:last-child strong{font-size:.875rem}.store-category-mix-store span{color:var(--muted);font-size:.75rem;line-height:1.3}.store-category-mix-pattern{display:grid;gap:2px;padding:8px 9px;border:1px solid var(--border);border-radius:12px}.store-category-mix-pattern strong{font-size:.75rem;line-height:1.3}.store-category-mix-pattern span{color:var(--muted);font-size:.75rem;line-height:1.4}.store-category-mix-warning,.store-category-mix-footnote{margin:8px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}.store-category-mix-warning{font-weight:650}@media(max-width:420px){.store-category-mix-card{padding:11px;border-radius:15px}.store-category-mix-store{padding:8px;gap:7px}}.advanced-basket-cost-benchmark{display:grid;gap:3px;margin-top:4px;padding:8px 9px;border:1px solid var(--border);border-radius:12px;background:var(--surface-subtle)}.advanced-basket-cost-benchmark>strong{font-size:.75rem;line-height:1.3}.advanced-basket-cost-benchmark>span{font-size:.75rem;line-height:1.35}.advanced-basket-cost-benchmark>small{color:var(--muted);font-size:.75rem;line-height:1.4}.advanced-basket-cost-benchmark.up>strong{color:var(--danger, currentColor)}.advanced-basket-cost-benchmark.down>strong{color:var(--success, currentColor)}.advanced-basket-cost-contributors{display:grid;gap:2px;margin-top:3px;padding-top:5px;border-top:1px solid var(--line)}.advanced-basket-cost-contributors>span{font-size:.75rem;font-weight:700;color:var(--muted)}.advanced-basket-cost-contributors>small{font-size:.75rem;line-height:1.35}.advanced-basket-cost-note{margin-top:2px}.primary-navigation{position:fixed;z-index:35;left:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100% - 20px),560px);min-height:64px;padding:6px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;border:1px solid rgba(29,33,31,.1);border-radius:22px;background:#fffdfaf5;box-shadow:0 14px 38px #232a2624;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.primary-navigation-item{min-width:0;min-height:52px;padding:5px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:17px;background:transparent;color:#666d67;cursor:pointer;font-size:.75rem;font-weight:750;line-height:1}.primary-navigation-icon{display:grid;place-items:center}.primary-navigation-item.active{background:var(--green-soft);color:var(--green)}.primary-navigation-item:focus-visible{outline:3px solid rgba(36,74,56,.28);outline-offset:1px}.lists-shell .content,.history-shell .content,.offers-shell .content,.meal-plans-shell .content{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.shopping-row,.shopping-row-swipe-layer{touch-action:pan-y}@media(min-width:760px){.primary-navigation{bottom:14px}}@media(prefers-reduced-motion:reduce){.primary-navigation-item{transition:none}}@media(forced-colors:active){.primary-navigation{border:1px solid CanvasText;background:Canvas}.primary-navigation-item.active{outline:2px solid Highlight}}:root{color-scheme:light;--brand-950: #173427;--brand-900: #1f4432;--brand-800: #28543e;--brand-700: #356b50;--brand-600: #468164;--brand-500: #5c9678;--brand-200: #cfe0d5;--brand-100: #e3eee7;--brand-50: #f1f7f3;--neutral-950: #171b19;--neutral-900: #212624;--neutral-800: #303633;--neutral-700: #49504c;--neutral-600: #626a65;--neutral-500: #7b837e;--neutral-400: #a2a9a5;--neutral-300: #c9cecb;--neutral-200: #dfe3e0;--neutral-150: #e9ece9;--neutral-100: #f1f3f1;--neutral-50: #f7f8f6;--success: #24704d;--success-soft: #e7f4ec;--warning: #8a641d;--warning-soft: #fff5d9;--danger: #a7443d;--danger-soft: #fff0ee;--info: #3d628b;--info-soft: #edf4fb;--canvas: #f3f5f1;--canvas-warm: #f7f5ef;--surface: #fffefa;--surface-raised: #ffffff;--surface-subtle: #f7f9f6;--surface-muted: #eff3ef;--surface-brand: #edf5f0;--overlay: rgba(20, 26, 23, .42);--text-strong: #1b201d;--text: #2a302d;--text-muted: #68706b;--text-faint: #88908b;--border: #dde3df;--border-strong: #cbd3ce;--divider: rgba(30, 45, 37, .09);--paper: var(--surface);--ink: var(--text-strong);--muted: var(--text-muted);--line: var(--border);--green: var(--brand-900);--green-soft: var(--brand-100);--cream: #f2f0e8;--font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--text-xs: .75rem;--text-sm: .75rem;--text-md: .875rem;--text-lg: 1rem;--title-sm: 1.1875rem;--title-md: 1.5rem;--title-lg: clamp(1.75rem, 7vw, 2.25rem);--leading-tight: 1.15;--leading-normal: 1.45;--tracking-tight: -.025em;--radius-xs: 8px;--radius-sm: 11px;--radius-md: 15px;--radius-lg: 20px;--radius-xl: 26px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--shadow-xs: 0 1px 2px rgba(23, 52, 39, .04);--shadow-sm: 0 4px 14px rgba(23, 52, 39, .06), 0 1px 2px rgba(23, 52, 39, .04);--shadow-md: 0 12px 32px rgba(23, 52, 39, .09), 0 2px 6px rgba(23, 52, 39, .04);--shadow-lg: 0 20px 52px rgba(23, 52, 39, .14);--shadow: var(--shadow-md);--focus-ring: 0 0 0 3px rgba(70, 129, 100, .24);--press-scale: .985;--motion-fast: .14s;--motion-normal: .22s;font-family:var(--font-sans);color:var(--text);background:var(--canvas)}html{background:var(--canvas)}body{color:var(--text);background:radial-gradient(circle at 8% -8%,rgba(92,150,120,.09),transparent 30rem),linear-gradient(180deg,#f8f8f4 0%,var(--canvas) 34%,#f1f4f0 100%);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}::selection{background:var(--brand-200);color:var(--brand-950)}button,input,select,textarea{font-family:var(--font-sans)}button,[role=button]{transition:transform var(--motion-fast) ease,background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,color var(--motion-fast) ease}button:active:not(:disabled){transform:scale(var(--press-scale))}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.app-shell{color:var(--text)}.content{width:min(100%,760px);padding-inline:clamp(14px,4vw,22px)}.topbar{min-height:72px;height:auto;border-bottom:1px solid var(--divider);background:#f8f9f6e0;box-shadow:0 1px #ffffffb3;-webkit-backdrop-filter:blur(22px) saturate(145%);backdrop-filter:blur(22px) saturate(145%)}.brand-mark{width:40px;height:40px;border-radius:14px;background:linear-gradient(145deg,var(--brand-800),var(--brand-950));box-shadow:0 7px 18px #1f44322e}.topbar h1{color:var(--text-strong);font-weight:760;letter-spacing:var(--tracking-tight)}.eyebrow,.section-kicker{color:var(--brand-700);font-size:var(--text-xs);letter-spacing:.11em;font-weight:780}.count-pill{background:var(--surface-muted);color:var(--text);border:1px solid var(--border)}.quick-add-card,.shopping-assistant-brief,.pre-shopping-review-card,.store-intelligence-card,.replenishment-digest,.pantry-digest,.price-history-card,.shopping-list-cost-estimate,.basket-store-comparison,.personal-store-advantage,.household-monthly-basket,.household-spend-analytics,.spending-by-category,.store-category-mix-card,.advanced-basket-cost-benchmark,.similar-basket-history{border-color:var(--border);background:var(--surface);box-shadow:var(--shadow-xs)}.voice-card{border-radius:var(--radius-xl);background:radial-gradient(circle at 90% 12%,rgba(255,255,255,.13),transparent 11rem),linear-gradient(145deg,var(--brand-800),var(--brand-950));box-shadow:0 18px 40px #1734272e}.voice-card .section-kicker{color:#c7ddcf}.voice-card h2{font-size:clamp(1.5625rem,6vw,1.9375rem);font-weight:780;letter-spacing:-.04em}.mic-button,.mic-disabled{box-shadow:0 10px 28px #08191138}.mic-button:not(.listening):hover{background:var(--brand-50)}.quick-add-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.quick-row input{border-color:var(--border-strong);background:var(--surface-raised);color:var(--text-strong);border-radius:var(--radius-md)}.quick-row input::placeholder{color:var(--text-faint)}.quick-row input:focus{border-color:var(--brand-600);box-shadow:var(--focus-ring)}.add-button{border-radius:var(--radius-md);background:var(--brand-900);box-shadow:0 5px 14px #1f443226}.add-button:hover:not(:disabled){background:var(--brand-800)}.list-heading h2,.bought-header h2,.sheet-header h2{color:var(--text-strong);font-size:var(--title-sm);font-weight:760;letter-spacing:var(--tracking-tight)}.input-hint,small,.muted{color:var(--text-muted)}.shopping-row,.memory-row,.pantry-row{border-color:var(--border);background:var(--surface);box-shadow:var(--shadow-xs)}.shopping-row:hover,.memory-row:hover,.pantry-row:hover{border-color:var(--border-strong)}.shopping-row strong,.memory-row strong,.pantry-row strong{color:var(--text-strong)}.list-search-toggle,.category-route-toggle,.list-select-toggle,.secondary-button,.ghost-button{border-color:var(--border);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-xs)}.list-search-toggle:hover,.category-route-toggle:hover,.list-select-toggle:hover,.secondary-button:hover,.ghost-button:hover{border-color:var(--brand-200);background:var(--brand-50);color:var(--brand-900)}.category-navigator button,.memory-category-navigator button{border-color:var(--border);background:#ffffffb8;color:var(--text-muted);box-shadow:var(--shadow-xs)}.category-navigator button.active,.memory-category-navigator button.active{border-color:var(--brand-800);background:var(--brand-900);color:#fff;box-shadow:0 6px 16px #1f443229}.error-banner,.error-state{border-color:#efc9c5;background:var(--danger-soft);color:#863630}.success-banner,.success-state{border-color:#c5e3d1;background:var(--success-soft);color:#235c42}.warning-banner,.warning-state{border-color:#ead8a4;background:var(--warning-soft);color:#735519}.sheet-backdrop,.modal-backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sheet,.modal,.command-search-sheet,.memory-hub-sheet{border-color:var(--border);background:var(--surface-raised);box-shadow:var(--shadow-lg)}.primary-navigation{min-height:68px;padding:7px;border:1px solid rgba(49,73,60,.11);border-radius:var(--radius-xl);background:#fffffce6;box-shadow:0 16px 42px #17342721,inset 0 1px #ffffffdb;-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}.primary-navigation-item{min-height:54px;border-radius:18px;color:var(--text-muted);font-size:.75rem;font-weight:720}.primary-navigation-icon{width:26px;height:25px;border-radius:9px;transition:transform var(--motion-normal) ease,background-color var(--motion-fast) ease}.primary-navigation-item.active{background:var(--brand-100);color:var(--brand-950);box-shadow:inset 0 0 0 1px #356b5014}.primary-navigation-item.active .primary-navigation-icon{transform:translateY(-1px)}.primary-navigation-item:hover:not(.active){background:var(--neutral-50);color:var(--text-strong)}.primary-navigation-item:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.advanced-basket-cost-benchmark,.shopping-list-cost-estimate,.similar-basket-history{border-radius:var(--radius-md);background:var(--surface-subtle)}.advanced-basket-cost-benchmark.up>strong{color:var(--danger)}.advanced-basket-cost-benchmark.down>strong{color:var(--success)}@media(prefers-reduced-motion:no-preference){.quick-add-card,.voice-card,.primary-navigation,.shopping-row,.memory-row,.pantry-row{transition:border-color var(--motion-fast) ease,box-shadow var(--motion-normal) ease,background-color var(--motion-fast) ease}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:420px){.content{padding-inline:12px}.voice-card{border-radius:23px;padding-inline:18px}.quick-add-card{border-radius:18px}.primary-navigation{width:calc(100% - 14px);bottom:max(6px,env(safe-area-inset-bottom));border-radius:21px}}@media(forced-colors:active){:root{--focus-ring: none}.voice-card,.brand-mark,.add-button{forced-color-adjust:auto}.primary-navigation,.shopping-row,.quick-add-card{border:1px solid CanvasText;box-shadow:none}}@media(prefers-reduced-motion:reduce){.basket-history-product{transition:none}}.shopping-list-redesign{--shopping-row-min: 74px;--shopping-section-gap: 22px}.shopping-list-redesign .topbar{grid-template-columns:46px minmax(0,1fr) auto;gap:12px;padding-inline:clamp(12px,3.5vw,20px)}.shopping-list-redesign .brand-back-button{width:46px;height:46px;border-radius:16px}.shopping-list-redesign .list-title-static{min-width:0}.shopping-list-redesign .list-title-static h1{max-width:100%;margin-top:2px;font-size:clamp(1.1875rem,5.2vw,1.5625rem);line-height:1.02;text-wrap:balance}.shopping-list-redesign .household-subtitle{margin-top:4px;color:var(--text-muted)}.shopping-list-redesign .content{padding-top:14px;padding-bottom:118px}.shopping-list-redesign .shopping-start-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.shopping-list-redesign .shopping-progress-card{border:1px solid var(--brand-200);border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--surface-brand),var(--surface));box-shadow:var(--shadow-sm)}.shopping-list-redesign .shopping-progress-percent{color:var(--brand-900);font-size:1.375rem;font-weight:820}.shopping-list-redesign .voice-card{border-radius:var(--radius-lg);box-shadow:0 10px 28px #17342721}.shopping-list-redesign .voice-card h2{font-size:clamp(1.25rem,5vw,1.5625rem)}.shopping-list-redesign .category-navigation-row{position:sticky;top:76px;z-index:12;margin-inline:-4px;padding:8px 4px;background:linear-gradient(180deg,#f3f5f1f7 68%,#f3f5f100);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.shopping-list-redesign .category-navigator{scrollbar-width:none}.shopping-list-redesign .category-navigator::-webkit-scrollbar{display:none}.shopping-list-redesign .category-navigator button{min-height:40px;border-radius:var(--radius-pill);padding-inline:13px;font-weight:760}.shopping-list-redesign .category-collapse-all{min-height:40px;border-radius:var(--radius-pill)}.shopping-list-redesign .groups{gap:var(--shopping-section-gap)}.shopping-list-redesign .category-group{scroll-margin-top:142px}.shopping-list-redesign .category-title{min-height:42px;padding:4px 6px 8px;color:var(--text-strong);font-size:.8125rem;font-weight:800;letter-spacing:-.01em}.shopping-list-redesign .category-toggle:hover{background:var(--surface-muted)}.shopping-list-redesign .category-count{min-width:24px;min-height:22px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem}.shopping-list-redesign .category-progress-label{margin-left:2px;padding:4px 8px;border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;font-weight:760}.shopping-list-redesign .category-progress-label.complete{background:var(--success-soft);color:var(--success)}.shopping-list-redesign .items-card{border-color:var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-sm)}.shopping-list-redesign .shopping-row-shell{border-bottom-color:var(--divider);background:var(--surface-raised)}.shopping-list-redesign .shopping-row{min-height:var(--shopping-row-min);grid-template-columns:54px minmax(0,1fr) 48px;padding:6px 7px 6px 5px;background:var(--surface-raised);box-shadow:none}.shopping-list-redesign .shopping-row:hover{background:var(--surface-subtle)}.shopping-list-redesign .shopping-row.bought{background:var(--surface-muted)}.shopping-list-redesign .check-button{width:48px;height:48px;border-radius:16px}.shopping-list-redesign .check-button:before{width:30px;height:30px;border:1.6px solid var(--neutral-300);border-radius:10px;background:var(--surface-raised);box-shadow:inset 0 0 0 1px #ffffffbf}.shopping-list-redesign .check-button:hover:before{border-color:var(--brand-500)}.shopping-list-redesign .check-button.checked:before{border-color:var(--brand-800);background:var(--brand-900)}.shopping-list-redesign .item-main{gap:5px;padding-block:9px}.shopping-list-redesign .item-summary{gap:10px;align-items:center}.shopping-list-redesign .item-name-button{text-align:left}.shopping-list-redesign .item-name{color:var(--text-strong);font-size:.90625rem;line-height:1.28;font-weight:730;letter-spacing:-.012em}.shopping-list-redesign .item-qty-button{min-height:42px;min-width:50px;border:1px solid transparent;border-radius:13px;background:var(--neutral-100);padding-inline:9px}.shopping-list-redesign .item-qty-button:hover{border-color:var(--brand-200);background:var(--brand-50)}.shopping-list-redesign .item-qty{color:var(--neutral-700);font-size:.75rem;font-weight:780;white-space:nowrap}.shopping-list-redesign .row-more-button{width:44px;height:44px;border-radius:14px;color:var(--text-muted)}.shopping-list-redesign .row-more-button:hover{background:var(--surface-muted);color:var(--brand-900)}.shopping-list-redesign .item-copy{gap:4px;min-height:0}.shopping-list-redesign .item-author,.shopping-list-redesign .item-remote-activity,.shopping-list-redesign .item-offline-pending{font-size:.75rem}.shopping-list-redesign .item-price-flow-hint{align-items:center;gap:6px}.shopping-list-redesign .item-price-flow-signal{width:fit-content;padding:4px 7px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:790}.shopping-list-redesign .item-price-flow-signal.higher{background:var(--danger-soft);color:var(--danger)}.shopping-list-redesign .item-price-flow-signal.lower{background:var(--success-soft);color:var(--success)}.shopping-list-redesign .item-price-history-button.compact{min-height:28px;padding-inline:6px;color:var(--brand-800);text-decoration-thickness:1px;text-underline-offset:3px}.shopping-list-redesign .bought-section{margin-top:24px;border-top:1px solid var(--divider);padding-top:14px}.shopping-list-redesign .bought-toggle{border-radius:var(--radius-md)}.shopping-list-redesign .bought-items{box-shadow:none;opacity:.88}.shopping-list-redesign .one-hand-shopping-entry-dock,.shopping-list-redesign .one-hand-shopping-dock{border-color:#1f443229;background:#fffffcf0;box-shadow:0 18px 45px #1734272e;-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}.shopping-list-redesign .one-hand-shopping-entry-dock>button{border-radius:18px;background:linear-gradient(145deg,var(--brand-800),var(--brand-950))}@media(max-width:640px){.shopping-list-redesign .topbar{min-height:88px;align-items:center}.shopping-list-redesign .topbar-actions .count-pill{display:none}.shopping-list-redesign .list-title-static h1{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.shopping-list-redesign .shopping-start-card{display:none}.shopping-list-redesign .content{padding-inline:12px}.shopping-list-redesign .voice-card{min-height:0;padding:15px 16px;display:grid;grid-template-columns:minmax(0,1fr) 54px;column-gap:12px}.shopping-list-redesign .voice-copy{padding-right:0}.shopping-list-redesign .voice-copy p{display:none}.shopping-list-redesign .voice-card .mic-button{position:static;width:52px;height:52px;align-self:center}.shopping-list-redesign .voice-status{grid-column:1 / -1}.shopping-list-redesign .category-navigation-row{top:88px}.shopping-list-redesign .category-group{scroll-margin-top:154px}.shopping-list-redesign .shopping-row{min-height:78px;grid-template-columns:52px minmax(0,1fr) 44px;padding-inline:3px 5px}.shopping-list-redesign .item-name{font-size:.875rem}.shopping-list-redesign .item-qty-button{min-width:48px;padding-inline:7px}.shopping-list-redesign .category-title{font-size:.78125rem}}@media(max-width:380px){.shopping-list-redesign .topbar{grid-template-columns:44px minmax(0,1fr) auto;gap:8px}.shopping-list-redesign .brand-back-button{width:44px;height:44px}.shopping-list-redesign .list-title-static h1{font-size:1.125rem}.shopping-list-redesign .household-subtitle{font-size:.75rem}.shopping-list-redesign .shopping-row{grid-template-columns:50px minmax(0,1fr) 40px}.shopping-list-redesign .row-more-button{width:40px;height:40px}}@media(prefers-reduced-motion:reduce){.shopping-list-redesign .shopping-row,.shopping-list-redesign .category-navigation-row{transition:none}}.dashboard-home .lists-content{width:min(100%,940px);padding-top:18px}.dashboard-home .dashboard-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:24px;border:1px solid rgba(53,107,80,.14);border-radius:var(--radius-xl);background:radial-gradient(circle at 92% 8%,rgba(92,150,120,.15),transparent 19rem),linear-gradient(145deg,#fffffcfa,#f1f7f3fa);box-shadow:var(--shadow-sm)}.dashboard-home .dashboard-hero-copy{min-width:0}.dashboard-home .dashboard-hero h2{margin:6px 0 7px;color:var(--text-strong);font-size:clamp(1.6875rem,5vw,2.375rem);line-height:1.04;letter-spacing:-.045em}.dashboard-home .dashboard-hero p{max-width:590px;margin:0;color:var(--text-muted);font-size:.8125rem;line-height:1.5}.dashboard-home .dashboard-hero small{display:block;margin-top:8px;color:var(--text-faint);font-size:.75rem;line-height:1.45}.dashboard-home .dashboard-new-list{min-width:142px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:16px;box-shadow:0 9px 22px #1f443229}.dashboard-home .dashboard-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.dashboard-home .dashboard-stat{min-width:0;min-height:92px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:3px 10px;padding:14px 15px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fffffcc7;box-shadow:var(--shadow-xs)}.dashboard-home .dashboard-stat>span{color:var(--text-muted);font-size:.75rem;font-weight:740}.dashboard-home .dashboard-stat>strong{grid-row:1 / 3;grid-column:2;align-self:center;color:var(--text-strong);font-size:1.6875rem;line-height:1;letter-spacing:-.04em}.dashboard-home .dashboard-stat>small{color:var(--text-faint);font-size:.75rem;line-height:1.35}.dashboard-home .dashboard-stat.emphasis{border-color:var(--brand-200);background:var(--surface-brand)}.dashboard-home .dashboard-stat.emphasis>strong{color:var(--brand-900)}.dashboard-home .dashboard-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.dashboard-home .dashboard-shortcut{min-width:0;min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 13px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--shadow-xs)}.dashboard-home .dashboard-shortcut:hover{border-color:var(--brand-200);background:var(--surface-subtle);box-shadow:var(--shadow-sm)}.dashboard-home .dashboard-shortcut-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--surface-brand);color:var(--brand-800)}.dashboard-home .dashboard-shortcut-copy{min-width:0;display:grid;gap:2px}.dashboard-home .dashboard-shortcut-copy strong{overflow:hidden;color:var(--text-strong);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-home .dashboard-shortcut-copy small{overflow:hidden;color:var(--text-muted);font-size:.75rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.dashboard-home .dashboard-shortcut>svg{color:var(--text-faint)}.dashboard-home .shopping-lists-section{margin-top:24px}.dashboard-home .lists-section-heading{margin-bottom:10px;padding-inline:2px}.dashboard-home .lists-section-heading h2{margin-top:3px;font-size:1.1875rem}.dashboard-home .shopping-lists-grid{gap:11px}.dashboard-home .shopping-list-card{border-color:var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-xs)}.dashboard-home .shopping-list-card:hover{box-shadow:var(--shadow-sm)}.dashboard-home .shopping-list-card.dashboard-list-priority{border-color:#356b5047;box-shadow:0 9px 26px #17342717}.dashboard-home .shopping-list-card.dashboard-list-priority .shopping-list-card-main{background:linear-gradient(180deg,#f1f7f3bf,#fff0)}.dashboard-home .shopping-list-card-main{min-height:150px;padding:15px}.dashboard-home .shopping-list-card h3{margin:15px 0 11px;font-size:1.125rem}.dashboard-home .shopping-list-meta{gap:7px 13px}.dashboard-home .list-status-badge{min-height:24px;padding-inline:9px;letter-spacing:.035em}.dashboard-home .list-open-label{color:var(--text-muted);font-size:.75rem}.dashboard-home .dashboard-list-priority .list-open-label{color:var(--brand-800);font-weight:800}.dashboard-home .list-progress-line{height:5px;margin-top:13px;background:var(--neutral-100)}.dashboard-home .shopping-list-card-actions{padding:0 12px 12px}.dashboard-home .list-shopping-button{min-height:44px;border-radius:13px}.dashboard-home .dashboard-list-priority .list-shopping-button.continue{background:var(--brand-900);color:#fff}@media(max-width:650px){.dashboard-home .lists-content{padding-top:12px}.dashboard-home .dashboard-hero{grid-template-columns:1fr;gap:15px;padding:19px 17px 17px;border-radius:22px}.dashboard-home .dashboard-hero h2{font-size:1.8125rem}.dashboard-home .dashboard-hero p{font-size:.75rem}.dashboard-home .dashboard-new-list{width:100%;min-height:50px}.dashboard-home .dashboard-overview{gap:7px}.dashboard-home .dashboard-stat{min-height:84px;grid-template-columns:1fr;gap:2px;padding:11px 10px}.dashboard-home .dashboard-stat>strong{grid-row:auto;grid-column:auto;order:-1;font-size:1.5rem}.dashboard-home .dashboard-stat>span{font-size:.75rem}.dashboard-home .dashboard-stat>small{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.dashboard-home .dashboard-shortcuts{grid-template-columns:1fr;gap:7px}.dashboard-home .dashboard-shortcut{min-height:62px}.dashboard-home .shopping-lists-section{margin-top:20px}.dashboard-home .shopping-list-card-main{min-height:138px}}@media(max-width:380px){.dashboard-home .dashboard-hero{padding-inline:15px}.dashboard-home .dashboard-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-home .dashboard-stat{padding-inline:7px}.dashboard-home .dashboard-stat>strong{font-size:1.375rem}}@media(prefers-reduced-motion:reduce){.dashboard-home .dashboard-shortcut,.dashboard-home .shopping-list-card{transition:none}}@media(forced-colors:active){.dashboard-home .dashboard-hero,.dashboard-home .dashboard-stat,.dashboard-home .dashboard-shortcut,.dashboard-home .shopping-list-card{border:1px solid CanvasText}}.pantry-hub-sheet{background:var(--surface-canvas, #f5f7f4)}.pantry-hub-chrome{background:color-mix(in srgb,var(--surface, #fff) 92%,transparent);border-bottom:1px solid var(--border-subtle, rgba(28, 59, 45, .08))}.pantry-hub-header h2{letter-spacing:-.035em}.pantry-hub-header p{max-width:680px;color:var(--text-muted, #6d756f);line-height:1.45}.pantry-home-overview{display:grid;gap:12px;margin:2px 0 12px;padding:14px;border:1px solid var(--border, rgba(28, 59, 45, .11));border-radius:var(--radius-xl, 20px);background:linear-gradient(145deg,var(--surface, #fff),var(--surface-brand, #edf5ef));box-shadow:var(--shadow-xs, 0 3px 10px rgba(24, 48, 37, .04))}.pantry-home-overview-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.pantry-home-overview-main>div{min-width:0;display:grid;gap:2px}.pantry-home-overview-main strong{color:var(--text-strong, #1d2822);font-size:.9375rem;letter-spacing:-.015em}.pantry-home-overview-main>div>span:last-child{color:var(--text-muted, #6d756f);font-size:.75rem}.pantry-home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pantry-home-stats>div{min-width:0;display:grid;gap:2px;padding:9px 10px;border:1px solid var(--border-subtle, rgba(28, 59, 45, .08));border-radius:var(--radius-md, 12px);background:#ffffffb8}.pantry-home-stats strong{color:var(--brand-900, #214b37);font-size:1.1875rem;line-height:1}.pantry-home-stats span{overflow:hidden;color:var(--text-muted, #6d756f);font-size:.75rem;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.pantry-home-stats .has-attention{border-color:var(--warning-border, #e2d1a8);background:var(--warning-soft, #fff8e7)}.pantry-home-stats .has-attention strong{color:var(--warning-text, #775d1e)}.pantry-home-overview-note{margin:0;color:var(--text-faint, #7b837d);font-size:.75rem;line-height:1.4}.pantry-hub-content{background:transparent}.pantry-hub-manual{margin-block:4px 12px;padding:10px;border:1px solid var(--border-subtle, rgba(28,59,45,.08));border-radius:var(--radius-lg, 16px);background:var(--surface, #fff);box-shadow:var(--shadow-xs, none)}.pantry-hub-group{overflow:hidden;border:1px solid var(--border, rgba(28, 59, 45, .1));border-radius:var(--radius-xl, 20px);background:var(--surface, #fff);box-shadow:var(--shadow-xs, none)}.pantry-hub-category{padding:10px 12px;border-bottom:1px solid var(--border-subtle, rgba(28,59,45,.07));background:var(--surface-subtle, #f8faf8)}.pantry-hub-item{border-bottom-color:var(--border-subtle, rgba(28,59,45,.07));background:transparent}.pantry-hub-item:hover{background:var(--surface-subtle, #f8faf8)}.pantry-hub-item-copy>strong{color:var(--text-strong, #1e2923);font-size:.75rem;letter-spacing:-.01em}.pantry-intelligence-badges{gap:5px}.pantry-intelligence-badge{border-color:transparent;background:var(--neutral-100, #f1f3f0)}.pantry-stock-estimate,.pantry-expiry-summary,.pantry-restock-hint{border-radius:var(--radius-md, 12px);box-shadow:none}.pantry-quick-actions{gap:5px;padding-top:2px}.pantry-quick-actions button{min-height:34px;border:1px solid var(--border-subtle, rgba(28,59,45,.08));border-radius:10px;background:var(--surface-subtle, #f7f9f7);color:var(--text-muted, #59645d);font-weight:760}.pantry-quick-actions button.depleted{background:var(--danger-soft, #fff3ef)}.pantry-quick-actions button.pantry-restock{background:var(--surface-brand, #edf5ef);color:var(--brand-900, #214b37)}.pantry-quick-actions button.quantity,.pantry-quick-actions button.expiry{background:transparent}.pantry-hub-footer{border-top-color:var(--border-subtle, rgba(28,59,45,.08));background:color-mix(in srgb,var(--surface, #fff) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.pantry-hub-footer>span{color:var(--text-faint, #7a827c)}.meal-plans-shell{background:var(--surface-canvas, #f5f7f4)}.meal-plans-content{padding-top:18px}.meal-plans-hero,.meal-plan-detail-hero{align-items:center;margin-bottom:12px;padding:18px 19px;border:1px solid var(--border, rgba(28,59,45,.1));border-radius:var(--radius-xl, 22px);background:linear-gradient(145deg,var(--surface, #fff),var(--surface-brand, #edf5ef));box-shadow:var(--shadow-xs, 0 4px 14px rgba(24,48,37,.05))}.meal-plans-hero h2,.meal-plan-detail-hero h2{margin-block:4px 6px;font-size:clamp(1.5625rem,4vw,2.125rem)}.meal-plans-hero p,.meal-plan-detail-hero p{max-width:610px;font-size:.75rem}.meal-plans-home-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 22px}.meal-plans-home-overview>div{min-width:0;display:flex;align-items:center;gap:8px;padding:10px 11px;border:1px solid var(--border-subtle, rgba(28,59,45,.08));border-radius:var(--radius-md, 13px);background:var(--surface, #fff);color:var(--brand-800, #315d47)}.meal-plans-home-overview span{min-width:0;overflow:hidden;color:var(--text-muted, #657069);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.meal-plans-home-overview strong{color:var(--text-strong, #1d2822);font-size:.8125rem}.meal-plan-overview,.meal-recipe-library{margin-top:0}.meal-recipe-library{margin-top:24px}.meal-plan-section-heading{margin-bottom:10px}.meal-plan-card{min-height:145px;border-color:var(--border, rgba(28,59,45,.1));border-radius:var(--radius-xl, 18px);background:var(--surface, #fff);box-shadow:var(--shadow-xs, none)}.meal-plan-card:hover{border-color:var(--brand-200, #bdd4c5);background:var(--surface-raised, #fff);box-shadow:var(--shadow-sm, 0 7px 18px rgba(24,48,37,.07))}.meal-plan-card h3{margin-block:11px 8px;font-size:1.125rem}.meal-plan-card-top>span:last-child{color:var(--brand-700, #3c6b52)}.meal-recipe-card{border-color:var(--border-subtle, rgba(28,59,45,.08));background:var(--surface, #fff)}.meal-plan-detail-actions{display:flex;flex-wrap:wrap;gap:8px}.meal-plan-digest{border-radius:var(--radius-lg, 16px);background:var(--surface, #fff);box-shadow:var(--shadow-xs, none)}.meal-plan-days{gap:10px;margin-top:14px}.meal-plan-day-card{border-color:var(--border, rgba(28,59,45,.1));border-radius:var(--radius-xl, 18px);background:var(--surface, #fff);box-shadow:var(--shadow-xs, none)}.meal-plan-day-heading{padding:12px 13px;border-bottom-color:var(--border-subtle, rgba(28,59,45,.07));background:var(--surface-subtle, #f8faf8)}.meal-plan-day-heading h3{font-size:.9375rem}.meal-plan-meal-row{padding:11px 13px;border-bottom-color:var(--border-subtle, rgba(28,59,45,.07))}.meal-plan-meal-time>span{color:var(--brand-700, #3c6b52)}.meal-plan-meal-recipe strong{color:var(--text-strong, #1d2822);font-size:.75rem}.meal-plan-meal-actions button:hover{background:var(--surface-brand, #edf5ef)}.meal-plan-calendar-view{border-color:var(--border-subtle, rgba(28,59,45,.08));background:var(--surface, #fff);box-shadow:var(--shadow-xs, none)}.meal-plan-incremental,.meal-plan-smart-suggestions,.meal-plan-requirements{border-radius:var(--radius-xl, 18px)}@media(max-width:650px){.pantry-hub-sheet{border-radius:24px 24px 0 0}.pantry-home-overview{margin-inline:0;padding:12px}.pantry-home-stats{gap:5px}.pantry-home-stats>div{padding:8px}.pantry-home-stats strong{font-size:1.0625rem}.pantry-home-stats span{font-size:.75rem;white-space:normal;line-height:1.2}.pantry-hub-manual{padding:8px}.pantry-hub-groups{gap:9px}.pantry-hub-group{border-radius:17px}.pantry-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.pantry-quick-actions button{min-width:0;padding-inline:5px;font-size:.75rem}.pantry-quick-actions button.quantity,.pantry-quick-actions button.expiry{grid-column:span 1}.meal-plans-content{padding-top:12px}.meal-plans-hero,.meal-plan-detail-hero{gap:12px;padding:16px;border-radius:21px}.meal-plans-hero h2,.meal-plan-detail-hero h2{font-size:1.6875rem}.meal-plans-home-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:18px}.meal-plans-home-overview>div{padding:9px}.meal-plan-grid{gap:9px}.meal-plan-card{min-height:132px;padding:13px}.meal-plan-detail-actions{display:grid;grid-template-columns:1fr;width:100%}.meal-plan-detail-actions>button{width:100%}.meal-plan-day-heading{flex-direction:row;align-items:center}.meal-plan-day-heading .secondary-button{width:auto}}@media(max-width:430px){.pantry-home-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.pantry-home-overview-note{font-size:.75rem}.pantry-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-plans-home-overview{grid-template-columns:1fr 1fr}.meal-plan-day-heading{align-items:flex-start}.meal-plan-day-heading .secondary-button{width:auto}}@media(prefers-reduced-motion:reduce){.meal-plan-card,.pantry-hub-item{transition:none!important}}@media(forced-colors:active){.pantry-home-overview,.pantry-home-stats>div,.pantry-hub-manual,.pantry-hub-group,.meal-plans-hero,.meal-plan-detail-hero,.meal-plans-home-overview>div,.meal-plan-card,.meal-plan-day-card{border:1px solid CanvasText}}.pantry-product-card{display:block;padding:0;border-bottom:1px solid var(--border-subtle, rgba(28,59,45,.07));background:var(--surface, #fff)}.pantry-product-card:last-child{border-bottom:0}.pantry-product-summary{width:100%;min-height:60px;display:grid;grid-template-columns:36px minmax(0,1fr) 28px;align-items:center;gap:9px;padding:9px 10px;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.pantry-product-summary:hover{background:var(--surface-subtle, #f8faf8)}.pantry-product-summary:active{background:var(--surface-brand, #edf5ef)}.pantry-product-summary:focus-visible{outline:2px solid var(--focus, #2d6a4f);outline-offset:-3px}.pantry-product-summary .pantry-hub-item-icon{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:11px;background:var(--surface-brand, #edf5ef);color:var(--brand-800, #2f6348)}.pantry-product-summary-copy{min-width:0;display:grid;gap:4px}.pantry-product-summary-copy>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong, #1e2923);font-size:.75rem;line-height:1.25;letter-spacing:-.01em}.pantry-product-summary-meta{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px;color:var(--text-muted, #647068);font-size:.75rem;line-height:1.2}.pantry-product-summary-meta b,.pantry-product-summary-meta em{display:inline-flex;align-items:center;min-height:20px;max-width:100%;padding:2px 7px;border-radius:999px;font-style:normal;font-weight:760}.pantry-product-summary-meta b{background:var(--neutral-100, #f1f3f0)}.pantry-product-summary-meta em.attention{background:var(--warning-soft, #fff8e7);color:var(--warning-text, #775d1e)}.pantry-product-summary-meta em.sync{background:var(--info-soft, #eef5fa);color:var(--info-text, #31586f)}.pantry-product-expand-icon{width:28px;height:28px;display:inline-grid;place-items:center;color:var(--text-faint, #7a827c)}.pantry-product-card.expanded .pantry-product-summary{background:color-mix(in srgb,var(--surface-brand, #edf5ef) 58%,var(--surface, #fff));border-bottom:1px solid var(--border-subtle, rgba(28,59,45,.07))}.pantry-product-details{display:grid;gap:8px;padding:9px 10px 11px 55px;background:var(--surface, #fff)}.pantry-product-context{display:grid;gap:2px;color:var(--text-faint, #7a827c);font-size:.75rem;line-height:1.35}.pantry-product-details .pantry-stock-estimate,.pantry-product-details .pantry-expiry-summary,.pantry-product-details .pantry-restock-hint{margin:0}.pantry-product-details .pantry-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding-top:1px}.pantry-product-details .pantry-quick-actions button{min-width:0;min-height:36px;padding:6px 7px;font-size:.75rem;line-height:1.1}.pantry-product-danger-zone{display:flex;justify-content:flex-end;padding-top:2px;border-top:1px solid var(--border-subtle, rgba(28,59,45,.07))}.pantry-product-danger-zone .pantry-hub-remove{position:static;width:auto;height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border:0;background:transparent;color:var(--danger-text, #934b43);font-size:.75rem;font-weight:720}@media(max-width:620px){.pantry-product-summary{min-height:56px;padding:8px 9px}.pantry-product-details{padding:8px 9px 10px}.pantry-product-details .pantry-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.pantry-product-details .pantry-stock-estimate>span,.pantry-product-details .pantry-restock-hint>span{font-size:.75rem}}@media(prefers-reduced-motion:reduce){.pantry-product-summary{transition:none!important}}.pantry-hub-sheet{height:min(94dvh,900px);max-height:94dvh}@media(max-width:620px){.pantry-hub-sheet{width:100%;height:calc(100dvh - max(6px,env(safe-area-inset-top)));max-height:none;padding:7px 10px max(8px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.pantry-hub-sheet .sheet-handle{width:40px;height:4px;margin-bottom:8px}.pantry-hub-chrome{padding-bottom:6px}.pantry-hub-header{gap:10px}.pantry-hub-header h2{margin-top:2px;font-size:1.25rem;line-height:1.08}.pantry-hub-header p{display:-webkit-box;margin-top:3px;max-width:330px;overflow:hidden;color:var(--text-faint, #778078);font-size:.75rem;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:1}.pantry-hub-header .close-button{width:42px;height:42px;flex:0 0 42px}.pantry-home-overview{gap:7px;margin:6px 0 7px;padding:8px 9px;border-radius:16px}.pantry-home-overview-main{gap:8px}.pantry-home-overview-main .pantry-hub-summary-icon{width:29px;height:29px;border-radius:9px}.pantry-home-overview-main strong{font-size:.8125rem;line-height:1.15}.pantry-home-overview-main>div>span:last-child{display:none}.pantry-home-stats{gap:4px}.pantry-home-stats>div{min-height:43px;gap:1px;padding:6px 7px;border-radius:10px}.pantry-home-stats strong{font-size:1rem}.pantry-home-stats span{font-size:.75rem;line-height:1.1}.pantry-home-overview-note{display:none}.pantry-hub-manual{gap:4px;margin-block:5px 5px;padding:6px;border-radius:14px}.pantry-hub-manual-row{gap:5px}.pantry-hub-manual-row input{height:42px}.pantry-hub-manual-add,.pantry-hub-voice{width:42px;min-width:42px;height:42px}.pantry-hub-manual-hint{display:none}.pantry-hub-manual-status{margin-top:1px;padding:5px 7px;font-size:.75rem;line-height:1.25}.pantry-hub-content{padding:6px 1px 8px;scroll-padding-top:6px}.pantry-hub-groups{gap:8px}.pantry-hub-group{border-radius:16px}.pantry-hub-category{padding:7px 10px}.pantry-hub-footer{grid-template-columns:1fr;gap:0;padding-top:6px}.pantry-hub-capture{min-height:44px;border-radius:13px}.pantry-hub-footer>span{display:none}}@media(max-width:380px){.pantry-hub-header p{display:none}.pantry-home-overview{margin-top:4px}.pantry-home-stats span{font-size:.75rem}}@media(forced-colors:active){.pantry-hub-sheet,.pantry-home-overview,.pantry-hub-manual,.pantry-hub-footer{border-color:CanvasText}}.history-content{display:flex;flex-direction:column}.history-content>.history-hero{order:0}.history-content>.basket-history-card{order:1}.history-content>.history-list-section{order:2}.price-intelligence-analytics{margin:2px 0 14px;border:1px solid var(--border, var(--line));border-radius:16px;background:var(--surface);overflow:clip}.price-intelligence-analytics>summary{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;cursor:pointer;list-style:none;color:var(--text)}.price-intelligence-analytics>summary::-webkit-details-marker{display:none}.price-intelligence-analytics>summary>span{min-width:0;display:grid;gap:2px}.price-intelligence-analytics>summary strong{font-size:.8125rem;line-height:1.25}.price-intelligence-analytics>summary small{color:var(--muted);font-size:.75rem;line-height:1.35}.price-intelligence-analytics>summary svg{flex:0 0 auto;color:var(--muted);transition:transform .18s ease}.price-intelligence-analytics[open]>summary svg{transform:rotate(180deg)}.price-intelligence-analytics-body{padding:0 10px 10px}.price-intelligence-analytics-body>section{margin-top:8px;margin-bottom:0}@media(max-width:640px){.history-content{padding-top:8px}.history-hero{padding-block:12px;margin-bottom:8px}.history-hero p{display:none}.basket-history-card{margin-bottom:10px;padding:11px;border-radius:15px}.basket-history-heading p{display:none}.basket-history-latest{padding:9px 10px}.basket-history-recent{gap:5px}.basket-history-product{min-height:58px;padding:8px 34px 8px 9px}.basket-history-product>div>span{font-size:.75rem}.history-list-card{border-radius:15px}.history-card-hint{display:none}.price-intelligence-analytics{margin-top:4px}.price-intelligence-analytics-body{padding-inline:7px}.price-intelligence-analytics-body .household-monthly-basket-footnote,.price-intelligence-analytics-body .household-spend-footnote,.price-intelligence-analytics-body .category-spend-footnote,.price-intelligence-analytics-body .store-category-mix-footnote{display:none}.price-intelligence-analytics-body .household-monthly-basket-card,.price-intelligence-analytics-body .household-spend-card,.price-intelligence-analytics-body .category-spend-card,.price-intelligence-analytics-body .store-category-mix-card{padding:10px;border-radius:14px}.price-history-sheet{width:calc(100vw - 4px);height:calc(100dvh - max(4px,env(safe-area-inset-top)));max-height:none;margin:0 2px 2px;padding:8px 12px calc(12px + env(safe-area-inset-bottom));border-radius:22px 22px 12px 12px}.price-history-heading{position:sticky;top:-8px;z-index:4;margin-inline:-12px;padding:8px 12px 9px;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--divider, var(--line))}.price-history-heading h2{margin-block:1px 2px;font-size:1.1875rem}.price-history-heading p{display:none}.price-history-overview{margin-top:9px;gap:5px}.price-history-overview-item{padding:8px}.price-history-chart-card{padding:9px 10px 7px}.price-history-sparkline{height:72px}.price-change-detection-card{padding:9px 10px}.price-change-detection-card>small{display:none}.price-history-store-card{padding:9px 10px}.price-history-store-card>p{display:none}.price-history-entry{padding-block:8px}.price-history-footnote{display:none}}@media(max-width:640px){.multimodal-sheet.receipt-aware{width:calc(100vw - 4px);height:calc(100dvh - max(4px,env(safe-area-inset-top)));max-height:none;margin-bottom:2px;padding:7px 8px calc(8px + env(safe-area-inset-bottom));border-radius:22px 22px 12px 12px}.multimodal-sheet.receipt-aware .multimodal-heading{margin-bottom:5px;padding-inline:2px}.multimodal-sheet.receipt-aware .multimodal-heading p{display:none}.multimodal-sheet.receipt-aware .multimodal-scroll-body{min-height:0}.multimodal-sheet.receipt-aware .multimodal-source-card{grid-template-columns:54px minmax(0,1fr);gap:7px;padding:5px 6px;border-radius:12px}.multimodal-sheet.receipt-aware .multimodal-preview-tile:only-child{flex-basis:48px}.multimodal-sheet.receipt-aware .multimodal-preview-tile:only-child .multimodal-preview-visual,.multimodal-sheet.receipt-aware .multimodal-preview-tile:only-child .multimodal-preview-image{width:48px}.multimodal-sheet.receipt-aware .multimodal-preview-tile:only-child .multimodal-preview-image{height:52px}.multimodal-sheet.receipt-aware .multimodal-image-variant{display:none}.multimodal-sheet.receipt-aware .multimodal-source-copy{gap:1px}.multimodal-sheet.receipt-aware .multimodal-source-copy>span:not(.multimodal-source-badge),.multimodal-sheet.receipt-aware .multimodal-source-files,.multimodal-sheet.receipt-aware .multimodal-privacy,.multimodal-sheet.receipt-aware .multimodal-quality-summary{display:none}.multimodal-sheet.receipt-aware .multimodal-receipt-summary{margin-top:5px;padding:6px 8px;gap:3px}.multimodal-sheet.receipt-aware .multimodal-receipt-summary p{display:none}.multimodal-sheet.receipt-aware .multimodal-receipt-filter-details{margin-top:0}.receipt-feedback-loop{margin:5px 2px;padding:8px;border-radius:12px}.receipt-feedback-heading{gap:4px}.receipt-feedback-title .section-kicker{display:none}.receipt-feedback-title strong{font-size:.75rem}.receipt-feedback-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.receipt-feedback-counts span{padding:5px}.receipt-feedback-counts strong{font-size:.75rem}.receipt-feedback-source small,.receipt-feedback-pending-note{display:none}.multimodal-sheet.receipt-aware .multimodal-review-toolbar{min-height:40px;margin-top:4px;padding-bottom:4px}.multimodal-sheet.receipt-aware .multimodal-candidate-list{min-height:0;flex:1 1 auto;padding-block:5px}.multimodal-sheet.receipt-aware .multimodal-footer{gap:5px;padding-top:5px}.multimodal-sheet.receipt-aware .multimodal-footer button{min-height:42px}}@media(prefers-reduced-motion:reduce){.price-intelligence-analytics>summary svg{transition:none}}:root{--motion-instant: 90ms;--motion-fast: .13s;--motion-normal: .19s;--motion-slow: .28s;--motion-ease-out: cubic-bezier(.2,.78,.24,1);--motion-ease-emphasized: cubic-bezier(.16,1,.3,1)}@keyframes ui-surface-arrive{0%{opacity:0;transform:translateY(7px) scale(.994)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ui-detail-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes ui-confirm-pop{0%{transform:scale(.82);opacity:.35}62%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@keyframes ui-saved-settle{0%{box-shadow:0 0 #24704d33}to{box-shadow:0 0 0 7px #24704d00}}@keyframes ui-remote-highlight{0%{background-color:color-mix(in srgb,var(--success-soft) 80%,var(--surface))}to{background-color:var(--surface)}}button:not(:disabled),[role=button]:not([aria-disabled=true]){transform-origin:center}button:active:not(:disabled),[role=button]:active:not([aria-disabled=true]){transform:scale(.982)}.sheet-backdrop,.meal-plan-sheet-backdrop,.meal-plan-shopping-preview-backdrop{animation-duration:var(--motion-normal)}.edit-sheet,.memory-hub-sheet,.category-route-sheet,.sticky-add-sheet,.action-menu-sheet,.context-help-sheet,.multimodal-sheet,.pantry-hub-sheet,.price-history-sheet,.meal-plan-form-sheet{animation-duration:var(--motion-normal);animation-timing-function:var(--motion-ease-emphasized)}.pantry-product-details,.price-intelligence-analytics[open] .price-intelligence-analytics-body,.meal-plan-ingredients-toggle[open]+*,.quantity-panel,.pantry-quantity-correction,.pantry-expiry-editor{animation:ui-detail-reveal var(--motion-normal) var(--motion-ease-out) both}.pantry-product-expand-icon,.price-intelligence-analytics>summary svg,.category-toggle>svg,.bought-toggle>svg{transition:transform var(--motion-normal) var(--motion-ease-out),color var(--motion-fast) ease}.pantry-product-card.expanded .pantry-product-expand-icon{transform:translateY(1px)}.shopping-row.visually-bought .check-button.checked>svg,.shopping-row.bought .check-button.checked>svg,.selection-check-button.checked>svg{animation:ui-confirm-pop var(--motion-normal) var(--motion-ease-emphasized) both}.shopping-row .item-name,.shopping-row .item-qty,.shopping-row .product-note{transition:color var(--motion-normal) ease,opacity var(--motion-normal) ease,text-decoration-color var(--motion-normal) ease}.sync-status-pill.saved .sync-status-dot{animation:ui-saved-settle var(--motion-slow) ease-out 1}.shopping-row.remote-updated,.pantry-hub-item.remote-updated,.meal-plan-remote-change-chip{animation:ui-remote-highlight .72s ease-out both}.dashboard-shortcut,.dashboard-home .shopping-list-card,.meal-plan-card,.basket-history-product,.history-list-card,.pantry-product-summary{transition:transform var(--motion-fast) var(--motion-ease-out),border-color var(--motion-fast) ease,background-color var(--motion-fast) ease,box-shadow var(--motion-normal) ease}@media(hover:hover)and (pointer:fine){.dashboard-shortcut:hover,.dashboard-home .shopping-list-card:hover,.meal-plan-card:hover,.basket-history-product:hover{transform:translateY(-1px)}}.undo-toast,.notice-banner,.success-banner,.error-banner,.meal-plan-notice{animation:ui-surface-arrive var(--motion-normal) var(--motion-ease-out) both}@media(prefers-reduced-motion:reduce){.pantry-product-details,.price-intelligence-analytics[open] .price-intelligence-analytics-body,.quantity-panel,.pantry-quantity-correction,.pantry-expiry-editor,.shopping-row.visually-bought .check-button.checked>svg,.shopping-row.bought .check-button.checked>svg,.selection-check-button.checked>svg,.sync-status-pill.saved .sync-status-dot,.shopping-row.remote-updated,.pantry-hub-item.remote-updated,.meal-plan-remote-change-chip,.undo-toast,.notice-banner,.success-banner,.error-banner,.meal-plan-notice{animation:none!important}.pantry-product-expand-icon,.price-intelligence-analytics>summary svg,.category-toggle>svg,.bought-toggle>svg,.shopping-row .item-name,.shopping-row .item-qty,.shopping-row .product-note,.dashboard-shortcut,.dashboard-home .shopping-list-card,.meal-plan-card,.basket-history-product,.history-list-card,.pantry-product-summary{transition:none!important}button:active:not(:disabled),[role=button]:active:not([aria-disabled=true]){transform:none!important}}:root{--a11y-focus-ring: #174b31;--a11y-focus-halo: #fffdfa;--a11y-touch-min: 44px}:where(.shopping-row,.pantry-product-card,.basket-history-product,.meal-plan-card,.receipt-review-item){min-width:0}:where(.shopping-row,.pantry-product-card,.basket-history-product,.meal-plan-card,.receipt-review-item) :where(strong,h2,h3,p,span){overflow-wrap:anywhere}:where(button,a[href],input,select,textarea,summary,[role=button],[role=menuitem],[role=option],[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--a11y-focus-ring);outline-offset:3px}:where(button,a[href],input,select,textarea,summary,[role=button],[role=menuitem],[role=option],[tabindex]):focus{scroll-margin-block:88px 110px}:where([role=dialog],[role=alertdialog])[tabindex="-1"]{max-inline-size:min(100%,100vw)}@media(hover:none),(pointer:coarse){:where(button,a[href],summary,[role=button],[role=menuitem],[role=option]){min-block-size:var(--a11y-touch-min)}:where(.icon-button,.close-button,.item-price-history-button,.pantry-product-summary){min-inline-size:var(--a11y-touch-min)}}@media(max-width:420px){:where(.sheet-actions,.meal-plan-form-grid,.meal-plan-sheet-actions,.pantry-quick-actions,.receipt-review-actions){grid-template-columns:minmax(0,1fr)}:where(.sheet-actions,.meal-plan-sheet-actions,.receipt-review-actions)>button{width:100%}}@media(prefers-contrast:more){:where(.surface-card,.shopping-row,.pantry-product-card,.basket-history-product,.meal-plan-card){border-color:currentColor}:where(.muted,.subtle,.input-hint,.section-hint){opacity:1}}@media(forced-colors:active){:where(button,a[href],input,select,textarea,summary,[role=button],[role=menuitem],[role=option]):focus-visible{outline:3px solid Highlight;outline-offset:3px}:where(.check-button.checked,.primary-navigation-item.active,.pantry-product-card.expanded){forced-color-adjust:auto;border:2px solid Highlight}}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}:where(.sheet-backdrop,[role=dialog],[role=alertdialog],.toast,.notice-banner,.shopping-row,.pantry-product-card){transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.external-offers-card{margin:10px 0;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.external-offers-heading h2{margin:2px 0 4px;font-size:1rem}.external-offers-heading p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.45}.external-offers-list{display:grid;gap:8px;margin-top:11px}.external-offer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--border);border-radius:14px;background:var(--surface-subtle, var(--surface))}.external-offer-main,.external-offer-provenance{min-width:0;display:grid;gap:3px}.external-offer-main strong{font-size:.8125rem;overflow-wrap:anywhere}.external-offer-main span{font-size:.75rem}.external-offer-main small,.external-offer-provenance small{color:var(--muted);font-size:.75rem;line-height:1.35;overflow-wrap:anywhere}.external-offer-provenance{justify-items:end;text-align:right}.external-trust,.external-unconfirmed{display:inline-flex;align-items:center;min-height:24px;padding:2px 7px;border-radius:999px;font-size:.75rem;font-weight:700;border:1px solid var(--border)}.external-trust.good{color:var(--success-text, #166534)}.external-trust.warn{color:var(--warning-text, #92400e)}.external-trust.muted,.external-unconfirmed{color:var(--muted)}@media(max-width:640px){.external-offers-card{padding:11px}.external-offer-row{grid-template-columns:1fr}.external-offer-provenance{justify-items:start;text-align:left;grid-template-columns:auto auto}.external-offer-provenance small{grid-column:1 / -1}}.external-product-match-badge{justify-self:start;display:inline-flex;align-items:center;gap:5px;min-height:28px;margin-top:4px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font:inherit;font-size:.75rem;font-weight:750;cursor:pointer}.external-product-match-badge.good{color:var(--success-text, #166534)}.external-product-match-badge.warn{color:var(--warning-text, #92400e)}.external-product-match-badge.muted{color:var(--muted)}.external-product-match-badge:disabled{cursor:default;opacity:1}.external-match-selected{color:var(--muted)}.external-product-match-panel{display:grid;gap:8px;margin-top:6px;padding:9px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.external-product-match-panel>strong{font-size:.75rem}.external-product-match-panel>small{color:var(--muted);font-size:.75rem;line-height:1.4}.external-match-candidate{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--border)}.external-match-candidate>div{min-width:0;display:grid;gap:2px}.external-match-candidate b{font-size:.75rem;overflow-wrap:anywhere}.external-match-candidate small{color:var(--muted);font-size:.75rem}.external-match-candidate.blocked{opacity:.72}.external-match-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}@media(max-width:640px){.external-match-candidate{grid-template-columns:1fr}.external-match-candidate .secondary-button{justify-self:start}.external-match-actions{justify-content:flex-start}}.external-offers-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.leaflet-import-button{position:relative;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;cursor:pointer}.leaflet-import-button input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.leaflet-import-button.disabled{opacity:.62;cursor:wait}.external-offers-empty{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 11px;border:1px dashed var(--border);border-radius:14px;color:var(--muted);font-size:.75rem;line-height:1.4}.external-source-button{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding-inline:3px}.external-source-sheet{width:min(94vw,680px);max-height:min(92dvh,760px);overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.external-source-preview{min-height:0;overflow:auto;display:grid;place-items:center;padding:10px 2px;background:var(--surface-subtle, rgba(0,0,0,.025));border-radius:16px}.external-source-preview img{display:block;max-width:100%;max-height:58dvh;width:auto;height:auto;border-radius:12px;box-shadow:var(--shadow-sm)}.external-source-note{display:flex;align-items:flex-start;gap:7px;margin-top:8px;color:var(--muted);font-size:.75rem;line-height:1.4}.external-source-note svg{flex:0 0 auto;margin-top:1px}@media(max-width:640px){.external-offers-heading{align-items:stretch;flex-direction:column}.leaflet-import-button{justify-content:center;width:100%;min-height:44px}.external-source-sheet{width:100%;height:calc(100dvh - max(6px,env(safe-area-inset-top)));max-height:none;border-radius:24px 24px 0 0}.external-source-preview img{max-height:68dvh}}@media(prefers-reduced-motion:reduce){.external-source-sheet,.external-source-preview img{animation:none!important;transition:none!important}}@media(forced-colors:active){.external-offers-empty,.external-source-preview{border:1px solid CanvasText}}.external-promotion-condition-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:2px}.external-promotion-condition-line small{color:var(--muted);font-size:.75rem;line-height:1.35}.external-promotion-mode{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;font-size:.75rem;font-weight:800;line-height:1.1;white-space:nowrap}.external-promotion-mode.simple{background:var(--surface-subtle, #f6f7f4);color:var(--muted)}.external-promotion-mode.conditional{background:#fff7df;border-color:#e5c66d;color:#6a4a00}@media(forced-colors:active){.external-promotion-mode{border-color:CanvasText}}.external-unit-price-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;margin-top:2px}.external-unit-price-line b{font-size:.75rem;color:var(--text)}.external-unit-price-line span{font-size:.75rem;color:var(--muted)}.external-unit-price-line small{flex-basis:100%;color:var(--muted);font-size:.75rem;line-height:1.35}.external-personal-price-comparison{display:grid;gap:7px;margin-top:7px;padding:10px 11px;border:1px solid var(--border);border-radius:14px;background:var(--surface-subtle, #f7f8f5)}.external-personal-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.external-personal-price-grid>span{min-width:0;display:grid;gap:2px;padding:7px 8px;border-radius:10px;background:var(--surface)}.external-personal-price-grid small{color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.external-personal-price-grid b{font-size:.75rem;line-height:1.3;overflow-wrap:anywhere}.external-personal-price-grid em{color:var(--muted);font-size:.75rem;font-style:normal;overflow-wrap:anywhere}.external-personal-price-offer{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border))}.external-personal-price-difference{font-size:.75rem;line-height:1.3}.external-personal-price-difference.below_typical{color:var(--success, #26734d)}.external-personal-price-difference.above_typical{color:var(--danger, #a33a32)}.external-personal-price-comparison>small{color:var(--muted);font-size:.75rem;line-height:1.35}.external-personal-price-policy{opacity:.88}@media(max-width:640px){.external-personal-price-grid{grid-template-columns:1fr}.external-personal-price-grid>span{padding:6px 7px}}@media(forced-colors:active){.external-personal-price-comparison,.external-personal-price-offer{border-color:CanvasText}}.item-promotion-hint{margin-top:5px;max-width:100%}.item-promotion-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 7px;width:100%;padding:6px 8px;border:1px solid color-mix(in srgb,var(--accent, #276749) 18%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--accent-soft, #edf7f1) 58%,var(--surface));text-align:left;color:inherit}.item-promotion-summary>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:700}.item-promotion-summary>strong{grid-column:1;font-size:.75rem;font-weight:650;color:var(--accent-strong, #236444)}.item-promotion-summary>em{grid-column:1;font-size:.75rem;font-style:normal;color:var(--muted)}.item-promotion-summary>svg{grid-column:2;grid-row:1 / span 3;align-self:center;transition:transform var(--motion-fast, .13s) ease}.item-promotion-hint.expanded .item-promotion-summary>svg{transform:rotate(180deg)}.item-promotion-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:5px;padding:7px 8px;border-radius:10px;background:var(--surface-subtle, #f7f7f4)}.item-promotion-details>span{display:grid;gap:1px;min-width:0}.item-promotion-details span small{font-size:.75rem;color:var(--muted)}.item-promotion-details span strong{font-size:.75rem;overflow-wrap:anywhere}.item-promotion-details>p,.item-promotion-policy{grid-column:1 / -1;margin:0;font-size:.75rem;line-height:1.35;color:var(--muted)}@media(max-width:420px){.item-promotion-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.item-promotion-summary>svg{transition:none}}@media(forced-colors:active){.item-promotion-summary,.item-promotion-details{border:1px solid CanvasText}}.external-basket-comparison{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.external-basket-comparison-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.external-basket-comparison-head>strong{font-size:.75rem;color:var(--muted)}.external-basket-store-list{margin-top:6px;display:grid;gap:7px}.external-basket-store-row{padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft, rgba(127,127,127,.05))}.external-basket-store-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.external-basket-store-main>div{min-width:0;display:grid;gap:2px}.external-basket-store-main strong{font-size:.75rem}.external-basket-store-main small,.external-basket-partial,.external-basket-conditions,.external-basket-footnote{color:var(--muted);font-size:.75rem;line-height:1.4}.external-basket-amount{white-space:nowrap;font-size:.8125rem}.external-basket-partial,.external-basket-conditions{display:block;margin-top:5px}.external-basket-history-delta{margin-top:6px;display:flex;justify-content:space-between;gap:8px;font-size:.75rem;line-height:1.35}.external-basket-history-delta strong{white-space:nowrap}.external-basket-history-delta.below_typical strong{color:var(--success, #247a45)}.external-basket-footnote{margin:7px 0 0}@media(max-width:560px){.external-basket-comparison-head{align-items:flex-start;flex-direction:column;gap:2px}.external-basket-store-row{padding:8px 9px}.external-basket-history-delta{align-items:flex-start;flex-direction:column;gap:2px}}.external-source-conflict{display:grid;gap:6px;margin-top:7px;padding:9px 10px;border:1px solid var(--warning-border, #d8b25c);border-radius:12px;background:var(--warning-soft, #fff8e7)}.external-source-conflict>strong{font-size:.75rem;line-height:1.35;color:var(--warning-text, #6a4a00)}.external-source-conflict>small{color:var(--muted);font-size:.75rem;line-height:1.4}.external-source-conflict-claims{display:grid;gap:3px}.external-source-conflict-claims span{font-size:.75rem;line-height:1.35;overflow-wrap:anywhere}.external-source-priority-line{color:var(--muted);font-size:.75rem!important}@media(forced-colors:active){.external-source-conflict{border-color:CanvasText}}.item-promotion-source-conflict,.external-basket-source-conflicts{color:var(--warning-text, #6a4a00)}.external-offers-visibility{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.external-offers-visibility>small{color:var(--muted);font-size:.75rem;line-height:1.35}.external-offers-visibility .secondary-button{flex:0 0 auto;min-height:36px}@media(max-width:480px){.external-offers-visibility{align-items:stretch;flex-direction:column}.external-offers-visibility .secondary-button{width:100%}}@media(forced-colors:active){.external-offers-visibility{border-top-color:CanvasText}}.external-offers-collapse-top{position:sticky;top:12px;z-index:6;margin:10px 0 2px;padding:7px 8px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 4px 14px #14261d14;display:flex;align-items:center;justify-content:space-between;gap:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.external-offers-collapse-top>span{min-width:0;color:var(--muted);font-size:.75rem;line-height:1.3}.external-offers-collapse-top .secondary-button{flex:0 0 auto;min-height:36px}.item-promotion-source-conflict{grid-column:1 / -1;width:100%;min-width:0;box-sizing:border-box;display:grid;gap:4px;margin:3px 0 0;padding:7px 9px;border:1px solid var(--warning-border, #d8b25c);border-radius:10px;background:var(--warning-soft, #fff8e7);color:var(--warning-text, #6a4a00)}.item-promotion-source-conflict>strong{font-size:.75rem;line-height:1.35}.item-promotion-source-conflict>small{color:var(--muted);font-size:.75rem;line-height:1.35}.item-promotion-source-conflict-claims{display:grid;gap:2px}.item-promotion-source-conflict-claims>span{font-size:.75rem;line-height:1.35;overflow-wrap:anywhere}.item-promotion-source-conflict-claims>span.preferred{font-weight:700}@media(max-width:640px){.external-offers-collapse-top{top:calc(env(safe-area-inset-top,0px) + 104px)}}@media(forced-colors:active){.external-offers-collapse-top,.item-promotion-source-conflict{border-color:CanvasText;background:Canvas}}@media(prefers-reduced-motion:reduce){.external-offers-collapse-top{-webkit-backdrop-filter:none;backdrop-filter:none}}.external-freshness-alert{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;margin-top:10px;padding:9px 10px;border:1px solid var(--warning-border, #d8b25c);border-radius:12px;background:var(--warning-soft, #fff8e7);color:var(--warning-text, #6a4a00)}.external-freshness-alert>svg{margin-top:1px}.external-freshness-alert>div{min-width:0;display:grid;gap:3px}.external-freshness-alert strong{font-size:.75rem;line-height:1.35}.external-freshness-alert span{color:var(--muted);font-size:.75rem;line-height:1.4;overflow-wrap:anywhere}.external-freshness-cleanup{margin-top:8px;padding:7px 9px;border-radius:10px;background:var(--surface-subtle, #f6f7f4);color:var(--muted);font-size:.75rem;line-height:1.4}.external-freshness-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;font-size:.75rem;font-weight:800;line-height:1.1}.external-freshness-badge.warn{border-color:var(--warning-border, #d8b25c);background:var(--warning-soft, #fff8e7);color:var(--warning-text, #6a4a00)}.external-freshness-badge.muted{background:var(--surface-subtle, #f6f7f4);color:var(--muted)}.external-freshness-badge.good{color:var(--success-text, #166534)}@media(forced-colors:active){.external-freshness-alert,.external-freshness-badge{border-color:CanvasText}}.external-household-scope{margin-top:5px!important;color:var(--text)!important;font-size:.75rem!important;line-height:1.45!important;font-weight:600}.external-household-sync-notice{margin-top:10px;padding:9px 11px;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft, var(--surface));color:var(--muted);font-size:.75rem;line-height:1.4}@media(forced-colors:active){.external-household-sync-notice{border-color:CanvasText}}.offers-content{display:flex;flex-direction:column}.offers-content>.offers-hero{order:0}.offers-content>.external-offers-card{order:1}.offers-hero{margin-bottom:10px}.offers-hero p{max-width:720px}@media(max-width:640px){.offers-content{padding-top:8px}.offers-hero{padding-block:12px;margin-bottom:8px}.offers-hero p{display:none}.primary-navigation-item{font-size:.75rem}}.offers-workspace-overview{display:grid;gap:12px;margin-top:12px}.offers-workspace-retailers,.offers-workspace-attention{display:grid;gap:8px}.offers-workspace-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.offers-workspace-section-head>div{min-width:0}.offers-workspace-section-head h3{margin:1px 0 0;font-size:.8125rem;line-height:1.3}.offers-retailer-grid,.offers-attention-grid{display:grid;gap:7px}.offers-retailer-card,.offers-attention-card{width:100%;min-height:58px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:inherit;text-align:left;display:grid;align-items:center;gap:8px;cursor:pointer}.offers-retailer-card{grid-template-columns:auto minmax(0,1fr) auto auto;padding:9px 10px}.offers-retailer-card:hover,.offers-attention-card:hover{background:var(--surface-soft, rgba(127,127,127,.05))}.offers-retailer-icon,.offers-attention-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--surface-subtle, rgba(127,127,127,.07))}.offers-retailer-copy{min-width:0;display:grid;gap:2px}.offers-retailer-copy strong{font-size:.75rem;line-height:1.25}.offers-retailer-copy small{color:var(--muted);font-size:.75rem}.offers-retailer-freshness,.offers-refresh-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;font-size:.75rem;font-weight:800;white-space:nowrap}.offers-retailer-freshness.good{color:var(--success-text, #166534)}.offers-retailer-freshness.warn,.offers-refresh-status.warn{border-color:var(--warning-border, #d8b25c);background:var(--warning-soft, #fff8e7);color:var(--warning-text, #6a4a00)}.offers-retailer-freshness.muted,.offers-refresh-status.muted{color:var(--muted);background:var(--surface-subtle, rgba(127,127,127,.07))}.offers-attention-card{grid-template-columns:auto minmax(0,1fr) auto auto;padding:9px 10px}.offers-attention-card>span:nth-child(2){min-width:0;display:grid;gap:2px}.offers-attention-card strong{font-size:.75rem;line-height:1.3}.offers-attention-card small{color:var(--muted);font-size:.75rem;line-height:1.35}.offers-attention-count{min-width:24px;height:24px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:var(--surface-subtle, rgba(127,127,127,.08));font-size:.75rem;font-weight:800}.offers-workspace-subview-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;align-items:center;margin-top:12px;padding:9px 0 2px;border-top:1px solid var(--line)}.offers-workspace-back{grid-column:1 / -1;width:max-content;min-height:32px;padding-inline:0;display:inline-flex;align-items:center;gap:5px}.offers-workspace-subview-head>div{min-width:0;display:grid;gap:2px}.offers-workspace-subview-head>div>strong{font-size:.8125rem;line-height:1.3}.offers-workspace-subview-head>div>small{color:var(--muted);font-size:.75rem;line-height:1.4}.offers-refresh-list{display:grid;gap:7px;margin-top:9px}.offers-refresh-card{position:relative;display:grid;gap:4px;padding:10px 96px 10px 11px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.offers-refresh-card>div{display:grid;gap:2px}.offers-refresh-card strong{font-size:.75rem}.offers-refresh-card span,.offers-refresh-card small{color:var(--muted);font-size:.75rem;line-height:1.4}.offers-refresh-card>.offers-refresh-status{position:absolute;top:9px;right:9px;color:inherit}@media(min-width:760px){.offers-retailer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offers-attention-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.offers-attention-card{grid-template-columns:auto minmax(0,1fr) auto}.offers-attention-card>svg{display:none}}@media(max-width:520px){.external-offers-card{padding:10px}.offers-workspace-overview{gap:10px;margin-top:9px}.offers-retailer-card,.offers-attention-card{min-height:54px;padding:8px 9px}.offers-retailer-freshness{font-size:.75rem;padding-inline:6px}.offers-attention-card{grid-template-columns:auto minmax(0,1fr) auto auto}.offers-workspace-subview-head>div>small{display:none}.offers-refresh-card{padding-right:90px}}@media(forced-colors:active){.offers-retailer-card,.offers-attention-card,.offers-retailer-freshness,.offers-refresh-card,.offers-refresh-status{border-color:CanvasText}}.history-content>.history-purchase-digest{order:0}.history-content>.history-purchases-area{order:1}.history-content>.basket-history-card{order:2}.history-content>.price-intelligence-analytics{order:3}.history-purchase-digest{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:2px 0 8px;padding:9px 12px;border:1px solid var(--border, var(--line));border-radius:14px;background:color-mix(in srgb,var(--surface) 96%,var(--accent, #5b8def) 4%)}.history-purchase-digest .section-kicker{flex:0 0 auto;margin:0}.history-purchase-digest strong{min-width:0;font-size:.75rem;line-height:1.35;text-align:right}.history-purchases-area{min-width:0}.history-section-heading{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:2px 1px 8px}.history-section-heading>div{min-width:0}.history-section-heading .section-kicker{margin-bottom:2px}.history-section-heading h2{margin:0;font-size:1.0625rem;line-height:1.2}.basket-history-subhead{display:grid;gap:2px;margin:11px 1px 6px;padding-top:9px;border-top:1px solid var(--divider, var(--line))}.basket-history-subhead strong{font-size:.75rem;line-height:1.3}.basket-history-subhead small{color:var(--muted);font-size:.75rem;line-height:1.35}@media(max-width:640px){.history-content{padding-top:7px}.history-purchase-digest{margin-top:0;padding:8px 10px;border-radius:13px}.history-purchase-digest .section-kicker{display:none}.history-purchase-digest strong{width:100%;text-align:left;font-size:.75rem}.history-section-heading{margin-top:1px}.history-section-heading h2{font-size:1rem}.history-list-section{margin-top:0}.basket-history-card{margin-top:10px}.price-intelligence-analytics{margin-top:8px}}@media(forced-colors:active){.history-purchase-digest{border-color:CanvasText}}.cross-domain-link{width:max-content;max-width:100%;min-height:30px;padding:4px 7px;border:0;background:transparent;color:var(--accent, #496fcb);display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:.75rem;font-weight:800;line-height:1.25;text-align:left;cursor:pointer}.cross-domain-link:hover{text-decoration:underline}.cross-domain-link:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:7px}.basket-history-product-context{min-width:0;display:grid;gap:2px}.basket-history-product-context>.basket-history-product{width:100%}.basket-history-product-context>.cross-domain-link{margin-left:3px}.external-offer-history-link{margin-top:3px}.item-promotion-context-link{margin-top:2px;padding-left:0}.price-history-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.meal-recipe-card-copy{min-width:0;display:grid;gap:3px}.meal-recipe-context-link{margin-top:2px;padding-left:0}.recipe-pantry-context-sheet{width:min(560px,calc(100vw - 20px))}.recipe-pantry-context-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:6px}.recipe-pantry-context-summary>span{min-width:0;padding:9px 8px;border:1px solid var(--border);border-radius:12px;background:var(--surface-subtle, rgba(127,127,127,.06));display:grid;gap:2px}.recipe-pantry-context-summary strong{font-size:1rem;line-height:1}.recipe-pantry-context-summary small{color:var(--muted);font-size:.75rem;line-height:1.3}.recipe-pantry-context-note{margin:9px 1px 5px;color:var(--muted);font-size:.75rem;line-height:1.45}.recipe-pantry-target-list,.recipe-pantry-target-single{margin-top:7px;padding:9px 10px;border:1px solid var(--border);border-radius:12px;display:grid;gap:4px}.recipe-pantry-target-list>span,.recipe-pantry-target-single>span{color:var(--muted);font-size:.75rem;font-weight:700}.recipe-pantry-target-list select{width:100%;min-height:36px}.recipe-pantry-target-single strong{font-size:.75rem;line-height:1.3}@media(max-width:520px){.cross-domain-link{min-height:32px;font-size:.75rem}.price-history-heading-actions{align-items:flex-end;flex-direction:column-reverse;gap:2px}.recipe-pantry-context-sheet{width:100%;max-width:none}.recipe-pantry-context-summary{gap:5px}.recipe-pantry-context-summary>span{padding:8px 6px}}@media(forced-colors:active){.recipe-pantry-context-summary>span,.recipe-pantry-target-list,.recipe-pantry-target-single{border-color:CanvasText}}.external-workspace-recovery-notice{margin-top:8px;padding:8px 10px;border:1px solid var(--border, #d8ded9);border-radius:12px;background:#ffffffb8;font-size:.82rem;line-height:1.35}.home-domain-shell .content{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.home-domain-content{width:min(100%,820px);display:grid;align-content:start;gap:12px;padding-top:16px}.home-domain-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 16px;border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(145deg,#fffffcfa,#f1f7f3d1);box-shadow:var(--shadow-xs)}.home-domain-intro h2{margin:5px 0;color:var(--text-strong);font-size:clamp(1.5rem,5vw,2rem);line-height:1.08;letter-spacing:-.035em}.home-domain-intro p{max-width:590px;margin:0;color:var(--text-muted);font-size:.75rem;line-height:1.48}.home-domain-offline{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 9px;border-radius:999px;background:var(--neutral-100);color:var(--text-muted);font-size:.75rem;font-weight:800}.home-domain-recovery{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--border);border-radius:14px;background:var(--surface-subtle);color:var(--text-muted);font-size:.75rem}.home-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.home-domain-card{min-width:0;min-height:92px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 13px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--shadow-xs)}.home-domain-card:hover{border-color:var(--brand-200);background:var(--surface-subtle);box-shadow:var(--shadow-sm)}.home-domain-card.has-attention{border-color:#a9712a40}.home-domain-card-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--surface-brand);color:var(--brand-800)}.home-domain-card.has-attention .home-domain-card-icon{background:#d1994b1f;color:#8a5b1f}.home-domain-card-copy{min-width:0;display:grid;gap:2px}.home-domain-card-label{color:var(--text-faint);font-size:.75rem;font-weight:820;letter-spacing:.07em;text-transform:uppercase}.home-domain-card-copy strong{overflow:hidden;color:var(--text-strong);font-size:.8125rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.home-domain-card-copy small{overflow:hidden;color:var(--text-muted);font-size:.75rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.home-domain-card>svg{color:var(--text-faint)}.home-domain-card:focus-visible{outline:3px solid rgba(36,74,56,.25);outline-offset:2px}.meal-plan-recipe-entry-focus{scroll-margin-top:88px}@media(max-width:650px){.home-domain-content{padding-top:11px;gap:9px}.home-domain-intro{padding:15px;border-radius:20px}.home-domain-intro h2{font-size:1.5625rem}.home-domain-intro p{font-size:.75rem}.home-domain-grid{grid-template-columns:1fr;gap:7px}.home-domain-card{min-height:74px;padding:9px 11px}.home-domain-card-icon{width:38px;height:38px;border-radius:12px}}@media(prefers-reduced-motion:reduce){.home-domain-card{transition:none}}@media(forced-colors:active){.home-domain-intro,.home-domain-card,.home-domain-recovery{border:1px solid CanvasText;box-shadow:none}}.domain-navigation-announcer{position:fixed}.primary-navigation-item,.brand-back-button,.cross-domain-link,.home-domain-card,.home-domain-recovery .text-button{min-height:44px}.primary-navigation-item{touch-action:manipulation}.cross-domain-link{display:inline-flex;align-items:center}@media(max-width:420px){.primary-navigation{padding-bottom:max(6px,env(safe-area-inset-bottom))}.primary-navigation-item{min-height:48px}.cross-domain-link{min-height:44px;padding-block:7px}}@media(prefers-reduced-motion:reduce){.primary-navigation-item,.home-domain-card,.cross-domain-link{transition:none!important;scroll-behavior:auto!important}}.recipes-domain-content{display:grid;gap:12px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.recipes-domain-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;border:1px solid var(--border-soft);border-radius:22px;background:var(--surface)}.recipes-domain-intro>div{min-width:0}.recipes-domain-intro h2{margin:3px 0 5px;font-size:1.5625rem;line-height:1.08}.recipes-domain-intro p{margin:0;max-width:720px;color:var(--text-muted);font-size:.75rem;line-height:1.5}.recipes-domain-offline,.recipes-domain-recovery{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.75rem}.recipes-domain-offline{flex:0 0 auto;padding:6px 8px;border-radius:999px;background:var(--surface-muted)}.recipes-domain-recovery{padding:8px 10px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface)}.recipes-domain-error{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface)}.recipes-domain-error>div{min-width:0;display:grid;gap:2px}.recipes-domain-error strong{font-size:.75rem}.recipes-domain-error span{color:var(--text-muted);font-size:.75rem}.recipes-domain-library{display:grid;gap:10px}.recipes-domain-heading{margin-bottom:0}.recipes-domain-grid{margin-top:0}.recipes-domain-card small{color:var(--text-faint);font-size:.75rem}.recipes-domain-card .cross-domain-link{justify-self:start}.recipes-domain-empty{margin-top:0}.recipes-domain-boundaries{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface)}.recipes-domain-boundaries>div{min-width:0;display:flex;align-items:center;gap:7px;padding:7px;border-radius:11px;background:var(--surface-muted)}.recipes-domain-boundaries>div>span{min-width:0;display:grid;gap:1px}.recipes-domain-boundaries strong{font-size:.75rem}.recipes-domain-boundaries small{color:var(--text-muted);font-size:.75rem}.recipes-topbar-actions .icon-button{min-width:44px;min-height:44px}@media(max-width:650px){.recipes-domain-content{gap:9px;padding-top:11px}.recipes-domain-intro{padding:14px;border-radius:20px}.recipes-domain-intro h2{font-size:1.4375rem}.recipes-domain-grid{grid-template-columns:1fr}.recipes-domain-boundaries{grid-template-columns:repeat(2,minmax(0,1fr))}.recipes-domain-error{grid-template-columns:auto minmax(0,1fr)}.recipes-domain-error .secondary-button{grid-column:1 / -1;width:100%;min-height:44px}}@media(forced-colors:active){.recipes-domain-intro,.recipes-domain-recovery,.recipes-domain-error,.recipes-domain-boundaries{border:1px solid CanvasText}}.recipe-library-workspace{gap:10px}.recipe-library-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid var(--border-soft);border-radius:18px;background:var(--surface)}.recipe-library-summary>div{min-width:0}.recipe-library-summary h2{margin:2px 0 3px;font-size:1.25rem;line-height:1.1}.recipe-library-summary p{margin:0;color:var(--text-muted);font-size:.75rem;line-height:1.4}.recipe-library-controls{display:grid;gap:8px}.recipe-library-search{min-height:44px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 10px 0 12px;border:1px solid var(--border-soft);border-radius:15px;background:var(--surface)}.recipe-library-search>svg{color:var(--text-muted)}.recipe-library-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:.75rem}.recipe-library-search input::placeholder{color:var(--text-faint)}.recipe-library-search button{width:34px;height:34px;display:inline-grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--text-muted)}.recipe-library-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;border:1px solid var(--border-soft);border-radius:15px;background:var(--surface-muted)}.recipe-library-tabs button{min-width:0;min-height:38px;display:flex;align-items:center;justify-content:center;gap:5px;border:0;border-radius:11px;background:transparent;color:var(--text-muted);font:inherit;font-size:.75rem;font-weight:700}.recipe-library-tabs button span{min-width:18px;padding:2px 5px;border-radius:999px;background:var(--surface);color:var(--text-faint);font-size:.75rem}.recipe-library-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000000f}.recipe-library-tabs button.active span{color:var(--text)}.recipe-library-results{gap:8px}.recipe-library-heading h2{font-size:1rem}.recipe-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recipe-library-card{min-width:0;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface);overflow:hidden}.recipe-library-card-open{min-width:0;min-height:74px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:10px 8px 10px 11px;border:0;background:transparent;color:inherit;text-align:left}.recipe-library-card-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--surface-muted);color:var(--text-muted)}.recipe-library-card-copy{min-width:0;display:grid;gap:2px}.recipe-library-card-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.25}.recipe-library-card-copy span{color:var(--text-muted);font-size:.75rem}.recipe-library-card-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-faint);font-size:.75rem}.recipe-library-favorite{width:42px;min-height:44px;align-self:stretch;display:grid;place-items:center;border:0;border-left:1px solid var(--border-soft);background:transparent;color:var(--text-faint)}.recipe-library-favorite.active,.recipe-favorite-button.active{color:#a66a00}.recipe-library-card-open:hover,.recipe-library-favorite:hover{background:var(--surface-muted)}.recipe-library-card-open:focus-visible,.recipe-library-favorite:focus-visible,.recipe-library-tabs button:focus-visible,.recipe-library-search button:focus-visible{outline:2px solid currentColor;outline-offset:-2px}.recipe-library-more{justify-self:center;min-height:44px}.recipe-library-empty,.recipe-library-inline-error{min-height:58px;display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--border-soft);border-radius:15px;background:var(--surface)}.recipe-library-empty>div{min-width:0;display:grid;gap:2px}.recipe-library-empty strong{font-size:.75rem}.recipe-library-empty span{color:var(--text-muted);font-size:.75rem;line-height:1.4}.recipe-library-inline-error{min-height:auto;color:var(--danger);font-size:.75rem}.recipe-detail-sheet{width:min(620px,calc(100vw - 18px));max-height:min(88dvh,760px);overflow-y:auto;overscroll-behavior:contain}.recipe-detail-header{align-items:flex-start}.recipe-detail-header-actions{display:flex;align-items:center;gap:4px}.recipe-detail-meta{display:flex;flex-wrap:wrap;gap:6px}.recipe-detail-meta span{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem}.recipe-detail-source{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--border-soft);border-radius:12px}.recipe-detail-source span{font-size:.75rem;font-weight:700}.recipe-detail-source small{color:var(--text-muted);font-size:.75rem;text-align:right}.recipe-detail-ingredients{display:grid;gap:7px}.recipe-detail-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.recipe-detail-section-heading h3{margin:0;font-size:.75rem}.recipe-detail-section-heading>span{min-width:22px;padding:2px 6px;border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;text-align:center}.recipe-detail-ingredients ul{margin:0;padding:0;list-style:none;display:grid;gap:5px}.recipe-detail-ingredients li{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-radius:11px;background:var(--surface-muted)}.recipe-detail-ingredients li>span{min-width:0;display:grid;gap:1px}.recipe-detail-ingredients strong{font-size:.75rem}.recipe-detail-ingredients small{color:var(--text-muted);font-size:.75rem}.recipe-detail-ingredients b{font-size:.75rem;white-space:nowrap}.recipe-detail-boundary-note{padding:8px 10px;border-radius:11px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;line-height:1.4}.recipe-detail-empty{margin:0;color:var(--text-muted);font-size:.75rem}.recipe-detail-actions button{min-height:44px}@media(max-width:640px){.recipe-library-summary{padding:11px 12px;border-radius:16px}.recipe-library-summary h2{font-size:1.125rem}.recipe-library-tabs{gap:3px}.recipe-library-tabs button{padding:0 5px;font-size:.75rem}.recipe-library-grid{grid-template-columns:1fr;gap:6px}.recipe-library-card-open{min-height:68px}.recipe-detail-sheet{width:100%;max-height:94dvh;border-radius:22px 22px 0 0}.recipe-detail-source{align-items:flex-start;flex-direction:column}.recipe-detail-source small{text-align:left}.recipe-detail-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.recipe-library-card,.recipe-library-card-open,.recipe-library-favorite{transition:none!important}}.recipe-library-summary-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.recipe-library-summary-actions .primary-button.compact{min-height:40px}.recipe-detail-text-section{display:grid;gap:6px}.recipe-detail-text-section h3{margin:0;font-size:.75rem}.recipe-detail-long-text{white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 11px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface);color:var(--text-muted);font-size:.75rem;line-height:1.55}.recipe-detail-delete{min-height:44px;align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0 auto;padding:6px 10px;border:0;background:transparent;color:var(--danger);font-size:.75rem;font-weight:700}.recipe-detail-delete:focus-visible,.recipe-editor-remove-ingredient:focus-visible{outline:2px solid currentColor;outline-offset:2px}.recipe-editor-sheet{width:min(760px,calc(100vw - 18px));max-height:min(92dvh,900px);overflow-y:auto;overscroll-behavior:contain}.recipe-editor-form{display:grid;gap:12px}.recipe-editor-field,.recipe-editor-ingredient label{min-width:0;display:grid;gap:5px}.recipe-editor-field>span,.recipe-editor-ingredient label>span{color:var(--text-muted);font-size:.75rem;font-weight:700}.recipe-editor-field input,.recipe-editor-field textarea,.recipe-editor-ingredient input{width:100%;min-height:44px;box-sizing:border-box;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);padding:9px 10px;font:inherit;font-size:.75rem}.recipe-editor-field textarea{min-height:92px;resize:vertical;line-height:1.5}.recipe-editor-basics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recipe-editor-number-with-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px}.recipe-editor-number-with-unit>span{color:var(--text-muted);font-size:.75rem;font-weight:700}.recipe-editor-ingredients{display:grid;gap:8px;padding:10px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface-muted)}.recipe-editor-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.recipe-editor-section-head h3{margin:1px 0 0;font-size:.75rem}.recipe-editor-ingredient-list{display:grid;gap:8px}.recipe-editor-ingredient{display:grid;gap:8px;padding:9px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface)}.recipe-editor-ingredient-main{display:grid;grid-template-columns:minmax(150px,2.2fr) minmax(82px,.7fr) minmax(88px,.8fr) 44px;gap:7px;align-items:end}.recipe-editor-ingredient-extra{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(110px,.8fr) auto;gap:7px;align-items:end}.recipe-editor-remove-ingredient{width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:var(--danger);display:grid;place-items:center}.recipe-editor-remove-ingredient:disabled{opacity:.28}.recipe-editor-scalable{min-height:44px;display:flex!important;align-items:center;gap:7px!important;padding:0 4px;white-space:nowrap}.recipe-editor-scalable input{width:18px;min-height:18px;height:18px}.recipe-editor-scalable span{color:var(--text-muted);font-size:.75rem;font-weight:700}.recipe-editor-error{display:flex;align-items:flex-start;gap:7px;padding:9px 10px;border-radius:11px;background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger);font-size:.75rem;line-height:1.4}.recipe-editor-validation{margin:0;color:var(--text-muted);font-size:.75rem}.recipe-editor-actions{position:sticky;bottom:0;padding-top:8px;background:var(--surface)}.recipe-delete-sheet{width:min(480px,calc(100vw - 18px))}.recipe-delete-copy{margin:0;color:var(--text-muted);font-size:.75rem;line-height:1.55}.meal-plan-recipe-intent{display:flex;align-items:flex-start;gap:8px;padding:9px 11px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;line-height:1.4}.meal-plan-recipe-intent strong{color:var(--text)}@media(max-width:640px){.recipe-library-summary-actions{width:100%;justify-content:space-between}.recipe-editor-sheet{width:100%;max-height:96dvh;border-radius:22px 22px 0 0}.recipe-editor-basics{grid-template-columns:1fr 1fr}.recipe-editor-ingredient-main{grid-template-columns:minmax(0,1fr) 82px 82px 44px}.recipe-editor-ingredient-extra{grid-template-columns:1fr 1fr}.recipe-editor-scalable{grid-column:1 / -1}}@media(max-width:430px){.recipe-editor-ingredient-main{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) 44px}.recipe-editor-ingredient-main label:first-child{grid-column:1 / -1}.recipe-editor-ingredient-main label:nth-child(2){grid-column:1;grid-row:2}.recipe-editor-ingredient-main label:nth-child(3){grid-column:2;grid-row:2}.recipe-editor-ingredient-main .recipe-editor-remove-ingredient{grid-column:3;grid-row:2}.recipe-editor-ingredient-extra{grid-template-columns:1fr}.recipe-editor-basics{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.recipe-editor-number-with-unit{gap:5px}.recipe-detail-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.recipe-editor-sheet,.recipe-detail-sheet,.recipe-delete-sheet{scroll-behavior:auto}}.recipe-url-import-sheet{width:min(720px,calc(100vw - 18px));max-height:min(92dvh,900px);overflow-y:auto;overscroll-behavior:contain}.recipe-url-import-form,.recipe-url-import-preview{display:grid;gap:11px}.recipe-url-import-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.recipe-url-import-security,.recipe-url-import-foundation-note{margin:0;padding:9px 10px;border:1px solid var(--border-soft);border-radius:11px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;line-height:1.5}.recipe-url-import-preview{margin-top:4px;padding-top:12px;border-top:1px solid var(--border-soft)}.recipe-url-import-image,.recipe-detail-image,.recipe-editor-import-reference>img{width:100%;max-height:240px;object-fit:cover;border-radius:14px;border:1px solid var(--border-soft);background:var(--surface-muted)}.recipe-url-import-preview-head,.recipe-editor-import-reference-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.recipe-url-import-preview-head h3{margin:2px 0 0;font-size:1rem}.recipe-url-import-schema{flex:0 0 auto;padding:4px 7px;border:1px solid var(--border-soft);border-radius:999px;color:var(--text-muted);font-size:.75rem;font-weight:700}.recipe-url-import-meta{display:flex;flex-wrap:wrap;gap:6px}.recipe-url-import-meta span{padding:4px 7px;border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem}.recipe-url-import-source-link,.recipe-detail-source a,.recipe-editor-import-reference-head a{min-height:44px;display:inline-flex;align-items:center;gap:5px;width:fit-content;color:var(--primary);font-size:.75rem;font-weight:700;text-decoration:none}.recipe-url-import-ingredients,.recipe-url-import-instructions,.recipe-editor-import-reference{display:grid;gap:8px;padding:10px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface-muted)}.recipe-url-import-ingredients ul,.recipe-editor-import-lines ul{margin:0;padding-left:18px;display:grid;gap:5px;color:var(--text-muted);font-size:.75rem;line-height:1.45}.recipe-url-import-instructions h4,.recipe-url-import-ingredients h4{margin:0;font-size:.75rem}.recipe-url-import-warnings{display:grid;gap:5px}.recipe-url-import-warnings span{display:flex;align-items:flex-start;gap:6px;color:var(--text-muted);font-size:.75rem;line-height:1.4}.recipe-url-import-actions{position:sticky;bottom:0;background:var(--surface);padding-top:8px}.recipe-editor-import-reference-head strong{display:block;margin-top:2px;font-size:.75rem}.recipe-editor-import-lines{display:grid;gap:7px}.recipe-editor-import-lines>span{color:var(--text-muted);font-size:.75rem;line-height:1.4}.recipe-detail-source{display:grid;gap:2px}.recipe-detail-image{max-height:280px}@media(max-width:640px){.recipe-url-import-sheet{width:100%;max-height:96dvh;border-radius:22px 22px 0 0}.recipe-library-summary-actions .secondary-button,.recipe-library-summary-actions .primary-button{flex:1 1 auto}}@media(max-width:430px){.recipe-url-import-input-row{grid-template-columns:1fr}.recipe-url-import-input-row .primary-button{width:100%}.recipe-url-import-preview-head,.recipe-editor-import-reference-head{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){.recipe-url-import-sheet{scroll-behavior:auto}}.recipe-url-translation-prompt,.recipe-url-translation-done{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--border-soft);border-radius:13px;background:var(--surface-muted)}.recipe-url-translation-prompt>div:first-child{display:grid;gap:4px;min-width:0}.recipe-url-translation-prompt strong,.recipe-url-translation-done strong{color:var(--text);font-size:.75rem}.recipe-url-translation-prompt span,.recipe-url-translation-prompt small,.recipe-url-translation-done span{color:var(--text-muted);font-size:.75rem;line-height:1.45}.recipe-url-translation-prompt small{font-size:.75rem}.recipe-url-translation-actions{display:flex;flex:0 0 auto;gap:7px}.recipe-url-translation-actions .compact{min-height:44px}.recipe-url-translation-done{justify-content:flex-start;align-items:center;color:var(--primary)}.recipe-url-translation-error{margin:0}@media(max-width:520px){.recipe-url-translation-prompt{flex-direction:column}.recipe-url-translation-actions{width:100%}.recipe-url-translation-actions>button{flex:1 1 0}}@media(forced-colors:active){.recipe-url-translation-prompt,.recipe-url-translation-done{border:1px solid CanvasText}}.recipe-editor-translation-note{display:flex;align-items:flex-start;gap:6px;padding:8px 9px;border-radius:10px;background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--text-muted);font-size:.75rem;line-height:1.45}.recipe-editor-parse-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.recipe-editor-parse-summary>span{min-width:0;display:grid;gap:1px;padding:7px 8px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface)}.recipe-editor-parse-summary strong{font-size:.8125rem;color:var(--text)}.recipe-editor-parse-summary small{font-size:.75rem;color:var(--text-muted);line-height:1.25}.recipe-editor-parse-summary .needs-review{border-color:color-mix(in srgb,#b87316 45%,var(--border-soft));background:color-mix(in srgb,#b87316 7%,var(--surface))}.recipe-editor-import-lines{padding:8px 9px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface)}.recipe-editor-import-lines>summary{min-height:32px;display:flex;align-items:center;cursor:pointer;color:var(--text-muted);font-size:.75rem;font-weight:700}.recipe-editor-import-lines[open]>summary{margin-bottom:7px}.recipe-editor-ingredient.needs-review{border-color:color-mix(in srgb,#b87316 42%,var(--border-soft))}.recipe-editor-ingredient.is-qualitative{border-color:color-mix(in srgb,var(--primary) 30%,var(--border-soft))}.recipe-editor-import-parse-status{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 7px;align-items:center;margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid var(--border-soft);color:var(--text-muted);font-size:.75rem;line-height:1.35}.recipe-editor-import-parse-status>small{grid-column:1 / -1;overflow-wrap:anywhere;color:var(--text-muted);font-size:.75rem}.recipe-import-parse-badge{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--primary) 9%,var(--surface));color:var(--primary);font-size:.75rem;font-weight:800;white-space:nowrap}.recipe-import-parse-badge.status-review{background:color-mix(in srgb,#b87316 10%,var(--surface));color:#8a550d}.recipe-import-parse-badge.status-qualitative{background:var(--surface-muted);color:var(--text-muted)}.recipe-url-parsing-error{margin:0}.recipe-url-import-foundation-note strong{color:var(--text)}@media(max-width:430px){.recipe-editor-parse-summary{gap:5px}.recipe-editor-parse-summary>span{padding:6px}.recipe-editor-import-parse-status{grid-template-columns:1fr}.recipe-editor-import-parse-status>small{grid-column:1}}@media(forced-colors:active){.recipe-editor-parse-summary>span,.recipe-editor-import-lines,.recipe-editor-ingredient.needs-review,.recipe-editor-ingredient.is-qualitative,.recipe-import-parse-badge{border:1px solid CanvasText}}.recipe-import-review-sheet{width:min(800px,calc(100vw - 18px));max-height:min(94dvh,940px);overflow-y:auto;overscroll-behavior:contain}.recipe-import-review-form{display:grid;gap:12px}.recipe-import-review-intro{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid var(--border-soft);border-radius:13px;background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--text-muted);font-size:.75rem;line-height:1.5}.recipe-import-review-intro>svg{flex:0 0 auto;color:var(--primary);margin-top:1px}.recipe-import-review-intro strong{color:var(--text)}.recipe-import-review-source{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-muted)}.recipe-import-review-source strong{display:block;margin-top:2px;font-size:.75rem}.recipe-import-review-source a{min-height:44px;display:inline-flex;align-items:center;gap:5px;color:var(--primary);font-size:.75rem;font-weight:700;text-decoration:none}.recipe-import-review-checklist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.recipe-import-review-checklist>span{min-width:0;min-height:38px;display:flex;align-items:center;gap:5px;padding:7px 8px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;font-weight:700}.recipe-import-review-checklist>span>svg{flex:0 0 auto;color:var(--primary)}.recipe-import-review-checklist>span.needs-review{border-color:color-mix(in srgb,#b87316 40%,var(--border-soft));background:color-mix(in srgb,#b87316 7%,var(--surface))}.recipe-import-review-checklist>span.needs-review>svg{color:#8a550d}.recipe-import-review-ingredients{background:var(--surface-muted)}.recipe-import-review-resolution{display:grid;gap:7px;padding:8px 9px;border-radius:10px;background:color-mix(in srgb,#b87316 8%,var(--surface));color:var(--text-muted);font-size:.75rem;line-height:1.4}.recipe-import-review-resolution>div{display:flex;flex-wrap:wrap;gap:7px}.recipe-import-review-resolution button{min-height:44px}.recipe-import-review-acceptance{min-height:48px;display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;line-height:1.45;cursor:pointer}.recipe-import-review-acceptance input{width:18px;min-width:18px;height:18px;margin-top:1px}.recipe-import-review-actions{position:sticky;bottom:0;z-index:2;padding-top:8px;background:var(--surface)}@media(max-width:640px){.recipe-import-review-sheet{width:100%;max-height:98dvh;border-radius:22px 22px 0 0}.recipe-import-review-checklist{grid-template-columns:1fr 1fr}.recipe-import-review-source{align-items:flex-start;flex-direction:column}.recipe-import-review-actions{grid-template-columns:1fr}}@media(max-width:430px){.recipe-import-review-checklist{grid-template-columns:1fr}.recipe-import-review-resolution>div{display:grid;grid-template-columns:1fr}.recipe-import-review-resolution button{width:100%}}@media(prefers-reduced-motion:reduce){.recipe-import-review-sheet{scroll-behavior:auto}}@media(forced-colors:active){.recipe-import-review-intro,.recipe-import-review-source,.recipe-import-review-checklist>span,.recipe-import-review-resolution,.recipe-import-review-acceptance{border:1px solid CanvasText}}.recipe-import-review-ingredients{gap:10px;padding:10px}.recipe-import-review-attention,.recipe-import-review-reviewed{display:grid;gap:7px}.recipe-import-review-attention{padding:8px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface)}.recipe-import-review-attention.has-items{border-color:color-mix(in srgb,#b87316 38%,var(--border-soft));background:color-mix(in srgb,#b87316 5%,var(--surface))}.recipe-import-review-group-heading{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.recipe-import-review-group-heading>div{min-width:0}.recipe-import-review-group-heading h4{margin:1px 0 0;color:var(--text);font-size:.75rem;line-height:1.2}.recipe-import-review-group-heading small{display:block;margin-top:2px;color:var(--text-muted);font-size:.75rem;line-height:1.3}.recipe-import-review-group-heading>span{min-width:25px;height:25px;display:inline-grid;place-items:center;padding:0 6px;border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;font-weight:800}.recipe-import-review-attention.has-items .recipe-import-review-group-heading>span{background:color-mix(in srgb,#b87316 11%,var(--surface));color:#8a550d}.recipe-import-review-reviewed{padding-top:1px}.recipe-import-review-group-heading.compact-heading{padding:2px 1px}.recipe-import-review-attention-clear{min-height:38px;display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:10px;background:color-mix(in srgb,var(--primary) 6%,var(--surface));color:var(--text-muted);font-size:.75rem;line-height:1.35}.recipe-import-review-attention-clear>svg{flex:0 0 auto;color:var(--primary)}.recipe-import-review-card-list{display:grid;gap:6px}.recipe-import-review-card{overflow:clip;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface)}.recipe-import-review-card.needs-review{border-color:color-mix(in srgb,#b87316 42%,var(--border-soft))}.recipe-import-review-card.is-qualitative{border-color:color-mix(in srgb,var(--primary) 28%,var(--border-soft))}.recipe-import-review-card-summary{min-height:50px;display:grid;grid-template-columns:28px minmax(0,1fr) auto 20px;align-items:center;gap:8px;padding:7px 9px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.recipe-import-review-card-summary::-webkit-details-marker{display:none}.recipe-import-review-card-summary::marker{display:none;content:""}.recipe-import-review-card-summary:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.recipe-import-review-card-index{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:9px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;font-weight:800}.recipe-import-review-card-copy{min-width:0;display:grid;gap:1px}.recipe-import-review-card-copy strong,.recipe-import-review-card-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-import-review-card-copy strong{color:var(--text);font-size:.75rem;line-height:1.3}.recipe-import-review-card-copy small{color:var(--text-muted);font-size:.75rem;line-height:1.3}.recipe-import-review-card-status{min-height:24px;display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;font-weight:800;white-space:nowrap}.recipe-import-review-card-status.needs-review{background:color-mix(in srgb,#b87316 11%,var(--surface));color:#8a550d}.recipe-import-review-card-chevron{color:var(--text-muted);transition:transform .16s ease}.recipe-import-review-card[open]>.recipe-import-review-card-summary .recipe-import-review-card-chevron{transform:rotate(180deg)}.recipe-import-review-card[open]>.recipe-import-review-card-summary{border-bottom:1px solid var(--border-soft)}.recipe-import-review-card-body{display:grid;gap:8px;padding:9px}.recipe-import-review-parse-status{margin-bottom:0;padding:0 0 7px}.recipe-import-review-name-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:7px}.recipe-import-review-name-row>label,.recipe-import-review-amount-row>label,.recipe-import-review-extra-grid>label{min-width:0;display:grid;gap:5px}.recipe-import-review-name-row label>span,.recipe-import-review-amount-row label>span,.recipe-import-review-extra-grid label>span{color:var(--text-muted);font-size:.75rem;font-weight:700}.recipe-import-review-name-row input,.recipe-import-review-amount-row input,.recipe-import-review-extra-grid input{width:100%;min-height:44px;box-sizing:border-box;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);padding:9px 10px;font:inherit;font-size:.75rem}.recipe-import-review-amount-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(92px,.85fr);gap:7px}.recipe-import-review-more-options{border-top:1px solid var(--border-soft);padding-top:2px}.recipe-import-review-more-options>summary{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none;color:var(--text-muted);font-size:.75rem;font-weight:800}.recipe-import-review-more-options>summary::-webkit-details-marker{display:none}.recipe-import-review-more-options>summary::marker{display:none;content:""}.recipe-import-review-more-options>summary>svg{transition:transform .16s ease}.recipe-import-review-more-options[open]>summary>svg{transform:rotate(180deg)}.recipe-import-review-more-options>summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:8px}.recipe-import-review-extra-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(120px,.85fr);gap:7px;padding:2px 0 3px}.recipe-import-review-extra-grid .recipe-editor-scalable{grid-column:1 / -1;padding-inline:0}.recipe-import-review-footer{position:sticky;bottom:0;z-index:4;display:grid;gap:6px;margin-inline:-1px;padding:7px 1px calc(1px + env(safe-area-inset-bottom));border-top:1px solid var(--border-soft);background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.recipe-import-review-footer-status{min-height:28px;display:flex;align-items:center;justify-content:center;gap:6px;padding:4px 8px;border-radius:9px;color:var(--text-muted);font-size:.75rem;font-weight:700;line-height:1.3;text-align:center}.recipe-import-review-footer-status>svg{flex:0 0 auto}.recipe-import-review-footer.is-blocked .recipe-import-review-footer-status{background:color-mix(in srgb,#b87316 7%,var(--surface));color:#795016}.recipe-import-review-footer.is-ready .recipe-import-review-footer-status{background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--primary)}.recipe-import-review-actions{position:static;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7px;padding-top:0;background:transparent}.recipe-import-review-actions>button{width:100%;min-height:46px}@media(max-width:640px){.recipe-import-review-form{gap:10px}.recipe-import-review-ingredients{padding:9px}.recipe-import-review-actions{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}@media(max-width:430px){.recipe-import-review-card-summary{grid-template-columns:26px minmax(0,1fr) auto 18px;gap:6px;padding-inline:7px}.recipe-import-review-card-index{width:26px;height:26px}.recipe-import-review-card-status{max-width:92px;overflow:hidden;text-overflow:ellipsis}.recipe-import-review-amount-row{grid-template-columns:minmax(0,1.25fr) minmax(86px,.75fr)}.recipe-import-review-extra-grid{grid-template-columns:1fr}.recipe-import-review-extra-grid .recipe-editor-scalable{grid-column:1}.recipe-import-review-footer-status{justify-content:flex-start;text-align:left}}@media(max-width:350px){.recipe-import-review-card-status{display:none}.recipe-import-review-card-summary{grid-template-columns:26px minmax(0,1fr) 18px}.recipe-import-review-amount-row{grid-template-columns:minmax(0,1fr) 82px}.recipe-import-review-actions{grid-template-columns:1fr 1.25fr}.recipe-import-review-actions>button{padding-inline:8px;font-size:.75rem}}@media(prefers-reduced-motion:reduce){.recipe-import-review-card-chevron,.recipe-import-review-more-options>summary>svg{transition:none}}@media(forced-colors:active){.recipe-import-review-attention,.recipe-import-review-card,.recipe-import-review-footer{border-color:CanvasText}}.recipe-import-review-acceptance{min-height:0;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;column-gap:8px;padding:8px 9px}.recipe-import-review-acceptance input{width:18px;min-width:18px;height:18px;margin:1px 0 0;align-self:start}.recipe-import-review-acceptance>span{min-width:0;margin:0;align-self:center;line-height:1.4}@media(max-width:430px){.recipe-import-review-acceptance{grid-template-columns:20px minmax(0,1fr);padding:7px 8px}}.recipe-duplicate-backdrop{z-index:125}.recipe-duplicate-sheet{width:min(620px,calc(100vw - 18px));max-height:min(88dvh,760px);display:flex;flex-direction:column;gap:12px;overflow:auto;overscroll-behavior:contain}.recipe-duplicate-intro,.recipe-duplicate-replace-warning{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;padding:10px 11px;border-radius:14px;background:var(--surface-soft, #f4f6f2)}.recipe-duplicate-intro svg,.recipe-duplicate-replace-warning svg{margin-top:1px}.recipe-duplicate-candidates{display:grid;gap:8px}.recipe-duplicate-candidate{width:100%;display:grid;grid-template-columns:26px minmax(0,1fr);gap:9px;align-items:start;padding:11px;text-align:left;border:1px solid var(--border, #d8ded8);border-radius:15px;background:var(--surface, #fff);color:inherit;cursor:pointer}.recipe-duplicate-candidate.is-selected{border-color:var(--accent, #2f7d5a);box-shadow:inset 0 0 0 1px var(--accent, #2f7d5a)}.recipe-duplicate-radio{width:24px;height:24px;border:1px solid var(--border-strong, #aeb9b1);border-radius:999px;display:grid;place-items:center;margin-top:1px}.recipe-duplicate-candidate.is-selected .recipe-duplicate-radio{background:var(--accent, #2f7d5a);color:#fff;border-color:var(--accent, #2f7d5a)}.recipe-duplicate-candidate-copy{min-width:0;display:grid;gap:4px}.recipe-duplicate-candidate-head{display:flex;gap:8px;justify-content:space-between;align-items:baseline}.recipe-duplicate-candidate-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-duplicate-candidate-head em{flex:0 0 auto;font-style:normal;font-size:.75rem;font-weight:800;padding:3px 7px;border-radius:999px;background:var(--surface-soft, #edf3ef)}.recipe-duplicate-candidate-copy small{color:var(--text-muted, #667268)}.recipe-duplicate-scores{display:flex;flex-wrap:wrap;gap:5px}.recipe-duplicate-scores b{font-size:.75rem;line-height:1.25;padding:3px 6px;border-radius:999px;background:var(--surface-soft, #edf3ef)}.recipe-duplicate-choice-explainer{display:grid;gap:7px;padding:10px;border-radius:15px;background:var(--surface-soft, #f4f6f2)}.recipe-duplicate-choice-explainer>div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:8px}.recipe-duplicate-choice-explainer span{color:var(--text-muted, #667268);line-height:1.35}.recipe-duplicate-replace-warning{background:#fff2ed;color:#7f2c1f}.recipe-duplicate-actions{position:sticky;bottom:-1px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px 0 max(2px,env(safe-area-inset-bottom));background:linear-gradient(to bottom,color-mix(in srgb,var(--surface, #fff) 82%,transparent),var(--surface, #fff) 24%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.recipe-duplicate-actions>button{width:100%;min-height:45px}@media(max-width:480px){.recipe-duplicate-sheet{width:calc(100vw - 8px);max-height:94dvh;gap:9px}.recipe-duplicate-candidate{padding:9px}.recipe-duplicate-candidate-head{align-items:flex-start}.recipe-duplicate-candidate-head em{max-width:132px;text-align:right}.recipe-duplicate-choice-explainer>div{grid-template-columns:90px minmax(0,1fr)}.recipe-duplicate-actions{grid-template-columns:1fr 1fr}.recipe-duplicate-actions>button{padding-inline:8px;font-size:.75rem}}@media(forced-colors:active){.recipe-duplicate-candidate,.recipe-duplicate-intro,.recipe-duplicate-choice-explainer,.recipe-duplicate-replace-warning{border:1px solid CanvasText}}.recipe-detail-flow-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-flow-sheet{width:min(620px,calc(100vw - 20px));max-height:min(94dvh,900px);overflow:auto}.recipe-flow-serving-card,.recipe-flow-target,.recipe-flow-confirm,.recipe-flow-group,.recipe-flow-done{border:1px solid var(--border);border-radius:14px;background:var(--surface-subtle, rgba(127,127,127,.05))}.recipe-flow-serving-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px}.recipe-flow-serving-card>div:first-child{min-width:0;display:grid;gap:2px}.recipe-flow-serving-card strong{font-size:.75rem}.recipe-flow-serving-card small{color:var(--muted);font-size:.75rem;line-height:1.35}.recipe-flow-serving-control{display:flex;align-items:center;gap:6px}.recipe-flow-serving-control input{width:72px;min-height:36px;padding:0 8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-weight:700}.recipe-flow-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.recipe-flow-summary>span{min-width:0;padding:8px 7px;border:1px solid var(--border);border-radius:12px;background:var(--surface-muted);display:grid;gap:2px}.recipe-flow-summary strong{font-size:1rem;line-height:1}.recipe-flow-summary small{color:var(--muted);font-size:.75rem;line-height:1.25}.recipe-flow-groups{display:grid;gap:7px;margin-top:8px}.recipe-flow-group{padding:8px}.recipe-flow-group-title,.recipe-flow-target-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.recipe-flow-group-title strong,.recipe-flow-target-heading strong{font-size:.75rem}.recipe-flow-group-title span,.recipe-flow-target-heading span{color:var(--muted);font-size:.75rem}.recipe-flow-item,.recipe-flow-generation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 4px;border-top:1px solid var(--border)}.recipe-flow-item:first-of-type{border-top:0}.recipe-flow-item>div,.recipe-flow-generation-row>div:first-child{min-width:0;display:grid;gap:2px}.recipe-flow-item strong,.recipe-flow-generation-row strong{font-size:.75rem}.recipe-flow-item small,.recipe-flow-generation-row small{color:var(--muted);font-size:.75rem;line-height:1.35}.recipe-flow-item>span,.recipe-flow-action-label{max-width:160px;color:var(--text);font-size:.75rem;font-weight:800;text-align:right}.recipe-flow-target,.recipe-flow-confirm{margin-top:8px;padding:10px}.recipe-flow-target-mode{display:flex;gap:12px;flex-wrap:wrap;margin:6px 0 8px}.recipe-flow-target-mode label,.recipe-flow-qualitative-row label{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700}.recipe-flow-field{display:grid;gap:4px}.recipe-flow-field>span{color:var(--muted);font-size:.75rem;font-weight:700}.recipe-flow-field input,.recipe-flow-field select,.recipe-flow-qualitative-row input{min-width:0;width:100%;min-height:36px;padding:0 8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:.75rem}.recipe-flow-qualitative{margin:7px 0 9px;padding:8px;border-radius:12px;background:var(--surface-muted);display:grid;gap:7px}.recipe-flow-qualitative>strong{font-size:.75rem}.recipe-flow-qualitative-row{display:grid;grid-template-columns:minmax(90px,1.4fr) minmax(62px,.7fr) minmax(80px,.9fr) auto;gap:6px;align-items:center}.recipe-flow-qualitative-row>span{min-width:0;font-size:.75rem;font-weight:700}.recipe-flow-decision-buttons{display:flex;gap:4px}.recipe-flow-decision-buttons button,.recipe-flow-skip-button{min-height:30px;padding:4px 7px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:.75rem;font-weight:800}.recipe-flow-decision-buttons button.active,.recipe-flow-skip-button.active{border-color:var(--accent);background:var(--surface-muted)}.recipe-flow-warning{margin-top:7px;display:flex;align-items:center;gap:6px;color:var(--warning-text, #75520a);font-size:.75rem;font-weight:700}.recipe-flow-actions{position:sticky;bottom:-1px;z-index:4;margin-top:9px;padding-top:8px;background:linear-gradient(to bottom,transparent,var(--surface) 30%)}.recipe-flow-done{margin-top:8px;padding:18px 12px;display:grid;justify-items:center;gap:6px;text-align:center}.recipe-flow-done strong{font-size:.8125rem}.recipe-flow-done span{color:var(--muted);font-size:.75rem}.recipe-flow-done button{margin-top:5px}@media(max-width:640px){.recipe-detail-flow-actions{grid-template-columns:1fr}.recipe-flow-sheet{width:100%;max-width:none;max-height:96dvh;border-radius:22px 22px 0 0}.recipe-flow-serving-card{grid-template-columns:minmax(0,1fr)}.recipe-flow-serving-control{justify-content:space-between}.recipe-flow-serving-control input{flex:1 1 auto;width:auto}.recipe-flow-qualitative-row{grid-template-columns:minmax(0,1fr) minmax(58px,.6fr) minmax(72px,.8fr)}.recipe-flow-qualitative-row label{grid-column:1 / -1}.recipe-flow-item>span{max-width:120px}}@media(forced-colors:active){.recipe-flow-serving-card,.recipe-flow-target,.recipe-flow-confirm,.recipe-flow-group,.recipe-flow-done{border-color:CanvasText}}.recipe-household-activity{width:fit-content;max-width:100%;background:color-mix(in srgb,var(--primary) 6%,var(--surface))}.recipe-household-activity button{margin-left:auto;border:0;background:transparent;color:inherit;display:grid;place-items:center}.recipe-editor-remote-conflict{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;padding:10px;border:1px solid color-mix(in srgb,var(--warning, #a56a00) 28%,var(--border-soft));border-radius:12px;background:color-mix(in srgb,var(--warning, #a56a00) 8%,var(--surface))}.recipe-editor-remote-conflict>div{min-width:0;display:grid;gap:2px}.recipe-editor-remote-conflict strong{font-size:.75rem}.recipe-editor-remote-conflict span{color:var(--text-muted);font-size:.75rem;line-height:1.45}@media(max-width:520px){.recipe-editor-remote-conflict{grid-template-columns:auto minmax(0,1fr)}.recipe-editor-remote-conflict>button{grid-column:2;justify-self:start}}.recipe-library-card-organization{color:var(--text-muted)!important;font-weight:700}.recipe-detail-organization{display:flex;flex-wrap:wrap;gap:5px}.recipe-detail-organization span{padding:4px 7px;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;font-weight:700}.recipe-editor-organization{border:1px solid var(--border-soft);border-radius:13px;background:var(--surface-muted);overflow:hidden}.recipe-editor-organization>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 11px;cursor:pointer;color:var(--text-muted);font-size:.75rem;font-weight:800;list-style:none}.recipe-editor-organization>summary::-webkit-details-marker{display:none}.recipe-editor-organization>summary::marker{display:none;content:""}.recipe-editor-organization>summary svg{transition:transform .16s ease}.recipe-editor-organization[open]>summary svg{transform:rotate(180deg)}.recipe-editor-organization-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 10px 10px}.recipe-editor-organization-grid .recipe-editor-tags-field{grid-column:1 / -1}.recipe-editor-field select,.recipe-library-filter-grid select,.recipe-library-filter-grid input{width:100%;min-height:44px;box-sizing:border-box;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);padding:8px 10px;font:inherit;font-size:.75rem}.recipe-editor-no-bake{align-self:end}.recipe-library-quick-filters{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;padding:1px 0}.recipe-library-quick-filters::-webkit-scrollbar{display:none}.recipe-library-quick-filters button{min-height:36px;flex:0 0 auto;padding:0 10px;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface);color:var(--text-muted);font:inherit;font-size:.75rem;font-weight:800}.recipe-library-quick-filters button.active{border-color:color-mix(in srgb,var(--primary) 40%,var(--border-soft));background:color-mix(in srgb,var(--primary) 9%,var(--surface));color:var(--text)}.recipe-library-filter-panel{border:1px solid var(--border-soft);border-radius:14px;background:var(--surface);overflow:hidden}.recipe-library-filter-panel>summary{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 11px;cursor:pointer;list-style:none;color:var(--text-muted);font-size:.75rem;font-weight:800}.recipe-library-filter-panel>summary::-webkit-details-marker{display:none}.recipe-library-filter-panel>summary::marker{display:none;content:""}.recipe-library-filter-panel>summary svg{transition:transform .16s ease}.recipe-library-filter-panel[open]>summary svg{transform:rotate(180deg)}.recipe-library-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 10px 9px}.recipe-library-filter-grid>label{min-width:0;display:grid;gap:4px}.recipe-library-filter-grid>label>span{color:var(--text-muted);font-size:.75rem;font-weight:700}.recipe-library-no-bake-filter{min-height:44px;display:flex!important;align-items:center;gap:7px!important;align-self:end;padding:0 5px}.recipe-library-no-bake-filter input{width:18px;height:18px}.recipe-library-clear-filters{min-height:38px;display:inline-flex;align-items:center;gap:5px;margin:0 10px 10px;padding:0 7px;border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:.75rem;font-weight:800}.recipe-pantry-discovery{display:grid;gap:8px;padding:11px;border:1px solid var(--border-soft);border-radius:17px;background:var(--surface-muted)}.recipe-pantry-discovery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.recipe-pantry-discovery-head>div{min-width:0}.recipe-pantry-discovery-head h2{margin:2px 0 3px;font-size:.9375rem}.recipe-pantry-discovery-head p{margin:0;max-width:640px;color:var(--text-muted);font-size:.75rem;line-height:1.4}.recipe-pantry-discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.recipe-pantry-discovery-card{min-width:0;display:grid;gap:4px;padding:9px 10px;border:1px solid var(--border-soft);border-radius:13px;background:var(--surface);color:inherit;text-align:left;font:inherit}.recipe-pantry-discovery-card:hover{background:color-mix(in srgb,var(--surface-muted) 55%,var(--surface))}.recipe-pantry-discovery-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.recipe-pantry-discovery-card-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.recipe-pantry-discovery-card-head b{flex:0 0 auto;min-width:38px;padding:3px 6px;border-radius:999px;background:var(--surface-muted);font-size:.75rem;text-align:center}.recipe-pantry-discovery-card.status-ready .recipe-pantry-discovery-card-head b{color:var(--primary)}.recipe-pantry-discovery-card>span:not(.recipe-pantry-discovery-card-head){color:var(--text-muted);font-size:.75rem;line-height:1.35}.recipe-pantry-discovery-card small{color:var(--text-faint);font-size:.75rem;line-height:1.35}.recipe-library-summary-actions .secondary-button.active{background:var(--surface-muted);border-color:var(--border)}@media(max-width:640px){.recipe-editor-organization-grid{grid-template-columns:1fr}.recipe-editor-organization-grid .recipe-editor-tags-field{grid-column:auto}.recipe-library-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-pantry-discovery-head{display:grid}.recipe-pantry-discovery-head .secondary-button{width:100%}.recipe-pantry-discovery-grid{grid-template-columns:1fr}}@media(max-width:430px){.recipe-library-filter-grid{grid-template-columns:1fr}}.pantry-recipe-discovery-entry{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 9px;padding:10px 12px;border:1px solid var(--border, rgba(28, 59, 45, .11));border-radius:15px;background:linear-gradient(145deg,var(--surface, #fff),var(--surface-brand, #edf5ef));color:var(--text-strong, #1d2822);text-align:left;cursor:pointer;box-shadow:var(--shadow-xs, 0 3px 10px rgba(24, 48, 37, .04))}.pantry-recipe-discovery-entry:hover{border-color:color-mix(in srgb,var(--brand-500, #4d8064) 38%,var(--border, #dfe5df));background:color-mix(in srgb,var(--surface-brand, #edf5ef) 72%,var(--surface, #fff))}.pantry-recipe-discovery-entry:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-500, #4d8064) 38%,transparent);outline-offset:2px}.pantry-recipe-discovery-entry-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;background:var(--surface, #fff);color:var(--brand-700, #3c6b52);box-shadow:inset 0 0 0 1px var(--border-subtle, rgba(28, 59, 45, .08))}.pantry-recipe-discovery-entry-copy{min-width:0;display:grid;gap:1px}.pantry-recipe-discovery-entry-copy strong{overflow:hidden;font-size:.75rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.pantry-recipe-discovery-entry-copy small{color:var(--text-muted, #6d756f);font-size:.75rem;line-height:1.3}.pantry-recipe-discovery-entry>svg{color:var(--text-faint, #7b837d)}@media(max-width:620px){.pantry-recipe-discovery-entry{gap:8px;margin-bottom:7px;padding:8px 9px;border-radius:13px}.pantry-recipe-discovery-entry-icon{width:31px;height:31px;border-radius:9px}.pantry-recipe-discovery-entry-copy strong{font-size:.75rem}.pantry-recipe-discovery-entry-copy small{display:none}}@media(forced-colors:active){.pantry-recipe-discovery-entry{border:1px solid CanvasText}}.recipe-multi-source-import-sheet{--recipe-import-tab-gap: 6px}.recipe-import-source-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--recipe-import-tab-gap);padding:4px;margin:0 0 10px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-muted)}.recipe-import-source-tabs button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:9px;background:transparent;color:var(--text-muted);font:inherit;font-size:.75rem;font-weight:750;cursor:pointer}.recipe-import-source-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0f172a14}.recipe-import-source-tabs button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.recipe-text-import-field textarea{min-height:210px;resize:vertical;line-height:1.5}.recipe-text-import-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.recipe-text-import-actions small{color:var(--text-muted);font-size:.75rem}.recipe-multi-source-future-note{margin:-2px 0 0;color:var(--text-muted);font-size:.75rem;line-height:1.45}.recipe-image-import-panel{display:grid;gap:10px}.recipe-image-import-file-input{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.recipe-image-import-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recipe-image-import-actions .secondary-button{min-width:0;width:100%}.recipe-image-import-selection{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border:1px solid var(--border-soft);border-radius:13px;background:var(--surface-muted)}.recipe-image-import-selection>img{width:76px;height:76px;object-fit:cover;border-radius:10px;background:var(--surface)}.recipe-image-import-selection-copy{min-width:0;display:grid;gap:3px}.recipe-image-import-selection-copy strong,.recipe-image-import-selection-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-image-import-selection-copy strong{font-size:.75rem}.recipe-image-import-selection-copy small{color:var(--text-muted);font-size:.75rem}.recipe-image-import-empty{min-height:92px;display:flex;align-items:center;justify-content:center;gap:9px;padding:14px;border:1px dashed var(--border-soft);border-radius:13px;color:var(--text-muted);text-align:left;font-size:.75rem;line-height:1.45}@media(max-width:430px){.recipe-text-import-actions{align-items:stretch;flex-direction:column}.recipe-text-import-actions .primary-button{width:100%}.recipe-image-import-selection{grid-template-columns:64px minmax(0,1fr)}.recipe-image-import-selection>img{width:64px;height:64px}.recipe-image-import-selection .primary-button{grid-column:1 / -1;width:100%}}@media(prefers-contrast:more){.recipe-import-source-tabs,.recipe-import-source-tabs button.active{border:1px solid CanvasText}}.recipe-import-review-metadata{grid-template-columns:minmax(92px,.8fr) minmax(0,1.2fr);gap:8px}.recipe-import-review-metadata .recipe-editor-field{gap:4px}@media(max-width:430px){.recipe-import-review-metadata{grid-template-columns:minmax(92px,.8fr) minmax(0,1.2fr);gap:7px}.recipe-import-review-metadata .recipe-editor-number-with-unit{gap:5px}}@media(max-width:340px){.recipe-import-review-metadata{grid-template-columns:minmax(82px,.78fr) minmax(0,1.22fr);gap:6px}}.recipe-import-source-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-pdf-import-panel{display:grid;gap:10px}.recipe-pdf-import-picker{width:100%}.recipe-pdf-import-selection{display:grid;gap:10px;padding:10px;border:1px solid var(--border-soft);border-radius:13px;background:var(--surface-muted)}.recipe-pdf-import-file{min-width:0;display:flex;align-items:center;gap:9px}.recipe-pdf-import-file>svg{flex:none;color:var(--green)}.recipe-pdf-import-file>div{min-width:0;display:grid;gap:2px}.recipe-pdf-import-file strong,.recipe-pdf-import-file small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-pdf-import-file strong{font-size:.75rem}.recipe-pdf-import-file small{color:var(--text-muted);font-size:.75rem}.recipe-pdf-import-status{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.75rem}.recipe-pdf-import-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:.75rem}.recipe-pdf-import-meta span{color:var(--text-muted);text-align:right}.recipe-pdf-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px}.recipe-pdf-pages button{min-height:36px;border:1px solid var(--border-soft);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;font-size:.75rem;font-weight:750;cursor:pointer}.recipe-pdf-pages button.active{border-color:var(--green);background:var(--surface-success, #edf5ef);color:var(--green)}.recipe-pdf-pages button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.recipe-pdf-page-help{color:var(--text-muted);font-size:.75rem;line-height:1.4}.recipe-pdf-import-selection>.primary-button{width:100%}@media(max-width:520px){.recipe-import-source-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-contrast:more){.recipe-pdf-import-selection,.recipe-pdf-pages button{border-color:CanvasText}}.recipe-import-source-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.recipe-catalog-import-panel{display:grid;gap:10px}.recipe-catalog-empty{min-height:92px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;border:1px dashed var(--border-soft);border-radius:13px;background:var(--surface-muted);color:var(--text-muted)}.recipe-catalog-empty>svg{color:var(--green)}.recipe-catalog-empty>div{display:grid;gap:3px}.recipe-catalog-empty strong{color:var(--text);font-size:.75rem}.recipe-catalog-empty span{font-size:.75rem;line-height:1.45}.recipe-catalog-partial-warning,.recipe-catalog-preview-attribution{display:flex;align-items:flex-start;gap:6px;padding:8px 9px;border:1px solid #eadfbe;border-radius:10px;background:#fbf7ea;color:#756330;font-size:.75rem;line-height:1.4}.recipe-catalog-preview-attribution{justify-content:space-between;border-color:var(--border-soft);background:var(--surface-muted);color:var(--text-muted)}.recipe-catalog-preview-attribution a{display:inline-flex;align-items:center;gap:4px;color:var(--primary);font-weight:750;text-decoration:none;white-space:nowrap}.recipe-catalog-results{display:grid;gap:8px}.recipe-catalog-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:9px;border:1px solid var(--border-soft);border-radius:13px;background:var(--surface-muted)}.recipe-catalog-result>img{width:64px;height:64px;object-fit:cover;border-radius:10px;background:var(--surface)}.recipe-catalog-result.has-image{grid-template-columns:64px minmax(0,1fr) auto}.recipe-catalog-result-copy{min-width:0;display:grid;gap:3px}.recipe-catalog-result-copy>strong,.recipe-catalog-result-copy>span,.recipe-catalog-result-copy>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-catalog-result-copy>strong{color:var(--text);font-size:.75rem}.recipe-catalog-result-copy>span{color:var(--text-muted);font-size:.75rem}.recipe-catalog-result-copy>small{color:var(--text-muted);font-size:.75rem}.recipe-catalog-badges{display:flex;flex-wrap:wrap;gap:4px}.recipe-catalog-badges em{padding:2px 5px;border-radius:999px;background:var(--surface);color:var(--text-muted);font-size:.75rem;font-style:normal;font-weight:750}.recipe-catalog-attribution{opacity:.9}@media(max-width:620px){.recipe-import-source-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:430px){.recipe-import-source-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-catalog-result,.recipe-catalog-result.has-image{grid-template-columns:minmax(0,1fr) auto}.recipe-catalog-result>img{display:none}.recipe-catalog-result-copy>span{white-space:normal}.recipe-catalog-preview-attribution{display:grid}}@media(prefers-contrast:more){.recipe-catalog-empty,.recipe-catalog-result,.recipe-catalog-partial-warning,.recipe-catalog-preview-attribution{border-color:CanvasText}}.recipe-import-review-source{flex-wrap:wrap}.recipe-catalog-local-save-note{flex:1 0 100%;color:var(--text-muted);font-size:.75rem;line-height:1.45}.recipe-detail-provider-attribution a{display:inline-flex;align-items:center;gap:3px}.recipe-catalog-result-shell{min-width:0;display:grid}.recipe-catalog-result-shell.is-expanded{overflow:clip;border:1px solid var(--border-soft);border-radius:15px;background:var(--surface-muted)}.recipe-catalog-result-shell.is-expanded>.recipe-catalog-result{border:0;border-radius:0}.recipe-catalog-preview-toggle.active{border-color:color-mix(in srgb,var(--primary) 42%,var(--border-soft));background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--primary)}.recipe-catalog-inline-loading{min-height:58px;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-top:1px solid var(--border-soft);background:var(--surface);color:var(--text-muted);font-size:.75rem;font-weight:700}.recipe-catalog-inline-preview{margin:0;padding:11px;border-top:1px solid var(--border-soft);background:var(--surface)}.recipe-catalog-inline-preview .recipe-url-import-image{max-height:220px}.recipe-catalog-inline-preview .recipe-url-import-actions{position:static;padding-top:0;background:transparent}@media(max-width:430px){.recipe-catalog-inline-preview{padding:9px}}@media(prefers-contrast:more){.recipe-catalog-result-shell.is-expanded,.recipe-catalog-inline-loading,.recipe-catalog-inline-preview{border-color:CanvasText}}.recipe-import-recovery-banner{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px}.recipe-import-recovery-banner>div:nth-child(2){min-width:0;display:grid;gap:2px}.recipe-import-recovery-banner strong{color:var(--text);font-size:.75rem}.recipe-import-recovery-banner span{color:var(--text-muted);font-size:.75rem;line-height:1.35}.recipe-import-recovery-actions{display:flex;gap:6px;align-items:center}.recipes-domain-offline.sync-connecting,.recipes-domain-offline.sync-reconnecting,.recipes-domain-offline.sync-resyncing{white-space:nowrap}@media(max-width:520px){.recipe-import-recovery-banner{grid-template-columns:auto minmax(0,1fr);align-items:start}.recipe-import-recovery-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;width:100%}.recipe-import-recovery-actions>button{width:100%;min-height:42px}}@media(prefers-reduced-motion:reduce){.recipes-domain-offline .spin{animation:none!important}}.recipe-editor-fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:16px}.recipe-draft-status{margin:0 20px 8px;color:var(--muted, #686e68);font-size:.8rem;line-height:1.4}.recipe-draft-status.conflict,.recipe-draft-status.unavailable,.recipe-draft-status.too-large{color:#8b301d}.recipe-local-drafts{display:grid;gap:8px}.recipe-local-draft-row{margin:0}.recipe-local-draft-row>div:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}.draft-leave-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.draft-leave-dialog{position:relative;width:min(100%,440px);max-height:90dvh;overflow-y:auto;padding:24px;border-radius:20px}.draft-leave-dialog h2{margin:0 0 12px}.draft-leave-dialog p{line-height:1.5;margin:0 0 20px}.draft-leave-actions{display:grid;gap:10px}.draft-leave-actions button{min-height:44px;white-space:normal}@media(max-width:430px){.recipe-local-draft-row{align-items:flex-start;flex-wrap:wrap}.recipe-local-draft-row .recipe-import-recovery-actions{width:100%;justify-content:flex-end}}.application-recovery-screen{min-height:75dvh;padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(100px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:grid;place-items:center}.application-recovery-card{width:min(100%,480px);min-width:0;padding:24px;border:1px solid #dce4dc;border-radius:20px;background:#fffdfa;color:#243b2a;box-shadow:0 8px 28px #173d2410;overflow-wrap:anywhere}.application-recovery-symbol{display:grid;place-items:center;width:44px;height:44px;margin-bottom:16px;border-radius:50%;background:#f6eddf;color:#77500e;font-size:1.5rem;font-weight:700}.application-recovery-card h1{font-size:clamp(1.25rem,4.5vw,1.6rem);line-height:1.3;margin:0 0 12px}.application-recovery-card p{font-size:.95rem;line-height:1.55;margin:0 0 16px}.application-recovery-card .application-recovery-drafts{font-size:.85rem;color:#526353}.application-recovery-actions{display:grid;gap:10px;margin-top:20px}.application-recovery-actions button,.application-recovery-reload{min-height:44px;white-space:normal}.application-recovery-reload{margin-top:12px}.application-recovery-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;background:#172b2255;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));overflow:auto}@media(forced-colors:active){.application-recovery-card{border-color:CanvasText;background:Canvas;color:CanvasText}}.home-domain-card-wrap{min-width:0;display:grid;align-content:start;gap:4px}.home-domain-card-wrap>.home-domain-card{width:100%;height:100%}.home-card-retry{justify-self:end;min-height:44px;padding:6px 12px}.write-recovery-notice{position:fixed;bottom:calc(88px + env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));z-index:11000;max-width:520px;margin:0 auto;border:1px solid #d7b375;border-radius:14px;padding:10px 14px;background:#fff9ee;color:#573f19;box-shadow:0 8px 30px #243b2a26}.write-recovery-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.85rem}.write-recovery-bar button{min-height:44px}.write-recovery-details{display:grid;gap:10px;max-height:50dvh;overflow-y:auto;overflow-wrap:anywhere;font-size:.9rem}.write-recovery-details p{margin:4px 0;line-height:1.5}.write-recovery-details button{min-height:44px;white-space:normal}.pantry-transfer-panel{margin:0 0 18px;padding:18px;border:1px solid var(--border, #d9e1dc);border-radius:18px;background:var(--surface, #fff)}.pantry-transfer-panel h3{margin:0 0 8px;font-size:1.05rem}.pantry-transfer-panel p{line-height:1.5}.pantry-transfer-panel fieldset{border:0;padding:0;margin:0;min-width:0}.pantry-transfer-panel label{display:grid;gap:6px;margin-bottom:12px;font-weight:600}.pantry-transfer-panel input,.pantry-transfer-panel select{width:100%;min-height:44px;border:1px solid #c8d5cd;border-radius:10px;padding:10px;font:inherit;color:inherit;background:#fff;box-sizing:border-box}.pantry-transfer-amount{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pantry-transfer-panel>button{margin-top:12px}.home-domain-intro{padding:10px 2px;border:0;background:transparent;box-shadow:none}.home-domain-intro h2{font-size:1.4375rem;margin:0}.home-next-actions{display:grid;gap:7px}.home-next-action{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:62px;padding:10px 13px;border:1px solid var(--brand-200, #c2d6c8);border-radius:15px;color:var(--text-strong);background:var(--surface-brand, #edf5ee);text-align:left;cursor:pointer}.home-next-action>span{display:grid;gap:3px;min-width:0}.home-next-action strong{font-size:.8125rem}.home-next-action small{font-size:.75rem;color:var(--text-muted);overflow-wrap:anywhere}.home-next-action svg{flex:0 0 auto}.home-next-action:focus-visible{outline:3px solid var(--brand-400, #699976);outline-offset:2px}.home-next-empty{margin:0;padding:0 2px 7px;color:var(--text-muted);font-size:.75rem}.home-domain-card-label{color:var(--text-strong);font-size:.8125rem;font-weight:800;text-transform:none;letter-spacing:normal}.home-domain-card-copy strong{color:var(--text-muted);font-size:.75rem;font-weight:600}.home-domain-card-copy small{font-size:.75rem}@media(max-width:600px){.home-domain-intro{padding:4px 2px;border-radius:0}.home-domain-intro h2{font-size:1.3125rem}.home-domain-card{min-height:70px}.home-domain-content{gap:9px}}@media(forced-colors:active){.home-next-action{border:1px solid ButtonText}}.shared-sheet-header{gap:12px;align-items:flex-start}.shared-sheet-header>div{min-width:0}.shared-sheet-header h2{overflow-wrap:anywhere}.shared-sheet-header .close-button{min-width:44px;min-height:44px;flex-shrink:0}.shared-form-fieldset{display:contents;border:0;margin:0;padding:0;min-width:0}.shared-sheet-actions{gap:10px}.shared-sheet-actions>button{min-height:44px;white-space:normal}.shared-field-error{display:block;font-size:.75rem;line-height:1.4;margin-top:5px;color:#a3322b}.shared-form-error{overflow-wrap:anywhere}.shared-draft-status{margin:0 0 10px;font-size:.75rem;line-height:1.4;color:var(--text-muted)}.shared-draft-status.conflict,.shared-draft-status.unavailable,.shared-draft-status.too-large{color:#a3322b}.shared-resume-sheet{max-width:540px}.shared-resume-sheet p{line-height:1.5}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:#b23e35}@media(max-width:600px){.shared-sheet-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.shared-sheet-actions>button{width:100%}}.shared-field-error[role=alert]{color:#a3322b}.shopping-list-redesign .item-main,.shopping-list-redesign .item-name-button,.smart-composer-row>*,.suggestions-popover{min-width:0}.shopping-list-redesign .item-name{overflow-wrap:anywhere;word-break:normal}.shopping-list-redesign .item-name-button{flex:1 1 auto}.shopping-list-redesign .item-qty-button{flex:0 0 auto;max-width:45%}.shopping-list-redesign .item-qty{white-space:normal;overflow-wrap:anywhere}.smart-composer-row .composer-suggestion-main{overflow-wrap:anywhere}.inline-quantity-controls button{min-width:44px;min-height:44px}#list-focus-results{overflow-anchor:none}.shopping-list-redesign .item-name{display:block;white-space:normal;overflow:visible;text-overflow:clip}.voice-interaction{display:grid;gap:8px;width:100%;min-width:0;padding:10px 0;overflow-wrap:anywhere}.voice-interaction-context{font-size:.75rem;color:var(--text-muted);font-weight:700}.voice-interaction-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:0;gap:6px}.voice-interaction-steps li{padding:6px 3px;text-align:center;font-size:.75rem;color:var(--text-muted);border-bottom:2px solid var(--neutral-200)}.voice-interaction-steps li[aria-current=step]{color:var(--text-strong);border-color:var(--brand-500, #29533e);font-weight:800}.voice-interaction-message{display:grid;gap:4px;font-size:.8125rem;line-height:1.45}.voice-interaction-message strong{color:var(--text-strong)}.voice-interaction details{font-size:.75rem}.voice-interaction details summary{cursor:pointer;padding:8px 0}.voice-interaction details p,.voice-interaction-heard{margin:3px 0;font-size:.75rem;line-height:1.5;white-space:pre-wrap}.voice-interaction-actions{display:flex;flex-wrap:wrap;gap:7px}.voice-interaction-actions:empty{display:none}.voice-interaction-actions button{min-height:44px;padding:8px 12px;border:1px solid var(--neutral-200);border-radius:12px;background:var(--surface-raised, white);color:var(--text-strong);font-size:.75rem}.voice-interaction-correction{display:grid;gap:8px}.voice-interaction-correction label{display:grid;gap:5px;font-size:.75rem}.voice-interaction-correction textarea{width:100%;box-sizing:border-box;min-height:88px;border:1px solid var(--neutral-300);border-radius:10px;padding:10px;font:inherit}.voice-interaction-correction p{font-size:.75rem;margin:0;color:var(--text-muted)}.voice-card .voice-interaction-context,.voice-card .voice-interaction-steps li,.voice-card .voice-interaction-correction p{color:#d6e7dd}.voice-card .voice-interaction-message strong,.voice-card .voice-interaction-steps li[aria-current=step]{color:#fff}.voice-card .voice-interaction-steps li{border-color:#638b76}.voice-card .voice-interaction-steps li[aria-current=step]{border-color:#d6e7dd}.voice-interaction-correction textarea{color:var(--text-strong, #18251d);background:var(--surface-raised, white)}.import-progress{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:14px;margin:10px 0 16px;color:var(--ink)}.import-progress-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0;margin:0;list-style:none}.import-progress-steps li{display:flex;flex-direction:column;align-items:center;gap:5px;color:#637067;font-size:.75rem;text-align:center;overflow-wrap:anywhere}.import-progress-steps li>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eef2ee;font-size:.75rem;font-weight:700}.import-progress-steps .is-current{color:#235f42;font-weight:700}.import-progress-steps .is-current>span{background:#235f42;color:#fff}.import-progress-steps .is-complete>span{background:#e0eee4;color:#235f42}.import-progress p{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:.8125rem;line-height:1.5;margin:12px 0 0}.import-progress button{margin-top:10px;min-height:44px;max-width:100%;white-space:normal}.import-progress-working{width:8px;height:8px;border-radius:50%;background:#235f42;flex:0 0 auto}[data-import-attention]{scroll-margin:20px}.meal-plan-shopping-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:var(--paper);padding:13px 15px;border-radius:16px;margin:12px 0}.meal-plan-shopping-status>div{flex:1 1 240px;min-width:0}.meal-plan-shopping-status strong{display:block;font-size:.875rem}.meal-plan-shopping-status p{margin:5px 0 0;font-size:.75rem;line-height:1.5;color:var(--muted)}.meal-plan-shopping-list-name{display:block;font-size:.75rem;margin-top:4px;overflow-wrap:anywhere}.meal-plan-shopping-status.state-current{border-color:#bad2c1;background:#f1f7f2}.meal-plan-shopping-status:is(.state-changed,.state-review,.state-shopping-blocked,.state-sources){border-color:#dfc596;background:#fffaf0}.meal-plan-continuity-links{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.meal-plan-continuity-links button,.meal-plan-shopping-status button{min-height:44px;white-space:normal}.meal-plan-recipe-link{display:block;padding:0;border:0;background:none;color:var(--green);text-align:left;font-size:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;min-height:28px}.list-meal-plan-continuity:empty{display:none}.list-meal-plan-continuity>div{margin-bottom:10px}#meal-plan-incremental-title{scroll-margin:100px}.offer-price-summary{display:grid;gap:7px;margin:7px 0 10px}.offer-price-primary{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}.external-offer-main .offer-price-primary>strong{font-size:1.5625rem;line-height:1.15;color:var(--ink);font-variant-numeric:tabular-nums}.offer-price-primary>span{font-size:.75rem;font-weight:700}.offer-price-source{font-size:.75rem;color:var(--muted)}.offer-price-conditions{padding:8px 10px;margin:0;background:#fff3d9;border-radius:9px;color:#684510;font-size:.8125rem;line-height:1.45;overflow-wrap:anywhere}.offer-price-evidence{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.75rem}.price-source-conflict{display:grid;gap:5px;font-size:.75rem;overflow-wrap:anywhere}.price-source-conflict>span{display:block}.price-source-conflict details{margin-top:3px}.price-source-conflict summary,.offer-price-comparison-details summary,.price-history-sheet details>summary,.advanced-basket-cost-benchmark>summary{cursor:pointer;padding:10px 0;min-height:44px;font-size:.75rem;font-weight:700}.price-source-conflict .external-source-conflict-claims>div{display:grid;gap:4px;padding:7px 0;border-top:1px solid var(--line)}.offer-price-comparison-details{margin:7px 0}.offer-price-comparison-details>summary{color:var(--green)}.price-amount-meaning{display:block;font-size:.75rem;font-weight:700}.price-evidence-age{display:block;line-height:1.4}.history-price-headline{display:grid;gap:6px;padding:15px;margin-bottom:14px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.history-price-headline>strong{font-size:1.6875rem;font-variant-numeric:tabular-nums}.history-price-headline>span{font-size:.8125rem;font-weight:700}.history-price-headline>small{color:var(--muted);font-size:.75rem;line-height:1.45}.price-history-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.price-history-overview-item.latest{grid-column:1/-1}.price-history-overview-item.latest strong{font-size:1.75rem;font-variant-numeric:tabular-nums}.price-history-overview-item.typical{grid-column:1/-1}.price-history-evidence{font-size:.75rem;color:var(--muted);line-height:1.5;margin:10px 0}.price-history-analysis{border:1px solid var(--line);border-radius:14px;padding:0 12px;margin:10px 0}.price-history-analysis .price-history-overview-item.trend{margin:5px 0 10px}.item-promotion-summary .item-promotion-price{font-size:.9375rem;color:var(--green);font-variant-numeric:tabular-nums}.item-promotion-summary>em{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.item-promotion-freshness{display:block;font-size:.75rem;margin:4px 0}.item-promotion-hint .price-source-conflict{margin-top:5px}.reauthentication-panel{display:grid;gap:1rem;min-width:0;padding:1rem 0}.reauthentication-panel h3,.reauthentication-panel p{margin:0;overflow-wrap:anywhere}.reauthentication-panel label{display:grid;gap:.5rem}.reauthentication-panel input{width:100%;min-width:0;min-height:44px}.reauthentication-actions{display:flex;flex-wrap:wrap;gap:.75rem}.reauthentication-actions button{flex:1 1 10rem;min-height:44px;height:auto;white-space:normal;padding:.75rem 1rem;line-height:1.3;overflow-wrap:anywhere}.password-open-button{margin:.5rem 0 1rem}.password-change-panel{min-width:0}.password-field-error{color:var(--danger, #a52b2b);font-size:.875rem;overflow-wrap:anywhere}.password-change-panel .password-session-choice{display:flex;align-items:flex-start;gap:.65rem;padding:.5rem 0;min-height:44px}.password-change-panel .password-session-choice input{width:22px;height:22px;flex:0 0 22px;margin:.15rem 0 0}.password-choice-help{display:block;font-size:.85rem;font-weight:400;margin-top:.25rem}.password-change-panel input{min-width:0}.account-recovery-card{width:min(100%,440px);overflow-wrap:anywhere}.account-recovery-card .primary-button,.account-recovery-card .secondary-button{min-height:44px;white-space:normal}.account-email-address{overflow-wrap:anywhere;word-break:break-word}.account-settings-buttons{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.account-settings-buttons .password-open-button{margin:0}.account-recovery-card .password-session-choice{display:flex;align-items:center;gap:.5rem;min-height:44px}.account-recovery-card .password-session-choice input{width:22px;height:22px}.session-devices-panel{min-width:0}.session-devices-hint{font-size:.875rem;color:var(--muted, #53635b);line-height:1.5}.session-devices-list{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.75rem}.session-devices-list>li{border:1px solid var(--border, #d6ded7);border-radius:16px;padding:1rem;min-width:0}.session-device-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;overflow-wrap:anywhere}.session-current-label{font-size:.8rem;font-weight:700;color:#21543f;background:#edf5ef;border-radius:8px;padding:.25rem .5rem}.session-devices-list dl{display:grid;gap:.5rem;margin:.75rem 0}.session-devices-list dl>div{display:flex;flex-wrap:wrap;gap:.25rem .75rem;justify-content:space-between}.session-devices-list dt{color:var(--muted, #53635b)}.session-devices-list dd{margin:0;overflow-wrap:anywhere}.session-devices-panel button{min-height:44px;white-space:normal;overflow-wrap:anywhere}.session-end-confirmation{border:1px solid #b7cbbc;padding:1rem;border-radius:12px;margin:1rem 0}.session-ended-notice:empty{display:none}.session-ended-notice{background:#edf5ef;border-radius:12px;padding:.75rem;line-height:1.5}.membership-list{list-style:none;padding:0;display:grid;gap:12px}.membership-list li{min-width:0;padding:12px;border:1px solid var(--border-color, #d4dce0);border-radius:12px}.membership-person{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.membership-person span,.membership-person small{color:var(--text-muted, #50616a)}.membership-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.membership-actions button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.membership-confirmation{margin-top:16px;padding:12px;background:var(--surface-soft, #f2f6f7);border-radius:12px}.membership-leave p,.membership-confirmation p{overflow-wrap:anywhere}.membership-notice{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 16px;background:var(--surface-soft, #f2f6f7)}.membership-notice span{flex:1 1 230px}.empty-households{max-width:560px;padding:24px;margin:0 auto;display:grid;gap:16px}.invitation-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:12px}.invitation-entry{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:14px;min-width:0}.invitation-entry>div:first-child{display:grid;gap:4px}.invitation-entry :is(strong,span,small),.join-invitation-panel strong{overflow-wrap:anywhere}.invitation-entry code{font-size:1.1em;letter-spacing:.06em}.invitation-create{display:grid;gap:8px}.invitation-create input{width:100%;min-width:0;min-height:44px}.invitation-create p,.join-invitation-panel p{font-size:.9em;line-height:1.5}.household-invitations-panel button,.join-invitation-panel button{min-height:44px;white-space:normal}.join-invitation-panel,.household-invitations-panel{min-width:0}.join-invitation-panel .inline-form{flex-wrap:wrap}.join-invitation-panel .inline-form input{flex:1 1 120px;min-width:0}.data-export-panel{min-width:0}.data-export-panel>p,.export-scope-description p{line-height:1.5;overflow-wrap:anywhere}.data-export-panel fieldset{display:grid;gap:12px;margin:16px 0;padding:12px;border:1px solid var(--border);border-radius:12px;min-width:0}.data-export-panel legend{font-weight:700;padding:0 4px}.export-scope-option{display:flex;align-items:flex-start;gap:10px;min-height:44px;cursor:pointer}.export-scope-option input{flex:0 0 auto;width:22px;height:22px;margin-top:3px}.export-scope-option>span{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.export-scope-option small,.export-scope-note{font-size:.9em;line-height:1.5}.export-scope-description{padding:0 12px;border-left:3px solid var(--green)}.data-export-panel button{min-height:44px;white-space:normal}:root{--text-faint: #626a65;--neutral-500: #626a65;--a11y-focus-ring: #174b31;--a11y-focus-halo: #fffefa;--control-border: #75877a;--space-field: .75rem}html{text-size-adjust:100%}body{line-height:1.5}small{font-size:.75rem}:where(button,input,select,textarea,summary){font-family:var(--font-sans)}:where(button,[role=button],summary,.cross-domain-link){min-width:44px!important;min-height:44px!important}:where(button,summary){overflow-wrap:anywhere}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--a11y-focus-ring)!important;outline-offset:3px!important;box-shadow:0 0 0 2px var(--a11y-focus-halo)}:where(input,textarea,select):not([type=checkbox]):not([type=radio]):not([type=file]){min-height:44px;min-inline-size:0;max-inline-size:100%;font-size:max(1rem,16px)!important;line-height:1.5;border-color:var(--control-border)}:where(input,textarea)::placeholder{color:#626a65;opacity:1}:where(input,button,select,textarea,summary){scroll-margin-block:1rem}button svg.lucide{flex-shrink:0}:is(.icon-button,.close-button,.primary-navigation-item)>svg.lucide{width:1.25rem;height:1.25rem}.topbar{height:auto;min-height:76px;grid-template-columns:44px minmax(0,1fr) auto}.topbar>*,.sheet-header>*,.shared-sheet-header>*{min-width:0}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}:where(h1,h2,h3,h4,p,small,strong,label){overflow-wrap:anywhere}:where(.app-shell,[role=dialog],[role=alertdialog]){min-width:0}.app-shell:not(.shopping-list-redesign)>main{padding-bottom:max(7rem,calc(var(--app-nav-height, 76px) + 2rem))}.primary-navigation{min-height:64px;height:auto}.primary-navigation-item{min-width:0!important;white-space:normal;overflow-wrap:anywhere}.sheet-actions,.shared-sheet-actions{flex-wrap:wrap;gap:.5rem}.sheet-actions>button{white-space:normal;height:auto;line-height:1.35}.shared-form-fieldset{min-width:0}:where(.recipe-editor-field,.meal-plan-form label){gap:.375rem}.sheet-backdrop{top:var(--app-visual-top, 0px);bottom:auto;height:var(--app-visual-height, 100dvh)}.sheet-backdrop>:is([role=dialog],[role=alertdialog]){max-height:calc(var(--app-visual-height, 100dvh) - 12px)!important}:is(.edit-sheet,.memory-hub-sheet,.price-history-sheet,.meal-plan-form-sheet,.recipe-import-review-sheet){overscroll-behavior:contain}[data-virtual-keyboard=true] .primary-navigation{display:none}[data-virtual-keyboard=true] :is(.one-hand-shopping-entry-dock,.one-hand-shopping-dock){display:none}.multimodal-candidate{grid-template-columns:44px minmax(0,1fr)}@media(max-width:420px){.topbar{padding-inline:12px;gap:8px}.topbar-actions{max-width:140px;gap:4px}.topbar-actions .meal-plan-live-pill{display:none}.recipe-library-toolbar,.recipe-library-search-row{flex-wrap:wrap}.recipe-editor-basics{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-actions>button{flex:1 1 8rem}:is(.recipe-import-source-tabs,.category-spend-period-tabs,.store-category-mix-period-tabs){flex-wrap:wrap}}@media(max-height:480px){.topbar{position:static}.sheet-backdrop{padding-top:0;padding-bottom:0}}@media(prefers-contrast:more){:root{--text-muted:#49504c;--text-faint:#49504c;--border:#75877a}}@media(forced-colors:active){:where(button,input,select,textarea,summary):focus-visible{outline-color:Highlight!important;box-shadow:none}:where(button,input,select,textarea){border:1px solid ButtonText}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[data-virtual-keyboard=true] .sheet-backdrop>:is([role=dialog],[role=alertdialog]){min-height:0!important}[data-virtual-keyboard=true] textarea{min-height:4rem!important;max-height:max(4rem,calc(var(--app-visual-height) * .4))!important}[data-virtual-keyboard=true] :is(.edit-sheet,.meal-plan-form-sheet,.memory-hub-sheet){scroll-padding-block:.75rem 6rem}[data-virtual-keyboard=true] [role=dialog]{overflow-anchor:none}:is(.shopping-cost-estimate-body,.shopping-cost-estimate-copy,.basket-history-product-context){grid-template-columns:minmax(0,1fr)}:is(.section-kicker,.eyebrow){white-space:normal;overflow-wrap:anywhere}:is(.meal-plan-section-heading,.list-heading,.list-heading-actions){flex-wrap:wrap}.meal-plan-section-heading>div{min-width:0;flex:1 1 10rem}@media(max-width:420px){.dashboard-home .dashboard-stat{grid-template-columns:minmax(0,1fr)}.dashboard-home .dashboard-stat>small{white-space:normal}.shopping-cost-estimate-card{flex-wrap:wrap}.shopping-cost-estimate-body{flex-basis:100%}.basket-history-product{grid-template-columns:minmax(0,1fr) 20px}.basket-history-product-chevron{grid-column:2}.basket-history-product>small{grid-column:1 / -1}}label:has(>input:is([type=checkbox],[type=radio])){min-height:44px;min-width:44px;display:inline-flex;align-items:center;gap:.5rem}input:is([type=checkbox],[type=radio]){min-width:20px;min-height:20px;flex-shrink:0}body{overflow-wrap:anywhere}.list-status-badge.open{color:#4e5c53}.recipes-domain-offline{min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:anywhere}:is(.meal-plan-status.status-draft,.meal-plan-meal-recipe span,.meal-recipe-card span,.meal-plan-requirements-intro>small,.meal-serving-preview-more,.meal-plan-status-row>span:last-child){color:#626a65}.contextual-onboarding-copy span{color:#626a65}:is(.sheet-actions,.shared-sheet-actions){grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}.recipe-pantry-discovery-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.recipe-pantry-discovery-card-head strong{min-width:0;white-space:normal;overflow:visible;overflow-wrap:anywhere}.recipe-detail-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.recipe-detail-header>.section-kicker{margin:0}.recipe-detail-header-actions{min-width:max-content}.recipe-detail-header h2{grid-column:1 / -1;margin:0}.product-amount-fields{display:flex;flex-wrap:wrap;align-items:start;gap:12px}.product-amount-fields>label{min-width:0}.product-amount-fields>label:first-child{flex:2 1 10.5rem}.product-amount-fields>label:last-child{flex:1 1 7.5rem}.product-amount-fields .quantity-stepper{min-width:0;grid-template-columns:44px minmax(0,1fr) 44px}.product-amount-fields .quantity-stepper input{padding-inline:6px}.sync-status-pill{height:auto;min-height:30px;max-width:min(100%,14rem);white-space:normal;line-height:1.35;padding-block:5px}.sync-status-pill>span:last-child{overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.topbar-actions .sync-status-pill{max-width:140px}.data-deletion-panel{overflow-wrap:anywhere}.privacy-confirmation{display:grid;gap:.6rem;margin:1rem 0}.privacy-confirmation input{width:100%;min-width:0}.data-deletion-panel .danger-button{min-height:44px;padding:.75rem 1rem;border-radius:12px;background:#a32121;color:#fff;border:2px solid transparent;font-weight:600;white-space:normal}.data-deletion-panel .danger-button:disabled{opacity:.55}
