@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap";:root{color:#123c31;font-synthesis:none;--bg:#f7f3e8;--surface:#fffdf7;--ink:#123c31;--muted:#617168;--border:#d9d8c9;--soft-border:#e7e3d8;--accent:#d92d26;--accent-dark:#ae1f1a;--sage:#dfe8dd;--yellow:#f6e8a6;--ring:#185d4b;--radius:12px;--shadow:0 16px 44px #123c3114;background:#f7f3e8;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:0;min-height:100dvh;margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer;touch-action:manipulation}button:disabled,select:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--ring);outline-offset:3px}svg{stroke-width:1.8px;width:18px;height:18px}h1,h2,h3,p{margin-top:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--ink);color:#fff;border-radius:8px;padding:12px 16px;position:fixed;top:8px;left:8px;transform:translateY(-140%)}.skip-link:focus{transform:none}.loading-screen{place-items:center;min-height:100dvh;display:grid}.loading-screen span{border:3px solid var(--sage);border-top-color:var(--ink);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.site-header{border-bottom:1px solid var(--border);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf7e6;grid-template-columns:minmax(205px,1fr) auto minmax(205px,1fr);align-items:stretch;height:68px;padding:0 28px;display:grid;position:sticky;top:0}.brand{width:fit-content;color:var(--ink);align-items:center;gap:9px;font:600 28px/1 Newsreader,serif;text-decoration:none;display:inline-flex}.brand svg{width:22px;height:22px;color:var(--accent)}.site-header nav{align-items:stretch;gap:34px;display:flex}.site-header nav a{color:#263a34;background:0 0;border:0;align-items:center;padding:0 3px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.site-header nav a:after{content:"";background:var(--accent);height:3px;transition:transform .18s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-header nav a.active:after{transform:scaleX(1)}.site-header nav a.needs-attention{padding-right:12px}.mobile-navigation{display:none!important}.nav-attention-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:17px;right:0;box-shadow:0 0 0 3px #fffdf7}.nav-short{display:none}.header-meta{justify-self:end;align-items:center;gap:15px;display:flex}.catalog-state{color:#365448;white-space:nowrap;background:#f0f5ed;border:1px solid #cbd7c8;border-radius:999px;align-items:center;gap:5px;min-height:32px;padding:0 10px;font-size:11px;display:inline-flex}.catalog-state svg{width:14px;height:14px;color:var(--accent)}.catalog-state b{font-variant-numeric:tabular-nums}.save-state{color:var(--ink);align-items:center;gap:6px;font-size:14px;display:inline-flex}.save-state svg{width:17px;height:17px}.save-state.saving{color:var(--muted)}.user-avatar{border:1px solid var(--ink);border-radius:50%;place-items:center;width:40px;height:40px;font-size:12px;display:grid}.icon-button{width:44px;height:44px;color:var(--ink);background:0 0;border:0;border-radius:50%;place-items:center;transition:background .18s;display:inline-grid}.icon-button:hover{background:var(--sage)}.equipment-setup-banner{color:#594910;background:#fff8dc;border:1px solid #dcc66f;border-radius:10px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;width:min(1444px,100% - 56px);min-height:58px;margin:14px auto 0;padding:10px 14px;display:grid}.equipment-setup-banner>svg{background:#f5e49f;border-radius:9px;width:36px;height:36px;padding:8px}.equipment-setup-banner>div{gap:2px;display:grid}.equipment-setup-banner strong{font-size:13px}.equipment-setup-banner span{font-size:11px;line-height:1.4}.equipment-setup-banner button{color:#594910;background:0 0;border:1px solid #9f8427;border-radius:8px;align-items:center;gap:7px;min-height:42px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.equipment-setup-banner button:hover{background:#f5e49f}.equipment-setup-banner button svg{width:16px;height:16px}.app-main{max-width:1500px;margin:0 auto;padding:40px 28px 56px}.page-intro{justify-content:space-between;align-items:end;gap:32px;margin-bottom:26px;display:flex}.page-intro h1{letter-spacing:-.03em;max-width:760px;margin-bottom:12px;font:500 clamp(44px,4.5vw,68px)/.98 Newsreader,serif}.page-intro p{color:#354e45;margin-bottom:0;font-size:clamp(18px,1.7vw,23px)}.intro-actions{align-items:center;gap:12px;padding-bottom:3px;display:flex}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 18px;font-weight:700;transition:background .18s,border-color .18s;display:inline-flex}.primary-button:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}.portion-control{background:var(--surface);border:1px solid #cfcbbf;border-radius:9px;align-items:center;gap:8px;min-height:48px;padding-left:14px;display:flex}.portion-control select{min-height:46px;color:var(--ink);outline-offset:0;background:0 0;border:0;padding:0 12px 0 0}.equipment-week-warning{color:#594910;background:#fff9e6;border:1px solid #d7c999;border-radius:10px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;margin:-8px 0 22px;padding:13px 14px;display:grid}.equipment-week-warning>svg{background:#f5e7ae;border-radius:9px;width:36px;height:36px;padding:8px}.equipment-week-warning>div{gap:2px;display:grid}.equipment-week-warning strong{font-size:12px}.equipment-week-warning span{font-size:11px;line-height:1.4}.equipment-week-warning button{background:var(--surface);color:#594910;border:1px solid #a58d3e;border-radius:8px;min-height:42px;padding:0 12px;font-size:11px;font-weight:800}.equipment-week-warning button:hover{background:#f5e7ae}.kitchen-page{max-width:1180px;margin:0 auto}.kitchen-hero{min-height:230px;box-shadow:var(--shadow);background:linear-gradient(120deg,#f8fbf5,#e7f0e3);border:1px solid #c8d6c5;border-radius:15px;grid-template-columns:58px minmax(0,1fr) auto;align-items:start;gap:20px;padding:34px;display:grid}.kitchen-hero-icon{background:var(--ink);color:#fff;border-radius:14px;place-items:center;width:58px;height:58px;display:grid}.kitchen-hero-icon svg{width:27px;height:27px}.kitchen-hero h1{letter-spacing:-.04em;margin:7px 0 12px;font:600 clamp(48px,6vw,72px)/.92 Newsreader,serif}.kitchen-hero p{color:#385147;max-width:720px;margin:0;font-size:17px;line-height:1.55}.kitchen-profile-status{color:#665414;white-space:nowrap;background:#fff8dc;border:1px solid #d2ba63;border-radius:999px;align-items:center;gap:7px;min-height:38px;padding:0 11px;font-size:11px;font-weight:800;display:inline-flex}.kitchen-profile-status.ready{color:#315344;background:#f0f6ed;border-color:#a9c0a5}.kitchen-profile-status svg{width:15px;height:15px}.kitchen-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.kitchen-impact-grid article{border:1px solid var(--border);background:var(--surface);border-radius:11px;align-items:flex-start;gap:13px;min-height:104px;padding:18px;display:flex}.kitchen-impact-grid article>svg{background:var(--sage);width:38px;height:38px;color:var(--ink);border-radius:9px;flex:none;padding:8px}.kitchen-impact-grid h2{margin:1px 0 4px;font:600 20px/1.15 Newsreader,serif}.kitchen-impact-grid p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.kitchen-equipment-catalog{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:26px}.kitchen-catalog-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.kitchen-catalog-heading h2{margin:5px 0 4px;font:600 31px/1.05 Newsreader,serif}.kitchen-catalog-heading p{color:var(--muted);margin:0;font-size:12px}.kitchen-catalog-heading>strong{background:var(--sage);color:#315344;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;min-height:36px;padding:0 11px;font-size:11px;display:inline-flex}.kitchen-equipment-toolbar{background:#f5f8f2;border:1px solid #d8ded4;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:22px 0;padding:12px;display:flex}.kitchen-equipment-toolbar>label{background:var(--surface);border:1px solid #b9c4bd;border-radius:8px;flex:1;align-items:center;gap:8px;min-height:46px;padding:0 12px;display:flex}.kitchen-equipment-toolbar>label:focus-within{border-color:var(--ink);box-shadow:0 0 0 2px #dbe8df}.kitchen-equipment-toolbar label svg{width:17px;color:var(--muted)}.kitchen-equipment-toolbar input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.kitchen-equipment-toolbar>div{gap:8px;display:flex}.kitchen-equipment-toolbar button{background:var(--surface);min-height:44px;color:var(--ink);border:1px solid #aebfac;border-radius:8px;padding:0 12px;font-size:11px;font-weight:800}.kitchen-equipment-toolbar button:hover:not(:disabled){background:var(--sage)}.kitchen-equipment-groups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.kitchen-equipment-groups fieldset{border:1px solid var(--soft-border);background:#fffefa;border-radius:11px;margin:0;padding:16px}.kitchen-equipment-groups legend{color:#496056;letter-spacing:.04em;text-transform:uppercase;padding:0 5px;font-size:11px;font-weight:800}.kitchen-equipment-groups fieldset>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.kitchen-equipment-groups label{border:1px solid var(--soft-border);background:var(--surface);cursor:pointer;border-radius:8px;grid-template-columns:20px minmax(0,1fr) 17px;align-items:center;gap:8px;min-height:62px;padding:8px 9px;transition:border-color .16s,background .16s;display:grid}.kitchen-equipment-groups label:hover{background:#f3f7f0;border-color:#aebfac}.kitchen-equipment-groups label.selected{background:#edf5eb;border-color:#799b86}.kitchen-equipment-groups input{width:19px;height:19px;accent-color:var(--ink);margin:0}.kitchen-equipment-groups label>span{gap:2px;min-width:0;display:grid}.kitchen-equipment-groups b{font-size:12px;line-height:1.2}.kitchen-equipment-groups small{color:var(--muted);font-size:10px;line-height:1.3}.kitchen-equipment-groups label>svg{opacity:0;color:#2d634b;width:16px;height:16px}.kitchen-equipment-groups label.selected>svg{opacity:1}.kitchen-save-bar{z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fbf5f7;border:1px solid #aac1a7;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;min-height:76px;margin:18px 0 0;padding:12px 14px;display:flex;position:sticky;bottom:16px;box-shadow:0 14px 38px #123c3126}.kitchen-save-bar.pending{background:#fff8dcf7;border-color:#d3bd70}.kitchen-save-bar.saved{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;position:static}.kitchen-save-bar>div{align-items:center;gap:10px;display:flex}.kitchen-save-bar>div>svg{background:var(--sage);border-radius:9px;flex:none;width:34px;height:34px;padding:8px}.kitchen-save-bar.pending>div>svg{background:#f5e49f}.kitchen-save-bar span{gap:2px;display:grid}.kitchen-save-bar b{font-size:12px}.kitchen-save-bar small{color:var(--muted);font-size:10px;line-height:1.4}.equipment-loading{min-height:240px;color:var(--muted);place-items:center;display:grid}.single-meal-page{max-width:1180px;margin:0 auto}.single-meal-hero{background:linear-gradient(120deg,#f7faf4,#e6f1e2);border:1px solid #b9cdb4;border-radius:14px;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:18px;min-height:164px;margin-bottom:18px;padding:28px 30px;display:grid}.single-meal-hero-icon{background:var(--ink);color:#fff;border-radius:13px;place-items:center;width:56px;height:56px;display:grid}.single-meal-hero-icon svg{width:26px;height:26px}.single-meal-hero h1{letter-spacing:-.035em;margin:4px 0 7px;font:600 clamp(44px,6vw,68px)/.95 Newsreader,serif}.single-meal-hero p{color:#385147;max-width:680px;margin:0;font-size:16px;line-height:1.5}.single-meal-layout{grid-template-columns:minmax(300px,.75fr) minmax(420px,1.25fr);align-items:start;gap:18px;display:grid}.single-meal-form,.single-meal-result{border:1px solid var(--border);background:var(--surface);border-radius:13px}.single-meal-form{padding:22px;position:sticky;top:86px}.single-meal-form h2{margin:4px 0 18px;font:600 28px/1.05 Newsreader,serif}.single-meal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.single-meal-form-grid label{color:#263c35;gap:6px;font-size:11px;font-weight:800;display:grid}.single-meal-form-grid label>span{align-items:center;gap:6px;display:flex}.single-meal-form-grid svg{width:15px;height:15px;color:var(--accent)}.single-meal-form-grid select{width:100%;min-width:0;min-height:46px;color:var(--ink);background:#fffefa;border:1px solid #9eb3a2;border-radius:8px;padding:0 34px 0 11px}.single-meal-form-summary{border-top:1px solid var(--soft-border);border-bottom:1px solid var(--soft-border);gap:3px;margin:17px 0;padding:14px 0;display:grid}.single-meal-form-summary strong{font-size:14px}.single-meal-form-summary span{color:var(--muted);font-size:12px}.single-meal-submit{justify-content:center;width:100%;min-height:48px}.single-meal-error{color:#9d2420;background:#fff0ed;border-radius:7px;margin:0 0 12px;padding:10px;font-size:12px;font-weight:700;line-height:1.4}.single-meal-result{min-height:360px;padding:22px}.single-meal-recipe-card{border-bottom:1px solid var(--soft-border);grid-template-columns:180px minmax(0,1fr);gap:18px;padding-bottom:20px;display:grid}.single-meal-recipe-card img{object-fit:cover;background:var(--sage);border-radius:10px;width:180px;height:135px}.single-meal-recipe-card h2{margin:5px 0 6px;font:600 29px/1.05 Newsreader,serif}.single-meal-recipe-card p{color:var(--muted);margin:0 0 13px;font-size:12px}.single-meal-recipe-card button{min-height:44px;padding:0 13px}.single-meal-shopping-heading{align-items:center;gap:11px;margin:20px 0 14px;display:flex}.single-meal-shopping-heading>span{background:var(--sage);border-radius:9px;place-items:center;width:40px;height:40px;display:grid}.single-meal-shopping-heading svg{width:19px;height:19px}.single-meal-shopping-heading h2{margin:0 0 2px;font:600 22px/1.1 Newsreader,serif}.single-meal-shopping-heading p{color:var(--muted);margin:0;font-size:11px}.single-meal-shopping{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;display:grid}.single-meal-shopping section{border:1px solid var(--soft-border);background:#fffefa;border-radius:9px;padding:12px}.single-meal-shopping h3{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin:0 0 7px;font-size:10px}.single-meal-shopping ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.single-meal-shopping li{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;display:grid}.single-meal-shopping li button{color:#0000;background:#fff;border:1px solid #aebfac;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.single-meal-shopping li button.checked{background:var(--ink);color:#fff}.single-meal-shopping li button svg{width:16px;height:16px}.single-meal-shopping li>span{justify-content:space-between;gap:8px;min-width:0;display:flex}.single-meal-shopping li strong{font-size:12px;font-weight:600}.single-meal-shopping li small{color:var(--muted);white-space:nowrap;font-size:10px}.single-meal-empty{min-height:310px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:9px;display:grid}.single-meal-empty>span:not(.loading-dot){background:var(--sage);width:52px;height:52px;color:var(--ink);border-radius:12px;place-items:center;display:grid}.single-meal-empty svg{width:24px;height:24px}.single-meal-empty h2{color:var(--ink);margin:0;font:600 25px/1.1 Newsreader,serif}.single-meal-empty p{max-width:360px;margin:0;font-size:12px;line-height:1.5}.single-meal-loading{min-height:320px;color:var(--muted);place-items:center;display:grid}.menu-preferences{border:1px solid var(--border);background:#fffdf7b8;border-radius:10px;margin:-4px 0 24px;padding:16px 18px}.preference-heading,.preference-heading>div,.preference-fields{align-items:center;display:flex}.preference-heading{justify-content:space-between;gap:24px}.preference-heading>div{gap:10px}.preference-heading>div>svg{width:23px;height:23px;color:var(--accent)}.preference-heading h2{margin:0 0 2px;font:600 21px/1.1 Newsreader,serif}.preference-heading p{color:var(--muted);margin:0;font-size:12px}.healthy-toggle{cursor:pointer;align-items:center;gap:9px;min-height:44px;display:inline-flex}.healthy-toggle input{opacity:0;pointer-events:none;position:absolute}.healthy-toggle>.healthy-switch{background:#e7e9e3;border:1px solid #9caaa1;border-radius:999px;flex:none;width:42px;height:24px;padding:3px;transition:background .18s,border-color .18s}.healthy-toggle>.healthy-switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;display:block;box-shadow:0 1px 3px #123c3147}.healthy-toggle input:checked+.healthy-switch{border-color:var(--ink);background:var(--ink)}.healthy-toggle input:checked+.healthy-switch:after{transform:translate(18px)}.healthy-toggle input:focus-visible+.healthy-switch{outline:3px solid var(--ring);outline-offset:3px}.healthy-toggle b{font-size:13px}.healthy-toggle-copy{gap:1px;display:grid}.healthy-toggle-copy small{color:var(--muted);font-size:9px;font-weight:500;line-height:1.3}.preference-fields{flex-wrap:wrap;gap:12px 18px;margin-top:13px}.profile-change-state{color:#365448;background:#f2f7ef;border:1px solid #cad7c7;border-radius:7px;margin:12px 0 0;padding:8px 10px;font-size:10px;font-weight:700;line-height:1.4}.profile-change-state.pending{color:#655517;background:#fff8dc;border-color:#d3bd70}.diet-field{align-items:center;gap:9px;display:flex}.diet-field>span{align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.diet-field>span svg{color:#486157;width:15px;height:15px}.diet-field select{background:var(--surface);min-height:44px;color:var(--ink);border:1px solid #b9c4bd;border-radius:8px;padding:0 34px 0 11px}.simple-check{color:#263c35;cursor:pointer;align-items:center;gap:8px;min-height:44px;font-size:12px;font-weight:700;display:inline-flex}.simple-check input{width:19px;height:19px;accent-color:var(--ink)}.allergy-options,.equipment-options{position:relative}.allergy-options summary,.equipment-options summary{background:var(--surface);cursor:pointer;border:1px solid #b9c4bd;border-radius:8px;align-items:center;gap:7px;min-height:44px;padding:0 12px;font-size:12px;font-weight:700;list-style:none;display:inline-flex}.allergy-options summary::-webkit-details-marker{display:none}.equipment-options summary::-webkit-details-marker{display:none}.allergy-options summary svg,.equipment-options summary svg{width:16px}.allergy-options fieldset{z-index:15;border:1px solid var(--border);background:var(--surface);width:300px;box-shadow:var(--shadow);border-radius:9px;grid-template-columns:repeat(2,1fr);gap:6px;margin:0;padding:12px;display:grid;position:absolute;top:calc(100% + 7px);left:0}.allergy-options fieldset label{cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-height:40px;padding:0 8px;font-size:12px;display:flex}.allergy-options fieldset label:hover{background:var(--sage)}.allergy-options fieldset input{width:18px;height:18px;accent-color:var(--ink)}.equipment-picker{z-index:16;border:1px solid var(--border);background:var(--surface);width:min(720px,100vw - 40px);box-shadow:var(--shadow);border-radius:9px;padding:13px;position:absolute;top:calc(100% + 7px);right:0}.equipment-picker>p{color:var(--muted);margin:0 0 10px;font-size:11px;line-height:1.45}.equipment-picker-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.equipment-picker-toolbar>label{border:1px solid var(--border);flex:1;min-height:42px;padding:0 10px}.equipment-picker-toolbar>label:focus-within{border-color:var(--ink);box-shadow:0 0 0 2px #dbe8df}.equipment-picker-toolbar svg{width:16px;color:var(--muted)}.equipment-picker-toolbar input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.equipment-picker-toolbar>div{gap:6px;display:flex}.equipment-picker-toolbar button{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;border-radius:7px;padding:0 10px;font-size:11px;font-weight:700}.equipment-picker-toolbar button:hover:not(:disabled){background:var(--sage)}.equipment-picker-toolbar button:disabled{opacity:.45;cursor:default}.equipment-groups{scrollbar-gutter:stable;gap:14px;max-height:min(54vh,520px);padding-right:4px;display:grid;overflow-y:auto}.equipment-groups fieldset{border:0;margin:0;padding:0}.equipment-groups legend{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:800}.equipment-groups fieldset>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.equipment-picker label{border:1px solid var(--soft-border);cursor:pointer;border-radius:7px;align-items:center;gap:9px;min-height:52px;padding:7px 9px;display:flex}.equipment-picker label:hover{background:var(--sage)}.equipment-picker input[type=checkbox]{width:18px;height:18px;accent-color:var(--ink);flex:none}.equipment-picker label>span{gap:1px;display:grid}.equipment-picker b{font-size:12px}.equipment-picker small{color:var(--muted);font-size:11px;line-height:1.25}.equipment-empty{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:8px;margin:12px 0;padding:18px}.profile-note{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.45}.planning-editor{margin-bottom:22px}.planning-summary{background:linear-gradient(110deg,#f7faf4,#edf4e9);border:1px solid #cbd7c8;border-radius:12px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:104px;padding:17px 18px;display:grid}.planning-summary-icon{background:var(--ink);color:#fff;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.planning-summary-icon svg{width:21px;height:21px}.planning-summary h2{margin:2px 0 3px;font:600 23px/1.1 Newsreader,serif}.planning-summary p{color:#496056;margin:0;font-size:13px;line-height:1.45}.planning-summary-copy{min-width:0}.stale-week{flex-wrap:wrap;align-items:center;gap:5px 8px;width:fit-content;display:flex;margin-top:8px!important}.stale-week strong{color:#71520b;text-transform:uppercase;letter-spacing:.05em;background:#fff0cf;border-radius:999px;padding:3px 7px;font-size:10px}.stale-week span{color:#674f19;font-size:11px;font-weight:700}.upcoming-week{flex-wrap:wrap;align-items:center;gap:5px 8px;width:fit-content;display:flex;margin-top:8px!important}.upcoming-week strong{color:#28513f;text-transform:uppercase;letter-spacing:.05em;background:#dcebd8;border-radius:999px;padding:3px 7px;font-size:10px}.upcoming-week span{color:#365d4d;font-size:11px;font-weight:700}.planning-actions{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:8px;display:flex}.planning-actions button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:46px;padding:0 13px;font-size:12px;font-weight:800;display:inline-flex}.planning-actions button svg{width:16px;height:16px}.regenerate-week-button{border:1px solid var(--accent);background:var(--accent);color:#fff}.regenerate-week-button:hover:not(:disabled){border-color:var(--accent-dark);background:var(--accent-dark)}.history-toggle{background:var(--surface);color:var(--ink);border:1px solid #aebfac}.history-toggle:hover:not(:disabled){background:var(--sage)}.single-meal-shortcut{color:var(--ink);background:#eff6eb;border:1px solid #769586}.single-meal-shortcut:hover:not(:disabled){border-color:var(--ink);background:var(--sage)}.planning-toggle{background:var(--surface);color:var(--ink);border:1px solid #aebfac}.planning-toggle:hover:not(:disabled){background:var(--sage)}.planning-toggle svg{transition:transform .18s}.planning-editor.open .planning-toggle svg{transform:rotate(180deg)}#planning-controls{padding-top:20px}#planning-controls .menu-preferences{margin-top:0}.week-history{background:var(--surface);border:1px solid #cbd7c8;border-radius:12px;margin-top:12px;padding:18px}.week-history-heading{align-items:flex-start;gap:12px;display:flex}.week-history-heading>span{background:var(--sage);width:40px;height:40px;color:var(--ink);border-radius:9px;flex:none;place-items:center;display:grid}.week-history-heading svg{width:19px;height:19px}.week-history-heading h2{margin:0 0 3px;font:600 23px/1.1 Newsreader,serif}.week-history-heading p,.week-history-state{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.week-history-state{align-items:center;gap:8px;min-height:48px;margin-top:14px;display:flex}.week-history ul{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.week-history li{border:1px solid var(--soft-border);background:#fffefa;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:11px 12px;display:flex}.week-history li>div{gap:2px;min-width:0;display:grid}.week-history li strong{font-size:14px}.week-history li span{color:#4d6259;font-size:11px;font-weight:700}.week-history li small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.week-history li button{background:var(--surface);min-height:44px;color:var(--ink);border:1px solid #aebfac;border-radius:8px;flex:none;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.week-history li button:hover:not(:disabled){background:var(--sage)}.week-history li button svg{width:16px;height:16px}.week-history-error{color:#9d2420;margin:14px 0 0;font-size:12px;font-weight:700}.regeneration-dialog{background:var(--surface);width:min(590px,100% - 32px);color:var(--ink);border:0;border-radius:15px;padding:0;box-shadow:0 24px 80px #12282152}.regeneration-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c201a94}.regeneration-dialog-card{padding:34px;position:relative}.regeneration-dialog-icon{background:var(--sage);width:48px;height:48px;color:var(--ink);border-radius:12px;place-items:center;margin-bottom:17px;display:grid}.regeneration-dialog-icon svg{width:23px;height:23px}.regeneration-dialog h2{margin:0 48px 9px 0;font:600 31px/1.08 Newsreader,serif}.regeneration-dialog p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.regeneration-dialog p>strong{color:var(--ink)}.regeneration-week-choice{border:0;margin:22px 0 16px;padding:0}.regeneration-week-choice legend{color:#425b51;margin-bottom:8px;font-size:12px;font-weight:800}.regeneration-week-choice>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.regeneration-week-choice label{cursor:pointer;background:#fffefa;border:1px solid #c7d3c4;border-radius:10px;align-items:flex-start;gap:9px;min-width:0;min-height:76px;padding:12px;transition:border-color .16s,background .16s,box-shadow .16s;display:flex}.regeneration-week-choice label:hover{background:#f4f8f1;border-color:#8fa78d}.regeneration-week-choice label.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#edf4e9}.regeneration-week-choice input{width:18px;height:18px;accent-color:var(--ink);margin:1px 0 0}.regeneration-week-choice span{gap:3px;min-width:0;display:grid}.regeneration-week-choice strong{font-size:13px}.regeneration-week-choice small{color:var(--muted);font-size:11px;line-height:1.3}.regeneration-error{background:#fff0ef;border:1px solid #e3aaa6;border-radius:8px;padding:10px 12px;font-weight:700;color:#8c2d28!important;margin-top:14px!important}.regeneration-dialog-actions{justify-content:flex-end;gap:9px;margin-top:25px;display:flex}.regeneration-dialog-actions .primary-button svg{width:17px;height:17px}.planner-layout{grid-template-columns:minmax(0,1fr) minmax(300px,350px);align-items:start;gap:28px;display:grid}.week-table{border-top:1px solid var(--border);border-left:1px solid var(--border);border-right:1px solid var(--border);background:#fffdf76b;border-radius:10px 10px 0 0;overflow:hidden}.week-batch-overview{background:#edf4e9;border-bottom:1px solid #c9d6c5;gap:12px;padding:14px;display:grid}.week-batch-overview>div{align-items:flex-start;gap:8px;display:flex}.week-batch-overview>div>svg{width:19px;height:19px;color:var(--accent);flex:none}.week-batch-overview>div span{gap:2px;display:grid}.week-batch-overview>div b{font-size:12px}.week-batch-overview small{color:var(--muted);font-size:9px;line-height:1.35}.week-batch-overview ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.week-batch-overview li{background:#fffefa;border:1px solid #c6d5c1;border-radius:8px;align-items:center;gap:8px;min-height:48px;padding:6px 10px 6px 6px;display:flex}.week-batch-overview li>strong{color:#244b3c;background:#dce9d7;border-radius:7px;place-items:center;width:34px;height:34px;font:700 18px/1 Newsreader,serif;display:grid}.week-batch-overview li span{gap:1px;display:grid}.week-batch-overview li b{max-width:220px;font-size:10px;line-height:1.25}.week-columns,.day-row{grid-template-columns:145px minmax(0,1fr) minmax(0,1fr);display:grid}.week-columns{min-height:38px;color:var(--muted);align-items:center;font-size:13px}.week-columns span{padding-left:12px}.day-row{border-bottom:1px solid var(--border);min-height:118px}.day-heading{border-right:1px solid var(--border);padding:24px 18px}.day-heading h2{margin-bottom:7px;font:500 24px/1.1 Newsreader,serif}.day-heading span{color:var(--muted);font-size:12px}.day-row:first-of-type .day-heading{border-left:4px solid var(--accent);color:var(--accent);padding-left:14px}.meal-card{border-right:1px solid var(--soft-border);grid-template-columns:102px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px;transition:opacity .18s,background .18s,box-shadow .18s;display:grid;position:relative}.day-row>.meal-card.lunch-slot{grid-column:2}.day-row>.meal-card.dinner-slot{grid-column:3}.meal-card.leftover-meal{background:#e6eee273}.meal-card:last-child{border-right:0}.meal-card img{object-fit:cover;background:var(--sage);border-radius:9px;width:102px;height:76px}.meal-copy{min-width:0}.meal-copy h3{margin:0 0 8px;font-size:15px;line-height:1.35}.recipe-title{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.recipe-title:hover{text-underline-offset:3px;text-decoration:underline}.meal-copy p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;margin:0;font-size:12px;display:flex}.meal-copy p svg{width:15px;height:15px}.meal-copy p span:before{content:"·";padding-right:5px}.meal-copy p .meal-calories{color:#486157;font-weight:700}.meal-copy p .meal-price{color:#9f241f;font-weight:700}.meal-plan-note{color:#486157;align-items:center;gap:5px;width:fit-content;margin-top:7px;font-size:10px;font-weight:700;line-height:1.35;display:flex}.meal-plan-note svg{width:14px;height:14px;color:var(--accent);flex:none}.swap-button{min-height:44px;color:var(--ink);white-space:nowrap;background:0 0;border:1px solid #d9d4c7;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;transition:background .18s,border-color .18s;display:inline-flex}.swap-button:hover:not(:disabled){background:var(--sage);border-color:#aebfac}.swap-button svg{width:15px;height:15px}.favorite-button{color:#6d746f;background:0 0;border:1px solid #d9d4c7;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;transition:color .16s,border-color .16s,background .16s,transform .16s;display:grid}.favorite-button:hover:not(:disabled){color:var(--accent);background:#fff1ee;border-color:#d79a94;transform:translateY(-1px)}.favorite-button.active{color:var(--accent);background:#fff0ed;border-color:#e1aaa5}.favorite-button svg{width:18px;height:18px}.favorite-button.active svg{fill:currentColor}.leftover-status{color:#315344;white-space:nowrap;background:#dfeadc;border-radius:8px;align-items:center;gap:6px;min-height:44px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.leftover-status svg{width:16px;height:16px}.batch-note{background:var(--sage);color:#315344;border-radius:8px;align-items:center;gap:8px;width:fit-content;margin:-8px 0 20px;padding:9px 12px;font-size:12px;font-weight:700;display:flex}.batch-note svg{flex:none;width:17px;height:17px}.recipe-equipment-note{color:#5c4c18;background:#fff9e6;border:1px solid #d7c999;border-radius:8px;align-items:center;gap:8px;width:fit-content;margin:-8px 0 20px;padding:9px 12px;font-size:12px;display:flex}.recipe-equipment-note svg{flex:none;width:17px;height:17px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.recipe-dialog{background:var(--surface);width:min(760px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border:0;border-radius:14px;padding:0;box-shadow:0 24px 80px #1228214d}.recipe-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c201a94}.recipe-dialog-card{padding:34px;position:relative}.dialog-close{width:44px;height:44px;color:var(--ink);background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.dialog-close:hover{background:var(--sage)}.recipe-kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.recipe-dialog h2{margin:7px 52px 14px 0;font:600 38px/1.05 Newsreader,serif}.recipe-favorite-button{color:#536059;background:0 0;border:1px solid #d9d4c7;border-radius:999px;align-items:center;gap:7px;min-height:40px;margin:0 0 10px;padding:0 13px;font-size:12px;font-weight:800;display:inline-flex}.recipe-favorite-button:hover:not(:disabled),.recipe-favorite-button.active{color:var(--accent);background:#fff0ed;border-color:#e1aaa5}.recipe-favorite-button svg{width:17px;height:17px}.recipe-favorite-button.active svg{fill:currentColor}.recipe-feedback{flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 24px;display:flex}.recipe-feedback>span{color:var(--muted);margin-right:3px;font-size:11px;font-weight:700}.recipe-feedback button{color:#536059;background:0 0;border:1px solid #d9d4c7;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.recipe-feedback button svg{width:16px;height:16px}.recipe-feedback button.positive:hover:not(:disabled),.recipe-feedback button.positive.active{color:#25533e;background:#edf6ed;border-color:#83a48f}.recipe-feedback button.negative:hover:not(:disabled),.recipe-feedback button.negative.active{color:#8c2d28;background:#fff0ef;border-color:#d8a09c}.recipe-detail-grid{grid-template-columns:minmax(220px,.85fr) minmax(280px,1.15fr);gap:34px;display:grid}.recipe-detail-grid h3{margin-bottom:13px;font:600 20px/1.2 Newsreader,serif}.recipe-detail-grid ul{margin:0;padding:0;list-style:none}.recipe-detail-grid ul li{border-bottom:1px solid var(--soft-border);justify-content:space-between;gap:12px;min-height:34px;padding:7px 0;font-size:13px;display:flex}.recipe-detail-grid ul b{white-space:nowrap;font-weight:600}.recipe-detail-grid ol{margin:0;padding-left:22px}.recipe-detail-grid ol li{color:#314a42;margin-bottom:13px;padding-left:5px;font-size:14px;line-height:1.55}.allergen-note{border-top:1px solid var(--border);color:var(--muted);margin:22px 0 0;padding-top:14px;font-size:11px}.recipe-nutrition{background:#f3f7f0;border:1px solid #cbd7c8;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 24px;display:grid;overflow:hidden}.recipe-nutrition>div{border-right:1px solid #d7e0d3;min-width:0;padding:10px 12px}.recipe-nutrition>div:last-child{border-right:0}.recipe-nutrition.energy-only{grid-template-columns:1fr;max-width:190px}.recipe-nutrition dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:700}.recipe-nutrition dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:14px;font-weight:800}.nutrition-source{color:var(--muted);margin:8px 0 0;font-size:10px}.shopping-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px}.shopping-panel.compact{max-height:calc(100dvh - 120px);padding:24px 22px;position:sticky;top:96px;overflow:auto}.shopping-panel.full{max-width:1120px;margin:0 auto;padding:28px 34px 36px}.shopping-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.shopping-header h2{margin-bottom:7px;font:500 34px/1.1 Newsreader,serif}.shopping-header p{color:var(--muted);margin-bottom:16px;font-size:14px}.shopping-header>svg{width:32px;height:32px;color:var(--accent)}.location-picker{border:1px solid var(--line);background:var(--surface);border-radius:9px;margin:2px 0 10px;padding:14px}.location-copy{align-items:center;gap:9px;display:flex}.location-copy>svg{width:20px;color:var(--accent)}.location-copy>div{gap:1px;display:grid}.location-copy strong{font-size:13px}.location-copy span{color:var(--muted);font-size:10px}.location-picker form{margin-top:11px}.location-picker label{margin-bottom:4px;font-size:10px;font-weight:700;display:block}.postcode-action{grid-template-columns:minmax(92px,1fr) auto;gap:7px;display:grid}.postcode-action input{min-width:0;min-height:44px;color:var(--ink);letter-spacing:.06em;background:#fffefa;border:1px solid #b9c4bd;border-radius:7px;padding:0 11px;font:600 16px/1 inherit}.postcode-action input:focus{border-color:var(--accent);outline:3px solid #cf312d33}.postcode-action input[aria-invalid=true]{border-color:var(--accent)}.postcode-action button{background:var(--ink);color:#fff;white-space:nowrap;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.postcode-action button svg{width:15px}.location-picker form>small{color:#9f211e;margin-top:5px;font-size:10px;display:block}.local-store-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:11px 0 0;padding:10px 0 0;list-style:none;display:grid}.local-store-list li{gap:1px;min-width:0;display:grid}.local-store-list b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.local-store-list span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.price-comparison{background:var(--sage);border-radius:9px;margin:2px 0 18px;padding:15px}.price-comparison-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.price-comparison-heading>div{gap:2px;min-width:0;display:grid}.price-comparison-heading span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.price-comparison-heading strong{font-variant-numeric:tabular-nums;font:600 25px/1.15 Newsreader,serif}.price-comparison-heading small{color:#51655c;font-size:10px;line-height:1.4}.refresh-prices{background:var(--surface);min-height:44px;color:var(--ink);white-space:nowrap;border:1px solid #abc0b4;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:11px;font-weight:700;transition:background .18s;display:inline-flex}.refresh-prices:hover:not(:disabled){background:#f5faf4}.store-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:13px;display:grid}.store-price-card{min-width:0;min-height:104px;color:var(--ink);text-align:left;background:#fffdf7ad;border:1px solid #c8d5cc;border-radius:8px;align-content:start;gap:3px;padding:10px;transition:border-color .18s,background .18s;display:grid}.store-price-card:hover:not(:disabled),.store-price-card.selected{border-color:var(--ink);background:var(--surface)}.store-price-card.selected{box-shadow:inset 0 0 0 1px var(--ink)}.store-price-card:disabled{opacity:.72}.store-card-top{justify-content:space-between;align-items:center;gap:5px;display:flex}.store-card-top b{font-size:12px}.store-card-top em{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 6px;font-size:8px;font-style:normal;font-weight:700}.store-price-card>strong{font-variant-numeric:tabular-nums;font:600 19px/1.2 Newsreader,serif}.store-price-card>small{color:var(--muted);font-size:9px}.store-location{color:#51655c;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.shopping-panel.full .store-comparison-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.staples-panel{background:#fffaf0;border:1px solid #d7cfaa;border-radius:10px;margin:18px 0 4px;padding:15px}.staples-panel>div{align-items:flex-start;gap:9px;display:flex}.staples-panel>div>svg{color:#806718;flex:none;width:18px;height:18px}.staples-panel h3{margin:0 0 2px;font:600 18px/1.15 Newsreader,serif}.staples-panel p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.staples-panel ul{flex-wrap:wrap;gap:7px;margin:12px 0 0;padding:0;list-style:none;display:flex}.staples-panel li{background:var(--surface);border:1px solid #dfd3a0;border-radius:999px;align-items:center;gap:3px;min-height:36px;padding-left:11px;font-size:12px;font-weight:700;display:inline-flex}.staples-panel li button{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.staples-panel li button:hover{color:var(--ink);background:#f4e8bb}.staples-panel li svg{width:14px;height:14px}.shopping-category{border-top:1px solid var(--soft-border);padding:18px 0}.category-heading{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.category-heading h3{margin:0;font:600 19px/1.2 Newsreader,serif}.category-heading span{color:var(--muted);font-size:12px}.shopping-category ul{margin:0;padding:0;list-style:none}.shopping-item{color:#263c35;grid-template-columns:32px minmax(0,1fr) auto auto auto;align-items:center;gap:8px;min-height:43px;display:grid}.item-check{width:28px;height:28px;color:var(--muted);background:0 0;border:1px solid #9ca89f;border-radius:6px;place-items:center;padding:0;display:grid}.item-check svg{width:15px;height:15px}.state-home .item-check{background:var(--yellow);color:#725c00;border-color:#c9aa28}.state-bought .item-check{background:var(--ink);border-color:var(--ink);color:#fff}.state-home .item-name,.state-bought .item-name{color:var(--muted)}.state-bought .item-name{text-decoration:line-through}.item-name{font-size:14px}.item-amount{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.item-price{min-width:62px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:12px;font-weight:600}.home-shortcut{color:#7b6500;text-underline-offset:3px;background:0 0;border:0;min-height:36px;padding:0 3px;font-size:11px;text-decoration:underline}.show-all{border:1px solid var(--accent);width:100%;min-height:48px;color:var(--ink);background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:12px;font-weight:600;display:flex}.show-all:hover{background:#fff4ed}.state-control{gap:4px;margin-left:16px;display:flex}.item-secondary-actions{align-items:center;gap:6px;display:flex}.staple-toggle{min-height:38px;color:var(--muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:5px;padding:0 10px;font-size:12px;display:inline-flex}.staple-toggle:hover,.staple-toggle.active{color:#65510a;background:#fff5c8;border-color:#d5bd56}.staple-toggle svg{width:15px;height:15px}.staple-toggle.active svg{fill:currentColor}.staple-badge{color:#725c00;align-items:center;gap:4px;min-height:36px;font-size:10px;font-weight:800;display:inline-flex}.staple-badge svg{fill:currentColor;width:13px;height:13px}.state-control button{min-height:38px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:5px;padding:0 10px;font-size:12px;display:inline-flex}.state-control button:hover{background:var(--sage)}.state-control button.selected{background:var(--sage);color:var(--ink);border-color:#abc0b4;font-weight:600}.state-control button:nth-child(2).selected{background:var(--yellow);color:#5a4b0a;border-color:#d5bd56}.state-control button:nth-child(3).selected{background:var(--ink);border-color:var(--ink);color:#fff}.shopping-view .page-intro{max-width:1120px;margin-left:auto;margin-right:auto}.recipes-view{max-width:1240px}.recipes-view>.page-intro:not(.recipe-intro-correct){display:none}.recipes-view .page-intro{max-width:920px}.recipe-library{gap:24px;max-width:1120px;display:grid}.recipe-library-tabs{background:#eef3eb;border:1px solid #cbd7c8;border-radius:10px;gap:4px;width:fit-content;min-height:48px;padding:4px;display:flex}.recipe-library-tabs button{color:#52675d;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.recipe-library-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 2px 9px #123c3114}.catalog-discovery-intro{background:linear-gradient(120deg,#e9f2e5,#f7faf4);border:1px solid #c6d5c1;border-radius:12px;grid-template-columns:46px minmax(0,1fr);gap:14px;padding:22px 24px;display:grid}.catalog-discovery-intro>span{background:var(--ink);color:#fff;border-radius:11px;place-items:center;width:46px;height:46px;display:grid}.catalog-discovery-intro h2{margin:0 0 4px;font:600 28px/1.1 Newsreader,serif}.catalog-discovery-intro p{color:#496056;max-width:760px;margin:0;font-size:14px;line-height:1.55}.catalog-kitchen-context{color:#594910;background:#fff8dc;border:1px solid #d8c477;border-radius:10px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:64px;padding:10px 12px;display:grid}.catalog-kitchen-context.ready{color:#315344;background:#f1f6ee;border-color:#b8cbb5}.catalog-kitchen-context>svg{background:#f4e49f;border-radius:9px;width:38px;height:38px;padding:9px}.catalog-kitchen-context.ready>svg{background:#dfeadc}.catalog-kitchen-context>div{gap:2px;display:grid}.catalog-kitchen-context strong{font-size:12px}.catalog-kitchen-context span{font-size:10px;line-height:1.4}.catalog-kitchen-context button{min-height:42px;color:inherit;background:0 0;border:1px solid;border-radius:8px;padding:0 12px;font-size:11px;font-weight:800}.catalog-kitchen-context button:hover{background:#ffffff8c}.catalog-search{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:16px;padding:22px;display:grid;box-shadow:0 10px 30px #123c310a}.catalog-query{color:#263c35;gap:7px;font-size:12px;font-weight:700;display:grid}.catalog-query>div{position:relative}.catalog-query svg{width:19px;height:19px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.catalog-query input{width:100%;min-height:50px;color:var(--ink);background:#fffefa;border:1px solid #abbcaf;border-radius:9px;padding:0 14px 0 44px;font-size:16px}.catalog-filters{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.catalog-filters>svg{width:19px;height:44px;color:var(--accent)}.catalog-filters label{color:#263c35;gap:5px;font-size:11px;font-weight:700;display:grid}.catalog-filters select{min-width:170px;min-height:44px;color:var(--ink);background:#fffefa;border:1px solid #b9c4bd;border-radius:8px;padding:0 34px 0 11px}.favorite-filter{color:#526057;background:0 0;border:1px solid #c7c5ba;border-radius:8px;align-items:center;gap:7px;min-height:44px;padding:0 13px;font-size:12px;font-weight:800;display:inline-flex}.favorite-filter:hover,.favorite-filter.active{color:var(--accent);background:#fff0ed;border-color:#e1aaa5}.favorite-filter.active svg{fill:currentColor}.catalog-results-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.catalog-results-heading h2{margin:4px 0 0;font:600 30px/1.1 Newsreader,serif}.catalog-results-heading p{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:13px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;transition:opacity .16s;display:grid}.catalog-grid.stale{opacity:.58;pointer-events:none}.catalog-card{border:1px solid var(--soft-border);content-visibility:auto;contain-intrinsic-size:290px;background:#fffefa;border-radius:11px;min-width:0;position:relative;overflow:hidden}.catalog-card:hover{border-color:#afc0b2}.catalog-card-open{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;padding:0;display:block}.catalog-card-open img{object-fit:cover;background:var(--sage);width:100%;height:176px;display:block}.catalog-card-body{align-content:start;gap:7px;min-height:120px;padding:16px 58px 17px 16px;display:grid}.catalog-card-body>strong{overflow-wrap:anywhere;font:600 21px/1.16 Newsreader,serif}.catalog-card-facts{color:var(--muted);flex-wrap:wrap;gap:6px 12px;font-size:11px;display:flex}.catalog-card-facts>span{align-items:center;gap:5px;display:inline-flex}.catalog-card-facts svg{width:14px;height:14px}.catalog-card-favorite{color:#68736d;background:#fffefaf0;border:1px solid #d4d0c4;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;bottom:14px;right:12px}.catalog-card-favorite:hover,.catalog-card-favorite.active{color:var(--accent);background:#fff0ed;border-color:#e1aaa5}.catalog-card-favorite.active svg{fill:currentColor}.catalog-load-more{background:var(--surface);min-height:48px;color:var(--ink);border:1px solid #aebfac;border-radius:9px;justify-self:center;padding:0 20px;font-size:13px;font-weight:800}.catalog-load-more:hover{background:var(--sage)}.catalog-loading{min-height:48px;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.catalog-empty,.catalog-error{min-height:210px;color:var(--muted);text-align:center;border:1px dashed #bdc9bc;border-radius:11px;align-content:center;place-items:center;gap:8px;padding:28px;display:grid}.catalog-empty>svg{width:34px;height:34px;color:var(--accent)}.catalog-empty h3{color:var(--ink);margin:0;font:600 24px/1.1 Newsreader,serif}.catalog-empty p,.catalog-error p{margin:0;font-size:13px}.catalog-empty button,.catalog-error button{background:var(--surface);min-height:44px;color:var(--ink);border:1px solid #aebfac;border-radius:8px;padding:0 14px;font-weight:700}.custom-recipes{gap:28px;max-width:1120px;display:grid}.section-kicker{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:700}.recipe-import-card,.recipe-editor,.saved-recipes{border:1px solid var(--border);background:var(--surface);border-radius:12px;box-shadow:0 12px 36px #123c310d}.recipe-import-card{max-width:820px;padding:26px}.import-card-heading{align-items:flex-start;gap:13px;display:flex}.import-card-heading>svg{width:27px;height:27px;color:var(--accent);flex:none}.import-card-heading h2,.saved-heading h2,.editor-heading h2{margin:0 0 6px;font:600 29px/1.1 Newsreader,serif}.import-card-heading p,.saved-heading p,.editor-heading p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.recipe-import-card form{margin-top:22px}.recipe-import-card form>label,.editor-section>label,.recipe-field-grid label{color:#263c35;gap:7px;font-size:12px;font-weight:700;display:grid}.recipe-import-card form>div{grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:7px;display:grid}.recipe-import-card input,.recipe-editor input,.recipe-editor select,.recipe-editor textarea{width:100%;min-height:46px;color:var(--ink);background:#fffefa;border:1px solid #b9c4bd;border-radius:8px;padding:0 12px;font-size:16px}.recipe-editor textarea{resize:vertical;min-height:150px;padding:12px;line-height:1.55}.recipe-import-card input[aria-invalid=true],.recipe-editor input[aria-invalid=true],.recipe-editor textarea[aria-invalid=true]{border-color:var(--accent)}.secondary-button,.danger-button,.text-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-weight:700;transition:background .18s,border-color .18s;display:inline-flex}.secondary-button{background:var(--surface);color:var(--ink);border:1px solid #b9c4bd}.secondary-button:hover:not(:disabled){background:var(--sage);border-color:#92a79b}.danger-button{color:#92201c;background:#fff7f6;border:1px solid #e3aaa6}.danger-button:hover:not(:disabled){background:#fff0ef;border-color:#c65b55}.text-button{color:var(--ink);background:0 0;border:0}.text-button:hover{background:var(--sage)}.manual-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:10px;margin:18px 0;font-size:11px;display:flex}.manual-divider:before,.manual-divider:after{content:"";background:var(--soft-border);flex:1;height:1px}.manual-recipe-button{width:100%}.recipe-notice,.recipe-page-error{border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;max-width:920px;min-height:52px;padding:12px 14px;font-size:13px;display:grid}.recipe-notice{color:#18543e;background:#edf7ef;border:1px solid #a9c6b4}.recipe-page-error{color:#8e211d;background:#fff0ef;border:1px solid #e5aaa6}.recipe-notice>svg,.recipe-page-error>svg{width:21px;height:21px}.recipe-notice p,.recipe-page-error p{margin:2px 0 0}.recipe-notice button,.recipe-page-error button{width:44px;height:44px;color:inherit;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.recipe-notice button:hover,.recipe-page-error button:hover{background:#123c3112}.recipe-editor{max-width:1040px;padding:30px;scroll-margin-top:92px}.editor-heading{border-bottom:1px solid var(--soft-border);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:24px;display:flex}.editor-heading>div{max-width:670px}.editor-heading h2{margin-top:5px;font-size:34px}.editor-close{flex:none}.recipe-warning,.recipe-form-errors{border-radius:8px;align-items:flex-start;gap:11px;margin:20px 0 0;padding:14px;font-size:13px;line-height:1.5;display:flex}.recipe-warning{color:#5b4b0a;background:#fff9dc;border:1px solid #d9bf5e}.recipe-form-errors{color:#8e211d;background:#fff0ef;border:1px solid #e5aaa6}.recipe-warning>svg,.recipe-form-errors>svg{flex:none}.recipe-warning ul,.recipe-form-errors ul{margin:4px 0 0;padding-left:19px}.editor-section{border:0;border-bottom:1px solid var(--soft-border);min-width:0;margin:0;padding:26px 0}.editor-section legend{padding:0;font:600 22px/1.2 Newsreader,serif}.editor-section>p{color:var(--muted);margin:5px 0 16px;font-size:12px;line-height:1.5}.recipe-field-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.recipe-field-grid .wide-field{grid-column:span 2}.recipe-field-grid .optional{color:var(--muted);font-size:10px;font-weight:500}.editor-healthy{cursor:pointer;grid-template-columns:auto 1fr;align-items:center;width:fit-content;min-height:52px;margin-top:18px;gap:10px!important;display:flex!important}.editor-healthy input,.allergen-editor input{width:20px;height:20px;min-height:20px;accent-color:var(--ink)}.editor-healthy span{gap:2px;display:grid}.editor-healthy small{color:var(--muted);font-size:10px;font-weight:400}.allergen-editor>div{flex-wrap:wrap;gap:8px;display:flex}.allergen-editor label{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-size:12px;display:inline-flex}.allergen-editor label:has(input:checked){border-color:var(--ink);background:var(--sage);font-weight:700}.ingredient-column-labels,.ingredient-row{grid-template-columns:minmax(180px,2.2fr) minmax(85px,.7fr) minmax(100px,.8fr) minmax(135px,1.1fr) 44px;gap:8px;display:grid}.ingredient-column-labels{color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:700}.ingredient-row{align-items:center;margin-bottom:8px}.ingredient-row label{min-width:0}.mobile-field-label{display:none}.remove-row{color:#92201c}.remove-row:hover:not(:disabled){background:#fff0ef}.add-row{margin-top:5px}.recipe-preview{background:#f4f8f2;border:1px solid #bed0c4;border-radius:10px;margin-top:24px}.recipe-preview summary{cursor:pointer;align-items:center;gap:9px;min-height:52px;padding:0 16px;font-size:13px;font-weight:700;list-style:none;display:flex}.recipe-preview summary::-webkit-details-marker{display:none}.recipe-preview>div{padding:4px 20px 22px}.recipe-preview h3{margin:5px 0 18px;font:600 30px/1.1 Newsreader,serif}.preview-columns{grid-template-columns:minmax(220px,.85fr) minmax(280px,1.15fr);gap:28px;display:grid}.preview-columns h4{margin:0 0 10px;font:600 18px/1.2 Newsreader,serif}.preview-columns ul{margin:0;padding:0;list-style:none}.preview-columns ul li{border-bottom:1px solid #dbe5db;justify-content:space-between;gap:10px;padding:6px 0;font-size:12px;display:flex}.preview-columns ol{margin:0;padding-left:21px}.preview-columns ol li{margin-bottom:8px;padding-left:4px;font-size:12px;line-height:1.5}.preview-columns p{color:var(--muted);font-size:12px}.editor-actions{justify-content:flex-end;gap:10px;padding-top:24px;display:flex}.saved-recipes{padding:28px}.saved-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.saved-heading h2{margin-top:4px}.recipe-count{background:var(--sage);border-radius:999px;flex:none;padding:7px 11px;font-size:11px;font-weight:700}.saved-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.saved-recipe-card{border:1px solid var(--soft-border);content-visibility:auto;contain-intrinsic-size:184px;background:#fffefa;border-radius:10px;flex-direction:column;justify-content:space-between;gap:20px;min-width:0;min-height:184px;padding:20px;display:flex}.saved-recipe-card h3{overflow-wrap:anywhere;margin:5px 0 7px;font:600 23px/1.15 Newsreader,serif}.recipe-card-meta{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.saved-recipe-card p{color:var(--muted);margin:0;font-size:11px}.saved-recipe-actions{gap:8px;display:flex}.saved-recipe-actions .danger-button{margin-left:auto}.recipes-empty,.recipes-loading{min-height:160px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.recipes-empty>svg{width:32px;height:32px;color:var(--accent)}.recipes-empty h3{color:var(--ink);margin:0;font:600 22px/1.2 Newsreader,serif}.recipes-empty p{max-width:390px;margin:0;font-size:12px}.recipes-loading{grid-template-columns:auto auto;min-height:180px}.toast{z-index:100;background:var(--ink);color:#fff;box-shadow:var(--shadow);opacity:0;border-radius:8px;padding:12px 18px;transition:transform .22s,opacity .22s;position:fixed;bottom:20px;left:50%;transform:translate(-50%,150%)}.toast.visible{opacity:1;transform:translate(-50%)}.login-page{background:var(--surface);grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100dvh;display:grid}.login-copy{background:var(--ink);color:#f8f4e9;flex-direction:column;justify-content:space-between;padding:clamp(30px,5vw,72px);display:flex;position:relative;overflow:hidden}.login-copy:after{content:"";border:1px solid #f7f3e82e;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-130px;right:-160px;box-shadow:0 0 0 70px #f7f3e80a,0 0 0 140px #f7f3e808}.brand-large{color:#fff;z-index:1;font-size:30px;position:relative}.login-copy h1{letter-spacing:-.04em;z-index:1;max-width:720px;margin-bottom:28px;font:500 clamp(56px,7vw,98px)/.88 Newsreader,serif;position:relative}.login-copy>div p{color:#c7d5cd;z-index:1;max-width:520px;font-size:20px;line-height:1.55;position:relative}.login-footnote{color:#aebfb6;z-index:1;font-size:13px;position:relative}.login-panel{background:var(--bg);place-items:center;padding:32px;display:grid}.login-panel form{background:var(--surface);border:1px solid var(--border);width:min(100%,410px);box-shadow:var(--shadow);border-radius:14px;padding:42px}.login-panel h2{margin-bottom:8px;font:600 36px/1.1 Newsreader,serif}.login-panel form>p{color:var(--muted);margin-bottom:30px}.login-panel label{margin:18px 0 7px;font-size:13px;font-weight:600;display:block}.login-panel input{color:#182f28;background:#fff;border:1px solid #babeb6;border-radius:8px;width:100%;height:48px;padding:0 13px;font-size:16px}.password-field{position:relative}.password-field input{padding-right:48px}.password-field .icon-button{position:absolute;top:2px;right:2px}.login-button{width:100%;margin-top:24px}.form-error{background:#fff0ef;border:1px solid #f0b8b4;border-radius:7px;padding:10px 12px;font-size:13px;color:#a51e19!important;margin:14px 0 -8px!important}.planning-setup{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:-4px 0 16px;padding:22px;box-shadow:0 10px 28px #123c310a}.planning-heading{align-items:flex-start;gap:13px;display:flex}.planning-icon{background:var(--sage);width:44px;height:44px;color:var(--ink);border-radius:10px;flex:none;place-items:center;display:grid}.planning-heading h2{margin:2px 0 4px;font:600 27px/1.1 Newsreader,serif}.planning-heading p{max-width:680px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.single-meal-quick-plan{background:#eff6eb;border:1px solid #b9cdb4;border-radius:11px;margin-top:20px;padding:18px}.single-meal-copy{align-items:flex-start;gap:12px;display:flex}.single-meal-icon{background:var(--ink);color:#fff;border-radius:9px;flex:none;place-items:center;width:40px;height:40px;display:grid}.single-meal-icon svg{width:20px;height:20px}.single-meal-copy h3{margin:2px 0 3px;font:600 22px/1.1 Newsreader,serif}.single-meal-copy p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.single-meal-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.single-meal-fields label{color:#263c35;gap:6px;font-size:11px;font-weight:800;display:grid}.single-meal-fields label>span{align-items:center;gap:6px;display:flex}.single-meal-fields svg{width:15px;height:15px;color:var(--accent)}.single-meal-fields select{width:100%;min-width:0;min-height:46px;color:var(--ink);background:#fffefa;border:1px solid #9eb3a2;border-radius:8px;padding:0 34px 0 11px}.single-meal-summary{border-top:1px solid #c9d9c5;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding-top:14px;display:flex}.single-meal-summary>span{gap:2px;display:grid}.single-meal-summary strong{font-size:13px}.single-meal-summary small{color:var(--muted);font-size:11px}.single-meal-summary .primary-button{flex:none}.planning-mode-grid{border:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:20px 0 0;padding:0;display:grid}.planning-mode{border:1px solid var(--soft-border);cursor:pointer;background:#fffefa;border-radius:10px;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;min-height:112px;padding:14px;transition:border-color .18s,background .18s;display:flex;position:relative}.planning-mode:hover{background:#f7faf4;border-color:#9fb2a6}.planning-mode.selected{border-color:var(--ink);background:var(--sage);box-shadow:inset 0 0 0 1px var(--ink)}.planning-mode input{opacity:0;position:absolute}.planning-mode:has(input:focus-visible){outline:3px solid var(--ring);outline-offset:3px}.planning-mode>svg{width:22px;height:22px;color:var(--accent)}.planning-mode span{gap:4px;min-width:0;display:grid}.planning-mode b{font-size:13px;line-height:1.25}.planning-mode small{color:#506159;font-size:10px;line-height:1.4}.mode-explanation{background:#f7faf4;border:1px solid #cfd9cc;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;min-height:64px;margin-top:12px;padding:12px 14px;display:flex}.mode-explanation>div{gap:2px;display:grid}.mode-explanation strong{font-size:13px}.mode-explanation p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.mode-explanation>span{background:var(--sage);color:#28483c;border-radius:999px;flex:none;padding:6px 9px;font-size:10px;font-weight:800}.mode-explanation.mixed{background:#f2f8fa;border-color:#c4d6df}.mode-explanation.mixed>span{background:#dcecf1}.plan-length-control,.effort-preference{border:0;border-top:1px solid var(--soft-border);margin:16px 0 0;padding:16px 0 0}.plan-length-control legend,.effort-preference legend{color:var(--ink);padding:0;font-size:13px;font-weight:800}.plan-length-control>p,.effort-preference>p{color:var(--muted);margin:3px 0 10px;font-size:11px;line-height:1.45}.plan-length-control>div{grid-template-columns:repeat(6,minmax(58px,1fr));gap:8px;display:grid}.plan-length-control label,.effort-preference label{cursor:pointer;background:#fffefa;border:1px solid #c6d0c8;border-radius:9px;place-items:center;min-height:52px;transition:border-color .18s,background .18s;display:grid;position:relative}.plan-length-control label:hover,.effort-preference label:hover{background:#f7faf4;border-color:#8fa397}.plan-length-control label.selected,.effort-preference label.selected{border-color:var(--ink);background:var(--sage);box-shadow:inset 0 0 0 1px var(--ink)}.plan-length-control input,.effort-preference input{opacity:0;position:absolute}:is(.plan-length-control label:has(input:focus-visible),.effort-preference label:has(input:focus-visible)){outline:3px solid var(--ring);outline-offset:3px}.plan-length-control span{align-items:baseline;gap:4px;display:flex}.plan-length-control strong{font:600 22px/1 Newsreader,serif}.plan-length-control small{color:var(--muted);font-size:11px;font-weight:700}.effort-preference>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.effort-preference label{place-items:initial;min-height:72px;padding:11px 13px}.effort-preference span{gap:3px;display:grid}.effort-preference strong{font-size:12px}.effort-preference small{color:#506159;font-size:10px;line-height:1.4}.planning-common-fields{border-top:1px solid var(--soft-border);flex-wrap:wrap;gap:12px 16px;margin-top:16px;padding-top:16px;display:flex}.planning-common-fields label,.batch-option-fields label{color:#263c35;gap:6px;font-size:11px;font-weight:700;display:grid}.planning-common-fields label>span,.batch-option-fields label>span{align-items:center;gap:6px;display:flex}.planning-common-fields svg,.batch-option-fields svg{width:15px;height:15px;color:var(--accent)}.planning-common-fields select,.batch-option-fields select{min-width:164px;min-height:44px;color:var(--ink);background:#fffefa;border:1px solid #b9c4bd;border-radius:8px;padding:0 34px 0 11px}.batch-options{background:#f0f4ec;border-radius:10px;margin-top:18px;padding:18px}.batch-options-heading{align-items:flex-start;gap:10px;display:flex}.batch-options-heading>svg{width:23px;height:23px;color:var(--accent);flex:none}.batch-options-heading h3{margin:0 0 2px;font:600 20px/1.1 Newsreader,serif}.batch-options-heading p{color:var(--muted);margin:0;font-size:11px}.batch-options-heading .section-kicker{margin-bottom:4px;display:block}.target-presets{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.target-presets button{background:var(--surface);min-height:44px;color:var(--ink);border:1px solid #bfcdbb;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.target-presets button:hover{border-color:var(--ink)}.target-presets button.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#dbe8d7}.target-presets button svg{width:14px;height:14px}.batch-option-fields{flex-wrap:wrap;gap:12px 16px;margin-top:14px;display:flex}.meal-targets{border:0;border-top:1px solid #cfd9cc;margin:16px 0 0;padding:14px 0 0}.meal-targets legend{color:#263c35;padding:0 8px 0 0;font-size:11px;font-weight:700}.meal-targets>div{flex-wrap:wrap;gap:8px;margin-top:9px;display:flex}.meal-targets label{background:var(--surface);cursor:pointer;border:1px solid #c5d1c2;border-radius:8px;align-items:center;gap:7px;min-height:44px;padding:0 11px;font-size:11px;display:inline-flex}.meal-targets label:has(input:checked){border-color:var(--ink);background:#dbe8d7;font-weight:700}.meal-targets input{width:18px;height:18px;accent-color:var(--ink)}.meal-targets>.meal-target-grid{grid-template-columns:minmax(88px,120px) repeat(2,minmax(120px,1fr));align-items:stretch;gap:7px;margin-top:10px;display:grid}.meal-target-grid>strong{color:#4e6259;text-align:center;padding:0 8px 2px;font-size:10px}.target-day-row{display:contents}.target-day-row>span{align-items:center;min-height:44px;font-size:11px;font-weight:800;display:flex}.meal-targets .target-day-row label{width:100%;min-width:0;padding:5px 10px}.target-day-row label>span{gap:1px;line-height:1.2;display:grid}.target-day-row label small{color:var(--muted);font-size:9px;font-weight:500;display:none}.plan-preview{background:#fffefa;border:1px solid #cbd7c8;border-radius:10px;margin-top:16px;padding:14px}.plan-preview-heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.plan-preview-heading h3{margin:2px 0 0;font:600 20px/1.1 Newsreader,serif}.plan-preview-heading>strong{color:#315344;font-size:11px}.preview-week{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:6px;margin-top:12px;display:grid}.preview-day{gap:5px;min-width:0;display:grid}.preview-day>b{color:#52675d;text-align:center;font-size:10px}.preview-day>span{color:#43534c;text-align:center;background:#f8f7f1;border:1px solid #d7ded4;border-radius:7px;place-content:center;gap:1px;min-height:48px;padding:6px;font-size:9px;font-weight:800;line-height:1.2;display:grid}.preview-day>span small{color:inherit;font-size:8px;font-weight:500}.preview-day>span.batch{color:#244b3c;background:#dfead9;border-color:#b8cbae}.preview-day>span.leftover{color:#24546a;background:#e4f0f3;border-color:#bed4dd}.preview-legend{color:var(--muted);flex-wrap:wrap;gap:7px 14px;margin-top:9px;font-size:9px;display:flex}.preview-legend span:before{content:"";vertical-align:-1px;background:#f8f7f1;border:1px solid #d7ded4;border-radius:3px;width:9px;height:9px;margin-right:5px;display:inline-block}.preview-legend .batch:before{background:#dfead9;border-color:#b8cbae}.preview-legend .leftover:before{background:#e4f0f3;border-color:#bed4dd}.storage-explainer{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.45}.planning-apply{background:#eff6eb;border:1px solid #b9cdb4;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:14px;display:flex}.planning-apply.pending{background:#fff8dc;border-color:#d3bd70}.planning-apply>div{align-items:center;gap:10px;min-width:0;display:flex}.planning-apply>div>svg{width:20px;height:20px;color:var(--accent);flex:none}.planning-apply>div span{gap:2px;min-width:0;display:grid}.planning-apply b{font-size:12px}.planning-apply small{color:var(--muted);font-size:10px;line-height:1.4}.planning-apply .primary-button{flex:none;min-height:46px}.planning-error{color:#9d2420;flex-basis:100%;margin:0;font-size:11px;font-weight:700}.quick-plan-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:20px;display:grid}.quick-plan-presets button{min-height:74px;color:var(--ink);text-align:left;background:#fffefa;border:1px solid #c6d0c8;border-radius:10px;align-content:center;gap:4px;padding:12px 14px;display:grid}.quick-plan-presets button:hover:not(:disabled){border-color:var(--ink);background:#f1f6ee}.quick-plan-presets strong{font-size:13px}.quick-plan-presets span{color:var(--muted);font-size:12px;line-height:1.35}.active-meal-selector{background:#f8faf5;border:1px solid #cbd7c8;border-radius:10px;margin:18px 0 0;padding:16px}.active-meal-selector legend{padding:0 6px;font-size:14px;font-weight:800}.active-meal-selector>p{color:var(--muted);margin:0 0 12px;font-size:12px}.active-meal-grid{grid-template-columns:minmax(92px,130px) repeat(2,minmax(100px,1fr));gap:7px;display:grid}.active-meal-grid>strong{color:var(--muted);text-align:center;padding-bottom:3px;font-size:12px}.active-meal-row{display:contents}.active-meal-row>b{align-items:center;min-height:46px;font-size:13px;display:flex}.active-meal-row label{cursor:pointer;background:#fffefa;border:1px solid #ccd5ce;border-radius:8px;place-items:center;min-height:46px;display:grid;position:relative}.active-meal-row label:hover{border-color:#92a398}.active-meal-row label.selected{border-color:var(--ink);background:var(--sage);box-shadow:inset 0 0 0 1px var(--ink)}.active-meal-row input{opacity:0;position:absolute}.active-meal-row label:has(input:focus-visible){outline:3px solid var(--ring);outline-offset:2px}.active-meal-row label span{align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.active-meal-row label svg{opacity:0;width:15px;height:15px}.active-meal-row label.selected svg{opacity:1}.quick-plan-heading{border-top:1px solid var(--soft-border);margin-top:24px;padding-top:20px}.quick-plan-heading h3{margin:3px 0 2px;font:600 23px/1.1 Newsreader,serif}.quick-plan-heading p{color:var(--muted);margin:0;font-size:12px}.advanced-profile,.advanced-planning{background:#fffefa;border:1px solid #cbd5cc;border-radius:10px;margin:16px 0}.advanced-profile>summary,.advanced-planning>summary{min-height:58px;color:var(--ink);cursor:pointer;align-items:center;gap:10px;padding:10px 14px;list-style:none;display:flex}.advanced-profile>summary::-webkit-details-marker{display:none}.advanced-planning>summary::-webkit-details-marker{display:none}.advanced-profile>summary>svg,.advanced-planning>summary>svg{width:20px;height:20px;color:var(--accent)}.advanced-profile>summary>span,.advanced-planning>summary>span{gap:2px;display:grid}.advanced-profile>summary strong,.advanced-planning>summary strong{font-size:13px}.advanced-profile>summary small,.advanced-planning>summary small{color:var(--muted);font-size:12px}.advanced-profile[open],.advanced-planning[open]{background:#f9fbf7;border-color:#aebfac}.advanced-profile .menu-preferences{border:0;border-top:1px solid var(--soft-border);box-shadow:none;border-radius:0 0 10px 10px;margin:0}.advanced-planning-content{border-top:1px solid var(--soft-border);padding:0 16px 16px}.plan-quality{background:#eff6eb;border:1px solid #b9cdb4;border-radius:10px;margin-top:18px;padding:16px}.plan-quality-heading{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.plan-quality-heading h3{margin:3px 0 0;font:600 22px/1.1 Newsreader,serif}.plan-quality-heading>strong{color:#315344;font-size:12px}.plan-quality dl{border:1px solid #c8d6c4;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0 0;display:grid;overflow:hidden}.plan-quality dl>div{background:#fffefa;border-right:1px solid #d7dfd4;gap:3px;min-width:0;padding:10px 12px;display:grid}.plan-quality dl>div:last-child{border-right:0}.plan-quality dt{color:var(--muted);font-size:11px}.plan-quality dd{margin:0;font:600 21px/1 Newsreader,serif}.plan-quality ul{gap:7px;margin:12px 0 0;padding:0;list-style:none;display:grid}.plan-quality li{color:#705b19;align-items:flex-start;gap:7px;font-size:12px;line-height:1.4;display:flex}.plan-quality li svg{flex:none;width:17px;height:17px}.plan-quality-ok{color:#315344;align-items:center;gap:7px;margin:12px 0 0;font-size:12px;display:flex}.plan-quality-ok svg{width:17px;height:17px}.planning-templates{border:1px solid var(--soft-border);border-radius:10px;margin-top:16px;padding:16px}.planning-templates>div:first-child{align-items:flex-start;gap:9px;display:flex}.planning-templates>div:first-child>svg{width:20px;height:20px;color:var(--accent)}.planning-templates h3{margin:0;font:600 20px/1.1 Newsreader,serif}.planning-templates p{color:var(--muted);margin:2px 0 0;font-size:12px}.planning-templates form{gap:8px;margin-top:12px;display:flex}.planning-templates form label{color:#263c35;flex:1;gap:5px;min-width:0;font-size:11px;font-weight:700;display:grid}.planning-templates input{background:#fffefa;border:1px solid #b9c4bd;border-radius:8px;flex:1;min-width:0;min-height:44px;padding:0 11px}.planning-templates form button{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:8px;min-height:44px;padding:0 14px;font-weight:800}.planning-templates ul{gap:7px;margin:12px 0 0;padding:0;list-style:none;display:grid}.planning-templates li{grid-template-columns:minmax(0,1fr) 44px;gap:6px;display:grid}.planning-templates li>button:first-child{min-height:48px;color:var(--ink);text-align:left;background:#fffefa;border:1px solid #c8d2ca;border-radius:8px;gap:2px;padding:7px 11px;display:grid}.planning-templates li>button:first-child span{color:var(--muted);font-size:11px}.planning-templates .delete-template{color:#9d2420;background:#fff8f7;border:1px solid #e0c7c4;border-radius:8px;place-items:center;min-height:44px;display:grid}.planning-templates .delete-template svg{width:18px;height:18px}.preview-day>span.inactive{color:#7b817d;background:#f4f3ee;border-style:dashed}.prep-summary{background:var(--sage);width:100%;min-height:68px;color:var(--ink);text-align:left;border:1px solid #bdcdb8;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:12px 16px;display:flex}.prep-summary:hover{border-color:var(--ink)}.prep-summary span{gap:3px;display:grid}.prep-summary b{font:600 20px/1.1 Newsreader,serif}.prep-summary small{color:#496056;font-size:11px}.prep-summary>svg{width:22px;height:22px}.meal-actions{align-items:center;gap:7px;width:145px;min-width:145px;display:grid}.meal-icon-actions{align-items:center;gap:6px;display:flex}.meal-planning-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.move-meal-button,.meal-more-menu>summary{color:#52635b;cursor:pointer;background:0 0;border:1px solid #d9d4c7;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:0 7px;font-size:10px;font-weight:800;list-style:none;transition:background .18s,border-color .18s,color .18s;display:flex}.move-meal-button:hover:not(:disabled),.meal-more-menu>summary:hover{background:var(--sage);color:var(--ink);border-color:#9caf9d}.move-meal-button[draggable=true]{cursor:grab}.move-meal-button[draggable=true]:active{cursor:grabbing}.move-meal-button svg,.meal-more-menu>summary svg{flex:none;width:15px;height:15px}.meal-more-menu{min-width:0;position:relative}.meal-more-menu>summary::-webkit-details-marker{display:none}.meal-more-menu[open]>summary{background:var(--sage);color:var(--ink);border-color:#9caf9d}.meal-more-menu>div{z-index:20;background:#fffefa;border:1px solid #c9d3c6;border-radius:10px;gap:3px;width:190px;padding:7px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 35px #1228212e}.meal-more-menu>div>span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:5px 7px 3px;font-size:9px;font-weight:800}.meal-more-menu>div button{min-height:44px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:0 9px;font-size:12px;font-weight:700;display:flex}.meal-more-menu>div button:hover:not(:disabled){background:var(--sage)}.meal-more-menu>div button svg{width:17px;height:17px;color:var(--accent)}.meal-card.move-mode:not(.move-target):not(.move-source){opacity:.48}.meal-card.move-source{z-index:2;background:#fff8d9;box-shadow:inset 0 0 0 2px #b79d35}.meal-card.move-target{z-index:3;background:#eff7ec;box-shadow:inset 0 0 0 2px #63866c}.move-target-button{z-index:6;color:#234b3b;cursor:pointer;background:#f4faf1f0;border:2px dashed #63866c;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:900;display:flex;position:absolute;inset:7px}.move-target-button:hover{background:#e2f0dd}.move-target-button svg{width:18px;height:18px}.meal-move-banner{z-index:12;color:#244b3c;background:#e8f2e4;border-bottom:1px solid #b7c9b3;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:10px 12px;display:grid;position:sticky;top:76px;box-shadow:0 8px 20px #1228211a}.meal-move-banner>svg{width:22px;height:22px}.meal-move-banner span{gap:2px;display:grid}.meal-move-banner strong{font-size:12px}.meal-move-banner small{font-size:10px}.meal-move-banner button{min-height:44px;color:var(--ink);background:#fffefa;border:1px solid #9db19b;border-radius:8px;padding:0 12px;font-size:11px;font-weight:800}.meal-actions .swap-button,.meal-actions .leftover-status,.choose-meal-button{justify-content:center;width:100%}.keep-meal-button{color:#6d746f;background:0 0;border:1px solid #d9d4c7;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.keep-meal-button:hover:not(:disabled),.keep-meal-button.active{color:#6b5510;background:#fff6cc;border-color:#c3a63b}.keep-meal-button svg{width:17px;height:17px}.keep-meal-button.active svg{fill:currentColor}.avoid-meal-button{color:#87514d;background:0 0;border:1px solid #dfc4c1;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;transition:color .16s,border-color .16s,background .16s;display:grid}.avoid-meal-button:hover:not(:disabled){color:#92201c;background:#fff0ef;border-color:#b85b54}.avoid-meal-button svg{width:17px;height:17px}.choose-meal-button{color:#254b3d;background:#f2f7ee;border:1px solid #b9c9b6;border-radius:8px;align-items:center;gap:6px;min-height:44px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.choose-meal-button:hover:not(:disabled){border-color:var(--ink);background:var(--sage)}.choose-meal-button svg{width:16px;height:16px}.meal-storage-line{color:#34564a;align-items:center;gap:4px;width:fit-content;min-height:44px;margin-top:5px;display:flex}.meal-storage-line>svg{flex:none;width:14px;height:14px}.meal-storage-line select{color:#34564a;background:0 0;border:0;border-radius:5px;min-height:44px;padding:0 24px 0 4px;font-size:12px;font-weight:700}.meal-storage-line small{color:var(--muted);white-space:nowrap;font-size:11px}.meal-card.batch-meal{background:#f6e8a62e}.missing-recipe{grid-template-columns:1fr}@media (width>=1181px) and (width<=1400px){.planner-layout .meal-card{grid-template-columns:90px minmax(0,1fr);align-items:start}.planner-layout .meal-card img{width:90px;height:68px}.planner-layout .meal-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%;min-width:0}.planner-layout .meal-icon-actions,.planner-layout .meal-planning-actions{grid-column:1/-1}}.meal-picker-dialog{background:var(--surface);width:min(1180px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border:0;border-radius:14px;padding:0;overflow:auto;box-shadow:0 24px 80px #1228214d}.meal-picker-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c201a9e}.meal-picker-card{min-height:520px;padding:28px}.meal-picker-header{padding-right:56px;position:relative}.meal-picker-header h2{margin:5px 0 7px;font:600 clamp(32px,4vw,46px)/1 Newsreader,serif}.meal-picker-header p{max-width:760px;color:var(--muted);margin:0;font-size:13px;line-height:1.55}.meal-picker-shortcuts{background:linear-gradient(135deg,#edf5e9,#fff9df);border:1px solid #c8d9c3;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding:16px 18px;display:flex}.meal-picker-shortcuts h3,.meal-picker-alternatives h3{margin:0 0 3px;font:600 20px/1.1 Newsreader,serif}.meal-picker-shortcuts p,.meal-picker-alternatives p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.meal-picker-shortcuts .primary-button{flex:none;min-width:190px}.meal-picker-tools{background:#f2f7ee;border:1px solid #cfdbca;border-radius:10px;grid-template-columns:minmax(260px,1fr) minmax(155px,.36fr) minmax(155px,.36fr) auto;align-items:end;gap:12px;margin-top:14px;padding:16px;display:grid}.meal-picker-tools label{color:#29483e;gap:6px;min-width:0;font-size:11px;font-weight:800;display:grid}.meal-picker-tools label>span{align-items:center;gap:6px;display:flex}.meal-picker-tools label>span svg{width:14px;height:14px}.meal-picker-search>div{position:relative}.meal-picker-search>div>svg{color:#597067;width:18px;height:18px;position:absolute;top:14px;left:12px}.meal-picker-tools input[type=text],.meal-picker-tools input:not([type]),.meal-picker-tools select{width:100%;min-height:46px;color:var(--ink);background:#fffefa;border:1px solid #aebeb2;border-radius:8px;font-size:16px}.meal-picker-tools input[type=text],.meal-picker-tools input:not([type]){padding:0 12px 0 40px}.meal-picker-tools select{padding:0 34px 0 11px}.meal-picker-favorites{cursor:pointer;white-space:nowrap;background:#fffefa;border:1px solid #aebeb2;border-radius:8px;align-items:center;min-height:46px;padding:0 13px;gap:8px!important;display:flex!important}.meal-picker-favorites input{width:18px;height:18px;accent-color:var(--ink)}.meal-picker-favorites>svg{width:17px;height:17px;color:var(--accent)}.meal-picker-compatibility{color:#315344;background:#eef5e9;border-radius:7px;align-items:center;gap:7px;width:fit-content;margin:12px 0 0;padding:8px 10px;font-size:11px;font-weight:700;display:flex}.meal-picker-compatibility svg{width:15px;height:15px}.meal-picker-result-heading{justify-content:space-between;align-items:baseline;gap:16px;margin:21px 0 10px;display:flex}.meal-picker-result-heading strong{font:600 22px/1.1 Newsreader,serif}.meal-picker-result-heading span{color:var(--muted);font-size:11px}.meal-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;transition:opacity .16s;display:grid}.meal-picker-grid.loading{opacity:.55}.meal-picker-recipe{border:1px solid var(--soft-border);content-visibility:auto;contain-intrinsic-size:164px;background:#fffefa;border-radius:10px;grid-template-columns:92px minmax(0,1fr);gap:10px;min-width:0;padding:10px;display:grid}.meal-picker-recipe img{object-fit:cover;background:var(--sage);border-radius:8px;width:92px;height:76px}.meal-picker-recipe>div{min-width:0}.meal-picker-recipe>div>span{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:800}.meal-picker-recipe h3{overflow-wrap:anywhere;margin:3px 0 5px;font:600 18px/1.12 Newsreader,serif}.meal-picker-recipe p{color:var(--muted);align-items:center;gap:4px;margin:0;font-size:10px;line-height:1.35;display:flex}.meal-picker-recipe p svg{width:13px;height:13px}.meal-picker-recipe>button{color:#254b3d;background:#edf5e9;border:1px solid #aac0aa;border-radius:8px;grid-column:1/-1;justify-content:center;align-items:center;gap:7px;min-height:44px;font-size:11px;font-weight:800;display:flex}.meal-picker-recipe>button:hover:not(:disabled){border-color:var(--ink);background:#dcebd7}.meal-picker-recipe>button svg{width:15px;height:15px}.meal-picker-empty{min-height:180px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:6px;display:grid}.meal-picker-empty>svg{width:30px;height:30px;color:var(--accent)}.meal-picker-empty h3{color:var(--ink);margin:0;font:600 22px/1.1 Newsreader,serif}.meal-picker-empty p{margin:0;font-size:12px}.meal-picker-alternatives{border-top:1px solid var(--soft-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px;padding-top:20px;display:grid}.meal-picker-alternatives>div{border:1px solid var(--soft-border);background:#fffefa;border-radius:10px;padding:15px}.meal-picker-alternatives>div>div{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.meal-picker-alternatives button{color:#254b3d;background:#f2f7ee;border:1px solid #b9c9b6;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 13px;font-size:11px;font-weight:800;display:inline-flex}.meal-picker-alternatives button svg{width:16px;height:16px}.meal-picker-move{grid-template-columns:minmax(0,1fr) auto;display:grid!important}.meal-picker-move select{width:100%;min-height:44px;color:var(--ink);background:#fffefa;border:1px solid #aebeb2;border-radius:8px;padding:0 34px 0 11px;font-size:14px}.external-meal{background:linear-gradient(135deg,#f1f7edbf,#fff9df8c)}.external-meal-icon{color:#315344;background:#dcebd7;border-radius:50%;place-items:center;width:76px;height:76px;display:grid}.external-meal-icon svg{width:30px;height:30px}.external-plan-dialog{background:var(--surface);width:min(520px,100% - 24px);color:var(--ink);border:0;border-radius:14px;padding:0;box-shadow:0 24px 80px #1228214d}.external-plan-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c201a94}.external-plan-dialog>div{padding:30px;position:relative}.external-plan-dialog h2{margin:6px 50px 10px 0;font:600 32px/1.05 Newsreader,serif}.external-plan-dialog p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.external-plan-options{gap:8px;margin-top:20px;display:grid}.external-plan-options>button{color:#254b3d;background:#f2f7ee;border:1px solid #b9c9b6;border-radius:8px;width:100%;min-height:48px;padding:8px 14px;font-size:12px;font-weight:800;line-height:1.3}.external-plan-options>.primary-button{background:var(--ink);color:#fffefa}.external-plan-options>.text-link-button{background:0 0;border-color:#0000}.prep-view{max-width:1380px}.prep-layout{grid-template-columns:minmax(0,1fr) minmax(280px,350px);align-items:start;gap:28px;display:grid}.prep-hero{background:var(--ink);color:#f8f4e9;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:24px;min-height:176px;padding:30px;display:flex;position:relative;overflow:hidden}.prep-hero:after{content:"";border:1px solid #ffffff26;border-radius:50%;width:230px;height:230px;position:absolute;bottom:-130px;right:-70px;box-shadow:0 0 0 45px #ffffff08,0 0 0 90px #ffffff05}.prep-hero>div{z-index:1;position:relative}.prep-hero>svg{color:#f6e8a6;z-index:1;flex:none;width:58px;height:58px;position:relative}.prep-hero .section-kicker{color:#f6e8a6}.prep-hero h1{letter-spacing:-.025em;max-width:680px;margin:6px 0 12px;font:500 clamp(38px,4vw,58px)/.98 Newsreader,serif}.prep-hero p{color:#c7d5cd;margin:0;font-size:14px}.prep-batch-list{gap:14px;margin-top:16px;display:grid}.prep-batch-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:22px}.prep-batch-card.completed{background:#fbfdf8;border-color:#a5bca8}.prep-batch-top{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.batch-status{color:#67560f;text-transform:uppercase;letter-spacing:.04em;background:#f5efcf;border-radius:999px;align-items:center;gap:5px;width:fit-content;min-height:26px;padding:0 8px;font-size:9px;font-weight:700;display:inline-flex}.completed .batch-status{color:#23513d;background:#dcebdd}.batch-status svg{width:13px;height:13px}.prep-batch-top h2{margin:8px 0 4px;font:600 29px/1.1 Newsreader,serif}.prep-batch-top p{color:var(--muted);margin:0;font-size:12px}.lock-button{min-height:44px;color:var(--ink);background:0 0;border:1px solid #c9c9bc;border-radius:8px;flex:none;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.lock-button[aria-pressed=true]{color:#5d4d09;background:#fff7d2;border-color:#b69d35}.lock-button svg{width:16px;height:16px}.allocation-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:17px;display:grid}.allocation-row{background:#f4f8f2;border:1px solid #d8dfd5;border-radius:8px;align-items:center;gap:8px;min-height:50px;padding:8px 10px;display:flex}.allocation-row.frozen{background:#f0f8fb;border-color:#c3d7df}.allocation-row>svg{color:#386555;flex:none;width:17px;height:17px}.allocation-row.frozen>svg{color:#27617a}.allocation-row span{gap:2px;min-width:0;display:grid}.allocation-row b{font-size:11px}.allocation-row small{color:var(--muted);font-size:9px;line-height:1.3}.prep-batch-actions{align-items:center;gap:8px;margin-top:14px;display:flex}.text-link-button{min-height:44px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.text-link-button:hover{background:var(--sage)}.text-link-button svg{width:15px;height:15px}.batch-completion{border:1px solid var(--soft-border);border-radius:9px;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto;align-items:end;gap:9px;margin:17px 0 0;padding:14px;display:grid}.batch-completion legend{padding:0 6px;font-size:10px;font-weight:700}.batch-completion label{color:#34564a;grid-template-columns:auto 1fr 58px;align-items:center;gap:6px;min-height:44px;font-size:11px;font-weight:700;display:grid}.batch-completion label svg{width:16px;height:16px}.batch-completion input{width:58px;min-height:44px;color:var(--ink);background:#fffefa;border:1px solid #b9c4bd;border-radius:7px;padding:0 7px;font-size:16px}.batch-completion .primary-button{min-height:44px;font-size:11px}.portion-warning{color:#8c2d28;grid-column:1/-1;font-size:10px}.prep-sidebar{gap:12px;display:grid;position:sticky;top:96px}.prep-checklist,.equipment-card,.safety-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:20px}.prep-checklist h2,.equipment-card h2,.safety-card h2{margin:5px 0 12px;font:600 24px/1.1 Newsreader,serif}.prep-checklist ol{counter-reset:prep-step;gap:4px;margin:0;padding:0;list-style:none;display:grid}.prep-checklist li{counter-increment:prep-step}.prep-checklist button{border:0;border-bottom:1px solid var(--soft-border);width:100%;min-height:48px;color:var(--ink);text-align:left;background:0 0;grid-template-columns:22px 1fr;align-items:center;gap:8px;padding:7px 4px;font-size:11px;line-height:1.4;display:grid}.prep-checklist button[aria-pressed=true]{color:var(--muted);text-decoration:line-through}.prep-checklist button svg{width:18px;height:18px;color:var(--accent)}.equipment-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.safety-card{background:#eef6f7;border-color:#c5d9dd;align-items:flex-start;gap:11px;display:flex}.safety-card>svg{color:#27617a;flex:none;width:22px;height:22px}.safety-card h2{margin-top:1px;font-size:20px}.safety-card p{color:#3f5c62;margin:0 0 8px;font-size:10px;line-height:1.5}.safety-card a{color:#174f63;align-items:center;gap:5px;min-height:44px;font-size:10px;font-weight:700;display:inline-flex}.safety-card a svg{width:13px;height:13px}.prep-empty{text-align:center;align-content:center;place-items:center;gap:10px;min-height:440px;display:grid}.prep-empty>svg{width:44px;height:44px;color:var(--accent)}.prep-empty h1{margin:4px 0 0;font:600 42px/1 Newsreader,serif}.prep-empty p{color:var(--muted);margin:0 0 10px}.admin-intro{max-width:980px}.admin-layout{gap:20px;max-width:1120px;display:grid}.admin-catalog-card,.admin-invite-card,.admin-users-card,.admin-pending-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px}.admin-catalog-card{background:linear-gradient(135deg,#fffdf7 0%,#eef4e9 100%);grid-template-columns:minmax(260px,.9fr) minmax(420px,1.1fr);align-items:center;gap:28px;padding:24px 28px;display:grid}.admin-catalog-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.admin-catalog-heading h2{margin:3px 0 4px;font:600 30px/1.05 Newsreader,serif}.admin-catalog-heading p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.admin-catalog-heading>svg{width:38px;height:38px;color:var(--accent);flex:none}.admin-catalog-stats{background:#fffdf7c7;border:1px solid #d1dacd;border-radius:10px;grid-template-columns:1.35fr 1fr .65fr;margin:0;display:grid;overflow:hidden}.admin-catalog-stats>div{border-left:1px solid #d1dacd;gap:3px;min-width:0;padding:14px 16px;display:grid}.admin-catalog-stats>div:first-child{border-left:0}.admin-catalog-stats dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:700}.admin-catalog-stats dd{font-variant-numeric:tabular-nums;margin:0;font:600 25px/1 Newsreader,serif}.admin-catalog-stats .primary dd{color:var(--accent);font-size:33px}.admin-invite-card{padding:28px}.admin-section-heading{align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.admin-section-heading>svg{background:var(--sage);width:30px;height:30px;color:var(--ink);border-radius:8px;flex:none;padding:6px}.admin-section-heading h2,.admin-list-heading h2{margin:3px 0 4px;font:600 30px/1.05 Newsreader,serif}.admin-section-heading p,.admin-list-heading p{color:var(--muted);margin:0;font-size:13px}.admin-invite-card form{gap:18px;display:grid}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-form-grid label,.household-name-field{color:#29483e;gap:6px;font-size:12px;font-weight:700;display:grid}.admin-form-grid label>span{color:var(--muted);font-size:10px;font-weight:500}.admin-form-grid input,.household-name-field input,.invite-result input{width:100%;min-height:48px;color:var(--ink);background:#fffefa;border:1px solid #b9c4bd;border-radius:8px;padding:0 12px}.household-choice{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;display:grid}.household-choice legend{color:#29483e;grid-column:1/-1;margin-bottom:8px;font-size:12px;font-weight:700}.household-choice label{border:1px solid var(--border);cursor:pointer;background:#fffefa;border-radius:9px;align-items:flex-start;gap:10px;min-height:84px;padding:14px;transition:border-color .18s,background .18s;display:flex}.household-choice label.selected{border-color:var(--ink);background:#eff5ec}.household-choice input{width:18px;height:18px;accent-color:var(--ink);flex:none;margin:2px 0 0}.household-choice span{gap:4px;display:grid}.household-choice b{font-size:13px}.household-choice small{color:var(--muted);font-size:11px;line-height:1.4}.admin-invite-card form>.primary-button{width:fit-content}.invite-result{background:#f0f7ed;border:1px solid #b9ceb6;border-radius:9px;gap:12px;margin-top:20px;padding:14px;display:grid}.invite-result>div:first-child{align-items:center;gap:9px;display:flex}.invite-result>div:first-child>svg{color:#2b674e}.invite-result span{gap:2px;display:grid}.invite-result small{color:var(--muted);font-size:10px}.invite-result>div:last-child{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.invite-result input{background:#fff;min-width:0;font-family:ui-monospace,monospace;font-size:11px}.invite-result button{background:var(--ink);color:#fff;border:0;border-radius:8px;align-items:center;gap:7px;min-height:48px;padding:0 15px;font-weight:700;display:inline-flex}.admin-notice,.admin-error{border-radius:9px;align-items:center;gap:9px;min-height:52px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.admin-notice{color:#2d5946;background:#f0f7ed;border:1px solid #bad0b6}.admin-error{color:#85211d;background:#fff1f0;border:1px solid #e3aaa6}.admin-notice button,.admin-error button{width:36px;height:36px;color:inherit;background:0 0;border:0;border-radius:50%;place-items:center;margin-left:auto;display:grid}.admin-users-card,.admin-pending-card{overflow:hidden}.admin-list-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;min-height:106px;padding:24px 28px;display:flex}.admin-list-heading>svg{width:34px;height:34px;color:var(--accent)}.admin-user-list,.pending-invite-list{display:grid}.admin-user-row{border-bottom:1px solid var(--soft-border);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:104px;padding:18px 28px;display:grid}.admin-user-row:last-child{border-bottom:0}.admin-user-avatar{background:var(--sage);width:46px;height:46px;color:var(--ink);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.admin-user-copy{gap:4px;min-width:0;display:grid}.admin-user-copy>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-user-copy h3{align-items:center;gap:7px;margin:0;font-size:15px;display:flex}.admin-user-copy h3 small{background:var(--yellow);color:#5d511f;border-radius:999px;padding:2px 6px;font-size:9px}.admin-user-copy p,.admin-user-copy>small{color:var(--muted);margin:0;font-size:11px}.admin-status{border-radius:999px;align-items:center;gap:4px;min-height:25px;padding:0 8px;font-size:9px;font-weight:800;display:inline-flex}.admin-status svg{width:12px;height:12px}.admin-status.active{color:#2e6048;background:#e3f0df}.admin-status.invited{color:#6b581b;background:#fff4c9}.admin-status.disabled{color:#87231f;background:#f6e2e0}.admin-user-actions .danger-button,.admin-user-actions .secondary-button{min-width:122px}.pending-invite-list article{border-bottom:1px solid var(--soft-border);justify-content:space-between;align-items:center;gap:20px;min-height:84px;padding:16px 28px;display:flex}.pending-invite-list article:last-child{border-bottom:0}.pending-invite-list article>div{gap:2px;display:grid}.pending-invite-list span,.pending-invite-list small{color:var(--muted);font-size:11px}.admin-loading{min-height:220px;color:var(--muted);justify-content:center;align-items:center;gap:9px;display:flex}.invite-page{background:var(--surface);grid-template-columns:minmax(0,1.1fr) minmax(440px,.9fr);min-height:100dvh;display:grid}.invite-brand{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;min-height:100dvh;padding:48px clamp(32px,6vw,92px);display:flex;position:relative;overflow:hidden}.invite-brand:after{content:"";background:var(--yellow);opacity:.9;border-radius:50%;width:440px;height:440px;position:absolute;bottom:-130px;right:-130px}.invite-brand>div{z-index:1;max-width:650px;position:relative}.invite-brand .section-kicker{color:#f4dfa0}.invite-brand h1{letter-spacing:-.04em;margin:10px 0 22px;font:600 clamp(54px,7vw,92px)/.9 Newsreader,serif}.invite-brand>div p{color:#d9e6df;max-width:540px;font-size:20px;line-height:1.5}.invite-panel{background:var(--bg);place-items:center;padding:40px clamp(24px,5vw,72px);display:grid}.invite-panel form,.invite-invalid{border:1px solid var(--border);background:var(--surface);width:min(470px,100%);box-shadow:var(--shadow);border-radius:14px;padding:34px}.invite-shield,.invite-invalid>svg{background:var(--sage);width:38px;height:38px;color:var(--ink);border-radius:9px;padding:8px}.invite-panel h2{margin:18px 0 8px;font:600 34px/1.05 Newsreader,serif}.invite-panel form>p,.invite-invalid p{color:var(--muted);margin-bottom:24px;font-size:13px;line-height:1.5}.invite-panel label{margin:14px 0 6px;font-size:12px;font-weight:700;display:block}.invite-panel input{width:100%;min-height:50px;color:var(--ink);background:#fffefa;border:1px solid #b9c4bd;border-radius:8px;padding:0 12px}.invite-panel .password-field input{padding-right:52px}.invite-activate{width:100%;margin-top:20px}.invite-loading{color:var(--muted);align-items:center;gap:9px;display:flex}.invite-invalid a{background:var(--ink);color:#fff;border-radius:8px;align-items:center;min-height:46px;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}@media (width<=1180px){.planning-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.prep-layout{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.planner-layout{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.week-columns,.day-row{grid-template-columns:105px minmax(0,1fr)}.week-columns span:nth-child(3){display:none}.day-heading{grid-row:span 2}.meal-card{border-bottom:1px solid var(--soft-border);border-right:0}.day-row>.meal-card.lunch-slot,.day-row>.meal-card.dinner-slot{grid-column:2}.meal-card:last-child{border-bottom:0}}@media (width<=860px){.site-header{grid-template-columns:auto 1fr auto;padding:0 16px}.site-header .brand{font-size:24px}.site-header nav{justify-self:center;gap:16px}.save-state,.user-avatar{display:none}.admin-catalog-card{grid-template-columns:1fr}.app-main{padding:28px 16px 44px}.invite-page{grid-template-columns:1fr}.invite-brand{gap:60px;min-height:44dvh;padding:30px 24px}.invite-brand h1{font-size:54px}.invite-panel{padding:28px 16px 44px}.page-intro{flex-direction:column;align-items:flex-start}.page-intro h1{font-size:clamp(42px,10vw,60px)}.planner-layout,.prep-layout{grid-template-columns:1fr}.prep-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.prep-checklist{grid-row:span 2}.shopping-panel.compact{max-height:none;position:static}.login-page{grid-template-columns:1fr}.login-copy{gap:80px;min-height:44dvh}.login-copy h1{font-size:clamp(54px,13vw,84px)}.login-footnote{display:none}.recipe-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-column-labels{display:none}.ingredient-row{border:1px solid var(--soft-border);border-radius:9px;grid-template-columns:minmax(0,1.4fr) minmax(82px,.6fr) 44px;padding:14px}.ingredient-row label:nth-child(4){grid-column:1/3}.ingredient-row .remove-row{grid-area:1/3}.mobile-field-label{color:var(--muted);margin-bottom:4px;font-size:9px;font-weight:700;display:block}.preview-week{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-grid,.meal-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-picker-tools{grid-template-columns:minmax(0,1fr) minmax(180px,.45fr)}.meal-picker-favorites{grid-column:1/-1;width:fit-content}}@media (width<=600px){.site-header{grid-template-columns:1fr auto;height:auto;min-height:64px}.desktop-navigation{display:none!important}.mobile-navigation{grid-area:2/1/auto/-1;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;height:58px;gap:3px!important;display:grid!important}.mobile-navigation>a,.mobile-more-nav>summary{color:#365047;cursor:pointer;background:0 0;border:0;border-radius:7px;align-content:center;place-items:center;gap:3px;min-width:0;min-height:54px;font-weight:700;text-decoration:none;list-style:none;display:grid;position:relative;padding:6px 3px 4px!important;font-size:11px!important}.mobile-navigation>a:after,.mobile-more-nav>summary:after{content:"";background:var(--accent);border-radius:3px;height:3px;position:absolute;bottom:0;left:12px;right:12px;transform:scaleX(0)}.mobile-navigation>a.active:after,.mobile-more-nav>summary.active:after{transform:scaleX(1)}.mobile-navigation svg{width:20px;height:20px}.mobile-more-nav{position:relative}.mobile-more-nav>summary::-webkit-details-marker{display:none}.mobile-more-nav>div{z-index:30;background:#fffefa;border:1px solid #c8d2ca;border-radius:10px;gap:3px;width:210px;padding:7px;display:grid;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 16px 36px #12282133}.mobile-more-nav>div a{text-align:left;border-radius:7px;align-items:center;gap:9px;min-height:46px;text-decoration:none;display:flex;padding:0 10px!important;font-size:13px!important}.mobile-more-nav>div a.active{background:var(--sage)}.mobile-more-nav .nav-attention-dot{width:7px;height:7px;margin-left:auto;position:static}.nav-full{display:none}.nav-short{display:inline}.header-meta{grid-column:2}.catalog-state{padding:0 8px}.catalog-state>span{display:none}.equipment-setup-banner{border-left:0;border-right:0;border-radius:0;grid-template-columns:36px minmax(0,1fr);width:100%;margin:0;padding:11px 16px}.equipment-setup-banner button{grid-column:1/-1;justify-content:center;width:100%}.page-intro{margin-bottom:22px}.page-intro p{font-size:17px}.intro-actions{grid-template-columns:1fr;width:100%;display:grid}.intro-actions .primary-button,.intro-actions .portion-control,.intro-actions .portion-control select{width:100%;min-width:0}.primary-button{flex:1}.equipment-week-warning{grid-template-columns:36px minmax(0,1fr);margin-top:-6px}.equipment-week-warning button{grid-column:1/-1;width:100%}.kitchen-hero{min-height:0;box-shadow:none;border-left:0;border-right:0;border-radius:0;grid-template-columns:48px minmax(0,1fr);margin:-10px -16px 0;padding:26px 20px}.kitchen-hero-icon{width:48px;height:48px}.kitchen-hero>div{grid-column:1/-1}.kitchen-hero h1{font-size:50px}.kitchen-hero p{font-size:15px}.kitchen-profile-status{grid-column:1/-1;width:fit-content}.kitchen-impact-grid{grid-template-columns:1fr}.kitchen-equipment-catalog{border-left:0;border-right:0;border-radius:0;margin:0 -16px;padding:22px 16px}.kitchen-catalog-heading{flex-direction:column;align-items:flex-start;gap:10px}.kitchen-catalog-heading h2{font-size:28px}.kitchen-equipment-toolbar{flex-direction:column;align-items:stretch}.kitchen-equipment-toolbar>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.kitchen-equipment-toolbar button{width:100%}.kitchen-equipment-groups{grid-template-columns:1fr}.kitchen-equipment-groups fieldset{padding:13px}.kitchen-equipment-groups fieldset>div{grid-template-columns:1fr}.kitchen-save-bar{flex-direction:column;align-items:stretch;margin-left:-8px;margin-right:-8px;bottom:8px}.kitchen-save-bar .primary-button{width:100%}.single-meal-hero{border-left:0;border-right:0;border-radius:0;grid-template-columns:48px minmax(0,1fr);min-height:0;margin:-10px -16px 16px;padding:24px 20px}.single-meal-hero-icon{width:48px;height:48px}.single-meal-hero>div{grid-column:1/-1}.single-meal-hero h1{font-size:50px}.single-meal-hero p{font-size:15px}.single-meal-layout{grid-template-columns:1fr}.single-meal-form{border-left:0;border-right:0;border-radius:0;margin:0 -16px;padding:20px 16px;position:static}.single-meal-result{border-left:0;border-right:0;border-radius:0;margin:0 -16px;padding:18px 16px}.single-meal-recipe-card{grid-template-columns:112px minmax(0,1fr);gap:13px}.single-meal-recipe-card img{width:112px;height:112px}.single-meal-recipe-card h2{font-size:23px}.single-meal-shopping{grid-template-columns:1fr}.planning-summary{grid-template-columns:40px minmax(0,1fr);padding:14px}.planning-summary-icon{width:40px;height:40px}.planning-summary h2{font-size:21px}.planning-summary p{font-size:12px}.planning-summary-copy{align-self:center}.planning-actions{grid-column:1/-1;grid-template-columns:1fr;display:grid}.planning-actions button{width:100%;min-height:48px}.week-history{padding:15px 14px}.week-history li{flex-direction:column;align-items:stretch}.week-history li button{justify-content:center;width:100%}.regeneration-dialog{width:calc(100% - 20px)}.regeneration-dialog-card{padding:28px 20px 20px}.regeneration-dialog h2{font-size:28px}.regeneration-week-choice>div{grid-template-columns:1fr}.regeneration-week-choice label{min-height:64px}.regeneration-dialog-actions{flex-direction:column-reverse;align-items:stretch}.regeneration-dialog-actions button{width:100%}.menu-preferences{margin:-2px 0 18px;padding:15px 14px}.planning-setup{box-shadow:none;border-left:0;border-right:0;border-radius:0;margin:-2px -16px 14px;padding:18px 16px}.single-meal-quick-plan{margin-left:-4px;margin-right:-4px;padding:15px}.single-meal-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.single-meal-summary{flex-direction:column;align-items:stretch}.single-meal-summary .primary-button{width:100%}.planning-heading h2{font-size:25px}.quick-plan-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-plan-presets button{min-height:78px}.active-meal-selector{padding:13px 10px}.active-meal-grid{grid-template-columns:72px repeat(2,minmax(0,1fr));gap:6px}.active-meal-row>b{font-size:12px}.active-meal-row label span{font-size:0}.active-meal-row label span:after{content:"Välj";font-size:12px}.active-meal-row label.selected span:after{content:"Vald"}.advanced-profile,.advanced-planning{margin-left:0;margin-right:0}.advanced-planning-content{padding:0 12px 12px}.planning-mode-grid{grid-template-columns:1fr}.planning-mode{grid-template-columns:25px minmax(0,1fr);align-content:center;min-height:78px;display:grid}.planning-mode>svg{grid-row:1}.planning-mode span{grid-area:1/2}.plan-length-control>div{grid-template-columns:repeat(3,minmax(0,1fr))}.effort-preference>div{grid-template-columns:1fr}.effort-preference label{min-height:64px}.planning-common-fields,.batch-option-fields{grid-template-columns:1fr;display:grid}.planning-common-fields label,.batch-option-fields label{grid-template-columns:minmax(0,1fr) minmax(150px,.8fr);align-items:center}.planning-common-fields select,.batch-option-fields select{width:100%;min-width:0}.batch-options{margin-left:-4px;margin-right:-4px;padding:15px}.meal-targets>.meal-target-grid{grid-template-columns:72px repeat(2,minmax(0,1fr));gap:6px;display:grid}.meal-targets label{padding:0 8px}.target-day-row label>span{font-size:10px}.target-presets{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.target-presets button{justify-content:center;width:100%}.plan-preview-heading{flex-direction:column;align-items:flex-start;gap:6px}.preview-week{grid-template-columns:1fr}.preview-day{grid-template-columns:48px repeat(2,minmax(0,1fr));align-items:stretch}.preview-day>b{text-align:left;align-items:center;display:flex}.preview-day>span{min-height:44px}.planning-apply{flex-direction:column;align-items:stretch}.planning-apply .primary-button{width:100%}.plan-quality-heading{flex-direction:column;align-items:flex-start;gap:6px}.plan-quality dl{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-quality dl>div:nth-child(2){border-right:0}.plan-quality dl>div:nth-child(-n+2){border-bottom:1px solid #d7dfd4}.planning-templates form{flex-direction:column;align-items:stretch}.planning-templates form button{width:100%}.mode-explanation{flex-direction:column;align-items:flex-start;gap:8px}.preference-heading{flex-direction:column;align-items:flex-start;gap:10px}.healthy-toggle{width:100%}.preference-fields{flex-direction:column;align-items:stretch}.diet-field{justify-content:space-between}.diet-field select{min-width:178px}.allergy-options summary,.equipment-options summary{width:100%}.allergy-options fieldset{width:100%;box-shadow:none;margin-top:7px;position:static}.equipment-options{width:100%}.equipment-picker{overscroll-behavior:contain;width:100%;max-height:min(68vh,560px);box-shadow:none;margin-top:7px;position:static;overflow-y:auto}.equipment-picker-toolbar{z-index:2;background:var(--surface);flex-direction:column;align-items:stretch;padding:13px 0 8px;position:sticky;top:-13px}.equipment-picker-toolbar>div{grid-template-columns:repeat(2,1fr);display:grid}.equipment-groups{max-height:none;overflow:visible}.equipment-groups fieldset>div{grid-template-columns:1fr}.week-table{border-left:0;border-right:0;overflow:visible}.week-columns{display:none}.day-row{padding:20px 0 5px;display:block}.day-heading{border:0;justify-content:space-between;align-items:baseline;padding:0 2px 12px;display:flex}.day-row:first-of-type .day-heading{border:0;padding-left:2px}.meal-card{grid-template-columns:84px minmax(0,1fr);min-height:104px;padding:10px 2px 14px}.meal-card img{width:80px;height:66px}.meal-copy h3{font-size:14px}.meal-actions .swap-button{justify-content:center;width:44px;padding:0;font-size:0}.swap-button svg{width:18px;height:18px}.leftover-status{justify-content:center;width:44px;padding:0}.leftover-status span{display:none}.meal-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;width:100%;min-width:0;margin-top:4px;display:flex}.meal-icon-actions{margin-right:auto}.meal-planning-actions{display:flex}.move-meal-button,.meal-more-menu>summary{min-width:76px}.meal-more-menu>div{right:0}.meal-actions .choose-meal-button{width:auto;padding:0 11px}.meal-actions .leftover-status{width:44px}.meal-move-banner{margin:0 -16px;padding-left:16px;padding-right:16px;top:64px}.meal-move-banner small{line-height:1.35}.external-plan-dialog>div{padding:26px 18px 20px}.keep-meal-button{width:44px;height:44px}.meal-storage-line{flex-wrap:wrap}.meal-storage-line small{width:100%;padding-left:18px}.recipe-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.recipe-dialog-card{padding:28px 20px}.recipe-dialog h2{font-size:31px}.recipe-detail-grid{grid-template-columns:1fr;gap:26px}.meal-picker-dialog{border-radius:10px;width:calc(100% - 12px);max-height:calc(100dvh - 12px)}.meal-picker-card{padding:22px 14px}.meal-picker-header{padding-right:46px}.meal-picker-header h2{font-size:32px}.meal-picker-shortcuts{flex-direction:column;align-items:stretch}.meal-picker-shortcuts .primary-button{width:100%;min-width:0}.meal-picker-tools{grid-template-columns:1fr;padding:12px}.meal-picker-favorites{grid-column:auto;width:100%}.meal-picker-result-heading{flex-direction:column;align-items:flex-start;gap:3px}.meal-picker-grid,.meal-picker-alternatives,.meal-picker-move{grid-template-columns:1fr}.meal-picker-recipe{grid-template-columns:96px minmax(0,1fr)}.shopping-panel.compact,.shopping-panel.full{border-left:0;border-right:0;border-radius:0;margin-left:-16px;margin-right:-16px;padding:24px 16px}.shopping-item{grid-template-columns:34px minmax(0,1fr) auto;padding:5px 0}.shopping-panel.full .shopping-item{grid-template-columns:34px minmax(0,1fr) auto}.shopping-panel.full .item-price{text-align:left;grid-column:2}.price-comparison-heading{align-items:flex-end}.refresh-prices{min-width:44px;padding:0;font-size:0}.shopping-panel.full .store-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.postcode-action{grid-template-columns:1fr}.postcode-action button{width:100%}.shopping-panel.full .state-control{grid-column:2/-1;grid-template-columns:repeat(3,1fr);margin:0 0 8px;display:grid}.shopping-panel.full .item-secondary-actions{grid-column:2/-1;gap:6px;margin-bottom:8px;display:grid}.shopping-panel.full .item-secondary-actions .state-control{margin:0}.shopping-panel.full .staple-toggle{justify-content:center;min-height:44px}.state-control button{justify-content:center;padding:0 5px}.login-copy{gap:58px;min-height:38dvh;padding:28px 22px}.login-copy h1{margin-bottom:14px;font-size:52px}.login-copy>div p{margin-bottom:0;font-size:16px}.login-panel{padding:26px 16px 40px}.login-panel form{padding:28px 22px}.recipes-view .page-intro h1{font-size:44px}.recipe-library-tabs{width:100%}.recipe-library-tabs button{flex:1;padding:0 8px}.catalog-discovery-intro{border-left:0;border-right:0;border-radius:0;margin:0 -16px;padding:20px 16px}.catalog-discovery-intro h2{font-size:25px}.catalog-kitchen-context{border-left:0;border-right:0;border-radius:0;grid-template-columns:38px minmax(0,1fr);margin:0 -16px;padding:12px 16px}.catalog-kitchen-context button{grid-column:1/-1;width:100%}.catalog-search{box-shadow:none;border-left:0;border-right:0;border-radius:0;margin:0 -16px;padding:20px 16px}.catalog-filters{grid-template-columns:1fr 1fr;align-items:end;display:grid}.catalog-filters>svg{display:none}.catalog-filters label select{width:100%;min-width:0}.favorite-filter{grid-column:1/-1;justify-content:center}.catalog-results-heading{align-items:flex-start}.catalog-results-heading h2{font-size:26px}.catalog-grid{grid-template-columns:1fr;gap:10px}.catalog-card{contain-intrinsic-size:118px}.catalog-card-open{grid-template-columns:112px minmax(0,1fr);min-height:116px;display:grid}.catalog-card-open img{width:112px;height:116px}.catalog-card-body{min-height:116px;padding:14px 54px 14px 14px}.catalog-card-body>strong{font-size:18px}.catalog-card-favorite{bottom:8px;right:8px}.recipe-nutrition{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-nutrition>div:nth-child(2){border-right:0}.recipe-nutrition>div:nth-child(-n+2){border-bottom:1px solid #d7e0d3}.recipe-import-card,.recipe-editor,.saved-recipes{box-shadow:none;border-left:0;border-right:0;border-radius:0;margin-left:-16px;margin-right:-16px}.recipe-import-card,.saved-recipes{padding:22px 16px}.recipe-import-card form>div{grid-template-columns:1fr}.recipe-import-card form .primary-button{width:100%}.recipe-editor{padding:24px 16px}.editor-heading{gap:10px}.editor-heading h2{font-size:30px}.recipe-field-grid{grid-template-columns:1fr}.recipe-field-grid .wide-field{grid-column:auto}.allergen-editor>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ingredient-row{grid-template-columns:minmax(0,1fr) 92px 44px;gap:9px}.ingredient-row label:nth-child(3),.ingredient-row label:nth-child(4){grid-column:auto/span 1}.ingredient-row label:nth-child(4){grid-column:1/3}.preview-columns{grid-template-columns:1fr}.editor-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);z-index:5;background:#fffdf7f5;margin:0 -16px -24px;position:sticky;bottom:0}.editor-actions .primary-button{flex:1}.saved-heading{flex-direction:column}.saved-recipe-grid{grid-template-columns:1fr}.saved-recipe-actions .secondary-button,.saved-recipe-actions .danger-button{flex:1}.prep-view{padding-top:18px}.prep-hero{border-radius:0;min-height:188px;margin:0 -16px;padding:26px 20px}.prep-hero>svg{width:40px;height:40px}.prep-hero h1{font-size:42px}.prep-batch-list{margin-left:-16px;margin-right:-16px}.prep-batch-card{border-left:0;border-right:0;border-radius:0;padding:20px 16px}.prep-batch-top{flex-direction:column}.lock-button{justify-content:center;width:100%}.allocation-list{grid-template-columns:1fr}.prep-batch-actions{grid-template-columns:1fr 1fr;display:grid}.batch-completion{grid-template-columns:1fr 1fr}.batch-completion .primary-button{grid-column:1/-1}.prep-sidebar{grid-template-columns:1fr}.prep-checklist{grid-row:auto}.prep-empty h1{font-size:34px}.admin-catalog-card,.admin-invite-card,.admin-users-card,.admin-pending-card{box-shadow:none;border-left:0;border-right:0;border-radius:0;margin-left:-16px;margin-right:-16px}.admin-catalog-card{padding:20px 16px}.admin-catalog-stats{grid-template-columns:1fr 1fr}.admin-catalog-stats>div:nth-child(3){border-top:1px solid #d1dacd;border-left:0;grid-column:1/-1}.admin-invite-card{padding:22px 16px}.admin-form-grid,.household-choice{grid-template-columns:1fr}.admin-invite-card form>.primary-button{width:100%}.invite-result>div:last-child{grid-template-columns:1fr}.admin-list-heading{padding:20px 16px}.admin-user-row{grid-template-columns:42px minmax(0,1fr);padding:16px}.admin-user-avatar{width:40px;height:40px}.admin-user-actions{grid-column:2}.admin-user-actions .danger-button,.admin-user-actions .secondary-button{width:100%}.pending-invite-list article{flex-direction:column;align-items:stretch;padding:16px}.pending-invite-list .danger-button{width:100%}.invite-brand{min-height:40dvh}.invite-brand h1{font-size:46px}.invite-panel form,.invite-invalid{padding:28px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
