:root{--app-bg:#f5f4ef;--app-paper:#fff;--app-ink:#29312c;--app-muted:#747c75;--app-line:#e3e6df;--app-green:#315e48;--app-soft:#e8f0e9;--app-gold:#f1e7ce;--app-radius:22px;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--app-bg);color:var(--app-ink)}a{color:inherit}.app-header{background:#fff;border-bottom:1px solid var(--app-line);position:sticky;top:0;z-index:10}.app-header-inner{max-width:76rem;margin:auto;padding:.45rem 1.5rem;min-height:4.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.3rem}.app-brand{font-size:1.15rem;text-decoration:none;color:var(--app-green);white-space:nowrap}.app-brand .mm-icon{--icon-size:2.35rem}.desktop-nav{display:flex;align-items:center;gap:.35rem}.desktop-nav a,.mobile-nav a{display:flex;align-items:center;gap:.45rem;text-decoration:none;color:#59635c;font-weight:620;padding:.6rem .8rem;border-radius:14px}.desktop-nav a .mm-icon{--icon-size:1.45rem}.desktop-nav a.active,.mobile-nav a.active{color:var(--app-green);background:var(--app-soft)}.local-cue{font-size:.72rem;color:#697c6b;border:1px solid #dce8dc;background:#f7faf6;padding:.28rem .65rem;border-radius:999px;white-space:nowrap}.feedback-link{font-size:.78rem;font-weight:700;color:var(--app-green);white-space:nowrap;text-decoration:none}.feedback-link[hidden]{display:none}.nav-avatar{width:1.5rem;height:1.5rem;border-radius:50%;display:inline-grid;place-items:center;background:#e7e0d1;color:#665d48;font-size:.72rem;font-weight:750}.app-main{max-width:76rem;margin:auto;padding:2.2rem 1.5rem 5rem;min-height:calc(100vh - 5rem)}.page-width{max-width:52rem;margin-inline:auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin:0 0 1.45rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--app-muted);font-size:.72rem;font-weight:760;margin:0 0 .4rem}.page-heading h1,.auth-card h1{margin:0;font-size:clamp(2rem,5vw,3.05rem);line-height:1.08;letter-spacing:-.055em}.lead{max-width:40rem;color:var(--app-muted);font-size:1.03rem;margin:.65rem 0 0}.panel,.card{background:var(--app-paper);border:1px solid var(--app-line);border-radius:var(--app-radius);padding:clamp(1rem,3.4vw,1.65rem);box-shadow:0 3px 14px #29312c05}.stack{display:grid;gap:1rem}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field{display:grid;gap:.4rem;color:#5e675f;font-size:.86rem;font-weight:650}.field.full{grid-column:1/-1}.field input,.field select,.field textarea,.search-box{width:100%;font:inherit;color:var(--app-ink);background:#fbfbf9;border:1px solid var(--app-line);border-radius:12px;padding:.76rem .85rem;outline:none}.field input:focus,.field select:focus,.field textarea:focus,.search-box:focus{border-color:#89a28d;box-shadow:0 0 0 3px #e6efe7}.field textarea{min-height:6rem;resize:vertical}.choice-row{display:flex;flex-wrap:wrap;gap:.65rem}.choice-pill{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--app-line);padding:.55rem .75rem;border-radius:999px;background:#fff;font-size:.86rem;cursor:pointer}.choice-pill:has(input:checked){background:var(--app-soft);border-color:#c7d9c9;color:var(--app-green)}input[type=checkbox],input[type=radio]{accent-color:var(--app-green);width:1.05rem;height:1.05rem}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.5rem}.btn{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid transparent;border-radius:12px;padding:.72rem 1rem;text-decoration:none;font-weight:700;cursor:pointer;transition:transform .12s,background .12s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--app-green);color:#fff}.btn-primary:hover{background:#254b38}.btn-secondary{background:var(--app-soft);color:var(--app-green);border-color:#dce8dd}.btn-quiet{background:#fff;color:var(--app-green);border-color:var(--app-line)}.btn-danger{background:#fff4f0;color:#9a453a;border-color:#f0d8d1}.btn-small{padding:.48rem .68rem;border-radius:10px;font-size:.82rem}.text-button{border:0;background:none;color:var(--app-green);font:inherit;font-weight:700;padding:.35rem;cursor:pointer}.hint,.muted{color:var(--app-muted);font-size:.86rem}.hint{margin:.6rem 0 0}.divider{border:0;border-top:1px solid var(--app-line);margin:1.2rem 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:0 0 .8rem}.section-title h2{font-size:1.22rem;letter-spacing:-.03em;margin:0}.section-title h3{font-size:1rem;margin:0}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.recipe-card{display:flex;flex-direction:column;min-height:13rem;padding:1.1rem;border:1px solid var(--app-line);border-radius:18px;background:#fff}.recipe-card h3{font-size:1.12rem;line-height:1.22;letter-spacing:-.025em;margin:.55rem 0}.recipe-card p{margin:.2rem 0;color:var(--app-muted);font-size:.83rem}.recipe-card .card-footer{margin-top:auto;padding-top:.9rem;display:flex;justify-content:space-between;gap:.5rem;align-items:center}.tag{display:inline-flex;padding:.22rem .55rem;border-radius:999px;background:#f2f1ec;color:#666d64;font-size:.72rem;font-weight:650}.tag-green{background:var(--app-soft);color:var(--app-green)}.plan-row{display:grid;grid-template-columns:2.2rem 1fr auto;align-items:center;gap:.85rem;padding:.9rem 0;border-bottom:1px solid var(--app-line)}.plan-row:last-child{border-bottom:0}.day-chip{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--app-soft);color:var(--app-green);font-weight:760;font-size:.8rem}.plan-row h3{font-size:1rem;margin:0}.plan-row p{color:var(--app-muted);font-size:.8rem;margin:.15rem 0 0}.icon-button{border:1px solid var(--app-line);border-radius:10px;background:#fff;color:#737b74;padding:.48rem .6rem;cursor:pointer}.list-row{display:grid;grid-template-columns:1.6rem 1fr auto;gap:.75rem;align-items:center;padding:.78rem 0;border-bottom:1px solid var(--app-line)}.list-row:last-child{border-bottom:0}.list-row.checked .list-label{text-decoration:line-through;color:#949b94}.list-qty{color:var(--app-green);font-size:.85rem;font-weight:720;white-space:nowrap}.list-label{font-weight:590}.empty-state{text-align:center;padding:2rem 1rem;color:var(--app-muted)}.empty-state .mm-icon{--icon-size:2.3rem;margin-bottom:.6rem}.tabs{display:flex;gap:.35rem;padding:.3rem;background:#edeee8;border-radius:14px;width:max-content;max-width:100%;overflow:auto}.tab{border:0;background:none;padding:.58rem .85rem;border-radius:11px;color:#70776f;font:inherit;font-weight:650;white-space:nowrap;cursor:pointer}.tab.active{background:#fff;color:var(--app-green);box-shadow:0 1px 3px #0000000b}.auth-layout{min-height:calc(100vh - 12rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,.8fr);max-width:60rem;margin:auto;align-items:center;gap:3rem}.auth-welcome{padding:1.5rem 0}.auth-welcome h2{font-size:clamp(2rem,5vw,3.3rem);line-height:1.05;letter-spacing:-.06em;margin:.4rem 0 1rem}.auth-welcome p{max-width:30rem;color:var(--app-muted);font-size:1.04rem}.auth-card{padding:clamp(1.3rem,4vw,2.1rem)}.auth-card h1{font-size:2rem}.auth-card form{margin-top:1.25rem}.auth-switch{color:var(--app-muted);font-size:.87rem;margin:1rem 0 0}.auth-switch a{color:var(--app-green);font-weight:700}.feature-line{display:flex;align-items:center;gap:.7rem;margin:.65rem 0;color:#536356}.feature-dot{width:1.7rem;height:1.7rem;display:grid;place-items:center;background:var(--app-soft);border-radius:50%;font-size:.8rem}.recipe-detail{max-width:57rem;margin-inline:auto}.recipe-detail h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.055em;line-height:1.05;margin:.35rem 0 .8rem}.recipe-columns{display:grid;grid-template-columns:minmax(15rem,.72fr) minmax(0,1.5fr);gap:1rem}.ingredient-line{padding:.58rem 0;border-bottom:1px solid var(--app-line)}.ingredient-line:last-child{border-bottom:0}.recipe-copy{white-space:pre-line;line-height:1.8}.notice{padding:.8rem 1rem;border:1px solid #e6dfca;background:#faf7ec;border-radius:14px;color:#716647;font-size:.84rem}.favorite{color:#b97b27}.history-row,.preference-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--app-line)}.history-row:last-child,.preference-row:last-child{border-bottom:0}.history-row h3,.preference-row h3{font-size:.98rem;margin:0}.history-row p,.preference-row p{font-size:.78rem;color:var(--app-muted);margin:.1rem 0 0}.settings-nav{display:grid;gap:.45rem}.settings-nav a{padding:.8rem .9rem;text-decoration:none;border-radius:12px;background:#fff;border:1px solid var(--app-line);font-weight:650}.settings-nav a:hover{background:var(--app-soft)}.toast{position:fixed;z-index:20;left:50%;bottom:1.2rem;transform:translate(-50%,1rem);opacity:0;pointer-events:none;background:#28362e;color:#fff;padding:.7rem 1rem;border-radius:12px;box-shadow:0 8px 28px #15251b33;transition:.18s}.toast.show{opacity:1;transform:translate(-50%,0)}.mobile-nav{display:none}
@media(max-width:850px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.app-main{padding-top:1.6rem}.auth-layout{gap:1.6rem}}
@media(max-width:620px){.app-header-inner{padding:.35rem 1rem;min-height:3.7rem}.app-brand .mm-icon{--icon-size:1.95rem}.app-brand{font-size:1rem}.desktop-nav{display:none}.local-cue{font-size:.65rem}.app-main{padding:1.35rem 1rem 6.4rem;min-height:calc(100vh - 4rem)}.mobile-nav{position:fixed;z-index:15;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);padding:.35rem .35rem calc(.35rem + env(safe-area-inset-bottom));background:#fffffff2;border-top:1px solid var(--app-line);backdrop-filter:blur(12px)}.mobile-nav a{flex-direction:column;gap:.08rem;padding:.25rem .1rem;font-size:.65rem}.mobile-nav a .mm-icon{--icon-size:1.5rem}.mobile-nav .nav-avatar{width:1.35rem;height:1.35rem}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:1rem}.grid-2,.form-grid,.recipe-columns{grid-template-columns:1fr}.field.full{grid-column:auto}.recipe-grid,.grid-3{grid-template-columns:1fr}.recipe-card{min-height:0}.auth-layout{display:block;min-height:0;padding-top:1rem}.auth-welcome{padding:0 0 1.2rem}.auth-welcome h2{font-size:2.15rem}.auth-welcome p{font-size:.91rem;margin:.4rem 0}.auth-welcome .feature-list{display:none}.auth-card{padding:1.2rem}.auth-card h1{font-size:1.7rem}.panel,.card{border-radius:18px}.button-row>.btn{flex:1}.history-row,.preference-row{align-items:flex-start}.plan-row{grid-template-columns:2.1rem 1fr auto;gap:.55rem}.plan-row .btn{font-size:.74rem;padding:.45rem .55rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.auth-page .desktop-nav,.auth-page .mobile-nav{display:none}.auth-page .app-header-inner{justify-content:center}

.plan-settings {margin-bottom:1.2rem;padding:.8rem 1rem;background:var(--cream,#f5f5ef);border-radius:14px;}
.plan-settings summary {cursor:pointer;font-weight:650;color:var(--green,#285b45);}
.plan-settings[open] summary {margin-bottom:1rem;}
.plan-row .day-chip {width:auto;min-width:3.6rem;font-size:.75rem;}
.recipe-feedback {margin-top:.5rem;gap:.35rem;}

.plan-row {grid-template-columns:3.6rem minmax(0,1fr) auto;}
.plan-row-actions {display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;}
.list-qty {max-width:48%;white-space:normal;text-align:right;overflow-wrap:anywhere;}
@media(max-width:620px){
  .plan-row {grid-template-columns:3.6rem minmax(0,1fr);}
  .plan-row-actions {grid-column:2;flex-direction:row;align-items:center;flex-wrap:wrap;}
  .history-row,.preference-row {flex-direction:column;}
  .plan-row .day-chip {align-self:start;}
}

.manual-row{grid-template-columns:minmax(0,1fr) 6rem auto;gap:1rem}.manual-row .list-label{display:flex;align-items:center;gap:.75rem;min-width:0}.manual-row .list-label>input{flex:none}.manual-row small{display:block;margin-top:.3rem}.manual-row .field{width:6rem}.manual-row>button{grid-column:3}.list-qty{max-width:22rem}.store-options{grid-column:1/-1;border:0;padding:0;min-width:0}.product-result{width:100%;text-align:left;background:#fbfbf9;border:1px solid var(--app-line);border-radius:12px;padding:.8rem;cursor:pointer}.product-result small{display:block;margin-top:.3rem}
@media(max-width:620px){.manual-row{grid-template-columns:minmax(0,1fr) 5rem;gap:.6rem}.manual-row>button{grid-column:2}.manual-row .field{width:5rem}.list-qty{max-width:11rem}}
.shopping-list-panel{overflow:hidden}.shopping-category{margin:.25rem 0 1.2rem}.shopping-category>h3{display:flex;align-items:center;gap:.55rem;margin:.4rem 0 .25rem;font-size:.98rem;color:#526257}.shopping-category>h3 .mm-icon{--icon-size:1.25rem}.shopping-list-row{display:grid;grid-template-columns:1.2rem 1.5rem minmax(7rem,1fr) auto auto;gap:.7rem;align-items:center;padding:.72rem 0;border-bottom:1px solid var(--app-line)}.shopping-list-row.checked .shopping-item-name{text-decoration:line-through;color:#949b94}.shopping-origin{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;font-size:.82rem;font-weight:750}.manual-origin{background:#f4eddf;color:#77633e}.auto-origin{background:var(--app-soft);color:var(--app-green)}.shopping-item-name{justify-self:start;text-align:left;border:0;background:none;color:var(--app-ink);font:inherit;font-weight:620;padding:.2rem 0;cursor:pointer}.shopping-item-name:hover{text-decoration:underline}.shopping-item-name .tag{margin-left:.25rem}.shopping-list-row .list-qty{max-width:20rem;text-align:right}.shopping-remove{font-size:1rem;line-height:1}.shopping-choice-row{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(13rem,1.2fr);align-items:center;gap:1rem;padding:.9rem 0;border-top:1px solid var(--app-line)}.shopping-choice-copy h3{margin:0;font-size:.96rem}.shopping-choice-copy p{margin:.25rem 0 0;color:var(--app-muted);font-size:.82rem}.shopping-choice-controls{display:flex;align-items:end;gap:.6rem}.shopping-choice-controls>.field{min-width:0;flex:1}.shopping-details{gap:.8rem}.shopping-detail-card{padding:.85rem 1rem;border:1px solid var(--app-line);border-radius:14px;background:#fbfbf9}.shopping-detail-card h3{font-size:.94rem;margin:0}.shopping-detail-card p{font-size:.84rem;margin:.35rem 0}.shopping-detail-head{display:flex;align-items:center;gap:.65rem}.shopping-detail-head p{color:var(--app-muted);margin:.2rem 0}.shopping-pack-field{max-width:8rem;margin-top:.65rem}.removed-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--app-line)}
@media(max-width:640px){.shopping-list-row{grid-template-columns:1.15rem 1.35rem minmax(0,1fr) auto;gap:.5rem}.shopping-list-row .list-qty{grid-column:3;grid-row:2;text-align:left;white-space:normal;font-size:.78rem}.shopping-remove{grid-column:4;grid-row:1/3}.shopping-choice-row{grid-template-columns:1fr;gap:.5rem}.shopping-choice-controls{align-items:start}.shopping-list-row .shopping-item-name{min-width:0}.shopping-list-row .tag{display:none}}

.shopping-checked{margin-top:1.3rem;padding-top:1rem;border-top:1px solid var(--app-line)}.shopping-checked h2{font-size:1.1rem}.shopping-category[hidden],#checked-empty[hidden]{display:none}
.shopping-list-row[hidden],.removed-item[hidden],#removed-items[hidden]{display:none}

.app-brand-copy{display:flex;flex-direction:column;gap:.12rem;line-height:1.25}.app-brand-copy strong{font-weight:750;letter-spacing:-.025em}.app-brand-copy small{font-size:.67rem;font-weight:450;color:var(--app-muted)}
@media(max-width:620px){.app-brand-copy small{font-size:.6rem}}
.field.hidden{display:none}.auth-welcome>.mm-icon-main{--icon-size:3.6rem;margin-bottom:.5rem}

/* The creation flow is a focused dialog; completed plans keep one primary action. */
.picker-open{overflow:hidden}.plan-picker{width:min(44rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);border:0;border-radius:22px;padding:1.3rem;background:var(--app-bg,#f8f7f2);color:var(--app-ink,#263d30);box-shadow:0 20px 80px #15251b55;overflow:auto}.plan-picker::backdrop{background:#18291dcc;backdrop-filter:blur(3px)}.picker-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.picker-heading h2{margin:.1rem 0;font-size:1.4rem}.picker-heading p{margin:.2rem 0;color:var(--app-muted)}.picker-heading .eyebrow{font-size:.7rem}.plan-picker .recipe-grid{grid-template-columns:1fr;gap:.65rem}.plan-picker .recipe-card{min-height:0;padding:.85rem}.plan-picker .recipe-card h3{font-size:1.05rem;margin:.25rem 0}.plan-picker .recipe-card p{font-size:.8rem;margin:.2rem 0}.plan-picker .card-footer{padding-top:.45rem}.picker-search-button{width:100%;margin-top:.85rem}.recipe-card-top{display:flex;align-items:center;gap:.55rem}.recipe-card-top .mm-icon{--icon-size:2.3rem}.recipe-filters{margin:.6rem 0}.recipe-filters summary{cursor:pointer;font-weight:650;color:var(--app-green)}.recipe-filters .form-grid{margin:.7rem 0}.finder-controls .button-row{margin:0;display:flex}.finder-controls .search-box{flex:1;min-width:0}.plan-picker .section-title h3{font-size:.95rem}.plan-picker .recipe-card-top .mm-icon{--icon-size:1.65rem}
@media(max-width:620px){.plan-picker{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);padding:1rem;border-radius:18px}.history-row{flex-direction:column;align-items:stretch}.history-row .button-row{flex-wrap:wrap}.plan-picker .form-grid{grid-template-columns:1fr}.plan-picker .btn{min-height:2.7rem}.page-heading .btn{min-height:2.7rem}}

/* Weekday planning, serving choices, and touch-friendly plan ordering. */
.weekday-options .choice-row{display:flex;flex-wrap:wrap;gap:.45rem}.weekday-options .choice-pill{min-height:2.75rem}.card-days select{display:block;min-height:2.4rem;margin-top:.2rem}.plan-row .drag-handle{touch-action:none;cursor:grab;min-width:2.75rem;min-height:2.75rem}.plan-row .drag-handle:active{cursor:grabbing}.plan-row [data-batch-days]{min-height:2.4rem}
.plan-row.dragging{outline:2px solid var(--app-green);outline-offset:2px;background:var(--app-soft)}
.plan-row{grid-template-columns:2.75rem 4.5rem minmax(0,1fr) auto;grid-template-areas:"drag date dish actions"}
.plan-row>.drag-handle{grid-area:drag}
.plan-row>.day-chip{grid-area:date;height:auto;min-height:2rem;padding:.35rem;border-radius:12px;text-align:center}
.plan-row>div:not(.plan-row-actions){grid-area:dish;min-width:0}
.plan-row>.plan-row-actions{grid-area:actions}
@media(max-width:620px){
  .plan-row{grid-template-columns:2.75rem minmax(0,1fr);grid-template-areas:"drag date" "dish dish" "actions actions"}
  .plan-row>.plan-row-actions{justify-content:flex-start;align-items:center;flex-direction:row;flex-wrap:wrap}
}

/* Compact meal-day controls, calm completed-plan cards, and store-first basket groups. */
.day-stepper{display:inline-flex;align-items:center;gap:.25rem;border:1px solid #dce8dd;background:#fff;border-radius:999px;padding:.15rem}.day-stepper button{width:2rem;height:2rem;border:0;border-radius:50%;background:var(--app-soft);color:var(--app-green);font:inherit;font-size:1.15rem;font-weight:750;cursor:pointer}.day-stepper button:disabled{opacity:.42;cursor:default}.day-stepper output{min-width:1.7rem;text-align:center;font-weight:750;color:var(--app-green)}.card-days,.batch-day-control{display:flex;align-items:center;gap:.5rem;color:var(--app-muted);font-size:.8rem;font-weight:650}.card-days{flex-wrap:wrap}.batch-meta{margin:.2rem 0 .45rem!important}.plan-row{grid-template-columns:2.75rem 4.5rem minmax(0,1fr) auto;grid-template-areas:"drag date dish actions";gap:.7rem;padding:1rem;margin:.65rem 0;border:1px solid #e0e9df;border-radius:18px;background:#f6f9f4;box-shadow:0 2px 8px #263a2d08}.plan-row:last-child{border-bottom:1px solid #e0e9df}.plan-row>.day-chip{background:#e3eee2}.plan-row-actions{align-items:flex-end}.batch-more{position:relative}.batch-more>summary{list-style:none;cursor:pointer;border:1px solid var(--app-line);border-radius:10px;background:#fff;padding:.48rem .65rem;color:var(--app-green);font-size:.82rem;font-weight:700;white-space:nowrap}.batch-more>summary::-webkit-details-marker{display:none}.batch-more-menu{position:absolute;z-index:3;right:0;top:calc(100% + .35rem);display:grid;gap:.35rem;min-width:12rem;padding:.55rem;border:1px solid var(--app-line);border-radius:14px;background:#fff;box-shadow:0 8px 28px #15251b20}.batch-more-menu .recipe-feedback{margin:0}.plan-row.dragging{background:#edf4eb}
.shopping-store-group{margin:0 0 1.15rem;padding:.8rem .9rem;border:1px solid #e5eae1;border-radius:16px;background:#fcfdfa}.shopping-store-heading{margin:0 0 .45rem;padding:.1rem 0 .5rem;border-bottom:1px solid #e7ece4;font-size:1.08rem;color:var(--app-green)}.shopping-category{margin:.2rem 0 .6rem}.shopping-category>h4{display:flex;align-items:center;gap:.45rem;margin:.45rem 0 .1rem;font-size:.88rem;font-weight:650;color:#657065}.shopping-list-row{grid-template-columns:1.2rem 1.5rem minmax(6rem,1fr) auto auto auto}.store-switch{border:0;background:transparent;color:var(--app-green);font:inherit;font-size:.76rem;font-weight:700;text-align:right;cursor:pointer;padding:.3rem .2rem;white-space:nowrap}.store-switch:hover{text-decoration:underline}.pantry-note{margin:.8rem 0;padding:.8rem 1rem;border-radius:14px;background:#f4f7ef;color:#58664f;font-size:.84rem}.pantry-note p{margin:.15rem 0 .45rem;color:var(--app-muted)}.pantry-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.35rem 0;border-top:1px solid #e3e9dd}.checked-store-group{margin:.5rem 0}.checked-store-group>h3{font-size:.9rem;color:var(--app-green);margin:.45rem 0}.checked-store-group[hidden],.shopping-store-group[hidden]{display:none}
@media(max-width:620px){.plan-row{grid-template-columns:2.55rem minmax(0,1fr) auto;grid-template-areas:"drag date actions" "dish dish dish";gap:.55rem;padding:.8rem}.plan-row>.plan-row-actions{grid-column:auto;flex-direction:row;align-items:center;justify-content:flex-end}.plan-row>.day-chip{align-self:center}.batch-more-menu{right:0;max-width:calc(100vw - 3rem)}.shopping-store-group{padding:.65rem .7rem}.shopping-list-row{grid-template-columns:1.15rem 1.35rem minmax(0,1fr) auto;gap:.45rem}.shopping-list-row .store-switch{grid-column:3;grid-row:3;justify-self:start;padding:.15rem 0}.shopping-list-row .list-qty{grid-column:3;grid-row:2;text-align:left;white-space:normal;font-size:.78rem}.shopping-remove{grid-column:4;grid-row:1/4}.pantry-row{align-items:flex-start}.pantry-row .text-button{padding:.15rem;text-align:right}}
@media(max-width:620px){.app-header-inner{min-width:0;gap:.45rem}.app-brand-copy{min-width:0}.local-cue{min-width:0;max-width:43vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}}
.store-switch-menu{position:relative;justify-self:end}.store-switch-menu>summary{list-style:none;cursor:pointer;color:var(--app-green);font-size:.75rem;font-weight:700;white-space:nowrap;padding:.3rem}.store-switch-menu>summary::-webkit-details-marker{display:none}.store-switch-menu>div{position:absolute;z-index:4;right:0;top:calc(100% + .25rem);display:grid;gap:.2rem;min-width:11rem;padding:.35rem;border:1px solid var(--app-line);border-radius:12px;background:#fff;box-shadow:0 8px 25px #15251b1c}.store-switch{width:100%;text-align:left;border-radius:8px}.store-switch:hover{background:var(--app-soft)}
@media(max-width:620px){.shopping-list-row .store-switch-menu{grid-column:3;grid-row:3;justify-self:start}.shopping-list-row .store-switch-menu>div{left:0;right:auto}}
/* Inventory lots stay visibly segmented by their purchase dates. */
.stock-ingredient-group{padding:.9rem 0;border-bottom:1px solid var(--app-line)}.stock-ingredient-group:last-child{border-bottom:0}.stock-lot-segments{display:grid;gap:.8rem}.stock-lot-segment{display:grid;grid-template-columns:minmax(4rem,.2fr) minmax(0,1fr);align-items:start;gap:.8rem}.stock-lot-bar{height:.8rem;border-radius:999px;background:#edf0ec;overflow:hidden;margin-top:.25rem}.stock-lot-bar span{display:block;height:100%;border-radius:inherit;background:#78977c}.stock-lot-details{display:grid;gap:.2rem}.stock-lot-details>span{color:var(--app-muted);font-size:.8rem}.stock-lot-details .button-row{margin-top:.35rem}

/* Keep Android WebView scrolling from recompositing a blurred page behind fixed navigation. */
@media(max-width:620px){.mobile-nav{background:#fff;backdrop-filter:none}}
/* Dietary type stays visible beside the weekday it constrains. */
.plan-row{grid-template-columns:max-content max-content 1fr auto}
.day-chip{width:auto;min-width:2.2rem;height:auto;min-height:2rem;max-width:7rem;padding:.25rem .35rem;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:.2rem;border-radius:1rem}
.plan-day-label{display:inline-flex;align-items:center;gap:.15rem;font-size:.74rem;line-height:1.2}
.plan-day-label .mm-icon{--icon-size:.95rem}
.dietary-tag{align-items:center;gap:.2rem}
.dietary-tag .mm-icon{--icon-size:.9rem}
.save-status{position:fixed;z-index:1000;bottom:calc(5rem + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:min(90vw,32rem);padding:.65rem 1rem;border:1px solid var(--app-line);border-radius:12px;background:#fff;color:var(--app-ink);box-shadow:0 3px 14px #0002;font-size:.9rem;pointer-events:none}
.save-status[hidden]{display:none}
.save-status[data-state="error"]{border-color:#b54231;background:#fff4ef;color:#842719}
.privacy-note{max-width:65rem;margin:1rem auto 6rem;padding:0 1rem;color:var(--app-ink);font-size:.85rem}
.privacy-note summary{cursor:pointer;text-decoration:underline}
.privacy-note p{max-width:65ch;line-height:1.5}
.choice-pill select{width:auto;max-width:6rem;border:1px solid var(--app-line);border-radius:8px;padding:.25rem;background:#fff;color:var(--app-ink);font:inherit}
.choice-pill input:disabled+select,.choice-pill:has(input:disabled){opacity:.55}
@media(max-width:620px){.plan-row{grid-template-columns:2.55rem minmax(0,1fr) auto;grid-template-areas:"drag date actions" "dish dish dish";gap:.55rem;padding:.8rem}}
