:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#272823;background:#f6f4ed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #272823;--muted: #77786f;--accent: #bc4f32;--leaf: #566b4c;--paper: #fffef9;--line: #e7e3d8}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.entry-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.entry-copy{min-height:100vh;padding:clamp(32px,7vw,100px);background:#bc4f32;color:#fff8ee;display:flex;flex-direction:column;justify-content:center}.eyebrow{margin:0;color:var(--leaf);font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.entry-copy .eyebrow{color:#f5d3bd}.entry-copy h1{margin:26px 0 32px;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(76px,13vw,180px);line-height:.9;letter-spacing:-.08em}.entry-copy h1 span,.wordmark span{color:#eebf6e}.entry-line{margin:0;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(29px,4.2vw,55px);line-height:1.2}.entry-note{margin-top:42px;max-width:340px;color:#f9d8c8;font-size:14px;line-height:1.65}.sign-in{width:min(100%,560px);margin:auto;padding:clamp(32px,8vw,100px)}.sign-in h2{margin:22px 0 10px;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(38px,5vw,58px);font-weight:400;letter-spacing:-.04em}.sign-in .eyebrow{color:var(--accent)}.sign-in-intro{margin:0;color:var(--muted);font-size:15px;line-height:1.6}.sign-in form{display:grid;margin-top:42px}.sign-in label,.weight-form label{margin:0 0 8px;font-size:13px;font-weight:600}.sign-in input,.weight-form input{width:100%;height:52px;margin-bottom:24px;padding:0 14px;border:1px solid #d9d3c7;border-radius:9px;outline:none;color:var(--ink);background:var(--paper)}.sign-in input:focus,.weight-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #bc4f3220}.sign-in button,.weight-form button{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 18px;border:0;border-radius:9px;color:#fffaf2;background:var(--ink);font-weight:600}.sign-in button:disabled{opacity:.7;cursor:wait}.sign-in button span{font-size:20px}.form-message{margin:0 0 12px;color:#a2351b;font-size:13px}.private-note{margin-top:26px;color:var(--muted);font-size:12px}.app-frame{min-height:100dvh}.topbar{position:sticky;z-index:2;top:0;display:flex;height:68px;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1200px)/2));border-bottom:1px solid var(--line);background:#f6f4edeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar>div{display:flex;align-items:center;gap:22px}.wordmark{color:var(--ink);font:28px "DM Serif Display",Georgia,serif;letter-spacing:-.04em;text-decoration:none}.sync-indicator{color:var(--leaf);font-size:12px}.sync-indicator:first-letter{color:#6e9561}.text-button{padding:8px 0;border:0;color:var(--muted);background:none;font-size:12px}.app-body{display:grid;grid-template-columns:208px minmax(0,740px);justify-content:center;gap:64px;padding:55px 28px 100px}.side-rail{position:sticky;top:112px;display:flex;flex-direction:column;align-self:start;gap:8px}.side-rail .eyebrow{margin:12px 0 15px 12px}.nav-link{min-height:44px;padding:0 14px;border:0;border-radius:8px;color:#64665e;background:transparent;text-align:left}.nav-link.active{color:#34452e;background:#e5eadd;font-weight:700}.settings-link{margin-top:28px}.page-content{min-width:0}.page-heading{margin-bottom:32px}.page-heading .eyebrow{margin-bottom:9px}.page-heading h1{margin:0;font:48px/1.05 "DM Serif Display",Georgia,serif;letter-spacing:-.04em}.page-subtitle{margin:11px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.meal-list,.day-list{display:grid;gap:14px}.meal-card,.day-card,.settings-card{padding:24px 26px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.meal-meta{display:flex;align-items:center;justify-content:space-between;color:var(--leaf);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.meal-meta span+span{color:#96968d;font-weight:500;letter-spacing:0;text-transform:none}.meal-card h2,.snack-card h2,.day-card h2,.settings-card h2{margin:15px 0 7px;font:26px "DM Serif Display",Georgia,serif}.meal-card>p,.snack-card>p:not(.eyebrow),.menu-row p,.settings-card p{color:var(--muted);font-size:13px;line-height:1.6}.settings-page{display:grid;gap:14px}.reminder-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 14px}.reminder-form label{display:grid;gap:6px;color:#686a61;font-size:11px}.reminder-form input{width:100%;height:40px;padding:0 9px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:#fff}.reminder-form .reminder-toggle{grid-column:1 / -1;display:flex;align-items:center;gap:9px}.reminder-form .reminder-toggle input{width:18px;height:18px;accent-color:var(--leaf)}.reminder-form small{color:var(--muted)}.reminder-form button,.push-button{min-height:44px;padding:0 14px;border:0;border-radius:8px;color:#fff;background:var(--leaf);font-size:12px;font-weight:600}.push-button{width:100%;color:#42523b;background:#e5eadd}.install-note{padding-top:10px;border-top:1px solid var(--line);font-size:12px!important}details{margin-top:16px;color:var(--leaf);font-size:13px}summary{cursor:pointer;font-weight:600}details ol{padding-left:20px;color:#55574e;line-height:1.8}.meal-actions{display:flex;gap:9px;margin-top:21px}.meal-actions button,.conflict-card button{min-height:42px;padding:0 17px;border:0;border-radius:8px;color:#fff;background:var(--leaf);font-weight:600}.meal-actions .quiet-button{color:var(--muted);background:#f1f0ea}.snack-card{padding:20px 24px;border-radius:12px;background:#efe8d7}.snack-card .eyebrow{color:#946f37}.snack-card h2{margin-top:8px}.day-card>.eyebrow{padding-bottom:14px;border-bottom:1px solid var(--line)}.menu-row{display:grid;grid-template-columns:1fr auto;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.menu-row:last-child{border-bottom:0}.meal-type{color:var(--leaf);font-size:11px;text-transform:uppercase}.menu-row h2{margin:6px 0;font-size:21px}.menu-row details{min-width:80px}.rating-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.rating-actions button{min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:#64665e;background:transparent;font-size:11px}.rating-actions button[aria-pressed=true]{border-color:#c3ceb8;color:#405438;background:#e8ede3}.shopping-list{display:grid;gap:24px}.department h2{margin:0 0 8px;font-size:13px;color:#73746b;font-weight:700}.shopping-row{display:grid;grid-template-columns:23px 1fr auto;gap:12px;align-items:center;min-height:57px;padding:8px 0;border-bottom:1px solid var(--line);cursor:pointer}.shopping-row input{width:19px;height:19px;accent-color:var(--leaf)}.shopping-label{font-size:14px}.shopping-label small{display:block;padding-top:3px;color:#977044;font-size:11px}.amount{color:var(--muted);font-size:12px;text-align:right}.shopping-row.is-done .shopping-label{color:#92938b;text-decoration:line-through}.weekend-note{padding:18px 20px;border-radius:10px;background:#e8ece2;color:#42523b}.weekend-note strong{font:18px "DM Serif Display",Georgia,serif}.weekend-note p{margin:6px 0 0;color:#687361;font-size:12px;line-height:1.6}.silpo-card{margin-top:20px;padding:23px 24px;border:1px solid #e7c9b8;border-radius:12px;background:#fffaf5}.silpo-card>.eyebrow{color:#a14b30}.silpo-card h2{margin:9px 0;font:24px "DM Serif Display",Georgia,serif}.silpo-card>p:not(.eyebrow),.silpo-notice p{color:var(--muted);font-size:12px;line-height:1.6}.silpo-card>button,.silpo-preview>button,.silpo-total button{min-height:42px;padding:0 14px;border:0;border-radius:8px;color:#fff;background:#a9482f;font-size:12px;font-weight:700}.silpo-slot{display:flex;align-items:center;justify-content:space-between;gap:14px}.silpo-slot h2{margin:0 0 4px;font:20px "DM Serif Display",Georgia,serif}.silpo-slot p,.silpo-slot strong{display:block;margin:3px 0 0;color:var(--muted);font-size:11px}.silpo-slot .silpo-slot-expired{display:block;margin-top:5px;color:#a9482f;font-size:11px}.silpo-slot>button,.silpo-slot-options>button{flex:0 0 auto;min-height:38px;padding:0 12px;border:1px solid #d5a590;border-radius:7px;color:#853c27;background:#fff;font-size:11px;font-weight:700}.silpo-slot-options{display:grid;gap:10px;margin-top:14px}.silpo-slot-options label{display:grid;gap:6px;color:#777067;font-size:11px}.silpo-slot-options select{min-height:42px;padding:0 10px;border:1px solid #e4d6cc;border-radius:7px;background:#fff;font-size:12px}.silpo-slot-options>button{width:100%;min-height:44px;color:#fff;background:#a9482f}.silpo-slot-divider{height:1px;margin:20px 0 16px;background:#ead8cc}.silpo-store{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid #ead8cc}.silpo-store h2{margin:0 0 4px;font:20px "DM Serif Display",Georgia,serif}.silpo-store p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.silpo-store>button{flex:0 0 auto;min-height:38px;padding:0 12px;border:1px solid #d5a590;border-radius:7px;color:#853c27;background:#fff;font-size:11px;font-weight:700}.silpo-branch-picker{display:grid;gap:10px;margin:12px 0 4px;padding:14px;border-radius:9px;background:#f5eee7}.silpo-branch-search,.silpo-branch-selected label{display:grid;gap:6px;color:#777067;font-size:11px}.silpo-branch-search input,.silpo-branch-selected select{width:100%;min-height:42px;padding:0 10px;border:1px solid #e4d6cc;border-radius:7px;background:#fff;font-size:12px}.silpo-branch-list{display:grid;max-height:255px;overflow-y:auto}.silpo-branch-option{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:8px 2px;border:0;border-bottom:1px solid #e4d6cc;color:var(--ink);background:transparent;text-align:left}.silpo-branch-option>span:first-child{min-width:0}.silpo-branch-option strong,.silpo-branch-option small{display:block}.silpo-branch-option strong{font-size:12px}.silpo-branch-option small{margin-top:3px;color:var(--muted);font-size:11px}.silpo-branch-option>span:last-child{flex:0 0 auto;color:#8d4934;font-size:11px}.silpo-branch-option.is-selected{color:#8d4934}.silpo-branch-hint{color:var(--muted);font-size:10px}.silpo-branch-selected{display:grid;gap:10px;padding-top:8px}.silpo-branch-selected>strong{font-size:12px}.silpo-branch-selected>p{margin:0;color:var(--muted);font-size:12px}.silpo-branch-selected>.silpo-branch-warning{padding:9px 10px;border-radius:7px;color:#76551f;background:#f6efd9;font-size:11px;line-height:1.45}.silpo-branch-selected>button{min-height:42px;border:0;border-radius:7px;color:#fff;background:#a9482f;font-size:12px;font-weight:700}.silpo-card button:disabled{opacity:.45;cursor:not-allowed}.silpo-notice{margin-top:15px;padding:13px 15px;border-radius:8px;background:#f2ebdf;color:#66583f;font-size:12px;line-height:1.5}.silpo-picker{margin-top:18px;padding-top:15px;border-top:1px solid #ead8cc}.silpo-picker-heading{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:10px}.silpo-picker-heading h3{margin:0 0 5px;font-size:15px}.silpo-picker-heading p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.silpo-progress-count{flex:0 0 auto;padding:5px 8px;border-radius:99px;color:#7f442f;background:#f1e4da;font-size:11px;font-weight:700}.silpo-picker-items{display:grid;gap:8px}.silpo-step-nav{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:13px 0}.silpo-step-dot{display:grid;width:28px;height:28px;place-items:center;border:1px solid #ded5c8;border-radius:50%;color:#736b60;background:#fff;font-size:10px;font-weight:700}.silpo-step-dot.is-current{border-color:#a9482f;color:#fff;background:#a9482f}.silpo-step-dot.is-complete{border-color:#71845f;color:#fff;background:#71845f}.silpo-step-dot:disabled{opacity:.4}.silpo-review-dot{margin-left:4px;border-radius:7px}.silpo-current-need{padding:15px;border:1px solid #eadfd5;border-radius:10px;background:#fffdfa}.silpo-need-meta{display:grid;gap:6px;margin-bottom:11px;color:var(--muted);font-size:11px}.silpo-need-meta small{padding:8px 10px;border-radius:7px;color:#77563c;background:#f5ecdd;line-height:1.45}.silpo-multi-product{overflow:hidden;border:1px solid #e8e1d8;border-radius:8px;background:#fff}.silpo-multi-product.is-selected{border-color:#687d58;background:#f4f7f0}.silpo-multi-product-select{display:grid;width:100%;grid-template-columns:22px 66px minmax(0,1fr);gap:10px;align-items:center;min-height:84px;padding:8px;border:0;color:var(--ink);background:transparent;text-align:left}.silpo-multi-product-select:disabled{opacity:.55;cursor:not-allowed}.silpo-multi-check{display:grid;width:21px;height:21px;place-items:center;border:1px solid #d7d0c5;border-radius:5px;color:#fff;font-size:12px}.silpo-multi-product.is-selected .silpo-multi-check{border-color:#617451;background:#617451}.silpo-multi-product-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:0 12px 10px 106px}.silpo-multi-product-controls label{display:flex;align-items:center;gap:6px;color:#526148;font-size:10px}.silpo-multi-product-controls input{accent-color:#617451}.silpo-clear-preferred{margin:0 8px;border:0;color:#74695f;background:transparent;font-size:10px;text-decoration:underline}.silpo-wizard-controls{display:flex;justify-content:space-between;gap:10px;margin:12px 0}.silpo-wizard-controls button{min-height:40px;padding:0 14px;border:1px solid #ddcfc4;border-radius:8px;color:#764330;background:#fff;font-size:11px;font-weight:700}.silpo-wizard-controls button:last-child{margin-left:auto;border-color:#a9482f;color:#fff;background:#a9482f}.silpo-wizard-controls button:disabled{opacity:.45}.silpo-review-list{display:grid;gap:8px}.silpo-review-group{padding:12px 14px;border:1px solid #eadfd5;border-radius:8px;background:#fffdfa}.silpo-review-group>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.silpo-review-group h4{margin:0;font:17px "DM Serif Display",Georgia,serif}.silpo-review-group p{margin:6px 0 0;color:#68685f;font-size:11px;line-height:1.45}.silpo-edit-step{border:0;color:#8d3f2a;background:transparent;font-size:10px;text-decoration:underline}.silpo-picker-item{overflow:hidden;border:1px solid #eadfd5;border-radius:9px;background:#fffdfa}.silpo-picker-item.is-open{border-color:#d5a590}.silpo-picker-item-head{display:flex;width:100%;min-height:56px;align-items:center;gap:10px;padding:9px 11px;border:0;color:var(--ink);background:transparent;text-align:left}.silpo-step-number{display:grid;flex:0 0 25px;width:25px;height:25px;place-items:center;border-radius:50%;color:#7a786f;background:#eeeae0;font-size:11px;font-weight:700}.silpo-picker-item.is-picked .silpo-step-number{color:#fff;background:#617451}.silpo-picker-item-title{display:grid;min-width:0;flex:1;gap:3px}.silpo-picker-item-title strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.silpo-picker-item-title small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.silpo-picker-chevron{color:#9a6752;font-size:18px}.silpo-picked-summary{display:flex;align-items:center;gap:9px;padding:0 11px 11px 46px}.silpo-picked-summary>img,.silpo-picked-summary>.silpo-image-fallback{flex:0 0 38px;width:38px;height:38px;border-radius:6px;object-fit:cover}.silpo-picked-copy{display:grid;min-width:0;flex:1;gap:3px}.silpo-picked-copy strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.silpo-picked-copy span{color:var(--muted);font-size:10px}.silpo-save-default{display:flex;align-items:center;gap:8px;padding:0 11px 10px 46px;color:#526148;font-size:11px}.silpo-save-default input{accent-color:#617451}.silpo-preferred-unavailable{margin:0 10px 9px;padding:9px 11px;border-radius:7px;color:#77563c;background:#f5ecdd;font-size:10px;line-height:1.45}.silpo-quantity{display:flex;align-items:center;gap:5px}.silpo-quantity-unit{color:var(--muted);font-size:9px}.silpo-quantity button{width:27px;height:27px;border:1px solid #e4d6cc;border-radius:50%;color:#764330;background:#fff}.silpo-quantity span{min-width:14px;text-align:center;font-size:11px}.silpo-candidate-list{display:grid;gap:7px;padding:0 9px 10px}.silpo-product-card{display:grid;grid-template-columns:66px minmax(0,1fr) 23px;gap:10px;align-items:center;min-height:84px;padding:8px;border:1px solid #e8e1d8;border-radius:8px;color:var(--ink);background:#fff;text-align:left}.silpo-product-card.is-selected{border-color:#687d58;background:#f1f5ed}.silpo-product-card:disabled{opacity:.55;cursor:not-allowed}.silpo-product-image{display:grid;width:66px;height:66px;place-items:center;border-radius:6px;object-fit:contain;background:#f6f4ee}.silpo-image-fallback{display:grid;place-items:center;color:#a69c89;background:#f0ece3;font-size:21px}.silpo-product-info{display:grid;min-width:0;gap:4px}.silpo-product-info strong{display:-webkit-box;overflow:hidden;font-size:11px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.silpo-product-price{color:#8d3f2a;font-size:12px;font-weight:700}.silpo-stock{color:#617451;font-size:10px}.silpo-stock.is-unavailable{color:#a9482f}.silpo-product-check{display:grid;width:21px;height:21px;place-items:center;border:1px solid #d7d0c5;border-radius:50%;color:#fff;font-size:12px}.silpo-product-card.is-selected .silpo-product-check{border-color:#617451;background:#617451}.silpo-skip{justify-self:start;min-height:34px;padding:0 8px;border:0;color:#7a6557;background:transparent;font-size:11px;text-decoration:underline}.silpo-no-candidates{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.silpo-picker-footer{position:sticky;z-index:2;bottom:0;margin:12px -24px -23px;padding:12px 24px max(12px,env(safe-area-inset-bottom));border-top:1px solid #e8d8cb;border-radius:0 0 12px 12px;background:#fffaf5f2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.silpo-footer-summary{display:flex;align-items:center;justify-content:space-between;color:#68685f;font-size:11px}.silpo-footer-summary strong{color:#8d3f2a;font:22px "DM Serif Display",Georgia,serif}.silpo-estimate-note{margin:3px 0 9px;color:var(--muted);font-size:10px}.silpo-picker-footer>button{width:100%;min-height:44px;margin-top:8px;border:0;border-radius:8px;color:#fff;background:#a9482f;font-size:12px;font-weight:700}.silpo-picker-footer>button:disabled{opacity:.55;cursor:not-allowed}.silpo-catalog{display:grid;gap:18px}.silpo-catalog-intro{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:22px 25px;border-radius:12px;background:#f3eee5}.silpo-catalog-intro h2{margin:0 0 7px;font:28px "DM Serif Display",Georgia,serif}.silpo-catalog-intro p:not(.eyebrow){max-width:560px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.silpo-catalog-search{display:grid;flex:0 0 min(280px,40%);gap:5px;color:var(--muted);font-size:11px}.silpo-catalog-search input{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:#fff}.silpo-catalog-list{display:grid;gap:12px}.silpo-catalog-card{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:18px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.silpo-catalog-card>img,.silpo-catalog-image-fallback{display:grid;width:100px;height:100px;place-items:center;border-radius:8px;object-fit:contain;background:#f5f2eb}.silpo-catalog-image-fallback{color:#a69c89;font-size:28px}.silpo-catalog-info{min-width:0}.silpo-catalog-info>small{color:var(--muted);font-size:11px}.silpo-catalog-info h3{margin:5px 0 7px;font:21px "DM Serif Display",Georgia,serif}.silpo-catalog-info>strong{color:#617451;font-size:13px}.silpo-catalog-info>strong span,.silpo-catalog-info>p{color:var(--muted);font-size:11px;font-weight:400}.silpo-catalog-info details{margin:8px 0;font-size:11px}.silpo-catalog-info details summary{cursor:pointer;color:#8d3f2a}.silpo-catalog-info dl{display:grid;gap:5px;margin:8px 0}.silpo-catalog-info dl div{display:grid;grid-template-columns:minmax(110px,1fr) 2fr;gap:10px}.silpo-catalog-info dt{color:var(--muted)}.silpo-catalog-info dd{margin:0;overflow-wrap:anywhere}.silpo-catalog-actions{display:grid;gap:8px;justify-items:stretch}.silpo-catalog-actions button{min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:#fff;font-size:11px}.silpo-catalog-actions .quiet-button{color:#8d3f2a}.pantry-list{display:grid;gap:10px}.pantry-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.pantry-row h2{margin:0;font:20px "DM Serif Display",Georgia,serif}.pantry-row p,.pantry-row label span{margin:4px 0 0;color:var(--muted);font-size:11px}.pantry-row label{display:grid;gap:5px}.pantry-row select{min-height:37px;border:1px solid var(--line);border-radius:7px;padding:0 8px;background:#fff;font-size:12px}.weight-form,.weight-history{padding:22px 24px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.weight-form>div{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.weight-form input{margin:0}.weight-form button{min-height:52px}.weight-history{margin-top:16px}.weight-history h2{margin:0 0 13px;font:22px "DM Serif Display",Georgia,serif}.weight-history>p{color:var(--muted);font-size:13px}.weight-row{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);font-size:13px}.weight-row time{color:var(--muted)}.empty-state{padding:52px 24px;border:1px dashed #d8d6cb;border-radius:12px;color:var(--muted);text-align:center}.empty-state span{color:#9aab8b;font-size:23px}.empty-state p{max-width:300px;margin:12px auto 0;font-size:13px;line-height:1.6}.notice{margin:0 0 18px;padding:12px 15px;border-radius:8px;background:#e7ecdf;color:#4c6142;font-size:13px}.conflict-card{margin-bottom:20px;padding:18px;border:1px solid #e8c59a;border-radius:10px;background:#fff7e9;font-size:13px}.conflict-card p{color:#686359;line-height:1.5}.conflict-card pre{max-height:150px;overflow:auto;padding:10px;background:#f4ecdd;white-space:pre-wrap}.bottom-nav{display:none}@media(max-width:760px){.entry-page{min-height:100dvh;grid-template-columns:1fr;grid-template-rows:minmax(250px,38dvh) 1fr}.entry-copy{min-height:0;padding:34px 28px 28px;justify-content:flex-end}.entry-copy h1{margin:15px 0 12px;font-size:clamp(70px,20vw,118px)}.entry-line{font-size:clamp(25px,7vw,34px)}.entry-note{margin-top:14px;font-size:12px}.sign-in{padding:38px 28px 48px}.sign-in form{margin-top:30px}.topbar{height:60px;padding:0 19px}.sync-indicator{display:none}.topbar>div{gap:12px}.app-body{display:block;padding:35px 18px 100px}.side-rail{display:none}.page-heading{margin-bottom:24px}.page-heading h1{font-size:41px}.page-subtitle{font-size:13px}.meal-card,.day-card{padding:20px 18px}.meal-actions{flex-wrap:wrap}.meal-card h2{font-size:24px}.bottom-nav{position:fixed;z-index:3;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(6,1fr);padding:7px 5px max(7px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffef9f2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-link{display:grid;justify-items:center;gap:2px;padding:4px 2px;border:0;color:#77786f;background:transparent;font-size:9px}.bottom-link span{font-size:19px;line-height:1}.bottom-link.active{color:var(--leaf);font-weight:700}.shopping-row{grid-template-columns:22px minmax(0,1fr) auto;gap:9px}.amount{max-width:105px;font-size:10px}.silpo-picker-footer{bottom:70px;margin-right:-18px;margin-left:-18px;padding-right:18px;padding-left:18px}.silpo-catalog-intro{display:grid;padding:18px}.silpo-catalog-search{width:100%}.silpo-catalog-card{grid-template-columns:70px minmax(0,1fr);gap:12px;padding:12px}.silpo-catalog-card>img,.silpo-catalog-image-fallback{width:70px;height:70px}.silpo-catalog-actions{grid-column:1 / -1;grid-template-columns:1fr 1fr}.silpo-current-need{padding:11px}.silpo-multi-product-select{grid-template-columns:20px 54px minmax(0,1fr);gap:7px;min-height:70px;padding:7px}.silpo-multi-product-select .silpo-product-image{width:54px;height:54px}.silpo-multi-product-controls{padding:0 8px 9px 84px}.silpo-multi-product-controls label{font-size:9px}.silpo-step-dot{width:27px;height:27px}.silpo-wizard-controls button{padding:0 10px}.pantry-row{align-items:start;padding:14px}.pantry-row h2{font-size:18px}.pantry-row select{max-width:130px}.weight-form,.weight-history{padding:18px 16px}.weight-form>div{grid-template-columns:1fr}.reminder-form{grid-template-columns:1fr 1fr}}:where(button,input,select,summary,a):focus-visible{outline:3px solid #406a91;outline-offset:3px}button{min-height:42px;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}button:active{transform:translateY(1px)}.meal-card-eaten{border-color:#cbd8c3}.meal-card-skipped{border-color:#e5c6b4}.meal-card-moved{border-color:#d8d2bf;background:#fbfaf5}.meal-status-note{margin:10px 0;color:#53694a;font-size:13px;font-weight:650}.batch-note{margin:10px 0;color:#53694a;font-size:12px}.estimate-note{margin:8px 0;color:#8a6842;font-size:11px;line-height:1.45}.meal-status-pill{display:inline-flex;min-height:38px;align-items:center;padding:0 12px;border-radius:999px;background:#e9eee5;color:#53694a;font-size:12px;font-weight:700}.meal-recovery{display:grid;gap:12px;margin-top:17px;padding:16px;border:1px solid #e8ded0;border-radius:10px;background:#fbf8f1}.meal-recovery>.eyebrow{margin-bottom:0}.meal-recovery-hint{margin:-5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.meal-recovery>button,.meal-move-form>button{min-height:44px;border:1px solid #c9b49f;border-radius:8px;padding:0 14px;color:#65442f;background:#fff;font-weight:650}.meal-move-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.meal-move-form label{display:grid;gap:6px;color:var(--muted);font-size:12px}.meal-move-form input{min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.meal-alternatives{display:grid;gap:8px}.meal-alternatives>button{display:grid;gap:3px;min-height:60px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff;text-align:left}.meal-alternatives>button span{color:var(--muted);font-size:12px;line-height:1.45}.first-week-review{display:grid;gap:9px;margin-bottom:18px;padding:22px;border:1px solid #d8dfd0;border-radius:15px;background:linear-gradient(135deg,#edf1e8,#faf7ed)}.first-week-review .eyebrow{margin-bottom:0}.first-week-review h2{margin:0;font:27px "DM Serif Display",Georgia,serif}.first-week-review p:not(.eyebrow){max-width:620px;margin:0;color:#626b5d;font-size:14px;line-height:1.6}.first-week-review button{justify-self:start;min-height:46px;margin-top:4px;padding:0 16px;border:0;border-radius:10px;color:#fff;background:#485d3f;font-weight:700}.plan-proposal{margin-bottom:18px;padding:22px;border:1px solid #d8dfd0;border-radius:13px;background:#edf1e8}.plan-proposal h2{margin:8px 0;font:27px "DM Serif Display",Georgia,serif}.plan-proposal p:not(.eyebrow){max-width:520px;color:#626b5d;font-size:13px;line-height:1.55}.plan-proposal button{min-height:46px;padding:0 16px;border:0;border-radius:8px;color:#fff;background:#485d3f;font-weight:700}.week-navigation{display:grid;grid-template-columns:48px 1fr 48px;gap:12px;align-items:center;margin:0 0 18px}.week-navigation h2{margin:0;font:19px "DM Serif Display",Georgia,serif;text-align:center}.week-navigation button{min-height:46px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--paper);font-size:20px}.week-navigation button:disabled{opacity:.4;cursor:not-allowed}.menu-row-eaten{background:#f3f6ef}.menu-row-moved{background:#fbf8ef}.more-navigation{position:absolute;right:10px;bottom:calc(100% + 10px);display:grid;width:min(230px,calc(100vw - 20px));gap:4px;padding:8px;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:0 12px 32px #27282320}.more-navigation button{min-height:46px;padding:0 13px;border:0;border-radius:8px;color:var(--ink);background:transparent;text-align:left}.more-navigation button.active,.more-navigation button:hover{background:#e9eee5}.shopping-page{display:grid;gap:18px}.shopping-progress,.add-product-form,.pantry-intro,.pantry-add-form{padding:20px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.shopping-progress{display:grid;gap:8px;background:#edf1e8}.shopping-progress h2,.add-product-form h2,.pantry-intro h2{margin:6px 0;font:25px "DM Serif Display",Georgia,serif}.shopping-progress>p:last-child,.pantry-intro>p:last-child{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.progress-track{height:7px;overflow:hidden;border-radius:99px;background:#d6dece}.progress-track span{display:block;height:100%;border-radius:inherit;background:#657c56;transition:width .2s ease}.add-product-form,.pantry-add-form{display:grid;gap:13px}.add-product-form label,.pantry-add-form label{display:grid;gap:6px;color:#686a61;font-size:12px;font-weight:600}.add-product-form input,.pantry-add-form input,.pantry-add-form select{width:100%;min-height:45px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:#fff}.add-product-quantity,.pantry-add-form>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.add-product-form>button,.pantry-add-form>button{min-height:46px;border:0;border-radius:8px;color:#fff;background:#485d3f;font-weight:700}.shopping-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;gap:12px;align-items:center;min-height:65px;padding:10px 12px;border-bottom:1px solid var(--line)}.shopping-row input[type=checkbox]{width:22px;height:22px;accent-color:#647b54}.shopping-label{display:grid;gap:3px;cursor:pointer}.shopping-label strong{font-size:14px;font-weight:600}.shopping-label small{color:var(--muted);font-size:11px;line-height:1.4}.shopping-row.is-done .shopping-label strong{color:#8c8e84;text-decoration:line-through}.shopping-check-placeholder{display:grid;width:22px;height:22px;place-items:center;border:1px solid #cfbba3;border-radius:50%;color:#78563a}.shopping-row.needs-confirmation{background:#fbf8f1}.shopping-sources{margin-top:4px;color:var(--muted);font-size:12px}.shopping-sources>button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0;border:0;color:#53684c;background:transparent;font:inherit;font-weight:650;cursor:pointer}.shopping-sources>button span{display:grid;width:22px;height:22px;place-items:center;border:1px solid #d7dfd1;border-radius:50%;font-size:15px}.shopping-source-list{padding:3px 0 0 12px}.shopping-source-list p{margin:5px 0;line-height:1.4}.shopping-source-list p span{color:#8a654e}.plan-changed-note{color:#8a654e!important;font-weight:600}.cooking-mode{margin-top:16px;padding:18px;border:1px solid #d8dfd1;border-radius:18px;background:#f5f7f0}.cooking-mode>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.cooking-mode h3,.cooking-mode h4{margin:0 0 8px}.cooking-mode header p:not(.eyebrow){color:var(--muted);margin:4px 0}.cooking-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px;margin:14px 0}.cooking-ingredient{display:flex;align-items:flex-start;gap:9px;padding:7px 0;border-bottom:1px solid var(--line)}.cooking-ingredient input{margin-top:4px;accent-color:var(--leaf)}.cooking-ingredient small{display:block;color:var(--muted)}.cooking-step{min-height:84px;padding:14px;border-radius:14px;background:#fff;line-height:1.6}.cooking-step-actions{display:flex;justify-content:space-between;gap:8px;margin-top:12px}.cooking-timer{font-variant-numeric:tabular-nums;font-weight:700}.leftover-form{margin:16px 0}.leftover-form>div{display:flex;gap:10px;margin-top:10px}.leftover-form label{display:grid;gap:5px;flex:1;font-size:13px}.leftover-form input{min-width:0;padding:10px;border:1px solid var(--line);border-radius:10px}.leftover-form p{color:var(--muted);font-size:12px}.cooking-complete{width:100%;margin-top:10px}@media(max-width:560px){.cooking-columns{grid-template-columns:1fr;gap:12px}.leftover-form>div{flex-direction:column}}.add-low-stock{min-height:39px;padding:0 10px;border:1px solid #d8c4ab;border-radius:8px;color:#6d4e34;background:#fff;font-size:12px;font-weight:650}.pantry-page{display:grid;gap:14px}.pantry-intro{background:#f2efe6}.pantry-add-form{grid-template-columns:minmax(0,1.3fr) minmax(160px,1fr) minmax(150px,.8fr) auto;align-items:end}.pantry-add-form>div{gap:8px}.pantry-add-form>button{padding:0 13px;white-space:nowrap}.pending-selection{color:#76563e!important;font-weight:650}.silpo-resume-note{margin:12px 0;padding:11px 13px;border-radius:8px;color:#4b6142;background:#e9eee5;font-size:12px;line-height:1.5}.weight-trend{padding:20px 22px 14px;border:1px solid #dfe4d9;border-radius:12px;background:#f0f3ed}.weight-trend h2{margin:6px 0;font:24px "DM Serif Display",Georgia,serif}.weight-trend svg{display:block;width:100%;height:100px;margin:10px 0;overflow:visible}.weight-trend polyline{fill:none;stroke:#617b50;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.weight-trend>p:last-child{margin:0;color:var(--muted);font-size:11px}@media(max-width:760px){.meal-move-form{grid-template-columns:1fr}.week-navigation{grid-template-columns:44px 1fr 44px;gap:7px}.week-navigation h2{font-size:16px}.bottom-nav{position:fixed;z-index:3;right:0;bottom:0;left:0;grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:max(8px,env(safe-area-inset-bottom))}.bottom-link{min-height:48px;font-size:11px}.bottom-link span{font-size:20px}.meal-recovery{padding:13px}.shopping-progress,.add-product-form,.pantry-intro,.pantry-add-form{padding:16px}.shopping-row{grid-template-columns:23px minmax(0,1fr) auto;gap:8px;padding:10px 7px}.shopping-row .amount{grid-column:2;grid-row:2;max-width:none;margin-top:-4px}.shopping-row .add-low-stock{grid-column:3;grid-row:1 / span 2}.pantry-add-form{grid-template-columns:1fr}.pantry-add-form>div{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}:root{--ink: #252b24;--muted: #687167;--accent: #a64e35;--leaf: #496244;--paper: #fffefa;--line: #e5e2d8;--canvas: #f5f3eb;--soft-leaf: #e9eee3;--soft-rust: #f5e9e1;--radius-card: 20px;--shadow-card: 0 8px 28px rgb(53 48 35 / 5%)}html{background:var(--canvas)}body{color:var(--ink);background:radial-gradient(ellipse at 50% -18rem,#fffdf6 0,var(--canvas) 46rem)}button,input,select{font-size:15px}button{min-height:46px}.eyebrow{color:#68735e;font-size:11px;letter-spacing:.13em}.topbar{height:76px;padding-inline:max(28px,calc((100vw - 1320px)/2));border-color:#e9e5db;background:#f9f8f2eb}.wordmark{font-size:31px}.sync-indicator{display:inline-flex;align-items:center;gap:9px;color:#65735d;font-size:13px}.sync-indicator>span{font-size:10px;color:#6e9a62}.text-button{min-height:44px;padding:0 4px;font-size:14px}.app-body{max-width:1320px;grid-template-columns:226px minmax(0,860px);gap:clamp(36px,6vw,82px);padding:56px 32px 120px}.side-rail{top:112px;gap:6px}.side-rail .eyebrow{margin:10px 0 14px 14px}.nav-link{display:flex;align-items:center;gap:13px;min-height:50px;padding-inline:15px;border-radius:12px;color:#596156;font-size:15px}.nav-link.active{color:#31452e;background:#e7ede0;box-shadow:inset 3px 0 #738b67}.nav-icon{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.settings-link{margin-top:20px}.page-heading{margin-bottom:34px}.page-heading .eyebrow{margin-bottom:11px}.page-heading h1{font-size:clamp(42px,5vw,56px);line-height:1.02;letter-spacing:-.045em}.page-subtitle{max-width:600px;margin-top:12px;color:#687167;font-size:16px;line-height:1.55}.meal-list{gap:16px}.meal-card,.day-card,.settings-card{padding:26px 28px;border:1px solid #ebe8df;border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--shadow-card)}.meal-card:first-child{border-top:3px solid #d4a879}.meal-meta{font-size:12px;letter-spacing:.08em}.meal-card h2,.snack-card h2,.day-card h2,.settings-card h2{margin:15px 0 8px;font-size:29px;line-height:1.18}.meal-card>p,.snack-card>p:not(.eyebrow),.menu-row p,.settings-card p{color:#5f685d;font-size:15px;line-height:1.65}.meal-actions{align-items:center;gap:11px;margin-top:23px}.meal-actions button,.conflict-card button{min-height:48px;padding-inline:19px;border-radius:12px;font-size:15px}.meal-actions .quiet-button{border:1px solid #e4e3da;background:#fbfaf5}.snack-card{padding:22px 26px;border:1px solid #e9e1cd;border-radius:18px}.day-card{padding:25px 28px}.day-card>.eyebrow{padding-bottom:17px;font-size:13px}.menu-day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:8px;border:1px solid #e8e5dc;border-radius:18px;background:#fffefacc}.menu-day-tab{display:grid;min-height:72px;place-items:center;gap:2px;padding:8px 4px;border:0;border-radius:13px;color:#626b60;background:transparent}.menu-day-tab span{font-size:12px;text-transform:capitalize}.menu-day-tab strong{font-size:20px;font-weight:600}.menu-day-tab.active{color:#fff;background:#50694a;box-shadow:0 4px 12px #364c302e}.menu-row{grid-template-columns:minmax(0,1fr) auto;gap:22px;padding:22px 0}.menu-row:first-of-type{padding-top:20px}.meal-type{color:#66765e;font-size:12px;font-weight:650;letter-spacing:.04em}.menu-row h2{margin:8px 0;font-size:24px;line-height:1.25}.menu-row p{margin:7px 0}.ingredient-preview{color:#6c7268;font-size:14px;line-height:1.55}.ingredient-preview strong{color:#4f5e47;font-weight:650}.batch-note{padding:10px 12px;border-left:3px solid #d9c59d;border-radius:0 9px 9px 0;background:#f8f4eb;line-height:1.5}.menu-row details{min-width:118px;font-size:13px}.recipe-details{max-width:440px;padding:13px 15px;border:1px solid #e7e5dc;border-radius:15px;background:#fbfaf6}.recipe-details summary{color:#50694a;cursor:pointer;font-size:13px;font-weight:650;line-height:1.5}.recipe-details h3{margin:15px 0 5px;color:#68715f;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.recipe-ingredients{margin:0;padding:0;list-style:none}.recipe-ingredients li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #ebe9e1;font-size:13px;line-height:1.4}.recipe-ingredients li strong{color:#4f594b;white-space:nowrap}.recipe-details ol{padding-left:20px}.recipe-details ol li{margin:8px 0;color:#5f685d;line-height:1.55}.week-navigation{grid-template-columns:48px minmax(0,1fr) 48px;margin-bottom:16px}.week-navigation h2{font-size:20px}.week-navigation button{border-radius:14px;background:var(--paper)}.rating-actions button{min-height:42px;padding-inline:13px;border-radius:10px;font-size:13px}.shopping-page{gap:22px}.shopping-progress{gap:12px;padding:27px 30px;border:0;border-radius:22px;color:#fff;background:#405a3e;box-shadow:0 12px 28px #2a452824}.shopping-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border:1px solid #e3e1d8;border-radius:15px;background:#eeede6}.shopping-mode-switch button{min-height:48px;padding:0 14px;border:0;border-radius:11px;color:#666d61;background:transparent;font-size:14px;font-weight:600}.shopping-mode-switch button.active{color:#354c31;background:var(--paper);box-shadow:0 2px 7px #2f332917}.shopping-progress .eyebrow{color:#d3ddcc}.shopping-progress h2{margin:8px 0 0;font:31px/1.15 "DM Serif Display",Georgia,serif}.shopping-progress>p:last-child{color:#e1e8dc;font-size:15px}.progress-track{height:9px;background:#ffffff38}.progress-track span{background:#dfbd83}.department{padding:16px 0 4px}.department h2{margin:0 0 10px;color:#6d7668;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.shopping-row{grid-template-columns:28px minmax(0,1fr) auto auto;gap:15px;min-height:76px;padding:13px 10px;border-color:#e7e5dc}.shopping-row input{width:25px;height:25px;accent-color:#50694a}.shopping-label strong{font-size:16px;line-height:1.35}.shopping-label small{padding-top:5px;color:#72796d;font-size:13px;line-height:1.45}.amount{color:#5f685d;font-size:14px}.shopping-row .amount{max-width:140px;padding:7px 10px;border-radius:12px;color:#4e5d46;background:#f0f2ec;font-weight:700;line-height:1.35}.add-low-stock{min-height:42px;padding-inline:13px;border-radius:11px;font-size:14px}.add-product-form,.pantry-intro,.pantry-add-form{padding:24px 26px;border:1px solid #e9e6dd;border-radius:18px;background:var(--paper);box-shadow:var(--shadow-card)}.add-product-form h2,.pantry-intro h2{font-size:27px}.add-product-form label,.pantry-add-form label{gap:8px;color:#5c665a;font-size:14px}.add-product-form input,.pantry-add-form input,.pantry-add-form select{min-height:50px;padding-inline:14px;border-color:#deded4;border-radius:12px;font-size:16px}.add-product-form>button,.pantry-add-form>button{min-height:50px;border-radius:12px;font-size:15px}.silpo-card{margin-top:22px;padding:27px;border-color:#ead7c8;border-radius:22px;background:#fffbf6;box-shadow:var(--shadow-card)}.silpo-card>.eyebrow{color:#9c573e}.silpo-card h2{font-size:27px}.silpo-card>p:not(.eyebrow),.silpo-notice p{font-size:14px;line-height:1.6}.silpo-card>button,.silpo-preview>button,.silpo-total button{min-height:48px;padding-inline:17px;border-radius:12px;font-size:14px}.silpo-store{gap:16px;padding-bottom:19px}.silpo-store h2{font-size:23px}.silpo-store p{font-size:14px;line-height:1.5}.silpo-store>button,.silpo-slot>button,.silpo-slot-options>button{min-height:46px;padding-inline:14px;border-radius:11px;font-size:14px}.silpo-slot h2{font-size:22px}.silpo-slot p,.silpo-slot strong,.silpo-slot .silpo-slot-expired{font-size:13px;line-height:1.5}.silpo-branch-picker{padding:18px;border-radius:15px}.silpo-branch-search,.silpo-branch-selected label,.silpo-slot-options label{font-size:14px}.silpo-branch-search input,.silpo-branch-selected select,.silpo-slot-options select{min-height:48px;border-radius:11px;font-size:15px}.silpo-branch-option{min-height:66px}.silpo-branch-option strong{font-size:15px}.silpo-branch-option small,.silpo-branch-option>span:last-child,.silpo-branch-hint{font-size:13px}.silpo-picker{margin-top:22px;padding-top:21px}.silpo-picker-heading{gap:18px;margin-bottom:16px}.silpo-picker-heading h3{font-size:24px;line-height:1.2}.silpo-picker-heading p{font-size:14px;line-height:1.5}.silpo-progress-count{padding:8px 11px;font-size:13px}.silpo-step-nav{gap:9px;margin:17px 0}.silpo-step-dot{width:36px;height:36px;font-size:13px}.silpo-current-need{padding:19px;border-radius:16px}.silpo-need-meta{font-size:14px}.silpo-need-meta small{padding:11px 13px;border-radius:10px;font-size:13px}.silpo-candidate-list{gap:10px;padding:0 0 12px}.silpo-multi-product{border-radius:14px}.silpo-multi-product-select{grid-template-columns:26px 78px minmax(0,1fr);gap:13px;min-height:104px;padding:12px}.silpo-product-image{width:78px;height:78px;border-radius:10px}.silpo-multi-check{width:25px;height:25px;border-radius:7px}.silpo-product-info{gap:6px}.silpo-product-info strong{font-size:15px;line-height:1.4}.silpo-product-price{font-size:15px}.silpo-stock{font-size:13px}.silpo-multi-product-controls{gap:13px;padding:0 14px 13px 129px}.silpo-multi-product-controls label{font-size:13px}.silpo-quantity{gap:9px}.silpo-quantity button{width:38px;height:38px;font-size:19px}.silpo-quantity span,.silpo-quantity-unit{font-size:14px}.silpo-skip,.silpo-clear-preferred{min-height:44px;font-size:14px}.silpo-wizard-controls{gap:12px;margin:16px 0}.silpo-wizard-controls button{min-height:48px;padding-inline:16px;border-radius:11px;font-size:14px}.silpo-review-list{gap:11px}.silpo-review-group{padding:15px 16px;border-radius:13px}.silpo-review-group h4{font-size:20px}.silpo-review-group p{font-size:14px;line-height:1.5}.silpo-edit-step{min-height:42px;font-size:13px}.silpo-picker-footer{margin-top:16px;padding-top:16px}.silpo-footer-summary{font-size:14px}.silpo-footer-summary strong{font-size:27px}.silpo-estimate-note{margin-top:6px;font-size:13px;line-height:1.45}.silpo-picker-footer>button{min-height:52px;margin-top:10px;border-radius:13px;font-size:15px}.silpo-picker{display:grid;gap:15px}.silpo-search-intro{margin-top:4px}.silpo-search-intro .eyebrow{margin-bottom:7px;color:#9c573e}.silpo-search-intro h2{margin:0 0 8px;font-size:25px}.silpo-search-intro p:last-child{max-width:620px;margin:0;color:#687167;font-size:14px;line-height:1.55}.silpo-needs-list{display:grid;gap:11px}.silpo-need-card{overflow:hidden;border:1px solid #e7e3d9;border-radius:16px;background:var(--paper)}.silpo-need-card.is-open{border-color:#a5b49a;box-shadow:0 5px 18px #364c3012}.silpo-need-card.is-reviewed:not(.is-open){background:#fbfcf9}.silpo-need-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px}.silpo-need-title{display:flex;min-width:0;align-items:center;gap:13px}.silpo-need-title h4{margin:0;font-size:17px;line-height:1.3}.silpo-need-title p{margin:4px 0 0;color:var(--muted);font-size:13px}.silpo-need-status{display:grid;width:29px;height:29px;flex:0 0 29px;place-items:center;border:1px solid #d8d9ce;border-radius:50%;color:#8c917f;background:#fff;font-size:16px;font-weight:700}.silpo-need-card.is-reviewed .silpo-need-status{border-color:#93a489;color:#fff;background:#58704f}.silpo-need-card:has(.silpo-need-skipped) .silpo-need-status{border-color:#d2c7b6;color:#736657;background:#f1ede4}.silpo-need-summary{display:grid;width:100%;grid-template-columns:30px minmax(0,1fr) auto;gap:13px;align-items:center;min-height:76px;padding:13px 16px;border:0;color:var(--ink);background:transparent;text-align:left}.silpo-need-summary-copy{display:grid;min-width:0;gap:4px}.silpo-need-summary-copy strong{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.silpo-need-summary-copy small{color:var(--muted);font-size:13px}.silpo-need-summary-action{display:inline-flex;align-items:center;gap:8px;color:#526a48;font-size:14px;font-weight:650;white-space:nowrap}.silpo-need-summary-action span{color:#8c9b82;font-size:22px;font-weight:400}.silpo-need-deck{display:grid;gap:13px;max-width:620px;margin:0 auto}.silpo-need-deck-card{display:grid;width:100%;grid-template-columns:minmax(130px,.85fr) minmax(0,1.15fr);gap:22px;align-items:center;min-height:290px;padding:24px;border:1px solid #e4e1d7;border-radius:24px;color:var(--ink);background:linear-gradient(145deg,#fffefa,#f8f7f0);box-shadow:0 18px 40px #39463014;text-align:left;touch-action:pan-y;-webkit-user-select:none;user-select:none;transition:transform .12s ease,box-shadow .18s ease,border-color .18s ease}.silpo-need-deck-card:active{box-shadow:0 10px 24px #3946301f}.silpo-need-deck-card.is-reviewed{border-color:#a9b99e;background:linear-gradient(145deg,#fffefa,#f1f6ed)}.silpo-need-deck-card.arrive-from-right{animation:silpo-deck-fade-in .22s ease-out}.silpo-need-deck-card.arrive-from-left{animation:silpo-deck-fade-in .22s ease-out reverse}.silpo-need-deck-visual{display:grid;width:100%;aspect-ratio:1;place-items:center;overflow:hidden;border-radius:19px;color:#849078;background:#f0efe7;font-size:54px}.silpo-need-deck-visual img{width:100%;height:100%;padding:12px;object-fit:contain}.silpo-need-deck-copy{display:grid;min-width:0;gap:9px}.silpo-need-deck-copy .eyebrow{margin:0;color:#86745f;font-size:11px;letter-spacing:.08em}.silpo-need-deck-copy>strong{font-size:27px;line-height:1.15}.silpo-need-deck-copy>small{color:var(--muted);font-size:14px}.silpo-deck-selection{display:-webkit-box;overflow:hidden;color:#526a48;font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.silpo-deck-selection.is-skipped{color:#8a6f5c}.silpo-need-deck-copy .silpo-need-summary-action{margin-top:8px;font-size:13px;white-space:normal}.silpo-need-deck-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}.silpo-need-deck-controls button{min-height:46px;padding:0 12px;border:1px solid #e2e1d8;border-radius:12px;color:#52634d;background:#fffefa;font-size:13px;font-weight:650}.silpo-need-deck-controls button:last-child{justify-self:end}.silpo-need-deck-controls button:disabled{opacity:.4}.silpo-need-deck-controls>span{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.silpo-swipe-hint{margin:0;color:var(--muted);font-size:12px;line-height:1.45;text-align:center}@keyframes silpo-deck-fade-in{0%{opacity:.55}to{opacity:1}}.silpo-need-toggle{min-height:44px;flex:0 0 auto;padding:0 14px;border:1px solid #d9dfd3;border-radius:11px;color:#455d3e;background:#f6f8f3;font-size:14px;font-weight:650}.silpo-need-selected{display:grid;gap:5px;padding:0 18px 15px 60px}.silpo-need-selected-line{display:flex;justify-content:space-between;gap:12px;color:#5e685b;font-size:13px;line-height:1.45}.silpo-need-selected-line span{overflow:hidden;text-overflow:ellipsis}.silpo-need-selected-line span small{display:block;margin-top:2px;color:var(--muted);font-size:12px;font-weight:400}.silpo-need-selected-line strong{flex:0 0 auto;color:#455d3e;font-size:13px;font-weight:600}.silpo-need-skipped{margin:0 18px 15px 60px;color:#786c5d;font-size:13px;line-height:1.5}.silpo-need-options{display:grid;gap:12px;padding:18px;border-top:1px solid #ece9e1;background:#fbfaf6}.silpo-search-label{display:grid;gap:8px;color:#596457;font-size:14px;font-weight:650}.silpo-search-label input{min-height:48px;padding:0 14px;border:1px solid #dddcd3;border-radius:12px;outline:0;color:var(--ink);background:#fff;font-size:15px;font-weight:400}.silpo-search-label input:focus{border-color:#829477;box-shadow:0 0 0 3px #82947724}.silpo-no-candidates{padding:14px 15px;border-radius:12px;color:#656c60;background:#f0efe8;font-size:14px;line-height:1.5}.silpo-no-candidates p{margin:5px 0 0}.silpo-candidate-list{display:grid;gap:9px;padding:0}.silpo-candidate{overflow:hidden;border:1px solid #e4e1d8;border-radius:14px;background:#fff}.silpo-candidate.is-selected{border-color:#84977a;background:#f8faf6}.silpo-candidate-main{display:grid;width:100%;grid-template-columns:64px minmax(0,1fr) 34px;gap:13px;align-items:center;min-height:88px;padding:11px 13px;border:0;color:var(--ink);background:transparent;text-align:left}.silpo-candidate-main>img,.silpo-candidate-image-fallback{display:grid;width:64px;height:64px;place-items:center;border-radius:10px;object-fit:contain;background:#f5f4ed}.silpo-candidate-image-fallback{color:#9a9c8e;font-size:22px}.silpo-candidate-copy{display:grid;min-width:0;gap:4px}.silpo-candidate-copy strong{font-size:15px;line-height:1.35}.silpo-candidate-copy span{color:#8b4b32;font-size:14px;font-weight:700}.silpo-candidate-copy small{color:#62715b;font-size:12px}.silpo-candidate-copy small.is-unavailable{color:#a34435}.silpo-candidate-check{display:grid;width:30px;height:30px;place-items:center;border:1px solid #d9d8cf;border-radius:50%;color:#566b4c;background:#fff;font-size:18px}.silpo-candidate.is-selected .silpo-candidate-check{border-color:#58704f;color:#fff;background:#58704f}.silpo-candidate-main:disabled{opacity:.58;cursor:not-allowed}.silpo-candidate-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid #e5e8df;font-size:13px}.silpo-candidate-controls>span{color:var(--muted)}.silpo-quantity{display:inline-flex;align-items:center;gap:9px}.silpo-quantity button{width:36px;height:36px;padding:0;border:1px solid #d8ddd3;border-radius:50%;color:#435a3d;background:#fff;font-size:19px}.silpo-quantity strong{min-width:16px;text-align:center;font-size:15px}.silpo-quantity .silpo-weight-estimate{margin-left:5px;color:#8a503a;font-size:13px;font-weight:700;white-space:nowrap}.silpo-preferred-choice{display:inline-flex;min-height:40px;align-items:center;gap:8px;color:#54604f;font-size:13px}.silpo-preferred-choice input{width:18px;height:18px;accent-color:#58704f}.silpo-need-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.silpo-need-actions button{min-height:42px;padding:0 10px;border:0;color:#62695e;background:transparent;font-size:13px;text-decoration:underline}.silpo-need-actions .silpo-undo-skip{color:#445c3e}.silpo-focused-search{display:grid;gap:13px}.silpo-back-to-needs{justify-self:start;min-height:42px;padding:0 4px;border:0;color:#53674c;background:transparent;font-size:14px;font-weight:650}.silpo-context-strip{display:flex;flex-wrap:wrap;gap:7px}.silpo-context-strip span{padding:7px 10px;border:1px solid #e2e5da;border-radius:999px;color:#596655;background:#f8f9f5;font-size:12px;line-height:1.35}.silpo-focused-need{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border:1px solid #e8e4da;border-radius:14px;background:#fffdf9}.silpo-focused-need .eyebrow{margin:0 0 4px;color:#8a725d;font-size:10px}.silpo-focused-need h4{margin:0;font-size:20px}.silpo-focused-need>strong{flex:0 0 auto;color:#596a50;font-size:14px}.silpo-preferred-badge{color:#48633e!important;font-size:11px!important;font-weight:700!important}.silpo-selected-badge{color:#796b59!important;font-size:11px!important;font-weight:650!important}.silpo-show-more{min-height:44px;border:1px solid #d9dfd3;border-radius:11px;color:#4c6444;background:#f8faf6;font-size:14px;font-weight:650}.silpo-focused-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.silpo-focused-actions button{min-height:40px;padding:0 8px;border:0;color:#667060;background:transparent;font-size:13px;text-decoration:underline}.silpo-focused-actions .silpo-undo-skip{color:#445c3e}.silpo-review-group{padding:17px 18px;border-radius:15px;background:#fff}.silpo-review-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.silpo-review-heading h4{margin:0;font-size:17px}.silpo-review-heading small{display:block;margin-top:4px;color:var(--muted);font-size:13px}.silpo-review-line{display:flex;justify-content:space-between;gap:14px;margin-top:13px;padding-top:12px;border-top:1px solid #eeece5;font-size:14px;line-height:1.4}.silpo-review-line>span{display:grid;gap:4px}.silpo-review-line small{color:var(--muted);font-size:13px}.silpo-review-line>strong{flex:0 0 auto;color:#455d3e}.silpo-picker-footer .silpo-back-to-list{border:0;color:#52634d;background:transparent;font-size:14px}.silpo-catalog{gap:20px}.silpo-catalog-intro{padding:26px;border-radius:20px}.silpo-catalog-intro h2{font-size:32px}.silpo-catalog-intro p:not(.eyebrow){font-size:15px;line-height:1.6}.silpo-catalog-search{gap:8px;font-size:14px}.silpo-catalog-search input{min-height:48px;padding-inline:14px;border-radius:12px;font-size:15px}.silpo-catalog-card{grid-template-columns:116px minmax(0,1fr) auto;gap:20px;padding:21px;border-radius:17px;background:var(--paper);box-shadow:var(--shadow-card)}.silpo-catalog-card>img,.silpo-catalog-image-fallback{width:116px;height:116px;border-radius:12px}.silpo-catalog-info>small{font-size:13px}.silpo-catalog-info h3{font-size:23px}.silpo-catalog-info>strong,.silpo-catalog-info>strong span,.silpo-catalog-info>p{font-size:14px;line-height:1.5}.silpo-catalog-info details{font-size:14px}.silpo-catalog-actions button{min-height:44px;padding-inline:12px;border-radius:10px;font-size:13px}.pantry-list{gap:11px}.pantry-row{min-height:78px;padding:17px 20px;border-radius:15px;background:var(--paper)}.pantry-row h2{font-size:22px}.pantry-row p,.pantry-row label span{font-size:13px}.pantry-row select{min-height:44px;padding-inline:11px;border-radius:10px;font-size:14px}.weight-form,.weight-history{padding:24px 26px;border-radius:18px;background:var(--paper);box-shadow:var(--shadow-card)}.weight-form label{font-size:15px}.weight-form input{height:52px;font-size:17px}.weight-history h2{font-size:25px}.weight-row{padding:16px 0;font-size:15px}.empty-state{padding:54px 26px;border-color:#dfddd2;border-radius:20px;background:#fffefaa6}.empty-state p{font-size:15px;line-height:1.65}.notice{padding:14px 17px;border-radius:12px;font-size:14px;line-height:1.5}.notice-success{color:#41563a;background:#e7eee1}.notice-error{color:#8f392c;background:#f7e8e3}.conflict-card{padding:21px;border-radius:16px;font-size:15px}.settings-page{gap:18px}.settings-card{padding:25px 27px}.reminder-form{gap:15px}.reminder-form label{font-size:14px}.reminder-form input{height:48px;padding-inline:12px;border-radius:11px;font-size:16px}.reminder-form button,.push-button{min-height:49px;border-radius:12px;font-size:14px}.install-note{font-size:13px!important;line-height:1.55}.bottom-nav{position:relative}.bottom-link{display:flex;align-items:center;gap:12px;min-height:50px;padding-inline:15px;border-radius:12px;color:#596156;font-size:15px}.bottom-link .nav-icon{width:21px;height:21px}.bottom-link.active{color:#31452e;background:#e7ede0;font-weight:650}.more-navigation{width:245px;padding:9px;border-color:#e7e4db;border-radius:16px;background:var(--paper);box-shadow:0 14px 36px #2728231f}.more-navigation button{display:flex;align-items:center;gap:13px;min-height:48px;padding-inline:12px;border-radius:11px;font-size:15px}.more-dots{width:22px;text-align:center;font-size:22px!important;line-height:1}@media(max-width:760px){body{background:var(--canvas)}.topbar{height:64px;padding-inline:20px}.wordmark{font-size:27px}.topbar>div{gap:15px}.sync-indicator{gap:7px;font-size:12px}.text-button{font-size:13px}.app-body{padding:29px 18px calc(106px + env(safe-area-inset-bottom))}.page-heading{margin-bottom:26px}.page-heading .eyebrow{margin-bottom:9px}.page-heading h1{font-size:clamp(38px,11vw,48px)}.page-subtitle{margin-top:9px;font-size:15px}.meal-list{gap:13px}.meal-card,.day-card,.settings-card{padding:21px 19px;border-radius:18px}.meal-meta{align-items:start;gap:8px;font-size:11px}.meal-card h2,.snack-card h2{margin-top:14px;font-size:27px}.meal-card>p,.snack-card>p:not(.eyebrow){font-size:15px}.meal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.meal-actions button{min-height:48px;padding-inline:10px;font-size:14px}.meal-actions button:first-child{grid-column:1 / -1}.meal-recovery{padding:15px;border-radius:14px}.meal-recovery-hint{font-size:14px;line-height:1.55}.meal-recovery>button,.meal-move-form>button{min-height:48px;border-radius:11px;font-size:14px}.menu-day-strip{grid-template-columns:repeat(7,minmax(46px,1fr));gap:5px;margin-right:-18px;margin-left:-18px;padding:8px 18px;overflow-x:auto;border-width:1px 0;border-radius:0}.menu-day-tab{min-width:46px;min-height:64px;border-radius:12px}.menu-day-tab span{font-size:11px}.menu-day-tab strong{font-size:18px}.week-navigation{grid-template-columns:46px minmax(0,1fr) 46px}.week-navigation h2{font-size:16px;line-height:1.35}.day-card{padding:19px 18px}.menu-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:19px 0}.menu-row h2{font-size:22px}.menu-row details{margin-top:5px}.shopping-progress{gap:10px;padding:22px 21px;border-radius:19px}.shopping-mode-switch{margin-top:-7px}.shopping-mode-switch button{min-height:46px;padding-inline:8px;font-size:13px}.shopping-progress h2{font-size:27px}.shopping-progress>p:last-child{font-size:14px}.department{padding-top:10px}.shopping-row{grid-template-columns:28px minmax(0,1fr) auto;gap:10px;min-height:78px;padding:13px 2px}.shopping-row .amount{grid-column:2;grid-row:2;max-width:none;margin-top:-3px;font-size:13px;text-align:left}.shopping-row .add-low-stock{grid-column:3;grid-row:1 / span 2}.shopping-label strong{font-size:16px}.shopping-label small{font-size:12px}.add-product-form,.pantry-intro,.pantry-add-form{padding:19px;border-radius:16px}.silpo-card{padding:20px 18px;border-radius:19px}.silpo-store{align-items:start;flex-direction:column}.silpo-store>button{width:100%}.silpo-picker-heading{display:grid}.silpo-picker-heading h3{font-size:22px}.silpo-progress-count{justify-self:start}.silpo-needs-list{gap:9px}.silpo-need-card{border-radius:14px}.silpo-need-card-head{align-items:start;gap:8px;padding:14px 12px}.silpo-need-title{align-items:start;gap:9px}.silpo-need-title h4{font-size:15px}.silpo-need-title p{font-size:12px;line-height:1.4}.silpo-need-status{width:25px;height:25px;flex-basis:25px;font-size:14px}.silpo-need-summary{grid-template-columns:25px minmax(0,1fr) auto;gap:9px;min-height:70px;padding:11px 10px}.silpo-need-summary-copy strong{font-size:14px}.silpo-need-summary-copy small{font-size:12px}.silpo-need-summary-action{gap:3px;font-size:12px}.silpo-need-summary-action span{font-size:19px}.silpo-need-deck{gap:11px}.silpo-need-deck-card{grid-template-columns:minmax(92px,.8fr) minmax(0,1.2fr);gap:14px;min-height:230px;padding:15px;border-radius:20px}.silpo-need-deck-visual{border-radius:15px;font-size:38px}.silpo-need-deck-visual img{padding:7px}.silpo-need-deck-copy{gap:7px}.silpo-need-deck-copy .eyebrow{font-size:9px}.silpo-need-deck-copy>strong{font-size:21px}.silpo-need-deck-copy>small{font-size:12px}.silpo-deck-selection{font-size:11px}.silpo-need-deck-copy .silpo-need-summary-action{gap:4px;font-size:11px}.silpo-need-deck-controls{gap:6px}.silpo-need-deck-controls button{min-height:42px;padding-inline:8px;font-size:11px}.silpo-need-deck-controls>span{font-size:11px}.silpo-swipe-hint{font-size:11px}.silpo-need-toggle{min-height:40px;padding-inline:9px;font-size:12px}.silpo-need-selected{padding:0 12px 13px 46px}.silpo-need-selected-line,.silpo-need-selected-line strong{font-size:12px}.silpo-need-skipped{margin:0 12px 13px 46px;font-size:12px}.silpo-need-options{gap:10px;padding:14px 12px}.silpo-search-label{font-size:13px}.silpo-context-strip span{font-size:11px}.silpo-focused-need{align-items:start;padding:13px}.silpo-focused-need h4{font-size:18px}.silpo-focused-need>strong{font-size:12px;text-align:right}.silpo-search-label input{min-height:46px;font-size:16px}.silpo-candidate-main{grid-template-columns:56px minmax(0,1fr) 30px;gap:9px;min-height:80px;padding:9px}.silpo-candidate-main>img,.silpo-candidate-image-fallback{width:56px;height:56px}.silpo-candidate-copy strong{font-size:14px}.silpo-candidate-check{width:28px;height:28px}.silpo-candidate-controls{gap:9px;padding:10px}.silpo-preferred-choice{font-size:12px}.silpo-review-group{padding:14px}.silpo-review-heading h4{font-size:15px}.silpo-current-need{padding:14px}.silpo-multi-product-select{grid-template-columns:23px 62px minmax(0,1fr);gap:9px;min-height:92px;padding:9px}.silpo-product-image{width:62px;height:62px}.silpo-product-info strong,.silpo-product-price{font-size:14px}.silpo-stock{font-size:12px}.silpo-multi-product-controls{align-items:start;flex-direction:column;padding:0 12px 12px 102px}.silpo-multi-product-controls label{min-height:38px;font-size:12px}.silpo-step-nav{overflow-x:auto;flex-wrap:nowrap;padding:2px 1px 7px}.silpo-step-dot{flex:0 0 36px}.silpo-wizard-controls button{flex:1;min-height:50px;padding-inline:8px;font-size:13px}.silpo-picker-footer{bottom:calc(70px + env(safe-area-inset-bottom));margin-right:-18px;margin-left:-18px;padding:14px 18px max(12px,env(safe-area-inset-bottom))}.silpo-catalog-intro{gap:18px;padding:20px;border-radius:18px}.silpo-catalog-intro h2{font-size:27px}.silpo-catalog-card{grid-template-columns:76px minmax(0,1fr);gap:13px;padding:14px;border-radius:15px}.silpo-catalog-card>img,.silpo-catalog-image-fallback{width:76px;height:76px}.silpo-catalog-info h3{font-size:19px}.silpo-catalog-info>small,.silpo-catalog-info>strong,.silpo-catalog-info>strong span,.silpo-catalog-info>p{font-size:13px}.silpo-catalog-actions{grid-column:1 / -1;grid-template-columns:1fr;gap:8px}.silpo-catalog-actions button{min-height:46px;font-size:14px}.pantry-row{align-items:center;gap:12px;padding:15px}.pantry-row h2{font-size:19px}.pantry-row p,.pantry-row label span{font-size:12px}.pantry-row select{max-width:145px}.weight-form,.weight-history{padding:20px 18px;border-radius:16px}.reminder-form{grid-template-columns:1fr;gap:13px}.reminder-form label{font-size:14px}.settings-card h2{font-size:25px}.settings-card p{font-size:14px}.bottom-nav{position:fixed;z-index:10;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:8px 10px max(9px,env(safe-area-inset-bottom));border-top:1px solid #e4e1d7;background:#fffefaf5;box-shadow:0 -8px 24px #2b2d250f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-link{display:grid;min-width:0;min-height:56px;justify-items:center;align-content:center;gap:5px;padding:4px 3px;border-radius:12px;color:#777d72;font-size:11px;line-height:1.15}.bottom-link .nav-icon{width:23px;height:23px}.bottom-link.active{color:#405b3c;background:#edf1e9}.bottom-link.active .nav-icon{stroke-width:2}.more-navigation{position:absolute;right:10px;bottom:calc(100% + 10px);width:min(260px,calc(100vw - 20px));gap:5px;padding:10px}.more-navigation button{min-height:50px;font-size:15px}}@media(max-width:370px){.app-body{padding-right:14px;padding-left:14px}.meal-card,.day-card,.settings-card{padding-inline:16px}.bottom-nav{padding-inline:5px}.bottom-link{font-size:10px}}.silpo-subnav{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:16px 0 20px;padding:5px;border:1px solid #e7dfd2;border-radius:14px;background:#f4f1e9}.silpo-subnav button{display:flex;min-width:0;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border:0;border-radius:10px;color:#6e7667;background:transparent;font-size:13px;font-weight:650}.silpo-subnav button.is-active{color:#3d5539;background:#fff;box-shadow:0 2px 8px #2d322714}.silpo-subnav button span{display:grid;min-width:22px;height:22px;place-items:center;padding:0 5px;border-radius:99px;color:#81503c;background:#f4e7df;font-size:11px}.silpo-picker-stage{display:grid;gap:16px}.foodie-basket{display:grid;gap:14px}.foodie-basket-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:6px 2px 3px}.foodie-basket-heading h3{margin:6px 0;font:28px "DM Serif Display",Georgia,serif}.foodie-basket-heading p:not(.eyebrow){max-width:440px;margin:0;color:var(--muted);font-size:13px;line-height:1.5}.foodie-basket-heading>strong{flex:0 0 auto;padding:8px 11px;border-radius:99px;color:#81503c;background:#f2e7de;font-size:12px}.foodie-basket-sync-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e7d2c4;border-radius:13px;color:#78503e;background:#fff6ee;font-size:12px}.foodie-basket-sync-note button{min-height:42px;padding:0 14px;border:0;border-radius:10px;color:#fff;background:#a34d34;font-size:12px;font-weight:700}.foodie-basket-sync-note button:disabled{opacity:.6}.foodie-basket-list{display:grid;gap:10px}.foodie-basket-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:13px;padding:13px;border:1px solid #e5dfd4;border-radius:16px;background:#fffefa}.foodie-basket-item>img,.foodie-basket-placeholder{display:grid;width:76px;height:76px;place-items:center;border-radius:12px;object-fit:contain;background:#f4f1e9}.foodie-basket-placeholder{color:#a69c89;font-size:24px}.foodie-basket-item-info{min-width:0}.foodie-basket-item-title{display:flex;align-items:start;justify-content:space-between;gap:8px}.foodie-basket-item-title h4{margin:1px 0 4px;color:#2f342e;font-size:15px;line-height:1.3}.foodie-basket-item-info>p{margin:0 0 3px;color:#86543f;font-size:11px;line-height:1.4}.foodie-basket-item-info>small{color:var(--muted);font-size:10px}.foodie-basket-state{flex:0 0 auto;padding:5px 7px;border-radius:99px;color:#746e61;background:#f3efe7;font-size:9px;font-weight:700}.foodie-basket-state.is-synced{color:#476046;background:#eaf0e6}.foodie-basket-state.is-failed{color:#a4402b;background:#fae9e3}.foodie-basket-item-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px}.foodie-basket-quantity{display:inline-flex;align-items:center;gap:9px}.foodie-basket-quantity button{display:grid;width:34px;height:34px;place-items:center;border:1px solid #dcd8ce;border-radius:50%;color:#50624a;background:#fff;font-size:19px}.foodie-basket-quantity button:disabled{opacity:.4}.foodie-basket-quantity strong{min-width:22px;text-align:center;font-size:13px}.foodie-basket-line-price{margin-left:auto;color:#8d4d35;font-size:13px}.foodie-basket-remove{min-height:34px;padding:0 9px;border:0;color:#8b5541;background:transparent;font-size:11px;text-decoration:underline}.foodie-basket-error{margin:8px 0 0!important;color:#a13f2a!important;font-size:11px!important}.foodie-basket-removals{display:grid;gap:8px;padding:12px;border:1px dashed #c8a78e;border-radius:12px;background:#fff7f1}.foodie-basket-removals h4{margin:0;color:#87533e;font-size:12px}.foodie-basket-removals>div{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.foodie-basket-removals button{min-height:34px;padding:0 10px;border:1px solid #dcc7b9;border-radius:8px;color:#6e604f;background:#fff;font-size:11px}.foodie-basket-total{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:14px 2px 3px;border-top:1px solid #e5d8cb;color:var(--muted);font-size:12px}.foodie-basket-total strong{color:#8d4d35;font-size:17px}.foodie-basket-total small{grid-column:1 / -1;font-size:10px}.foodie-basket-synced{margin:0;padding:11px;border-radius:11px;color:#496146;background:#edf2e9;font-size:12px;text-align:center}.foodie-basket-empty{padding:25px 16px;border:1px dashed #d5cfc1;border-radius:16px;text-align:center}.foodie-basket-empty strong{color:#3e493b}.foodie-basket-empty p{max-width:420px;margin:8px auto 0;color:var(--muted);font-size:12px;line-height:1.55}.silpo-fulfillment{overflow:hidden;border:1px solid #e4e4d9;border-radius:17px;background:#fffefa}.silpo-fulfillment-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.silpo-fulfillment-summary>div{display:grid;min-width:0;gap:5px}.silpo-fulfillment-summary .eyebrow{font-size:9px}.silpo-fulfillment-summary strong,.silpo-fulfillment-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.silpo-fulfillment-summary strong{color:#30372e;font-size:13px}.silpo-fulfillment-summary span{color:#77786f;font-size:12px}.silpo-fulfillment-summary button{flex:0 0 auto;min-height:40px;padding:0 12px;border:1px solid #dce2d5;border-radius:10px;color:#52634d;background:#f7f9f4;font-size:12px;font-weight:650}.silpo-fulfillment-controls{display:grid;gap:14px;padding:0 16px 16px;border-top:1px solid #eee9de}.silpo-fulfillment-controls>.silpo-store{padding-top:14px}.silpo-picker-stage>.silpo-slot-divider{display:none}.foodie-basket{gap:10px;padding-bottom:8px}.foodie-basket-heading{align-items:center;padding:5px 2px 8px}.foodie-basket-heading h3{margin:4px 0 3px;font:27px "DM Serif Display",Georgia,serif;letter-spacing:-.02em}.foodie-basket-heading p:not(.eyebrow){color:#73786d;font-size:12px}.foodie-basket-total-chip{padding:9px 12px;border:1px solid #e6dfd3;border-radius:12px;color:#8d4d35;background:#fff;font-size:14px;white-space:nowrap}.foodie-basket-list{gap:8px}.foodie-basket-item{grid-template-columns:68px minmax(0,1fr);gap:12px;padding:12px;border-color:#e8e5dc;border-radius:15px;box-shadow:0 2px 9px #2e302608}.foodie-basket-item.has-error{border-color:#e9c5b8;background:#fffaf7}.foodie-basket-item>img,.foodie-basket-placeholder{width:68px;height:68px;border-radius:11px}.foodie-basket-item-title{display:grid;justify-content:start;gap:5px}.foodie-basket-item-title h4{margin:0;font-size:14px;line-height:1.32}.foodie-basket-state{display:inline-flex;align-items:center;gap:5px;width:fit-content;padding:0;color:#74796f;background:transparent;font-size:10px;font-weight:550}.foodie-basket-state i,.foodie-basket-synced i{width:7px;height:7px;border-radius:50%;background:#c5ad87}.foodie-basket-state.is-synced{color:#506b49;background:transparent}.foodie-basket-state.is-synced i,.foodie-basket-synced i{background:#75916c}.foodie-basket-state.is-failed{color:#a4402b;background:transparent}.foodie-basket-state.is-failed i{background:#bb5139}.foodie-basket-state.is-syncing{color:#8b6840;background:transparent}.foodie-basket-item-info>.foodie-basket-package{margin:7px 0 2px;color:#89543d;font-size:11px}.foodie-basket-unit-price{color:#73786d;font-size:10px}.foodie-basket-item-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px;margin-top:11px}.foodie-basket-quantity{display:grid;justify-items:start;gap:5px}.foodie-basket-quantity>span{color:#74796f;font-size:10px}.foodie-basket-quantity>div{display:inline-flex;align-items:center;gap:9px}.foodie-basket-quantity button{width:38px;height:38px;border-color:#e1e3d9;color:#4c6146;background:#fafbf8;font-size:20px;touch-action:manipulation}.foodie-basket-quantity button:active{transform:scale(.96);background:#edf1e9}.foodie-basket-quantity strong{min-width:50px;font-size:14px;font-variant-numeric:tabular-nums}.foodie-basket-line-price{align-self:end;margin:0 2px 10px 0;color:#865038;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}.foodie-basket-remove{grid-column:1 / -1;justify-self:start;min-height:32px;margin:0;padding:0 4px;color:#7a776d;font-size:11px;text-decoration:none}.foodie-basket-remove:disabled{opacity:.4}.foodie-basket-error{padding:9px 10px;border-radius:9px;background:#fbeded}.foodie-basket-removals{padding:13px;border-style:solid;border-color:#eadaca;border-radius:14px}.foodie-basket-removals h4{font-size:12px}.foodie-basket-removals>div{min-height:39px;color:#55584f;font-size:12px}.foodie-basket-removals button{min-height:40px;padding-inline:12px;border-color:#dce2d5;color:#52634d;font-size:12px}.foodie-basket-price-note{margin:2px 0 0;color:#797a71;font-size:10px;line-height:1.45}.foodie-basket-synced{display:flex;align-items:center;justify-content:center;gap:8px;margin:3px 0 0;padding:11px;border-radius:11px;color:#496146;background:#edf2e9;font-size:12px}.foodie-basket-dock{position:sticky;z-index:5;bottom:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:8px 0 0;padding:12px;border:1px solid #e5d8cb;border-radius:15px;background:#fffefaf5;box-shadow:0 8px 26px #2b2d251f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.foodie-basket-dock>div{display:grid;min-width:0;gap:4px}.foodie-basket-dock span{color:#80523d;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.foodie-basket-dock small{color:#70756a;font-size:10px;line-height:1.35}.foodie-basket-dock button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:0;border-radius:11px;color:#fff;background:#a14b30;font-size:12px;font-weight:700;white-space:nowrap}.foodie-basket-dock button:disabled{opacity:.7}.foodie-sync-spinner{width:15px;height:15px;border:2px solid rgb(255 255 255 / 45%);border-top-color:#fff;border-radius:50%;animation:foodie-spin .8s linear infinite}@keyframes foodie-spin{to{transform:rotate(360deg)}}.foodie-basket-empty{display:grid;justify-items:center;gap:5px;padding:32px 18px;border-style:solid;border-color:#e8e5dc;background:#fffefa}.foodie-basket-empty>span{display:grid;width:48px;height:48px;margin-bottom:5px;place-items:center;border-radius:50%;color:#5a704f;background:#edf1e9;font-size:27px}.foodie-basket-empty p{margin-top:2px;font-size:12px}@media(max-width:640px){.silpo-subnav{position:sticky;z-index:3;top:73px;margin:11px -2px 15px}.silpo-subnav button{min-height:46px;font-size:12px}.silpo-fulfillment-summary{padding:13px 12px}.silpo-fulfillment-summary strong{font-size:12px}.silpo-fulfillment-summary span{font-size:11px}.silpo-fulfillment-controls{padding:0 12px 13px}.foodie-basket{padding-bottom:10px}.foodie-basket-heading h3{font-size:24px}.foodie-basket-heading p:not(.eyebrow){font-size:11px}.foodie-basket-total-chip{padding:8px 9px;font-size:12px}.foodie-basket-item{grid-template-columns:56px minmax(0,1fr);gap:10px;padding:10px;border-radius:13px}.foodie-basket-item>img,.foodie-basket-placeholder{width:56px;height:56px}.foodie-basket-item-title h4{font-size:13px}.foodie-basket-state{font-size:9px}.foodie-basket-item-info>.foodie-basket-package{margin-top:6px;font-size:10px}.foodie-basket-unit-price{font-size:9px}.foodie-basket-item-bottom{gap:6px;margin-top:9px}.foodie-basket-quantity>div{gap:7px}.foodie-basket-quantity button{width:40px;height:40px}.foodie-basket-quantity strong{min-width:44px;font-size:13px}.foodie-basket-line-price{font-size:12px}.foodie-basket-dock{bottom:calc(76px + env(safe-area-inset-bottom));grid-template-columns:1fr;gap:9px;margin:8px -18px 0;padding:11px 18px max(11px,env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:15px 15px 0 0}.foodie-basket-dock>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.foodie-basket-dock span{font-size:11px}.foodie-basket-dock small{text-align:right}.foodie-basket-dock button{width:100%;min-height:49px;font-size:14px}}.offers-page{display:grid;gap:22px}.offers-status{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.offers-status strong{display:block;margin-top:7px;font-size:15px}.offers-status p:not(.eyebrow){margin:5px 0 0;color:var(--muted);font-size:12px}.offers-status button,.offers-more{min-height:42px;padding:0 15px;border:0;border-radius:8px;color:#fff;background:var(--leaf);font-size:12px;font-weight:700}.offers-status button:disabled,.offers-more:disabled{opacity:.6}.offers-freshness,.offers-warning{margin:0;padding:12px 15px;border-radius:9px;color:#526148;background:#e8ede2;font-size:12px;line-height:1.5}.offers-warning{color:#78532c;background:#f5eddb}.offers-section{padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.offers-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.offers-section-heading h2{margin:7px 0 4px;font:25px "DM Serif Display",Georgia,serif}.offers-section-heading p:not(.eyebrow){max-width:520px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}.offers-section-heading>span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:var(--leaf);background:#e8ede2;font-size:12px;font-weight:700}.offer-grid{display:grid;gap:10px}.offer-card{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(150px,auto);gap:13px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fffefa}.offer-card>img,.offer-image-fallback{width:72px;height:72px;object-fit:contain;border-radius:8px;background:#f3f1eb}.offer-image-fallback{display:grid;place-items:center;color:var(--leaf);font-size:25px}.offer-info{min-width:0}.offer-info>small{color:var(--leaf);font-size:10px}.offer-info h3{margin:4px 0 5px;font-size:14px;line-height:1.3}.offer-info>p{margin:4px 0 0;color:var(--muted);font-size:11px}.offer-prices{display:flex;align-items:baseline;gap:8px;color:#91472f;font-size:14px}.offer-prices del{color:#99968d;font-size:11px}.offer-info .offer-special{color:#80582d}.offer-actions{display:grid;gap:6px;justify-items:stretch}.offer-actions label{display:grid;gap:4px;color:var(--muted);font-size:10px}.offer-actions label>span{display:grid;grid-template-columns:28px 1fr 28px;gap:4px}.offer-actions label button{height:29px;border:1px solid var(--line);border-radius:6px;color:var(--leaf);background:#fff}.offer-actions input{width:100%;min-width:48px;height:29px;border:1px solid var(--line);border-radius:6px;text-align:center}.offer-actions>button:first-of-type{min-height:36px;border:0;border-radius:7px;color:#fff;background:var(--accent);font-size:11px;font-weight:700}.offer-actions>button:disabled{opacity:.55}.offer-actions .offer-dismiss{border:0;color:var(--muted);background:transparent;font-size:10px}.offers-empty{padding:15px;border-radius:9px;color:var(--muted);background:#f6f4ee;font-size:12px;line-height:1.5}.promotion-list{display:grid}.promotion-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:57px;padding:9px 2px;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:transparent;text-align:left}.promotion-row:last-child{border-bottom:0}.promotion-row strong,.promotion-row small{display:block}.promotion-row strong{font-size:13px}.promotion-row small{margin-top:4px;color:var(--muted);font-size:10px}.promotion-row>span:last-child{color:var(--leaf);font-size:11px;font-weight:700;white-space:nowrap}.promotion-row.active{color:var(--accent)}.promotion-results{display:grid;gap:12px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.promotion-results-heading{display:flex;align-items:center;justify-content:space-between}.promotion-results-heading h3{margin:0;font:19px "DM Serif Display",Georgia,serif}.promotion-results-heading .quiet-button{border:0;color:var(--muted);background:transparent}.offers-more{justify-self:center}@media(max-width:600px){.offers-status{align-items:flex-start;padding:15px}.offers-section{padding:16px 13px}.offer-card{grid-template-columns:58px minmax(0,1fr);gap:10px}.offer-card>img,.offer-image-fallback{width:58px;height:58px}.offer-actions{grid-column:1 / -1;grid-template-columns:1fr 1fr;align-items:end}.offer-actions>label{grid-row:span 2}.offer-actions .offer-dismiss{grid-column:2}}
