/* Reference-inspired: white surfaces, cobalt actions, illustrated food panels. */
:root{--paper:#fff;--lime:#3657d6;--muted:#686b76;--line:#e9ebf0;color:#222633;background:#dce0e3}
body{background:#dce0e3}main{padding-top:14px}.app-shell{background:white;box-shadow:0 24px 80px #25355418}.desktop-brand p{color:#535c6b}.wordmark{color:#26355f}.wordmark span{color:#ff742b}.desktop-brand small{color:#5e6775}.brand-companion{background:#ffb900;border-radius:35px;width:270px;height:220px;animation:none}.brand-pill{color:#354fb5;background:#f4f6ff}.header-logo{color:#26355f}.header-logo b{color:#ff7528}.demo-chip{background:#f3f5fc;border-color:#e1e5f0;color:#586079}h1{font-size:32px;font-weight:750;letter-spacing:-1px;color:#1d2230}h2,h3{color:#222633}.eyebrow{color:#626c8a}.intro,.note{color:#646977}.primary{background:#3657d6;color:white;border-radius:19px;box-shadow:0 5px 15px #3657d61a}.primary:hover:not(:disabled){background:#2949c6;box-shadow:0 8px 22px #3657d629}.primary:active:not(:disabled){background:#243eb0}.outline-button{background:white;color:#344c9f;border-color:#dce2f2;border-radius:18px}.text-button{color:#3657c9}.icon-button{background:#eef2fc;color:#3657d6}.step-track i{background:#e8ecf8}.step-track i.done{background:#ffb300}.step-number{color:#646b7d}.store-tile{background:#f4f6fb;border-radius:23px}.store-tile.selected{background:#edf1ff;border-color:#3657d6}.selected .tick{background:#3657d6;border-color:#3657d6;color:white}.preference{background:var(--tile)!important;border-radius:23px!important}.preference.selected{border-color:#3657d6!important}.category-chip.selected,.budget-presets button.selected{background:#3657d6!important;border-color:#3657d6!important;color:white}.budget-presets button{min-height:43px}.settings-card,.family-person,.prep-session,.day-block,.catalog-product,.source-card,.city-choice{background:#fff;border:1px solid #e8ebf2!important;box-shadow:0 3px 18px #26355f06;border-radius:23px!important}.account-page input:not([type=checkbox]),.diet-fields select{background:#f7f8fc;border-color:#e2e6ef;border-radius:16px}.budget-number input,.person-row input{color:#263c90}.allergy-grid label,#map-filters label{background:#f1f4fb;color:#475271}.allergy-grid input,#map-filters input,.product input{accent-color:#3657d6}.cost-tile{background:#3657d6!important;color:white;border-radius:24px!important}.cost-tile .tile-label,.cost-tile small{color:#e0e7ff}.cost-line{background:#ffffff40}.cost-line i{background:#ffc21e}.basket-tile{background:#ffbb12!important;color:#352d16;border-radius:24px!important}.goal-badges span,.tag{background:#edf1fc;color:#405690;border-radius:10px}.demo-box,.budget-note,.pref-explanation{background:#f3f5fb;color:#5c647a}.safety-note{background:#fff5df;color:#705a2d}.over-budget{background:#fff0e4;color:#865128}.prep-option.selected{background:#f0f3ff!important;border-color:#3657d6!important}.product-icon{background:#f0f3fc}.product{border-color:#ecedf3}.store-disclosure{background:#f3f5fb;border-color:#e3e7f2}.store-disclosure summary{color:#35466e}.portion-info{background:#edf1fc}dialog{background:white}.welcome-art{position:relative;overflow:hidden;background:#ffb900;border-radius:27px;margin:0 -5px 27px;height:235px}.welcome-art img{width:100%;height:100%;object-fit:contain;padding-top:16px}.art-label{position:absolute;top:17px;left:18px;font-size:10px;letter-spacing:1.6px;color:#684b00;font-weight:700}.menu-hero{position:relative;overflow:hidden;border-radius:25px;background:#ff742b;height:160px;margin-bottom:25px}.menu-hero img{position:absolute;width:255px;height:180px;right:-35px;bottom:-15px}.menu-hero>span{position:absolute;top:30px;left:20px;font-size:23px;line-height:1.22;letter-spacing:-.6px;font-weight:750;color:white;max-width:195px}.day-summary{padding:14px;gap:15px}.day-image{width:88px;height:102px;border-radius:20px;flex-shrink:0;font-size:44px}.day-image img{width:100%;height:100%;object-fit:cover}.day-text{min-width:0}.day-text h3{font-size:16px;line-height:1.3}.day-meta{flex-wrap:wrap;gap:5px}.day-block:nth-of-type(3n) .day-image{background:#fff1bd!important}.day-block:nth-of-type(3n + 1) .day-image{background:#e3e9ff!important}.day-block:nth-of-type(3n + 2) .day-image{background:#ffe2d0!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#3657d6}
@media(max-width:380px){.day-image{width:62px;height:86px;font-size:35px}.menu-hero>span{font-size:20px;max-width:150px}.menu-hero img{right:-60px}.welcome-art{height:210px}}
/* Vivid food palette + recipe composer */
:root{--lime:#ff5b25;--paper:#fffefb;--line:#eae7df;color:#272620}body{background:#eeefe9}.app-shell{background:#fffefb}.primary{background:#ff5b25;color:#20140e;box-shadow:0 5px 16px #ff5b2522;font-weight:750;border-radius:18px}.primary:hover:not(:disabled){background:#ff723e;box-shadow:0 8px 20px #ff5b2533}.primary:active:not(:disabled){background:#f44b19}.outline-button{border-color:#deded4;color:#423b31;border-radius:18px}.text-button{color:#a63816}.header-logo{color:#272620}.header-logo b,.wordmark span{color:#ff343b}.wordmark{color:#272620}.brand-pill{background:#ffd000;color:#3b3000}.eyebrow{color:#766644}.icon-button{background:#fff0d4;color:#48351c}.cost-tile{background:#ffd000!important;color:#322a0a}.cost-tile .tile-label,.cost-tile small{color:#5e4f16}.basket-tile{background:#ff5b25!important;color:#20140e}.cost-line{background:#fff6d6}.cost-line i{background:#3a4531}.menu-hero{background:#ff343b}.menu-hero>span{color:#fff}.menu-hero img{filter:saturate(1.15)}.step-track i.done{background:#ff5b25}.store-tile.selected{border-color:#ff5b25;background:#fff5e7}.selected .tick{background:#ff5b25;border-color:#ff5b25;color:#20140e}.preference.selected{border-color:#ff5b25!important}.category-chip.selected,.budget-presets button.selected{background:#ffd000!important;border-color:#d9b300!important;color:#322a0a}.goal-badges span,.tag{background:#eeefd9;color:#4d5733}.prep-option.selected{background:#ffefba!important;border-color:#e3b52b!important}.allergy-grid input,#map-filters input,.product input{accent-color:#c44116}.budget-number input,.person-row input{color:#473523}.account-page input:not([type=checkbox]),.diet-fields select{background:#faf8f0}.demo-chip{background:#f3f2e9;color:#655f4d;border-color:#e0ddcf}.brand-companion{background:#ffd000}.text-button:hover{text-decoration:underline}.day-block:nth-of-type(3n) .day-image{background:#ffd000!important}.day-block:nth-of-type(3n + 1) .day-image{background:#ff8c70!important}.day-block:nth-of-type(3n + 2) .day-image{background:#a0b56b!important}.welcome-art{background:#ffd000}.builder-actions{display:grid;gap:8px}.builder-actions .primary,.builder-actions .outline-button{margin:0}.builder-total{display:grid;grid-template-columns:1fr auto;gap:7px;background:#ffd000;padding:22px;border-radius:24px;margin-top:20px;color:#342b08}.builder-total>b{font-size:23px}.builder-total small{grid-column:1/-1;line-height:1.5}.builder-day{margin-top:28px}.builder-day h2{font-size:20px}.builder-meal{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #ebe6dc;border-radius:24px;padding:12px;margin:10px 0}.builder-recipe{display:flex;align-items:center;gap:13px;border:0;background:none;text-align:left;flex:1;min-width:0;padding:0}.builder-recipe>span:last-child{display:grid;gap:5px;min-width:0}.builder-recipe b{font-size:14px;line-height:1.35}.builder-recipe small{font-size:11px;color:#756b5a}.dish-disc{display:grid;place-items:center;flex-shrink:0;width:65px;height:65px;font-size:35px;border-radius:50%;background:#ffd000;box-shadow:inset 0 0 0 5px #fff8d3}.builder-meal:nth-child(3n) .dish-disc{background:#ff8c70;box-shadow:inset 0 0 0 5px #ffe0d1}.builder-meal:nth-child(3n + 1) .dish-disc{background:#a0b56b;box-shadow:inset 0 0 0 5px #edf1de}.round-add{width:42px;height:42px;flex-shrink:0;border:0;border-radius:15px;background:#ff5b25;color:#261b10;font-size:25px;font-weight:600;transition:transform .2s}.round-add:hover{transform:rotate(-8deg)}.picker-label{display:block;font-size:13px;font-weight:600;margin-top:20px}.picker-input{width:100%;padding:15px;margin:10px 0;border:1px solid #dedbce;border-radius:17px;font:inherit;background:#faf9f2}.ingredient-filter{background:#f7f4e9;padding:15px;border-radius:18px;margin-bottom:15px}.ingredient-filter summary{cursor:pointer;font-size:14px;font-weight:600}.ingredient-filter .allergy-grid{max-height:230px;overflow:auto}.pick-card{background:#fff;border:1px solid #e8e1d2;border-radius:28px;padding:17px;margin:20px 0}.pick-art{display:grid;place-items:center;height:135px;background:#ffd000;border-radius:22px;font-size:80px;margin-bottom:16px}.pick-card:nth-child(3n) .pick-art{background:#ff5b25}.pick-card:nth-child(3n + 2) .pick-art{background:#a0b56b}.pick-card h3{font-size:19px;line-height:1.3}.pick-card p{margin:9px 0;font-size:13px}.pick-card>small{display:block;line-height:1.6;color:#716750}.pick-card details{margin:14px 0;font-size:13px;line-height:1.6}.pick-card summary{cursor:pointer;font-weight:600}.pick-card .primary{margin-top:15px}.builder-day:last-of-type{margin-bottom:25px}#edit-week{margin:0 0 18px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#9c3415}
@media(max-width:360px){.dish-disc{width:49px;height:49px;font-size:28px}.builder-meal{padding:10px;gap:6px}.round-add{width:36px;height:39px}.builder-recipe{gap:8px}}
/* Single navigation style: one circular selection, no stacked backgrounds. */
.bottom-nav{position:sticky;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:12px 8px max(12px,env(safe-area-inset-bottom));background:#fffffff5;backdrop-filter:blur(16px);border-top:1px solid #eeece5;border-radius:26px 26px 0 0;box-shadow:0 -6px 24px #30291606}
.bottom-nav[hidden]{display:none}
.bottom-nav button{border:0;background:transparent;color:#777469;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:70px;padding:0 1px;border-radius:18px;transition:color .18s;filter:none}
.bottom-nav .nav-icon{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:50%;background:transparent;transition:background .18s,transform .18s}
.bottom-nav svg{width:25px;height:25px}
.bottom-nav .nav-label{font:600 11px/1.2 'Golos Text',Arial,sans-serif;letter-spacing:-.15px;white-space:nowrap}
.bottom-nav button.active{color:#28251c;background:transparent}
.bottom-nav button.active .nav-icon{background:#ffd000;box-shadow:0 3px 9px #d9ad001c}
.bottom-nav button:hover:not(:disabled){filter:none;color:#28251c}
.bottom-nav button:not(.active):hover .nav-icon{background:#f4f3ed}
.bottom-nav button:active .nav-icon{transform:scale(.92)}
.bottom-nav button:focus-visible{outline:2px solid #8b6516;outline-offset:1px}
@media(max-width:360px){.bottom-nav{padding-left:4px;padding-right:4px}.bottom-nav .nav-label{font-size:10px;letter-spacing:-.25px}.bottom-nav .nav-icon{width:43px;height:43px}}
@media(prefers-reduced-motion:reduce){.bottom-nav button,.bottom-nav .nav-icon{transition:none}}
/* Family cards: clear rows, contained controls, collapsible restrictions. */
.family-person{padding:20px!important;margin:18px 0!important;overflow:hidden}
.family-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.family-heading .avatar{width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#ffd000;color:#3c320c;font-weight:700}.family-heading h2{font-size:17px;margin:0 0 4px;letter-spacing:-.3px}.family-heading small{font-size:12px;color:#827b6f}
.calorie-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid #efede6}.calorie-setting>label{font-size:14px;font-weight:600;min-width:0}.calorie-setting label small{display:block;font-size:12px;font-weight:400;color:#827b6f;margin-top:5px}.calorie-control{display:flex;align-items:center;gap:5px;border:1px solid #e3dfd4;border-radius:15px;padding:5px 12px;background:#faf9f5;flex-shrink:0}.calorie-control input{width:70px;min-width:0;border:0;background:transparent;padding:8px 0;font-size:17px;font-weight:600;color:#332d23;appearance:textfield;-moz-appearance:textfield}.calorie-control input::-webkit-inner-spin-button{appearance:none}.calorie-control>span{font-size:12px;color:#83786a}
.family-person .pregnancy-check{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;margin:0;font-size:13px;color:#595449}.family-person .pregnancy-check input{appearance:none;position:relative;width:40px;height:24px;flex-shrink:0;margin:0;border:1px solid #d7d3c9;border-radius:20px;background:#e6e3db;cursor:pointer}.family-person .pregnancy-check input::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .18s}.family-person .pregnancy-check input:checked{background:#ffd000;border-color:#d8b100}.family-person .pregnancy-check input:checked::after{transform:translateX(16px)}
.family-person .diet-fields{padding:0}.family-person .diet-fields>label{font-size:13px;font-weight:600;margin:0 0 8px}.family-person .diet-fields select{margin:0 0 18px;padding:13px 12px;width:100%;font-size:14px;border-radius:14px;background:#faf9f5;border:1px solid #e3dfd4;color:#332d23}.restriction-section{border-top:1px solid #efede6}.restriction-section>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 0;cursor:pointer;list-style:none}.restriction-section>summary::-webkit-details-marker{display:none}.restriction-section summary>span:first-child{min-width:0}.restriction-section summary b{font-size:14px;font-weight:600;display:block}.restriction-section summary small{display:block;font-size:12px;font-weight:400;color:#827b6f;line-height:1.5;margin-top:5px;overflow-wrap:anywhere}.restriction-chevron{color:#756c5e;flex-shrink:0;transition:transform .18s}.restriction-section[open] .restriction-chevron{transform:rotate(180deg)}.family-person .restriction-section fieldset{margin:0;padding:0 0 15px;border:0}.restriction-hint{font-size:12px;line-height:1.55;color:#827b6f;margin:0 0 12px}.family-person .allergy-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.family-person .allergy-grid label{display:flex;align-items:flex-start;gap:7px;padding:11px 9px;min-height:43px;border-radius:12px;border:1px solid #e9e5dc;background:#faf9f5;color:#595246;font-size:12px;line-height:1.4;min-width:0}.family-person .allergy-grid label:has(input:checked){background:#fff5c9;border-color:#d5af28;color:#473b13}.family-person .allergy-grid input{width:16px;height:16px;flex-shrink:0;margin:0;accent-color:#8e6c00}.family-person .allergy-grid span{overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:360px){.family-person{padding:16px!important}.calorie-control{padding:4px 8px}.calorie-control input{width:60px}.family-person .allergy-grid{grid-template-columns:1fr}}
/* Cooking and shopping: shared card rhythm, clearer summaries. */
.cooking-page h1,.shopping-page h1{font-size:30px}.cooking-hero{display:flex;position:relative;align-items:center;justify-content:space-between;gap:12px;padding:24px 20px;background:#ffd000;border-radius:27px;color:#332b0b}.cooking-hero>div{position:relative;z-index:1}.cooking-hero span{font-size:12px}.cooking-hero h2{font-size:24px;margin:8px 0;color:inherit}.cooking-hero p{font-size:12px;line-height:1.5;margin:0 0 17px;max-width:215px}.cooking-hero button{background:#fff;border:0;padding:11px 14px;border-radius:14px;font-size:12px;font-weight:600;color:#463b19}.hero-utensil{width:72px;height:72px;background:#fff4b3;border-radius:50%;display:grid;place-items:center;flex-shrink:0;transform:rotate(-12deg)}.hero-utensil svg{width:39px;height:39px;color:#6b5111}.cooking-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0 30px;border:1px solid #eee9de;border-radius:20px;padding:16px 0;background:white}.cooking-stats>div{text-align:center;padding:0 6px;display:grid;gap:6px}.cooking-stats>div+div{border-left:1px solid #eee9de}.cooking-stats b{font-size:23px;font-weight:700;color:#342e22}.cooking-stats span{font-size:10px;line-height:1.4;color:#807563}.section-heading{font-size:20px;margin-bottom:16px}.cook-session{border:1px solid #e9e5db;background:white;border-radius:25px;padding:17px;margin-bottom:16px}.cook-session-heading{display:flex;align-items:center;gap:11px;margin-bottom:14px}.cook-date{width:43px;height:46px;display:grid;place-items:center;background:#ff5b25;color:#2b190e;border-radius:14px;font-weight:700;font-size:13px;flex-shrink:0}.cook-session-heading h2{font-size:17px;margin:0 0 5px}.cook-session-heading small{font-size:11px;color:#817460}.session-index{margin-left:auto;color:#c7bdab;font-size:20px;font-weight:600}.cook-dish{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:0;border-top:1px solid #f0ece3;background:white;padding:15px 0}.cook-dish:last-child{padding-bottom:0}.cook-dish .dish-disc{width:52px;height:52px;font-size:28px}.cook-dish-text{flex:1;min-width:0;display:grid;gap:6px}.cook-dish-text>b{font-size:14px;font-weight:600;line-height:1.35}.cook-dish-text>small{font-size:11px;color:#837763;line-height:1.45}.cook-days{font-size:10px;color:#675a41}.cook-arrow{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#f4f0e7;color:#685b44;flex-shrink:0}.cook-dish:hover .cook-arrow{background:#ffd000}.trip-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:#f1efe8;border-radius:18px;padding:5px;margin-bottom:14px}.trip-selector button{border:0;min-width:0;border-radius:14px;background:transparent;padding:12px 4px;font-size:11px;font-weight:600;line-height:1.35;color:#786e5b}.trip-selector button.selected{background:#ffd000;color:#3a300c;box-shadow:0 2px 5px #5640000b}.shopping-explainer{margin:14px 0;color:#736853}.shopping-explainer summary{font-size:12px;cursor:pointer}.shopping-explainer .note{margin-top:10px}.shopping-page #open-catalog{font-size:12px;min-height:42px;margin:0 0 18px;border-radius:14px}.shopping-summary{display:grid;grid-template-columns:1fr auto;gap:17px;background:#fff0e5;border:1px solid #ffe3ce;border-radius:24px;padding:21px;margin-bottom:24px}.shopping-summary>div:first-child{display:grid;gap:6px}.shopping-summary span{font-size:11px;color:#816148}.shopping-summary strong{font-size:29px;font-weight:750;color:#492e1c;letter-spacing:-1px}.shopping-summary small{font-size:10px;color:#8c715d}.shopping-counter{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:7px}.shopping-counter>b{font-size:24px;color:#583c28}.shopping-counter b small{font-size:16px}.shopping-summary progress{grid-column:1/-1;width:100%;height:6px;border:0;border-radius:6px;overflow:hidden;accent-color:#ff5b25;background:#f3d9c4}.shopping-summary progress::-webkit-progress-bar{background:#f3d9c4;border-radius:6px}.shopping-summary progress::-webkit-progress-value{background:#ff5b25;border-radius:6px}.shopping-summary progress::-moz-progress-bar{background:#ff5b25;border-radius:6px}.shopping-page .list-store{border:1px solid #e9e5db;border-radius:24px;padding:18px 14px;margin:0 0 17px;background:white}.shopping-store-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 3px 13px}.shopping-store-heading h2{font-size:17px;margin:0}.shopping-store-heading>span{font-size:13px;font-weight:600;color:#786849}.shopping-page .product{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;padding:15px 2px;border-top:1px solid #f0ece3;position:relative}.shopping-page .product-icon{width:34px;height:38px;font-size:22px;border-radius:12px;background:#faf4e5}.shopping-page .product-name{min-width:0;padding:0}.shopping-page .product-name b{font-size:13px;line-height:1.4;display:block;font-weight:600}.shopping-page .product-name small{font-size:10px;line-height:1.65;display:block;margin-top:5px;color:#867b69}.shopping-page .product-price{grid-column:2;font-size:13px;color:#514331;font-weight:600}.shopping-page .product input{grid-column:3;grid-row:1 / span 2;position:static;width:22px;height:22px;margin:0;accent-color:#8e6c00;opacity:1;cursor:pointer}.shopping-page .product.is-bought .product-name b{text-decoration:line-through;color:#968e80}.shopping-page .product.is-bought .product-icon{opacity:.5}.shopping-page #export{background:#ff5b25;color:#2c1a0e;border:0;font-weight:700;min-height:52px;border-radius:18px}.shopping-page .offer-details{margin-left:44px;font-size:11px}
@media(max-width:360px){.hero-utensil{width:48px;height:48px}.hero-utensil svg{width:30px;height:30px}.cooking-hero{padding:20px 16px}.cooking-hero h2{font-size:21px}.cook-session{padding:15px 12px}.cook-dish{gap:8px}.cook-dish .dish-disc{width:43px;height:43px;font-size:24px}.trip-selector button{font-size:10px}.shopping-summary{padding:18px 15px}}

.food-library-link{display:block;text-align:center;text-decoration:none;margin:18px 0;}
