.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.mp-page{max-width:1120px;margin:auto}.mp-title{margin-bottom:20px}.mp-title h1{font-size:clamp(28px,5vw,42px);margin:0 0 6px}.mp-title span,.mp-help,.mp-dish small,.mp-buy-row small{color:#53637b}.mp-toolbar,.mp-week,.mp-actions{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:12px 0}.mp-button{border:1px solid #dfdcd5;background:#fffefb;color:#17263c;border-radius:12px;padding:10px 14px;font:inherit;min-height:44px;cursor:pointer;overflow-wrap:anywhere}.mp-button:disabled{opacity:.5;cursor:wait}.mp-button.active{background:#c64c5b;color:white;border-color:#c64c5b}.mp-button.primary{background:#142943;color:white;border-color:#142943;font-weight:700}.mp-wide{width:100%;margin-top:18px}.mp-week{flex-wrap:nowrap}.mp-week strong{text-align:center;font-size:15px}.mp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:12px 0 20px}.mp-days button{padding:8px 2px;line-height:1.6}.mp-day-list{display:grid;gap:16px;align-items:start}.mp-day{background:#fffefb;border:1px solid #e5e0d8;border-radius:18px;overflow:hidden}.mp-day h2{font:700 18px/1.4 sans-serif;margin:0;padding:14px 16px;background:#edf2f7}.mp-today h2{background:#fae5e8;color:#9d364a}.mp-meal{padding:12px 16px;border-bottom:1px solid #eee9e2;display:grid;gap:8px}.mp-meal>strong{font-size:13px;color:#a33c50}.mp-meal>.mp-button{text-align:left;background:transparent;border-style:dashed}.mp-dish{display:grid;gap:3px}.mp-dish-name{text-align:left;font-weight:700;border:0;padding:6px 0;background:transparent}.mp-dish small{font-size:13px;line-height:1.4}.mp-notice{padding:14px;background:#edf2f7;border-radius:12px;margin:12px 0;line-height:1.5}.mp-help{font-size:14px;line-height:1.6}.mp-page label{display:grid;gap:7px;margin:12px 0;font-weight:600;min-width:0}.mp-page input:not([type=checkbox]),.mp-page select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:46px;border:1px solid #dfdcd5;border-radius:12px;padding:10px;background:white;color:#17263c;font:400 16px/1.4 sans-serif}.mp-page input[type=date]{appearance:none;-webkit-appearance:none;min-height:46px}.mp-page input[type=date]::-webkit-date-and-time-value{text-align:left}.mp-results{display:grid;gap:6px;max-height:280px;overflow:auto;overscroll-behavior:contain}.mp-results button{text-align:left}.mp-selected{background:#edf2f7;padding:10px;border-radius:8px;position:sticky;top:0}.mp-slot{padding:12px;border:1px solid #e5e0d8;border-radius:14px;margin-bottom:12px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.mp-slot label{margin:0}.mp-slot label:first-child{grid-column:1/-1}.mp-page .mp-check{display:flex;align-items:center;gap:12px;min-height:44px}.mp-check input{width:22px;height:22px;flex-shrink:0;accent-color:#c64c5b}.mp-buy-row{padding:12px 16px;border:1px solid #e5e0d8;border-radius:14px;margin:10px 0;background:white}.mp-buy-row label:last-child{display:flex;align-items:center;flex-wrap:wrap}.mp-buy-row input:not([type=checkbox]){width:130px}.mp-actions{align-items:stretch;flex-direction:column}.mp-page h2{overflow-wrap:anywhere}.mp-page{overflow-wrap:anywhere}
@media(min-width:900px){.mp-week-list{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-results{max-height:350px}}
@media(max-width:420px){.bottom-nav .nav-item{padding:8px 2px;font-size:11px}.mp-page{padding-left:12px;padding-right:12px}.mp-toolbar .mp-button{padding:8px 10px;font-size:14px}}

/* 19.38.3: compact plan only; forms keep their existing spacing. */
.mp-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mp-title h1{margin:0}.mp-more{position:relative;flex-shrink:0}.mp-more summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer;border-radius:12px;list-style:none;font-weight:700;letter-spacing:3px}.mp-more summary::-webkit-details-marker{display:none}.mp-more[open] summary{background:#edf2f7}.mp-more-panel{position:absolute;right:0;top:48px;z-index:5;min-width:210px;padding:8px;background:#fffefb;border:1px solid #dfdcd5;border-radius:14px;box-shadow:0 8px 25px #14294320;display:grid;gap:4px}.mp-more-panel .mp-button{text-align:left;border:0}.mp-page button:focus-visible,.mp-more summary:focus-visible{outline:3px solid #587baf;outline-offset:2px}
.mp-plan-toolbar{margin:8px 0;flex-wrap:nowrap}.mp-segments{display:flex;flex:1;max-width:330px;background:#fffefb;border:1px solid #dfdcd5;padding:3px;border-radius:13px}.mp-segments .mp-button{flex:1;border:0;padding:8px 12px;min-height:44px}.mp-segments .mp-button.active{background:#e5edf5;color:#142943;font-weight:700}.mp-week{margin:6px 0}.mp-week>.mp-button{border:0;background:transparent;width:44px;padding:0;font-size:26px;flex-shrink:0}.mp-week strong{font-size:15px}.mp-days{margin:8px 0 14px}.mp-days .mp-button{min-height:54px}.mp-day h2{padding:10px 16px;font-size:17px}.mp-meal{display:block;padding:6px 16px 10px}.mp-meal:last-child{border-bottom:0}.mp-meal-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.mp-meal-heading h3{margin:0;font:700 15px/1.4 sans-serif;color:#a33c50}.mp-button.mp-add{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent}.mp-add span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#fbe2e7;color:#a33c50;border-radius:9px;font:400 25px/1 sans-serif}.mp-dish{gap:0}.mp-button.mp-dish-name{display:grid;grid-template-columns:minmax(0,1fr) auto 12px;align-items:center;gap:8px;width:100%;min-height:44px;margin:0;padding:6px 0;text-align:left;font-size:16px;line-height:1.4}.mp-dish-title{min-width:0;overflow-wrap:anywhere}.mp-portions{font-size:14px;font-weight:400;color:#53637b;white-space:nowrap}.mp-chevron{font-size:22px;font-weight:400;color:#53637b}.mp-dish small{margin:0 0 4px;font-size:13px}.mp-empty-meal{margin:0 0 6px;color:#64748b;font-size:14px;line-height:1.5}.mp-shopping{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px}.mp-shopping svg{width:22px;height:22px;flex-shrink:0}.mp-page{padding-bottom:24px}
@media(max-width:380px){.mp-meal{padding-left:12px;padding-right:12px}.mp-button.mp-dish-name{gap:6px}.mp-portions{font-size:13px}.mp-plan-toolbar>.mp-button{padding:8px;font-size:14px}}

/* Dish actions are kept off the day list; touch targets stay at least 44px. */
.mp-quick{display:flex;gap:12px;align-items:flex-end;margin:20px 0}.mp-quick label{flex:1;min-width:0}.mp-quick input{width:100%;min-width:0;font-size:16px}.mp-quick button{min-height:48px;margin:0 0 2px}
.mp-pair,.mp-order{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mp-order{margin:20px 0}.mp-actions .mp-danger{color:#ae3447}.mp-button:disabled{opacity:.45;cursor:default}.mp-actions .mp-pair button{width:100%}
