:root{--ink:#19342d;--ink-soft:#52645f;--paper:#f7f2e8;--surface:#fffdf7;--line:#ded8ca;--green:#1d5b4b;--green-dark:#173f35;--gold:#e9b94f;--coral:#dc7965;--sand:#c8a77e;--shadow:0 28px 80px #2538311f;--accent:var(--green);--accent-strong:var(--green-dark);--danger:var(--coral);--muted:var(--ink-soft);--shadow-soft:0 12px 32px #25383114;--surface-muted:#f3eee3}.household-page{gap:18px;display:grid}.household-add-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-card,.household-person-card{background:var(--surface,#fffdf7);border:1px solid var(--line,#ded8ca);border-radius:18px;padding:16px}.settings-card>summary,.household-person-card>details>summary{color:var(--green-900,#123f35);cursor:pointer;font-weight:800}.stacked-form{gap:12px;margin-top:16px;display:grid}.stacked-form.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.stacked-form label:not(.inline-check){gap:6px;display:grid}.inline-check{align-items:center;gap:8px;display:flex}.household-people-list{gap:10px;display:grid}.household-person-card.inactive{opacity:.62}.household-person-summary{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.household-person-summary div{gap:2px;display:grid}.household-person-summary div span{color:var(--muted,#68645c);font-size:.82rem}.household-person-card>details{border-top:1px solid var(--line,#ded8ca);margin-top:14px;padding-top:12px}.status-pill{color:#174f40;background:#e8f0e8;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:800}@media (max-width:720px){.household-add-grid,.stacked-form.compact{grid-template-columns:1fr}.household-person-summary{grid-template-columns:auto minmax(0,1fr)}.household-person-summary .status-pill{grid-column:2;justify-self:start}}.template-heading{align-items:end}.template-heading p:last-child,.template-editor-heading>p:last-child{color:var(--muted);margin:6px 0 0}.template-list,.template-component-list,.template-pool-list{gap:14px;display:grid}.template-card,.template-editor-panel,.template-component-card,.template-pool-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:20px}.template-card{gap:14px;padding:18px;display:grid}.template-card-heading,.template-pool-heading,.template-editor-heading,.template-editor-footer,.template-card-actions,.template-card-meta,.component-row-actions{justify-content:space-between;align-items:center;display:flex}.template-card-heading{align-items:flex-start;gap:12px}.template-card-heading h2,.template-pool-heading h3{font-family:var(--font-display), Georgia, serif;margin:5px 0 2px}.template-card-heading p,.template-card-meta,.template-components-summary small{color:var(--muted);font-size:.78rem}.template-health,.template-pool-heading>span,.review-component-list>article>span{white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:800}.template-health.healthy,.template-pool-heading>.healthy,.review-component-list .healthy{color:#176c4a;background:#228b5e1f}.template-health.warning,.template-pool-heading>.warning,.review-component-list .warning{color:#96530b;background:#d2802426}.template-health.neutral{background:var(--surface-muted);color:var(--muted)}.template-components-summary{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.template-components-summary>span{background:var(--surface-muted);border-radius:12px;gap:2px;padding:10px;display:grid}.template-card-meta,.template-card-actions,.component-row-actions{gap:10px}.template-card-actions{border-top:1px solid var(--line);justify-content:flex-start;padding-top:12px}.template-card-actions form{margin:0}.text-button{color:var(--accent-strong);background:0 0;border:0;min-height:38px;padding:6px 8px}.template-skeleton{min-height:210px;animation:1.2s ease-in-out infinite alternate template-pulse}.rule-scope-editor{border-top:1px solid var(--line);margin-top:16px;padding-top:13px}.rule-scope-editor>summary{color:var(--green);cursor:pointer;font-size:.8rem;font-weight:800}.rule-scope-editor form{gap:12px;margin-top:12px;display:grid}.rule-scope-editor fieldset{border:0;margin:0;padding:0}.rule-scope-editor legend{margin-bottom:7px;font-size:.76rem;font-weight:800}.rule-scope-choices{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px;display:grid}.rule-scope-choices label{background:var(--surface-muted);border-radius:10px;align-items:center;gap:8px;padding:8px;font-size:.76rem;display:flex}.planner-skip-options{border:1px solid #dc796573;border-radius:13px;grid-column:1/-1;gap:8px;padding:12px;display:grid}.planner-skip-options legend{color:var(--coral);padding:0 5px;font-size:.78rem;font-weight:800}.planner-skip-options>p,.planner-skip-options small{color:var(--ink-soft);margin:0;font-size:.72rem}.planner-skip-options>label{background:var(--surface-muted);border-radius:10px;flex-direction:row;align-items:center;gap:9px;padding:8px;display:flex}.planner-skip-options>label span{display:grid}.planner-skip-diagnostics{background:#e9b94f29;border:1px solid #c8a77e8c;border-radius:14px;margin:12px 0;padding:13px}.planner-skip-diagnostics ul{margin:6px 0}.planner-skip-diagnostics p{color:var(--ink-soft);margin:0;font-size:.75rem}@keyframes template-pulse{to{opacity:.45}}.template-editor-heading{align-items:flex-start;margin-bottom:18px;display:block}.template-editor-heading>a{margin-bottom:18px;display:inline-block}.template-editor-heading h1{font-family:var(--font-display), Georgia, serif;margin:4px 0;font-size:clamp(2rem,6vw,3.5rem)}.template-stepper{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 0 16px;display:grid;overflow-x:auto}.template-stepper button{border:1px solid var(--line);color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:7px;min-height:46px;padding:7px;font-size:.74rem;display:flex}.template-stepper button span{background:var(--surface-muted);border-radius:50%;justify-content:center;align-items:center;width:23px;height:23px;display:flex}.template-stepper button[aria-current=step]{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.template-stepper button[aria-current=step] span{background:#ffffff2e}.template-editor-panel{min-height:390px;padding:22px}.template-audience{border:0;margin:22px 0 0;padding:0}.template-audience legend{font-weight:800}.template-audience p,.component-days summary,.exact-pool summary,.candidate-breakdown summary{color:var(--muted);font-size:.8rem}.template-choice-chips{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.template-choice-chips button{background:var(--surface-muted);border:1px solid var(--line);color:var(--ink);min-height:38px;padding:7px 11px;font-size:.78rem}.template-choice-chips button[aria-pressed=true]{background:var(--accent-strong);color:#fff}.template-audience-add{margin-top:12px}.audience-add-panel{background:var(--surface-muted);border:1px solid var(--line);border-radius:14px;gap:12px;max-width:520px;margin-top:10px;padding:14px;display:grid}.audience-default-choice{align-items:center;gap:9px;display:flex}.audience-default-choice input{width:18px;height:18px}.audience-add-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.audience-add-panel small{color:var(--muted)}.template-days-grid{gap:9px;display:grid}.template-days-grid>label{background:var(--surface-muted);border:1px solid var(--line);border-radius:13px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.template-days-grid>label.selected{border-color:var(--accent)}.template-days-grid>label span{align-items:center;gap:10px;font-weight:750;display:flex}.template-days-grid input[type=time]{max-width:128px}.copy-time-button{margin-top:14px}.template-component-card,.template-pool-card{box-shadow:none;padding:16px;position:relative}.template-component-number{background:var(--accent-strong);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-bottom:10px;font-size:.76rem;font-weight:800;display:flex}.component-days,.exact-pool,.candidate-breakdown{border-top:1px solid var(--line);margin-top:13px;padding-top:11px}.component-days summary,.exact-pool summary,.candidate-breakdown summary{cursor:pointer;font-weight:750}.component-row-actions{justify-content:flex-start;margin-top:10px}.component-row-actions button{color:var(--muted);background:0 0;border:0;min-height:36px;padding:5px 8px;font-size:.75rem}.component-row-actions .danger-text{color:var(--danger)}.template-filter-group{background:var(--surface-muted);border-radius:13px;margin-top:12px;padding:11px}.template-filter-group>div:first-child{grid-template-columns:1fr 1fr auto;gap:7px;display:grid}.template-filter-group>div:first-child select:first-child{grid-column:1/3}.template-filter-group>div:first-child button{grid-area:1/3/3;min-width:40px;padding:0}.exact-recipe-list{gap:5px;max-height:310px;margin-top:10px;display:grid;overflow-y:auto}.exact-recipe-list label{grid-template-columns:minmax(0,1fr) 130px;align-items:center;gap:8px;display:grid}.exact-recipe-list label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.candidate-breakdown>details{margin:8px 0 0 10px}.candidate-breakdown>details div{gap:5px;margin:7px 0 0 10px;display:grid}.candidate-breakdown a{font-size:.78rem}.template-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.template-review-grid>div{background:var(--surface-muted);border-radius:13px;padding:12px}.template-review-grid dt{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:800}.template-review-grid dd{margin:4px 0 0}.review-component-list{gap:7px;margin:14px 0;display:grid}.review-component-list article{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;padding:11px;display:flex}.review-component-list article>div{display:grid}.review-component-list article>div span{color:var(--muted);font-size:.72rem}.template-editor-footer{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);z-index:12;border-radius:16px;gap:10px;margin-top:14px;padding:10px;position:sticky;bottom:12px}.template-editor-footer>span{color:var(--muted);font-size:.75rem}.template-save-actions{gap:8px;display:flex}@media (max-width:720px){.template-heading{align-items:center;display:flex}.template-heading p:last-child{display:none}.template-heading .primary-link{white-space:nowrap;font-size:.78rem}.template-card{border-radius:17px;padding:15px}.template-card-meta{flex-direction:column;align-items:flex-start;gap:3px}.template-stepper{margin-left:-16px;margin-right:-16px;padding:0 16px 5px;display:flex}.template-stepper button{flex:none}.template-editor-panel{border-radius:17px;min-height:360px;padding:15px}.template-editor-panel .panel-heading{align-items:flex-start;gap:10px}.template-review-grid{grid-template-columns:1fr}.template-editor-footer{bottom:calc(72px + env(safe-area-inset-bottom))}.template-editor-footer>span{display:none}.template-save-actions{margin-left:auto}.template-save-actions button{padding-left:11px;padding-right:11px}}.history-backfill>summary{cursor:pointer;align-items:center;gap:10px;list-style:none;display:flex}.history-backfill>summary::-webkit-details-marker{display:none}.history-backfill>summary span{color:var(--green);background:#e9b94f33;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.1rem;transition:transform .16s;display:inline-flex}.history-backfill[open]>summary span{transform:rotate(45deg)}.history-backfill-content{margin-top:22px}.classification-selector{gap:8px;display:grid}.classification-selector .field-label{color:var(--ink);font-size:.82rem;font-weight:700}.classification-selector-trigger{background:var(--surface);border:1px solid var(--line);color:var(--ink);font:inherit;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:8px 11px;display:flex}.classification-selector-trigger>svg{flex:none;width:18px;height:18px}.classification-selector-value{flex-wrap:wrap;gap:5px;display:flex}.classification-selector-value span{color:var(--green);background:#1d5b4b1a;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:750}.classification-selector-value em{color:var(--ink-soft);font-style:normal}.selector-overlay{z-index:100;position:fixed;inset:0}.selector-scrim{background:#12231e85;border:0;border-radius:0;width:100%;position:absolute;inset:0}.selector-sheet{background:var(--surface);max-width:560px;max-height:min(82vh,660px);padding:22px max(20px, env(safe-area-inset-left)) calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;width:100%;position:absolute;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 -20px 70px #1429233d}.selector-sheet header{justify-content:space-between;align-items:center;display:flex}.selector-sheet h2{margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.65rem}.selector-help{color:var(--ink-soft);margin:12px 0 16px;font-size:.8rem;line-height:1.45}.selector-options{flex-wrap:wrap;gap:8px;display:flex}.selector-options button{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:999px;align-items:center;gap:5px;min-height:42px;padding:8px 13px;font-size:.84rem;display:inline-flex}.selector-options button.selected{color:var(--green);background:#1d5b4b1a;border-color:#1d5b4b6b;font-weight:750}.selector-options svg{width:15px;height:15px}.selector-custom-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:18px;display:grid}.selector-custom-row button{width:auto}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 88% 4%, #e9b94f21, transparent 26rem), var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.error-shell{flex-direction:column;justify-content:center;align-items:flex-start;max-width:680px;padding-block:80px;display:flex}.error-shell h1{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,8vw,4.8rem);font-weight:500}.error-shell p:not(.eyebrow){color:var(--ink-soft);margin:24px 0;font-size:1.08rem;line-height:1.7}a{color:inherit}main{max-width:1240px;min-height:100vh;margin:0 auto;padding:0 32px}.site-header{justify-content:space-between;align-items:center;min-height:92px;display:flex}.brand{align-items:center;gap:11px;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--green-dark);color:#fff7e7;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;font-family:Georgia,Times New Roman,serif;display:inline-flex}.phase-chip,.draft-badge{color:var(--green);letter-spacing:.06em;text-transform:uppercase;background:#1d5b4b17;border:1px solid #1d5b4b29;border-radius:999px;padding:8px 12px;font-size:.74rem;font-weight:750}.hero{grid-template-columns:minmax(0,1.05fr) minmax(360px,.8fr);align-items:center;gap:clamp(48px,8vw,112px);min-height:660px;padding:58px 0 94px;display:grid}.eyebrow,.kicker{color:var(--green);letter-spacing:.13em;text-transform:uppercase;margin:0 0 18px;font-size:.76rem;font-weight:800}.hero h1,.section-heading h2,.roles h2{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500}.hero h1{max-width:760px;font-size:clamp(3.1rem,6vw,5.7rem);line-height:.98}.hero-summary{color:var(--ink-soft);max-width:640px;margin:32px 0;font-size:clamp(1.05rem,2vw,1.22rem);line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.hero-actions a{text-underline-offset:5px;font-weight:750}.primary-status{background:var(--green-dark);color:#fffdf7;border-radius:999px;padding:14px 20px;font-weight:750}.planner-card{background:var(--surface);box-shadow:var(--shadow);border:1px solid #19342d14;border-radius:30px;padding:30px;transform:rotate(1.2deg)}.planner-heading{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}.planner-heading .kicker{margin-bottom:7px}.planner-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.9rem;font-weight:500}.week-list{margin:0;padding:0;list-style:none}.week-list li{border-top:1px solid var(--line);grid-template-columns:10px 78px 1fr;align-items:center;gap:12px;padding:17px 0;display:grid}.day-dot{background:var(--green);border-radius:50%;width:8px;height:8px}.day-dot.sand{background:var(--sand)}.day-dot.coral{background:var(--coral)}.day-dot.gold{background:var(--gold)}.day-name{color:var(--ink-soft);font-size:.82rem;font-weight:700}.meal-name{flex-direction:column;gap:3px;display:flex}.meal-name small,.planner-footnote{color:var(--ink-soft)}.planner-footnote{margin:18px 0 0;font-size:.73rem}.principle-strip{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:28px;padding:34px 0;display:grid}.principle-strip p{color:var(--ink-soft);margin:0;line-height:1.55}.principle-strip strong{color:var(--ink);display:block}.workflow{padding:120px 0}.section-heading{max-width:700px}.section-heading h2,.roles h2{font-size:clamp(2.35rem,4vw,4rem);line-height:1.07}.steps{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:54px;display:grid}.steps article{border:1px solid var(--line);background:#fffdf7b3;border-radius:22px;min-height:310px;padding:28px}.steps article>span{color:var(--coral);font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.steps h3{margin:65px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-weight:500}.steps p,.roles p{color:var(--ink-soft);line-height:1.65}.source-cloud{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.source-cloud span{background:#e9b94f29;border-radius:999px;padding:6px 9px;font-size:.7rem}.roles{background:var(--green-dark);color:#fffdf7;border-radius:32px;grid-template-columns:1fr 1fr;align-items:end;gap:70px;padding:clamp(34px,6vw,72px);display:grid}.roles .eyebrow{color:#f1c55f}.roles p{color:#fffdf7b8;max-width:560px}.roles dl{margin:0}.roles dl div{border-top:1px solid #ffffff2e;grid-template-columns:140px 1fr;gap:18px;padding:20px 0;display:grid}.roles dt{font-weight:800}.roles dd{color:#fffdf7b3;margin:0;line-height:1.5}footer{color:var(--ink-soft);justify-content:space-between;padding:54px 0;font-size:.8rem;display:flex}@media (max-width:850px){main{padding:0 20px}.hero{grid-template-columns:1fr;padding-top:50px}.planner-card{transform:none}.principle-strip,.steps,.roles{grid-template-columns:1fr}.steps article{min-height:260px}.roles{gap:36px}}@media (max-width:520px){.site-header{min-height:76px}.phase-chip{display:none}.hero{min-height:auto;padding:52px 0 72px}.hero h1{font-size:clamp(2.7rem,14vw,4rem)}.planner-card{border-radius:22px;padding:22px}.week-list li{grid-template-columns:8px 68px 1fr}.principle-strip{gap:22px}.workflow{padding:84px 0}.roles dl div{grid-template-columns:1fr;gap:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}button,input,select,textarea{color:inherit;font:inherit}button,.primary-link,.secondary-link{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:11px 18px;font-weight:780;text-decoration:none;display:inline-flex}button,.primary-link{background:var(--green-dark);color:#fffdf7}button:disabled{cursor:not-allowed;opacity:.55}.header-link,.status-link{text-decoration:none}.centered-page{justify-content:center;align-items:center;max-width:none;min-height:100vh;padding:32px;display:flex}.auth-card{background:var(--surface);box-shadow:var(--shadow);border:1px solid #19342d1a;border-radius:30px;width:100%;max-width:540px;padding:clamp(30px,6vw,58px)}.auth-card .brand{margin-bottom:58px}.auth-card h1,.page-heading h1{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,5vw,4.2rem);font-weight:500;line-height:1.02}.muted-copy,.page-heading p,.form-section-heading p,.panel-note,.lifecycle-actions p{color:var(--ink-soft);line-height:1.65}.auth-form{gap:12px;margin-top:34px;display:grid}.auth-options{margin-top:32px}.auth-options .auth-form{margin-top:0}.google-signin{border:1px solid var(--line);color:var(--ink);background:#fff;gap:11px;width:100%}.google-signin>span{color:#4285f4;justify-content:center;align-items:center;font-size:1.1rem;font-weight:900;display:inline-flex}.auth-divider{color:var(--ink-soft);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:18px 0;font-size:.72rem;display:grid}.auth-divider:before,.auth-divider:after{background:var(--line);content:"";height:1px}.auth-persistence-note{color:var(--ink-soft);text-align:center;margin:14px 0 0;font-size:.72rem;line-height:1.5}.otp-heading{justify-content:space-between;align-items:center;display:flex}.text-button{color:var(--green);background:0 0;min-height:36px;padding:4px;font-size:.72rem}.otp-form input{letter-spacing:.28em;text-align:center;font-size:1.5rem;font-weight:800}.auth-form label,.recipe-form label,.recipe-form legend{font-size:.8rem;font-weight:780}input,select,textarea{border:1px solid var(--line);background:#fffefb;border-radius:12px;outline:none;width:100%;min-height:46px;padding:11px 13px}textarea{resize:vertical;line-height:1.55}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #1d5b4b1f}.form-message,.notice{color:var(--green-dark);background:#1d5b4b14;border-radius:12px;margin:4px 0;padding:12px 14px;font-size:.83rem;line-height:1.5}.error{color:#8f3c2c;background:#dc796521}.success{color:var(--green-dark);background:#1d5b4b1a}.field-row,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field-row>div,.form-grid label{gap:8px;display:grid}.text-link{color:var(--green);text-underline-offset:4px;font-weight:780}.app-frame{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{background:var(--green-dark);color:#fffdf7;flex-direction:column;padding:30px 24px;display:flex}.app-sidebar .brand{margin-bottom:56px}.app-sidebar .brand-mark{color:var(--green-dark);background:#fffdf7}.app-sidebar nav{gap:6px;display:grid}.app-sidebar nav a{color:#fffdf7c7;border-radius:10px;padding:12px 14px;font-weight:700;text-decoration:none}.app-sidebar nav a:hover,.app-sidebar nav a:focus-visible{color:#fff;background:#ffffff1a}.member-card{border-top:1px solid #ffffff26;align-items:center;gap:11px;margin-top:auto;padding-top:22px;display:flex}.avatar{background:var(--gold);color:var(--green-dark);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-weight:850;display:inline-flex}.member-card div{gap:3px;display:grid}.member-card span:last-child{color:#fffdf79e;text-transform:capitalize;font-size:.73rem}.quiet-button{color:#fffdf7b3;background:0 0;justify-content:flex-start;margin-top:8px;padding-left:0;font-size:.78rem}.app-content{min-width:0}.app-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:84px;padding:0 clamp(24px,5vw,68px);display:flex}.app-topbar>div{gap:3px;display:grid}.topbar-label{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.app-main{max-width:1250px;margin:0 auto;padding:clamp(42px,7vw,92px) clamp(24px,5vw,68px)}.page-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:54px;display:flex}.page-heading>div{max-width:780px}.page-heading p:last-child{max-width:680px}.heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.compact-heading h1{font-size:clamp(2.4rem,4vw,3.7rem)}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.metric-grid.four-up{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid article,.dashboard-panel,.form-section,.lifecycle-actions,.read-only-recipe{border:1px solid var(--line);background:#fffdf7c2;border-radius:22px}.metric-grid article{gap:11px;min-height:190px;padding:26px;display:grid}.metric-grid article>span{color:var(--ink-soft);letter-spacing:.07em;text-transform:uppercase;font-size:.74rem;font-weight:800}.metric-grid article>strong{font-family:Georgia,Times New Roman,serif;font-size:3rem;font-weight:500}.metric-grid article>strong.role-value{text-transform:capitalize;font-size:2rem}.metric-grid article a,.metric-grid article small{color:var(--ink-soft);align-self:end;font-size:.77rem}.dashboard-panel{margin-top:18px;padding:clamp(28px,5vw,50px)}.panel-heading{justify-content:space-between;align-items:flex-start;gap:30px;display:flex}.panel-heading h2,.form-section-heading h2,.lifecycle-actions h2,.empty-state h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.timezone-chip{color:var(--green-dark);background:#e9b94f33;border-radius:999px;padding:8px 12px;font-size:.73rem;font-weight:750}.calendar-pills{grid-template-columns:repeat(5,1fr);gap:10px;margin:34px 0;display:grid}.calendar-pills>span{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:5px;padding:15px;font-size:.75rem;display:grid}.panel-note{border-top:1px solid var(--line);margin:0;padding-top:22px;font-size:.82rem}.catalogue-toolbar{grid-template-columns:minmax(220px,1fr) 160px auto;align-items:center;gap:10px;margin-bottom:24px;display:grid}.catalogue-toolbar label{display:block}.secondary-button,.secondary-link{border:1px solid var(--line);color:var(--ink);background:0 0}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.recipe-card{background:var(--surface);border:1px solid var(--line);color:inherit;border-radius:20px;flex-direction:column;min-height:280px;padding:24px;text-decoration:none;transition:transform .16s,box-shadow .16s;display:flex}.recipe-card:hover,.recipe-card:focus-visible{transform:translateY(-3px);box-shadow:0 18px 42px #2538311a}.recipe-card-topline{color:var(--ink-soft);text-transform:capitalize;align-items:center;gap:8px;font-size:.67rem;display:flex}.status-dot{background:var(--green);border-radius:50%;width:7px;height:7px}.status-dot.paused{background:var(--gold)}.status-dot.archived{background:var(--ink-soft)}.recipe-card h2{margin:24px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500}.recipe-card>p{color:var(--ink-soft);margin:0;font-size:.86rem;line-height:1.55}.tag-row{flex-wrap:wrap;gap:6px;margin:18px 0;display:flex}.tag-row span{background:#1d5b4b14;border-radius:999px;padding:5px 8px;font-size:.66rem}.recipe-card footer{border-top:1px solid var(--line);justify-content:space-between;margin-top:auto;padding:15px 0 0;font-size:.7rem;display:flex}.empty-state{border:1px dashed var(--sand);text-align:center;border-radius:22px;flex-direction:column;align-items:center;min-height:360px;padding:60px 24px;display:flex}.empty-state>span{color:var(--gold);margin-bottom:24px;font-size:2.5rem}.empty-state p{color:var(--ink-soft)}.form-page{max-width:1060px}.recipe-form{gap:18px;display:grid}.form-section{padding:clamp(24px,4vw,40px)}.form-section-heading{grid-template-columns:34px 1fr;gap:18px;margin-bottom:30px;display:grid}.form-section-heading>span{color:var(--coral);font-family:Georgia,Times New Roman,serif;font-size:1.2rem}.form-section-heading p{margin:7px 0 0}.optional-label{color:var(--ink-soft);font-size:.72rem;font-weight:600}.form-help{color:var(--ink-soft);margin:22px 0 0;font-size:.82rem;line-height:1.6}input[readonly],select:disabled{color:var(--ink-soft);cursor:not-allowed;background:#19342d0d}.ingestion-review-panel{background:#e9b94f21;border:1px solid #a679183d;border-radius:18px;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:20px;margin-bottom:18px;padding:24px;display:grid}.ingestion-review-panel h2{margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500}.ingestion-review-panel ul{color:var(--ink-soft);margin:0;padding-left:20px;line-height:1.55}.enrichment-panel{border:1px solid var(--line);background:#19342d0a;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:20px;display:flex}.enrichment-panel h2,.enrichment-panel p{margin-bottom:0}.enrichment-panel form{flex:none}.wide-field{grid-column:1/-1}.recipe-form fieldset{border:0;margin:28px 0;padding:0}.recipe-form legend{margin-bottom:12px}.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.choice-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-card{border:1px solid var(--line);background:#fffefb;border-radius:12px;align-items:center;min-height:46px;padding:10px 12px;gap:9px!important;display:flex!important}.choice-card input{accent-color:var(--green);width:auto;min-height:auto}.choice-card:has(input:checked){background:#1d5b4b12;border-color:#1d5b4b57}.classification-grid{margin-top:28px}.sticky-actions{z-index:2;background:#f7f2e8eb;justify-content:flex-end;align-items:center;gap:10px;padding:16px 0;display:flex;position:sticky;bottom:0}.lifecycle-actions{justify-content:space-between;align-items:center;gap:30px;margin-top:40px;padding:28px;display:flex}.lifecycle-actions h2{font-size:1.4rem}.lifecycle-actions p{margin-bottom:0;font-size:.8rem}.read-only-recipe{gap:0;padding:10px 30px;display:grid}.read-only-recipe>div{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr;gap:18px;padding:24px 0;display:grid}.read-only-recipe>div:last-child{border-bottom:0}.read-only-recipe span{color:var(--ink-soft);text-transform:uppercase;font-size:.74rem;font-weight:800}.read-only-recipe p{white-space:pre-wrap;margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rules-stack{gap:20px;display:grid}.rule-card,.history-backfill{padding:clamp(26px,4vw,42px)}.rule-card-heading{justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:30px;display:flex}.rule-card-heading h2,.audit-section h2,.history-section h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,3vw,2.25rem);font-weight:500}.rule-card-heading p:last-child{color:var(--ink-soft);max-width:760px;margin-bottom:0;line-height:1.6}.hard-rule-chip,.outcome-chip{text-transform:uppercase;border-radius:999px;flex:none;padding:8px 11px;font-size:.7rem;font-weight:800}.hard-rule-chip{color:#8f3c2c;background:#dc796524}.inline-rule-form{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;align-items:end;gap:14px;display:grid}.inline-rule-form label,.rule-form label,.history-backfill-form label,.correction-panel label{gap:8px;font-size:.8rem;font-weight:780;display:grid}.rule-summary{color:var(--ink-soft);background:#1d5b4b12;border-radius:14px;margin:0;padding:18px;line-height:1.6}.rule-form{gap:26px;display:grid}.toggle-field{border:1px solid var(--line);background:#1d5b4b0f;border-radius:12px;align-self:end;align-items:center;min-height:46px;padding:11px 13px;display:flex!important}.toggle-field input{accent-color:var(--green);width:auto;min-height:auto}.recipe-eligibility-fieldset{border:0;margin:0;padding:0}.recipe-eligibility-fieldset legend{margin-bottom:13px;font-size:.8rem;font-weight:780}.recipe-choice-grid{max-height:310px;padding-right:4px;overflow:auto}.form-actions{justify-content:flex-end;align-items:center;display:flex}.new-rule-card{border-style:dashed}.audit-section,.history-section{border:1px solid var(--line);background:#fffdf7c2;border-radius:22px;margin-top:20px;padding:clamp(26px,4vw,42px)}.audit-list{gap:0;display:grid}.audit-list article{border-top:1px solid var(--line);gap:6px;padding:20px 0;display:grid}.audit-list article>span,.audit-list article>p{color:var(--ink-soft);margin:0;font-size:.8rem;line-height:1.55}.history-backfill{margin-bottom:20px}.history-backfill-form{align-items:end}.history-list{gap:14px;display:grid}.history-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}.history-card-main{grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:22px;display:grid}.history-date{gap:5px;display:grid}.history-date strong{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:500}.history-date span,.history-role,.history-card-main>div:nth-child(2)>p{color:var(--ink-soft);font-size:.74rem}.history-role{text-transform:uppercase;margin:0 0 5px;font-weight:800}.history-card h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500}.history-card-main>div:nth-child(2)>p:not(.history-role){margin:7px 0 0}.outcome-chip{color:var(--green-dark);background:#1d5b4b1a}.outcome-chip.skipped,.outcome-chip.cancelled{color:var(--ink-soft);background:#6468601f}.outcome-chip.replaced{background:#e9b94f33}.outcome-chip.scheduled{color:#8f3c2c;background:#dc79651f}.correction-panel{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.correction-panel summary{color:var(--green);cursor:pointer;font-size:.8rem;font-weight:780}.correction-panel form{margin-top:18px}.compact-empty-state{min-height:270px}.planner-page{flex-direction:column;gap:16px;display:flex}.planner-page.has-plan>.page-heading{display:none}.household-summary-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:13px;margin-top:20px;padding:18px;display:grid}.household-summary-card>div{gap:3px;display:grid}.household-summary-card small{color:var(--ink-soft)}.household-summary-card .brand-mark,.household-summary-card .avatar{width:44px;height:44px}.plan-control-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;gap:10px;padding:8px;display:grid;position:relative}.plan-selector-strip{overscroll-behavior-inline:contain;scrollbar-width:none;gap:8px;width:100%;min-width:0;max-width:596px;margin-inline:auto;display:flex;position:relative;overflow-x:auto}.plan-selector-strip::-webkit-scrollbar{display:none}.plan-selector-end-space{flex:0 0 225px}.plan-selector-week,.plan-selector-create,.plan-selector-empty-slot{scroll-snap-align:center;flex:0 0 130px;min-width:0}.plan-selector-week,.plan-selector-create>button{color:var(--green-dark);text-align:center;background:#1d5b4b0a;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:80px;padding:4px;text-decoration:none;display:flex}.plan-selector-week.is-selected{background:var(--green-dark);color:#fff;text-align:left;flex-basis:320px;align-items:stretch;gap:2px;padding:4px 12px}.plan-selector-selected-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.plan-selector-selected-heading>strong{min-width:0;font-size:1rem;line-height:1.3}.plan-selector-selected-heading .plan-status{white-space:nowrap;justify-content:center;align-items:center;min-height:0;padding:5px 8px;line-height:1.2;display:inline-flex;font-size:.875rem!important}.plan-approved-badge-wrap{display:inline-flex}.plan-approved-badge-trigger{color:var(--green-dark);background:0 0;min-width:44px;min-height:44px;padding:0}.plan-selector-selected-heading .plan-status.approved{background:#dbe8e2;border:0}.plan-selector-selected-heading .plan-status.draft{color:var(--green-dark);background:#fff1d5}.plan-selector-date-range{font-size:1.3125rem;line-height:1.3}.plan-selector-side-dates{font-size:.875rem;line-height:1.4}.plan-selector-week.is-side{gap:2px;padding:4px 2px}.plan-selector-week.is-side>svg{width:20px;height:20px}.plan-selector-create{position:static}.plan-selector-create>button{border:1px solid var(--green-dark);cursor:pointer;background:0 0;gap:2px;width:100%;height:100%;list-style:none}.plan-selector-create>button>span{line-height:1.2}.plan-selector-create>button::-webkit-details-marker{display:none}.plan-selector-create.is-only{flex-basis:100%}.plan-create-dialog{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:18px;width:min(430px,100vw - 24px);max-height:calc(100dvh - 32px);margin:auto;padding:16px;overflow-y:auto;box-shadow:0 18px 50px #142f2740}.plan-create-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f231d73}.plan-create-dialog .plan-week-create-sheet{box-shadow:none;border:0;width:auto;max-height:none;padding:0;position:static;overflow:visible}.plan-create-dialog-close{color:var(--green-dark);background:0 0;width:44px;min-height:44px;margin-left:auto;padding:0;display:flex}.uk-date-input{gap:8px;min-width:0;display:grid}.uk-date-input-row{grid-template-columns:minmax(0,1fr) 44px;gap:8px;display:grid}.uk-date-input-row input{min-width:0}.uk-date-input-row button,.uk-date-calendar-heading button{border:1px solid var(--line);color:var(--green-dark);background:0 0;width:44px;min-height:44px;padding:0}.uk-date-calendar{border:1px solid var(--line);border-radius:12px;padding:8px}.uk-date-calendar-heading{text-align:center;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;display:grid}.uk-date-calendar-days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-top:8px;display:grid}.uk-date-calendar-days>span{color:var(--ink-soft);padding-block:6px;font-size:.75rem}.uk-date-calendar-days button{color:var(--green-dark);background:0 0;border-radius:6px;min-width:0;min-height:44px;padding:0}.uk-date-calendar-days button[aria-pressed=true]{background:var(--green-dark);color:#fff}.plan-control-card .plan-share-action{position:static}.plan-control-card .plan-share-review{width:auto;max-height:70dvh;left:12px;right:12px;overflow-y:auto}.plan-control-card .plan-context-primary{flex-wrap:nowrap;gap:8px;width:100%;display:flex}.plan-control-card .plan-context-primary>:not(.plan-context-delete):not(:has(.plan-context-icon-button)){flex:1 1 0;min-width:0}.plan-control-card .plan-context-primary>.plan-context-delete{flex:0 0 44px}.plan-control-card .plan-context-primary>form:has(.plan-context-icon-button){flex:0 0 44px}.plan-control-card .plan-context-primary>form>button,.plan-control-card .plan-context-primary>details>summary,.plan-control-card .plan-context-primary>button,.plan-control-card .plan-share-action>button{width:100%;min-height:44px;padding:8px 6px;font-size:1rem!important}.plan-control-card .plan-context-icon-button{width:44px;height:44px;min-height:44px}.plan-control-card .plan-context-note{flex-basis:100%}.plan-approval-notice-collapse,.plan-notice-collapse{opacity:1;grid-template-rows:1fr;transition:grid-template-rows .2s,opacity .16s,margin .2s;display:grid}.plan-approval-notice-collapse>div,.plan-notice-collapse>div{min-height:0;overflow:hidden}.plan-approval-notice-collapse.is-dismissed,.plan-notice-collapse.is-dismissed{opacity:0;grid-template-rows:0fr;margin-bottom:-16px}.planner-result>.plan-notice-collapse.is-dismissed{margin-bottom:calc(-1 * var(--plan-result-gap,18px))}.plan-notice{color:var(--green-dark);background:#1d5b4b14;border-radius:16px;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:8px;padding:14px;display:grid}.plan-notice.error{color:#953f30;background:#b2452d1a}.plan-notice p{margin:0;font-size:1rem;line-height:1.5}.plan-approval-notice{background:#1d5b4b14;border-radius:16px;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:12px;padding:14px;display:grid}.plan-approval-check{background:var(--green-dark);color:#fff;border-radius:50%;justify-content:center;align-items:center;height:40px;display:flex}.plan-approval-notice strong{font-size:1.0625rem}.plan-approval-notice p{color:var(--ink-soft);margin:3px 0 0;line-height:1.5}.plan-approval-notice button,.plan-notice button{color:var(--green-dark);background:0 0;width:44px;min-height:44px;padding:0;font-size:1.5rem}.plan-approval-tooltip{background:var(--surface);border:1px solid var(--line);color:var(--green-dark);z-index:80;border-radius:10px;width:280px;max-width:calc(100vw - 24px);padding:12px;font-size:1rem;line-height:1.5;position:fixed;box-shadow:0 8px 20px #16312826}.component-cooking-notes-field{grid-template-columns:96px minmax(0,1fr);align-items:start;gap:14px;min-width:0;margin-top:6px;display:grid}.component-cooking-notes-field>strong{color:var(--ink-soft);letter-spacing:.03em;text-transform:uppercase;padding-top:8px;font-size:.875rem;line-height:1.4}.component-cooking-notes-field>strong>span{display:block}.cooking-notes-value,.cooking-notes-placeholder{color:var(--ink-soft);overflow-wrap:anywhere;white-space:pre-wrap;background:#e9b94f12;border-radius:10px;min-width:0;padding:8px 10px;font-size:1rem;line-height:1.5}.cooking-notes-placeholder{text-align:left;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:44px;font-style:italic;font-weight:400;display:flex}.cooking-notes-placeholder svg{flex:0 0 20px;width:20px;height:20px}@media (max-width:599px){.plan-selector-strip{scroll-snap-type:x mandatory}.plan-selector-end-space{flex-basis:calc(40% - 6px)}.plan-selector-week,.plan-selector-create,.plan-selector-empty-slot{flex-basis:calc(20% - 5px)}.plan-selector-week.is-selected{flex-basis:calc(60% - 6px);padding:4px 10px}.plan-selector-week,.plan-selector-create>button{min-height:76px}.plan-selector-date-range{font-size:1.1875rem}.plan-selector-create>button>span{font-size:clamp(.6875rem,3.4vw,.875rem)}.plan-selector-week.is-side{padding-inline:2px}.plan-selector-side-dates{white-space:nowrap;font-size:clamp(.6875rem,3vw,.875rem)}.plan-selector-selected-heading{gap:4px}.plan-selector-selected-heading>strong{font-size:.9375rem}.plan-selector-selected-heading .plan-status{font-size:.8125rem!important}.plan-selector-create>button svg{width:24px;height:24px}.plan-control-card .plan-context-primary>form>button,.plan-control-card .plan-context-primary>details>summary,.plan-control-card .plan-context-primary>button,.plan-control-card .plan-share-action>button{gap:3px;padding-inline:2px;font-size:.875rem!important}.plan-approval-notice-collapse.is-dismissed,.plan-notice-collapse.is-dismissed,.planner-result>.plan-notice-collapse.is-dismissed{margin-bottom:-12px}}@media (max-width:360px){.component-cooking-notes-field{grid-template-columns:80px minmax(0,1fr);gap:10px}.plan-control-card .plan-context-primary>form>button:not(.plan-context-icon-button)>svg,.plan-control-card .plan-context-primary>details:not(.plan-context-delete)>summary>svg,.plan-control-card .plan-context-primary>button>svg,.plan-control-card .plan-share-action>button>svg{display:none}}@media (prefers-reduced-motion:reduce){.plan-approval-notice-collapse,.plan-notice-collapse{transition:none}}.planner-result{--plan-result-gap:18px;flex-direction:column;gap:18px;display:flex}.plan-week-switcher{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:9px;padding:12px 14px;display:grid;position:relative}.plan-week-switcher-heading{justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding-right:52px;display:flex}.plan-week-switcher-heading>span{color:var(--green-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.875rem;font-weight:820}.plan-week-selector-row{align-items:stretch;gap:8px;min-width:0;display:flex}.plan-week-options{overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:thin;flex:auto;gap:8px;min-width:0;scroll-padding-inline:2px;display:flex;overflow-x:auto}.plan-week-option{border:1px solid var(--line);color:var(--ink);scroll-snap-align:start;border-radius:12px;flex:none;gap:3px;min-width:184px;padding:10px 12px;text-decoration:none;display:grid}.plan-week-option-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.875rem;font-weight:780;display:grid}.plan-week-option-heading>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.plan-week-option span small{color:var(--ink-soft);text-transform:uppercase;white-space:nowrap;margin-left:0;font-size:.875rem;font-weight:680;line-height:1}.plan-week-option-date{font-size:1rem;font-weight:650;line-height:1.3}.plan-week-option.active{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.plan-week-option.active span small{color:#ffffffb8}.plan-week-empty{color:var(--ink-soft);align-items:center;min-height:54px;margin:0;font-size:.78rem;display:flex}.plan-week-create{flex:none;position:absolute;top:9px;right:14px}.plan-week-create>summary{background:var(--green-dark);color:#fff;cursor:pointer;border-radius:13px;justify-content:center;align-items:center;width:44px;height:44px;min-height:44px;list-style:none;display:flex}.plan-week-create>summary::-webkit-details-marker{display:none}.plan-create-advanced>summary::-webkit-details-marker{display:none}.plan-context-regenerate>summary::-webkit-details-marker{display:none}.plan-context-extra>summary::-webkit-details-marker{display:none}.plan-context-delete>summary::-webkit-details-marker{display:none}.plan-week-create>summary:hover,.plan-week-create>summary:focus-visible{background:var(--green);outline-offset:2px;outline:2px solid #1d5b4b33}.plan-week-create>summary svg{width:24px;height:24px}.plan-week-create-sheet{background:var(--surface);border:1px solid var(--line);z-index:30;border-radius:16px;gap:18px;width:min(390px,100vw - 40px);padding:20px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 50px #142f272e}.plan-week-create-sheet h2,.plan-empty-state h2{margin:3px 0 7px;font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-weight:500}.plan-week-create-sheet p,.plan-empty-state p{color:var(--ink-soft);margin:0;line-height:1.5}.plan-week-create-form{gap:13px;display:grid}.plan-week-create-form>label,.plan-create-advanced label{gap:7px;font-size:.78rem;font-weight:760;display:grid}.plan-create-advanced{border-top:1px solid var(--line);padding-top:11px}.plan-create-advanced>summary{color:var(--green-dark);cursor:pointer;font-size:.75rem;font-weight:780;list-style:none}.plan-create-advanced>label,.plan-create-advanced>fieldset{margin-top:13px}.plan-actionable-notice{color:var(--ink);background:#e9b94f1f;border:1px solid #b78a2638;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 14px;text-decoration:none;display:grid}.plan-actionable-notice>svg{color:var(--green);width:21px;height:21px}.plan-actionable-notice>span:nth-child(2){gap:2px;display:grid}.plan-actionable-notice small{color:var(--ink-soft)}.plan-actionable-notice>span:last-child{color:var(--green-dark);font-size:.75rem;font-weight:820}.plan-empty-state{background:var(--surface);border:1px dashed var(--line);border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;min-height:180px;padding:26px;display:grid}.plan-empty-state>svg{color:var(--green);width:34px;height:34px}.plan-context-actions{background:var(--surface);border:1px solid var(--line);border-radius:15px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:relative}.plan-context-heading{flex:1 0 100%;justify-content:space-between;align-items:center;gap:9px;display:flex}.plan-context-title{align-items:center;gap:8px;min-width:0;display:flex}.plan-context-title>strong{color:var(--green-dark);letter-spacing:-.01em;font-size:1.0625rem}.plan-context-heading>form{margin:0}.plan-context-primary{flex-wrap:wrap;flex:auto;justify-content:flex-start;align-items:center;gap:8px;display:flex}.plan-context-primary form,.plan-share-action{margin:0}.plan-context-main,.plan-context-secondary,.plan-context-danger-button{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:8px 12px;font-weight:800;display:inline-flex;font-size:1rem!important}.plan-context-main{background:var(--green-dark);color:#fff}.plan-context-secondary,.plan-context-danger-button{border:1px solid var(--line);color:var(--green-dark);background:0 0}.plan-context-danger-button{color:#87402f;cursor:pointer;border-color:#9843313d;list-style:none}.plan-context-icon-button{flex:0 0 40px;width:40px;padding:8px}.plan-context-main svg,.plan-context-secondary svg,.plan-context-danger-button svg{width:17px;height:17px}.plan-context-main .button-spinner,.plan-context-secondary .button-spinner,.plan-context-danger-button .button-spinner{width:17px;height:17px;margin-right:0}.plan-context-primary button:disabled{cursor:not-allowed;opacity:.48}.plan-context-note,.plan-context-feedback{color:var(--ink-soft);text-align:right;flex:1 0 100%;font-size:.68rem;line-height:1.35}.plan-share-action{flex-direction:column;align-items:flex-end;display:flex;position:relative}.plan-share-review{background:var(--surface);border:1px solid var(--line);z-index:60;border-radius:16px;gap:12px;width:min(88vw,520px);padding:16px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 50px #142f2738}.plan-share-review-heading,.plan-share-review-actions,.plan-share-time-option{align-items:center;gap:10px;display:flex}.plan-share-review-heading{justify-content:space-between}.plan-share-review-heading button{color:var(--green-dark);background:0 0;border:0;width:44px;min-height:44px;padding:0;font-size:1.5rem}.plan-share-review>textarea{min-height:280px;font-size:1rem;line-height:1.5}.plan-share-review-actions{justify-content:flex-end}.plan-share-review-actions>button{min-height:44px}.plan-share-time-option{cursor:pointer;min-height:44px}.plan-share-time-option input{accent-color:var(--green-dark);flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:0;padding:0}.plan-context-regenerate,.plan-context-extra,.plan-context-delete{position:static}.plan-context-regenerate>summary,.plan-context-extra>summary,.plan-context-delete>summary{cursor:pointer;list-style:none}.plan-context-regenerate>form,.plan-context-extra>form,.plan-context-delete>form{background:var(--surface);border:1px solid var(--line);z-index:30;border-radius:13px;gap:10px;min-width:0;max-height:min(70dvh,640px);padding:14px;display:grid;position:absolute;top:calc(100% + 6px);left:12px;right:12px;overflow-y:auto;box-shadow:0 14px 34px #142f2729}.plan-context-regenerate p,.plan-context-extra p,.plan-context-delete p{color:var(--ink-soft);margin:0;font-size:.72rem;line-height:1.45}.plan-context-extra>form{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-context-extra>form>.wide-field,.plan-context-extra>form>button{grid-column:1/-1}.plan-context-delete>form{border-color:#9843313d}.plan-context-delete>form>strong{color:#87402f}.plan-context-danger{color:#984331;text-align:left;background:0 0;border:0;border-radius:9px;width:100%;min-height:38px;padding:10px;font-size:.75rem;font-weight:700;text-decoration:none;display:block}.plan-context-danger-button:hover,.plan-context-danger-button:focus-visible,.plan-context-danger:hover,.plan-context-danger:focus-visible{background:#1d5b4b0f}.planner-status-card h2{margin:4px 0 10px;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-weight:500}.planner-status-card p{color:var(--ink-soft);margin:0;line-height:1.65}.planner-result>.plan-review{order:0}.planner-result>.plan-review>.planner-plan-grid{margin-top:0}.planner-result>.conflict-panel{order:1}.planner-result>.planner-status-card,.planner-result>.planner-skip-diagnostics{order:2}.planner-status-card{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--green);border-radius:18px;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);align-items:start;gap:28px;padding:24px;display:grid}.planner-status-card.no_valid_plan{border-left-color:#b6513e}.planner-status-card.search_incomplete{border-left-color:#d29a2e}.planner-status-card.action_required{background:color-mix(in srgb, var(--surface) 92%, #e7b83f 8%);border-left-color:#d29a2e}.diagnostic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;display:grid}.diagnostic-grid div{min-width:0}.diagnostic-grid dt{color:var(--ink-soft);text-transform:uppercase;font-size:.68rem;font-weight:800}.diagnostic-grid dd{text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:.8rem;font-weight:760;overflow:hidden}.planner-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.planner-plan-grid>article{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}.planner-plan-grid>article>span,.planned-component small{color:var(--ink-soft);text-transform:uppercase;font-size:.68rem;font-weight:800}.planner-plan-grid h3{margin:5px 0 16px;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:500}.planned-component{border-top:1px solid var(--line);gap:5px;padding-top:12px;display:grid}.plan-review,.conflict-panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,32px)}.component-title-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.conflict-panel h2{margin:4px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,3vw,2.2rem);font-weight:500}.conflict-panel>div>p:last-child{color:var(--ink-soft);margin:0;line-height:1.6}.plan-status,.lock-chip{text-transform:uppercase;border-radius:999px;flex:none;padding:8px 11px;font-size:.875rem;font-weight:850}.plan-status.draft{color:var(--green-dark);background:#e9b94f33}.plan-status.approved,.lock-chip{color:var(--green-dark);background:#1d5b4b1a}.review-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));margin-top:18px}.review-grid>article{min-width:0}.review-grid>.plan-meal-card{padding:0 18px;position:relative;overflow:visible}.plan-days{gap:24px;display:grid}.plan-day{min-width:0}.plan-day-date{color:var(--green-dark);margin:0 0 10px;font-size:1.125rem;font-weight:800;line-height:1.4}.plan-day-meals.review-grid{align-items:start;margin-top:0}.plan-day-extras{margin-top:12px}.plan-extras-heading{color:var(--ink-soft);margin:0 0 8px;font-size:.9375rem}.plan-meal-card-heading{min-height:78px;padding:16px 0 14px}.plan-meal-card-heading>div{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;width:100%;min-width:0;display:grid}.plan-meal-card-meta-row{display:contents}.plan-meal-card-meta-row>span{color:var(--green-dark);letter-spacing:.025em;text-transform:uppercase;grid-area:1/1/auto/-1;font-size:1.0625rem;font-weight:800;line-height:1.4}.plan-meal-card-actions{flex:none;grid-area:2/2;justify-self:end;align-items:center;gap:2px;display:flex}.plan-meal-card-actions form{margin:0}.plan-card-note-editor{position:static}.plan-card-note-editor>summary{list-style:none}.plan-card-note-editor>summary::-webkit-details-marker{display:none}.plan-card-note-editor.has-content>summary,.plan-card-note-editor[open]>summary{color:var(--green-dark);background:#1d5b4b14}.plan-note-editor-panel{background:var(--surface);border:1px solid var(--line);z-index:15;border-radius:14px;padding:14px;position:absolute;top:58px;left:14px;right:14px;box-shadow:0 14px 30px #16312829}.plan-meal-card:has(.plan-card-note-editor[open]){z-index:20}.plan-card-action-button,.plan-card-action-indicator{color:#777d79;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;min-height:44px;padding:0;display:inline-flex}.plan-card-action-button:hover,.plan-card-action-button:focus-visible{color:var(--ink-soft);background:#40464412}.plan-card-action-button.is-locked{color:var(--green-dark);background:#1d5b4b14}.plan-card-action-button svg,.plan-card-action-indicator svg{width:19px;height:19px}.plan-card-action-button .button-spinner{margin-right:0}.plan-card-action-indicator{color:#898e8b}.plan-meal-card-title-row{grid-area:2/1;justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.planner-plan-grid .plan-meal-card-heading h3{margin:3px 0 0;font-size:1.625rem}.occasion-type{color:var(--green-dark);text-transform:uppercase;background:#1d5b4b12;border-radius:999px;flex:none;margin-bottom:2px;padding:5px 8px;font-size:.62rem;font-weight:800}.plan-meal-card.is-skipped{background:#e9b94f0d}.plan-meal-card.is-today{border-color:#1d5b4b6b;box-shadow:0 8px 24px #1d5b4b14}.plan-meal-card.is-next{box-shadow:inset 4px 0 #e9b94f,0 8px 24px #1d5b4b12}.plan-skip-panel{border:1px solid var(--line);background:#1d5b4b0a;border-radius:14px;margin-top:18px;padding:13px}.plan-skip-panel>summary{color:var(--green-dark);cursor:pointer;justify-content:space-between;align-items:center;font-weight:800;list-style:none;display:flex}.plan-skip-panel>summary::-webkit-details-marker{display:none}.plan-skip-panel>form{margin-top:15px}.plan-skip-panel label{font-size:.78rem;font-weight:760}.plan-skip-panel label span,.plan-skip-panel p{color:var(--ink-soft);font-weight:500}.plan-skip-panel form{gap:9px;display:grid}.plan-card-menu{background:0 0;border:0;margin:0;padding:0}.plan-card-menu>summary{border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:absolute;top:11px;right:10px}.plan-card-menu>summary:hover,.plan-card-menu>summary:focus-visible,.component-edit-menu>summary:hover,.component-edit-menu>summary:focus-visible{background:#1d5b4b14;outline:none}.plan-card-menu>summary svg{width:21px;height:21px}.plan-card-menu[open]{border:1px solid var(--line);background:#1d5b4b0a;border-radius:12px;margin:0 0 12px;padding:14px}.plan-card-menu[open]>summary{background:#1d5b4b14}.plan-card-menu>p{margin:0 44px 12px 0}.plan-position-issues{gap:8px;margin:0 0 10px;display:grid}.plan-position-issues article{background:#b2482f14;border-left:3px solid #b2482f;border-radius:9px;gap:4px;padding:10px;font-size:.76rem;display:grid}.rotation-insights{background:var(--surface);border:1px solid var(--line);border-radius:18px;gap:16px;padding:18px;display:grid}.history-periods{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.history-periods a{border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;flex:none;padding:8px 12px;font-size:.72rem;font-weight:800;text-decoration:none}.history-periods a.active{background:var(--green-dark);color:#fff}.history-insight-filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:8px;display:grid}.history-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.history-stat-grid article{background:var(--surface-muted);border:1px solid var(--line);border-radius:13px;gap:4px;min-width:0;padding:12px;display:grid}.history-stat-grid strong{color:var(--green-dark);font-family:Georgia,Times New Roman,serif;font-size:1.9rem;font-weight:500}.history-stat-grid small,.history-stat-grid span,.history-period-caption{color:var(--ink-soft);font-size:.68rem}.history-current-week{background:#e9b94f1f;border-radius:11px;justify-content:space-between;align-items:center;padding:11px 13px;font-size:.76rem;display:flex}.rotation-breakdowns{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.rotation-breakdowns article{border-top:1px solid var(--line);padding-top:12px}.rotation-breakdowns h3{margin:0 0 8px}.rotation-breakdowns ol,.rotation-breakdowns ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.rotation-breakdowns li{justify-content:space-between;gap:8px;font-size:.75rem;display:flex}.catalogue-health,.managed-tags-panel{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:16px}.catalogue-health{gap:13px;display:grid}.catalogue-health-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.catalogue-health-heading h2{margin:2px 0 0}.catalogue-health-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.catalogue-health-stats article{background:var(--surface-muted);border-radius:11px;gap:3px;padding:11px;display:grid}.catalogue-health-stats strong{color:var(--green-dark);font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500}.catalogue-issue-list,.catalogue-categories section>div{flex-wrap:wrap;gap:6px;display:flex}.catalogue-issue-list a,.catalogue-categories section a{color:var(--ink);background:#1d5b4b0f;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:.7rem;text-decoration:none;display:inline-flex}.catalogue-issue-list a.active{background:var(--green-dark);color:#fff}.catalogue-categories>summary,.managed-tags-panel>summary{cursor:pointer;font-weight:800}.catalogue-categories>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:14px;display:grid}.catalogue-categories h3{margin:0 0 7px;font-size:.82rem}.managed-tags-panel>div{gap:13px;padding-top:12px;display:grid}.managed-tag-create{grid-template-columns:1fr 2fr auto;align-items:end;gap:8px;display:grid}.managed-tag-list{gap:7px;display:grid}.managed-tag-list>article{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;gap:8px;padding-top:8px;display:grid}.managed-tag-list>article>div:first-child{display:grid}.managed-tag-list span{color:var(--ink-soft);font-size:.7rem}.managed-tag-list details{position:relative}.managed-tag-list details>form{background:var(--surface);border:1px solid var(--line);z-index:20;border-radius:11px;gap:8px;min-width:260px;padding:12px;display:grid;position:absolute;right:0;box-shadow:0 12px 28px #142f2724}.managed-tag-merge{align-items:end;gap:5px;display:flex}.recipe-attention-badge{color:#984331;font-size:.66rem;font-weight:800}@media (max-width:700px){.plan-meal-card-meta-row{flex-wrap:wrap}.plan-meal-card-actions{margin-left:auto}.plan-card-action-button,.plan-card-action-indicator{width:44px;height:44px;min-height:44px}.history-insight-filters,.history-stat-grid{grid-template-columns:1fr 1fr}.rotation-breakdowns,.catalogue-categories>div,.managed-tag-create{grid-template-columns:1fr}.managed-tag-list>article{grid-template-columns:minmax(0,1fr) auto}}.plan-menu-title{margin:0 44px 4px 0;display:block}.plan-skipped-label{color:var(--green-dark);background:#e9b94f26;border-radius:10px;padding:12px;font-weight:800}.plan-meal-note{color:var(--ink-soft);background:#e9b94f1a;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;margin:0 0 10px;padding:9px 11px;font-size:1rem;line-height:1.5;display:grid}.plan-meal-note svg{color:var(--green);width:17px;height:17px;margin-top:1px}.plan-meal-note span{white-space:pre-wrap;gap:1px;display:grid}.plan-meal-note strong{color:var(--ink);letter-spacing:.04em;text-transform:uppercase;font-size:.875rem}.plan-extra-actions{gap:10px;display:grid}.review-component{gap:8px;padding:13px 52px 13px 0;position:relative}.review-component.has-rule-conflict{background:color-mix(in srgb, var(--surface) 90%, #e7b83f 10%);border-left:3px solid #d29a2e;border-radius:10px;margin-inline:-8px;padding-left:8px}.component-conflict{color:#744514;gap:2px;font-size:.72rem;line-height:1.35;display:grid}.component-conflict strong{letter-spacing:.06em;text-transform:uppercase;font-size:.62rem}.component-title-row>div{grid-template-columns:96px minmax(0,1fr);align-items:baseline;gap:4px 16px;width:100%;display:grid}.component-title-row>div small{min-width:0}.component-title-row a{overflow-wrap:anywhere;min-width:0}.component-saved-details{gap:5px;display:grid}.component-saved-details p{grid-template-columns:96px minmax(0,1fr);align-items:baseline;gap:4px 16px;margin:0;font-size:1rem;line-height:1.4;display:grid}.component-saved-details strong{color:var(--green-dark);letter-spacing:.035em;text-transform:uppercase;font-size:.875rem}.component-saved-details span{color:var(--ink-soft);white-space:pre-wrap;min-width:0;font-size:1rem;line-height:1.5}.component-quick-pick-warning{color:var(--ink-soft);background:#e9b94f1f;border-radius:10px;margin:0;padding:9px 11px;font-size:.9rem;line-height:1.45}.cooking-note-quick-picks{gap:9px;display:grid}.cooking-note-quick-picks>input{font-size:1rem}.cooking-note-quick-picks>div{flex-wrap:wrap;gap:7px;display:flex}.cooking-note-quick-picks label{display:block}.cooking-note-quick-picks label input{opacity:0;position:absolute}.cooking-note-quick-picks label span{border:1px solid var(--line);cursor:pointer;border-radius:999px;min-height:44px;padding:10px 13px;display:inline-flex}.cooking-note-quick-picks label input:checked+span{background:var(--green-dark);color:#fff}.cooking-note-selected button{background:var(--green-dark);color:#fff;border:0;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:9px 13px;font-weight:750;display:inline-flex}.recipe-sources-editor{gap:12px;display:grid}.recipe-source-row{border:1px solid var(--line);border-radius:14px;grid-template-columns:auto minmax(110px,.6fr) minmax(110px,.5fr) minmax(220px,2fr) auto auto;align-items:end;gap:10px;padding:12px;display:grid}.recipe-source-order{gap:4px;display:grid}.recipe-source-order button,.recipe-source-remove{min-height:44px}.recipe-source-primary{align-items:center;min-height:44px;display:flex!important}.recipe-source-list,.recipe-default-notes{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px}.recipe-source-list>div:last-child{flex-wrap:wrap;gap:8px;display:flex}.recipe-source-list a{border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:9px 13px;display:inline-flex}.review-details-form textarea{font-size:1rem;line-height:1.5}@media (max-width:760px){.recipe-source-row{grid-template-columns:1fr 1fr}.recipe-source-order{grid-column:1/-1;grid-template-columns:44px 44px}.recipe-source-url{grid-column:1/-1}}.component-actions{gap:9px;display:grid}.review-details-form{gap:8px;display:grid}.review-details-form label{gap:5px;font-size:.72rem;font-weight:760;display:grid}.feedback-list{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.feedback-list li{gap:3px;display:grid}.feedback-list span{color:var(--ink-soft);font-size:.7rem}.text-button{color:#8f3c2c;background:0 0;min-height:auto!important;padding:4px!important}.history-review-actions{gap:8px;display:grid}.compact-review-form{margin-top:14px}.feedback-reasons{border:0;flex-wrap:wrap;gap:8px 14px;padding:0;display:flex}.feedback-reasons legend{margin-bottom:8px;font-weight:760}.feedback-reasons label{align-items:center;gap:5px;font-size:.75rem;display:flex}.source-mode-choice{border:0;flex-wrap:wrap;gap:12px 20px;padding:0;display:flex}.source-mode-choice legend{margin-bottom:10px;font-weight:760}.source-mode-choice label{align-items:center;gap:7px;display:flex}.import-source-picker{margin:0 0 22px!important}.import-source-picker legend{font-weight:760}.import-source-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.import-source-options>button{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fffefb;grid-template-columns:24px 1fr;align-items:flex-start;gap:10px;min-height:92px;padding:14px;display:grid}.import-source-options>button:hover,.import-source-options>button.selected{background:#1d5b4b12;border-color:#1d5b4b85}.import-source-options>button.selected{box-shadow:inset 0 0 0 1px var(--green)}.import-source-options svg{color:var(--green);width:22px;height:22px}.import-source-options span{gap:4px;display:grid}.import-source-options strong{font-size:.86rem}.import-source-options small{color:var(--ink-soft);font-size:.7rem;font-weight:500;line-height:1.35}.import-source-fields{animation:.14s ease-out source-fields-in}@keyframes source-fields-in{0%{opacity:0;transform:translateY(4px)}}.component-actions form:first-child button{width:100%}.recipe-random-inline{margin:0;display:flex}.recipe-random-inline .random-meal-button{color:var(--green-dark);background:#1d5b4b14;border:1px solid #1d5b4b2e;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;min-height:44px;padding:0;display:inline-flex}.random-meal-button svg{width:20px;height:20px}.random-meal-button:hover,.random-meal-button:focus-visible{background:#1d5b4b24}.recipe-swap-selector{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.recipe-swap-selector>legend{color:var(--ink);margin-bottom:8px;font-size:.78rem;font-weight:850}.recipe-swap-toolbar{grid-template-columns:minmax(0,1fr) 44px 44px;align-items:stretch;gap:8px;display:grid}.recipe-swap-search{display:block;position:relative}.recipe-swap-search svg{color:var(--ink-soft);pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.recipe-swap-search input{width:100%;padding-left:38px}.component-actions .recipe-filter-toggle{color:var(--green-dark);background:#1d5b4b14;border:1px solid #1d5b4b2e;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;min-height:44px;padding:0;display:inline-flex;position:relative}.recipe-filter-toggle svg{width:19px;height:19px}.recipe-filter-toggle:hover,.recipe-filter-toggle:focus-visible,.recipe-filter-toggle.active{background:#1d5b4b24}.recipe-filter-count{background:var(--green);border:2px solid var(--surface);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:17px;height:17px;font-size:.56rem;font-weight:850;line-height:1;display:flex;position:absolute;top:-3px;right:-3px}.recipe-swap-filters{background:#1d5b4b0d;border:1px solid #1d5b4b1f;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;display:grid}.recipe-swap-filters label{gap:4px;font-size:.68rem;font-weight:800;display:grid}.recipe-swap-filters select{width:100%;min-width:0;min-height:42px;padding:8px 10px;font-size:.76rem}.component-actions .recipe-filter-clear{color:var(--green);text-underline-offset:3px;background:0 0;border:0;grid-column:1/-1;justify-self:start;width:auto;min-height:32px;padding:3px 5px;font-size:.7rem;text-decoration:underline}.recipe-swap-status{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;font-size:.68rem;display:flex}.recipe-swap-status strong{color:var(--green);font-weight:800}.recipe-swap-results{border:1px solid var(--line);overscroll-behavior:contain;border-radius:12px;max-height:270px;display:grid;overflow-y:auto}.recipe-swap-results label{background:var(--surface);border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:54px;padding:9px 11px;display:grid}.recipe-swap-results label:first-child{border-radius:11px 11px 0 0}.recipe-swap-results label:last-child{border-bottom:0;border-radius:0 0 11px 11px}.recipe-swap-results label:only-child{border-radius:11px}.recipe-swap-results label:hover,.recipe-swap-results label.selected{background:#1d5b4b12}.recipe-swap-results label:has(input:focus-visible){background:#1d5b4b12}.recipe-swap-results input{accent-color:var(--green);min-height:auto}.recipe-swap-results label>span{gap:2px;min-width:0;display:grid}.recipe-swap-results strong{font-size:.9375rem;line-height:1.3}.app-main .recipe-swap-results small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1.35;overflow:hidden;font-size:.75rem!important}.recipe-swap-results label>svg{color:#0000;width:18px;height:18px}.recipe-swap-results label.selected>svg{color:var(--green)}.recipe-swap-empty{background:var(--surface-muted);color:var(--ink-soft);border-radius:12px;justify-items:start;gap:3px;padding:14px;font-size:.73rem;display:grid}.recipe-swap-empty p,.recipe-swap-submit{margin:0}.recipe-swap-submit button[type=submit]{width:100%}.replacement-form button,.component-actions button{min-height:42px;padding:9px 12px;font-size:.73rem}.compact-button{min-height:38px;padding:8px 12px;font-size:.75rem}.conflict-panel{border-left:5px solid #b6513e}.conflict-list{gap:12px;margin-top:24px;display:grid}.conflict-list article{background:#dc796514;border-radius:14px;gap:8px;padding:18px;display:grid}.conflict-list article>span{color:#8f3c2c;text-transform:uppercase;font-size:.67rem;font-weight:850}.conflict-list article>p{color:var(--ink-soft);margin:0;font-size:.8rem}.override-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:8px;display:grid}.override-form label{gap:8px;font-size:.78rem;font-weight:780;display:grid}@media (max-width:1000px){.app-frame{grid-template-columns:88px minmax(0,1fr)}.app-sidebar{align-items:center;padding:24px 14px}.app-sidebar .brand>span:last-child,.app-sidebar nav a,.member-card div,.app-sidebar .quiet-button{font-size:0}.app-sidebar nav a:first-letter,.app-sidebar .quiet-button:first-letter{font-size:.8rem}.metric-grid,.metric-grid.four-up,.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-pills{grid-template-columns:repeat(3,1fr)}.inline-rule-form{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-status-card,.review-grid{grid-template-columns:1fr}.inline-rule-form button{grid-column:1/-1}}@media (max-width:700px){.enrichment-panel{flex-direction:column;align-items:stretch}.enrichment-panel button{width:100%}.centered-page{padding:14px}.auth-card{border-radius:22px}.app-frame{display:block}.app-sidebar{flex-direction:row;align-items:center;gap:14px;min-height:70px;padding:10px 16px}.app-sidebar .brand{margin:0}.app-sidebar nav{margin-left:auto;display:flex}.app-sidebar nav a,.app-sidebar nav a:first-letter{font-size:.75rem}.member-card,.app-sidebar form{display:none}.app-topbar{min-height:68px;padding:0 20px}.app-topbar .phase-chip{display:none}.page-heading,.panel-heading,.lifecycle-actions{flex-direction:column;align-items:flex-start}.heading-actions{justify-content:flex-start}.metric-grid,.metric-grid.four-up,.recipe-grid,.form-grid,.field-row,.catalogue-toolbar{grid-template-columns:1fr}.calendar-pills,.choice-grid,.choice-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-field{grid-column:auto}.lifecycle-actions{display:flex}.rule-card-heading,.history-card-main{grid-template-columns:1fr;align-items:flex-start}.planner-plan-grid,.diagnostic-grid,.ingestion-review-panel,.replacement-form,.override-form{grid-template-columns:1fr}.rule-card-heading{flex-direction:column}.inline-rule-form{grid-template-columns:1fr}.inline-rule-form button{grid-column:auto}}.mobile-bottom-nav,.mobile-brand,.mobile-account-link{display:none}body.overlay-open{overflow:hidden}.desktop-navigation a{align-items:center;gap:11px;display:flex}.desktop-navigation svg{width:19px;height:19px}.desktop-navigation a[aria-current=page]{color:#fff;background:#ffffff1c}.desktop-navigation a.nav-pending,.mobile-bottom-nav a.nav-pending{color:var(--coral)}.desktop-navigation a.nav-pending .nav-icon,.mobile-bottom-nav a.nav-pending .nav-icon{animation:.65s ease-in-out infinite alternate nav-pending-pulse}.nav-icon{display:inline-flex}@keyframes nav-pending-pulse{to{opacity:.35;transform:scale(.88)}}.button-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:.75s linear infinite button-spin;display:inline-block}@keyframes button-spin{to{transform:rotate(360deg)}}.enrichment-submit-state{flex-direction:column;align-items:flex-end;gap:8px;max-width:290px;display:flex}.enrichment-submit-state button{white-space:nowrap;gap:8px}.enrichment-submit-state button svg{width:18px;height:18px}.enrichment-submit-state>span{color:var(--ink-soft);text-align:right;font-size:.75rem;line-height:1.4}.add-menu-layer{z-index:80;position:fixed;inset:0}.add-menu-backdrop{background:#0a181485;border-radius:0;width:100%;min-height:0;padding:0;position:absolute;inset:0}.add-menu-sheet{background:var(--surface);max-width:620px;padding:10px 20px calc(26px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;margin:0 auto;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -24px 70px #0a18143d}.sheet-handle{background:var(--line);border-radius:99px;width:42px;height:4px;margin:0 auto 20px}.sheet-heading{justify-content:space-between;align-items:flex-start;display:flex}.sheet-heading .kicker{margin-bottom:4px}.sheet-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500}.icon-button{color:var(--ink);background:#19342d12;width:42px;height:42px;min-height:42px;padding:0;font-size:1.5rem}.add-source-grid{gap:10px;margin-top:22px;display:grid}.add-source-grid a{border:1px solid var(--line);background:#19342d0a;border-radius:15px;align-items:center;gap:14px;min-height:58px;padding:12px 15px;font-weight:750;text-decoration:none;display:flex}.add-source-grid a:first-child{background:#e9b94f29;border-color:#c8a77e85}.more-page{max-width:680px}.mobile-page-heading h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:2.3rem;font-weight:500}.profile-summary-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;align-items:center;gap:13px;margin-top:24px;padding:18px;display:flex}.profile-summary-card>div{gap:3px;display:grid}.profile-summary-card span:last-child{color:var(--ink-soft);text-transform:capitalize;font-size:.8rem}.settings-list{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-top:16px;overflow:hidden}.settings-list a{border-top:1px solid var(--line);grid-template-columns:24px 1fr auto;align-items:center;gap:13px;min-height:70px;padding:13px 16px;text-decoration:none;display:grid}.settings-list a:first-child{border-top:0}.settings-list a>span:nth-child(2){gap:3px;display:grid}.settings-list small{color:var(--ink-soft)}.settings-list a>span:last-child{color:var(--ink-soft);font-size:1.5rem}.mobile-signout{margin-top:20px}.section-title-row{justify-content:space-between;align-items:end;margin-bottom:14px;display:flex}.section-title-row .kicker{margin-bottom:3px}.section-title-row h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.section-title-row>a{color:var(--green);font-size:.8rem;font-weight:800}.quiet-empty{background:var(--surface);border:1px dashed var(--sand);color:var(--ink-soft);border-radius:16px;margin:0;padding:24px}.catalogue-heading{grid-template-columns:1fr auto auto;align-items:center;gap:14px;margin-bottom:22px;display:grid}.catalogue-heading .eyebrow{margin-bottom:5px}.catalogue-heading h1{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,5vw,4rem);font-weight:500;line-height:1}.catalogue-heading>span{color:var(--ink-soft);font-size:.8rem;font-weight:750}.catalogue-add-recipe{gap:7px}.catalogue-add-recipe svg{width:18px;height:18px}.catalogue-search{grid-template-columns:22px 1fr auto;align-items:center;gap:10px;margin-bottom:12px;display:grid;position:relative}.catalogue-search>svg{color:var(--ink-soft);z-index:1;position:absolute;left:15px}.catalogue-search label{grid-column:1/3}.catalogue-search input{padding-left:46px}.filter-chips{scrollbar-width:none;gap:8px;margin-bottom:18px;padding-bottom:2px;display:flex;overflow-x:auto}.filter-chips::-webkit-scrollbar{display:none}.filter-chips a{border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:.76rem;font-weight:750;text-decoration:none}.filter-chips a[aria-current=page]{background:var(--green-dark);border-color:var(--green-dark);color:#fffdf7}.recipe-list{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}.compact-recipe-card{border-top:1px solid var(--line);grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:116px;padding:14px 18px;text-decoration:none;display:grid}.compact-recipe-card:first-child{border-top:0}.recipe-list-icon{color:var(--green);background:#1d5b4b14;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.recipe-list-copy{min-width:0}.recipe-list-copy h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:500;line-height:1.15}.recipe-list-copy>p{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 7px;font-size:.76rem;overflow:hidden}.recipe-list-copy>div{gap:6px;display:flex}.recipe-list-copy>div span{color:var(--ink-soft);text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;background:#1d5b4b12;border-radius:999px;max-width:130px;padding:4px 7px;font-size:.62rem;overflow:hidden}.recipe-list-meta{color:var(--ink-soft);flex-direction:column;align-items:flex-end;gap:8px;font-size:.7rem;display:flex}.recipe-list-meta>span:first-child{align-items:center;gap:4px;display:flex}.recipe-list-meta svg{width:14px;height:14px}.compact-status{color:var(--green);text-transform:capitalize;background:#1d5b4b17;border-radius:999px;padding:4px 7px}.compact-status.paused{color:#835f11;background:#e9b94f2e}.compact-status.archived{color:var(--ink-soft);background:#52645f1a}.pagination{grid-template-columns:1fr auto 1fr;align-items:center;margin-top:18px;font-size:.8rem;display:grid}.pagination a{color:var(--green);font-weight:800}.pagination a:last-child{text-align:right}.pagination>span{color:var(--ink-soft)}.back-link{color:var(--ink-soft);align-items:center;gap:6px;margin-bottom:24px;font-size:.8rem;font-weight:750;text-decoration:none;display:inline-flex}.back-link svg{width:18px;height:18px}.recipe-detail-page{max-width:1080px}.recipe-detail-hero{justify-content:space-between;align-items:end;gap:40px;display:flex}.recipe-detail-copy{max-width:760px}.recipe-detail-badges{gap:7px;margin-bottom:14px;display:flex}.recipe-detail-badges>span{color:var(--green);text-transform:capitalize;background:#1d5b4b14;border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:800}.recipe-detail-hero h1,.form-edit-heading h1{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,5vw,4.2rem);font-weight:500;line-height:1.02}.recipe-detail-copy>p{color:var(--ink-soft);margin:16px 0 0;line-height:1.55}.recipe-detail-actions{flex:none;gap:8px;display:flex}.recipe-detail-actions a{gap:7px}.recipe-detail-actions svg{width:17px;height:17px}.recipe-metric-strip{background:var(--surface);border:1px solid var(--line);border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:28px;display:grid;overflow:hidden}.recipe-metric-strip>div{border-left:1px solid var(--line);gap:5px;padding:16px 18px;display:grid}.recipe-metric-strip>div:first-child{border-left:0}.recipe-metric-strip span{color:var(--ink-soft);text-transform:uppercase;font-size:.68rem;font-weight:800}.recipe-metric-strip strong{font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500}.recipe-classification{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.recipe-classification span{color:var(--ink-soft);text-transform:capitalize;background:#1d5b4b14;border-radius:999px;padding:6px 9px;font-size:.7rem}.compact-enrichment-card{background:#e9b94f1f;border:1px solid #c8a77e6b;border-radius:17px;grid-template-columns:28px 1fr auto;align-items:center;gap:14px;margin-top:26px;padding:16px 18px;display:grid}.compact-enrichment-card>svg{color:#8c6716}.compact-enrichment-card>div{gap:3px;display:grid}.compact-enrichment-card>div span{color:var(--ink-soft);font-size:.76rem}.recipe-detail-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px;margin-top:32px;display:grid}.recipe-detail-grid>article{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px}.recipe-detail-grid .section-title-row{align-items:center}.recipe-detail-grid .section-title-row>span{color:var(--ink-soft);font-size:.78rem}.ingredient-list,.instruction-list{margin:0;padding:0;list-style:none}.ingredient-list li{border-top:1px solid var(--line);padding:11px 0;font-size:.9rem;line-height:1.45}.instruction-list{counter-reset:steps}.instruction-list li{border-top:1px solid var(--line);counter-increment:steps;grid-template-columns:28px 1fr;gap:12px;padding:13px 0;font-size:.9rem;line-height:1.5;display:grid}.instruction-list li:before{background:var(--green-dark);color:#fff;content:counter(steps);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.7rem;font-weight:800;display:flex}.ingredient-list li:first-child,.instruction-list li:first-child{border-top:0}.form-edit-heading{margin-bottom:24px}.form-edit-heading .back-link{margin-bottom:20px}.form-edit-heading .eyebrow{margin-bottom:7px}.ingestion-failure-card{background:#dc79651a;border:1px solid #ae4e393d;border-radius:18px;margin-bottom:18px;padding:20px}.failure-heading{align-items:center;gap:13px;display:flex}.failure-heading>span{color:#fff;background:#9c4634;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-weight:900;display:flex}.failure-heading .kicker{color:#8f3c2c;margin-bottom:4px}.failure-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500}.ingestion-failure-card>p{color:var(--ink-soft);line-height:1.5}.ingestion-failure-card details{border-top:1px solid #ae4e3933;padding-top:12px}.ingestion-failure-card summary{cursor:pointer;font-size:.78rem;font-weight:800}.ingestion-failure-card code{overflow-wrap:anywhere;margin-top:10px;font-size:.72rem;line-height:1.5;display:block}.failure-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.plan-diagnostics{border-left:1px solid var(--line);padding-left:24px}.plan-diagnostics summary,.meal-actions-panel>summary{color:var(--green-700);cursor:pointer;justify-content:space-between;align-items:center;min-height:36px;font-size:.78rem;font-weight:800;list-style:none;display:flex}.meal-actions-panel>summary:after{content:"+";font-size:1.1rem}.meal-actions-panel[open]>summary:after{content:"−"}.meal-actions-panel>summary::-webkit-details-marker{display:none}.plan-diagnostics .diagnostic-grid{margin-top:18px}.component-title-row a{text-underline-offset:3px;font-size:1.0625rem;font-weight:800;line-height:1.35}.meal-actions-panel{border:1px solid var(--line);background:#1d5b4b0a;border-radius:12px;padding:10px}.meal-actions-panel>.component-actions{margin-top:12px}.component-edit-menu{background:0 0;border:0;margin:0;padding:0}.component-edit-menu>summary{border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;min-height:44px;padding:0;display:flex;position:absolute;top:8px;right:0}.component-edit-menu>summary:after,.component-edit-menu[open]>summary:after{content:none}.component-edit-menu>summary svg{width:19px;height:19px}.component-edit-menu[open]{border:1px solid var(--line);background:#1d5b4b0a;border-radius:12px;grid-column:1/-1;margin:5px -38px 0 0;padding:12px}.component-edit-menu[open]>summary{background:#1d5b4b14;top:8px;right:8px}.component-edit-menu>.component-actions{margin-top:0}.lock-chip{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.lock-chip svg{width:15px;height:15px}.review-component:has(.component-edit-menu) .lock-chip{margin-right:40px}.app-loading{min-height:65vh}.loading-line,.loading-card{background:#1d5b4b1a;border-radius:18px;animation:1.25s ease-in-out infinite alternate loading-pulse}.loading-line{width:48%;height:16px;margin-bottom:14px}.loading-line-short{width:24%;height:10px}.loading-line-title{width:min(420px,76%);height:40px}.loading-card{height:260px;margin-top:28px}.loading-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.loading-card-small{height:120px;margin-top:0}@keyframes loading-pulse{to{background:#1d5b4b0a}}@media (prefers-reduced-motion:reduce){.desktop-navigation a.nav-pending .nav-icon,.mobile-bottom-nav a.nav-pending .nav-icon,.loading-line,.loading-card{animation:none}}.eligibility-picker{border:1px solid var(--line);background:#1d5b4b0a;border-radius:14px;margin-top:20px}.eligibility-picker>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:60px;padding:12px 15px;list-style:none;display:flex}.eligibility-picker>summary::-webkit-details-marker{display:none}.eligibility-picker>summary>span:first-child{gap:3px;display:grid}.eligibility-picker>summary small{color:var(--ink-soft);font-size:.7rem;font-weight:500}.eligibility-picker>summary>span:last-child{color:var(--ink-soft);font-size:1.4rem;transition:transform .15s}.eligibility-picker[open]>summary>span:last-child{transform:rotate(90deg)}.eligibility-picker-body{border-top:1px solid var(--line);padding:14px}.recipe-picker-search{margin-bottom:12px;display:block;position:relative}.recipe-picker-search svg{color:var(--ink-soft);width:18px;height:18px;position:absolute;top:14px;left:13px}.recipe-picker-search input{padding-left:40px}@media (max-width:700px){html,body{max-width:100%;overflow-x:clip}.app-frame{max-width:100%;min-height:100dvh;display:block}.app-sidebar{display:none}.app-content{max-width:100%}.app-topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;background:#f7f2e8f5;grid-template-columns:40px 1fr 40px;gap:10px;min-height:64px;padding:8px 16px;display:grid;position:sticky;top:0}.app-topbar>div{gap:1px;min-width:0}.app-topbar>div strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-brand,.mobile-account-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.mobile-brand .brand-mark,.mobile-account-link .avatar{width:38px;height:38px}.mobile-bottom-nav{border-top:1px solid var(--line);min-height:calc(70px + env(safe-area-inset-bottom));padding:7px 7px calc(7px + env(safe-area-inset-bottom));z-index:60;background:#fffdf7fa;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;width:100%;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 34px #19342d14;display:grid!important}.mobile-bottom-nav.viewer-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-bottom-nav a,.mobile-bottom-nav button{color:#665f56;background:0 0;border-radius:12px;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;min-width:0;min-height:54px;padding:5px 2px;font-size:.875rem;font-weight:700;text-decoration:none;display:flex}.mobile-bottom-nav a[aria-current=page]{color:var(--coral);background:0 0}.mobile-bottom-nav svg{width:22px;height:22px}.mobile-bottom-nav .mobile-add-button{color:var(--ink);overflow:visible}.mobile-add-icon{background:var(--coral);border:4px solid var(--surface);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin-top:-31px;display:inline-flex;box-shadow:0 8px 22px #783f313d}.mobile-add-icon svg{width:28px;height:28px}.app-main{max-width:100%;min-height:calc(100dvh - 64px);padding:22px 16px calc(104px + env(safe-area-inset-bottom))}.section-title-row h2{font-size:1.65rem}.catalogue-heading{grid-template-columns:1fr auto;gap:10px;margin-bottom:15px}.catalogue-heading h1{font-size:2.35rem}.catalogue-add-recipe{grid-column:1/-1;justify-self:start}.catalogue-search{grid-template-columns:22px 1fr}.catalogue-search button{display:none}.filter-chips{margin-inline:-16px;padding-inline:16px}.recipe-list{border-radius:17px}.compact-recipe-card{grid-template-columns:42px minmax(0,1fr) auto;gap:11px;min-height:98px;padding:11px 12px}.recipe-list-icon{border-radius:12px;width:40px;height:40px}.recipe-list-icon svg{width:20px;height:20px}.recipe-list-copy h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.05rem;line-height:1.16;display:-webkit-box;overflow:hidden}.recipe-list-copy>p{display:none}.recipe-list-copy>div{margin-top:7px}.recipe-list-copy>div span:nth-child(n+3),.compact-status{display:none}.recipe-list-meta{gap:12px}.import-source-options{grid-template-columns:1fr}.import-source-options>button{align-items:center;min-height:70px;padding:12px}.back-link{margin-bottom:15px}.recipe-detail-hero{flex-direction:column;align-items:stretch;gap:16px}.recipe-detail-hero h1,.form-edit-heading h1{font-size:2.25rem}.recipe-detail-copy>p{margin-top:10px;font-size:.86rem}.recipe-detail-actions{grid-template-columns:1fr 1fr;display:grid}.recipe-detail-actions a{min-width:0}.recipe-metric-strip{border-radius:15px;margin-top:18px}.recipe-metric-strip>div{text-align:center;padding:12px 8px}.recipe-metric-strip span{font-size:.55rem}.recipe-metric-strip strong{font-size:1.2rem}.compact-enrichment-card{grid-template-columns:24px 1fr;align-items:start;padding:14px}.compact-enrichment-card form{grid-column:1/-1}.compact-enrichment-card form button{width:100%}.recipe-detail-grid{grid-template-columns:1fr;margin-top:24px}.recipe-detail-grid>article{border-radius:17px;padding:17px}.recipe-detail-grid .section-title-row{margin-bottom:4px}.ingredient-list li,.instruction-list li{font-size:.86rem}.ingestion-failure-card{border-radius:16px;padding:15px}.failure-actions{display:grid}.planner-page{flex-direction:column;gap:12px;display:flex}.planner-page.has-plan>.page-heading{display:none}.planner-result{--plan-result-gap:12px;flex-direction:column;gap:12px;display:flex}.plan-week-switcher{border-left:0;border-right:0;border-radius:0;gap:8px;margin-inline:-16px;padding:10px 16px}.plan-week-switcher-heading{justify-content:space-between;align-items:center;display:flex}.plan-week-options{display:flex;overflow-x:auto}.plan-week-option{min-width:176px;padding:8px 10px}.plan-week-option-heading{gap:7px}.plan-week-create>summary{width:42px;height:42px;min-height:42px}.plan-week-create-sheet{max-height:calc(100dvh - 190px);padding:17px;overflow-y:auto}.plan-actionable-notice{padding:11px 12px}.plan-empty-state{min-height:150px;padding:20px}.plan-context-actions{flex-wrap:wrap;align-items:flex-start;padding:9px 10px}.plan-context-primary{flex:100%;justify-content:flex-start}.plan-context-main,.plan-context-secondary,.plan-context-danger-button{min-height:38px;padding:7px 10px;font-size:.9375rem!important}.plan-context-icon-button{flex-basis:38px;width:38px;padding:7px}.plan-context-regenerate>form,.plan-context-extra>form,.plan-context-delete>form{left:8px;right:8px}.plan-context-extra>form{grid-template-columns:1fr}.plan-context-extra>form>.wide-field,.plan-context-extra>form>button{grid-column:auto}.plan-context-note,.plan-context-feedback{text-align:left}.planner-result>.plan-review{order:0}.planner-result>.conflict-panel{order:1}.planner-result>.planner-status-card{order:2}.planner-page .page-heading{flex-direction:row;align-items:center}.planner-page .page-heading h1{font-size:2.35rem}.planner-page .timezone-chip{padding:6px 8px;font-size:.62rem}.plan-review,.conflict-panel{border-radius:17px;padding:16px}.planner-result>.plan-review{background:0 0;border:0;border-radius:0;padding:0}.plan-status{padding:6px 8px}.review-grid{gap:9px;margin-top:14px}.planner-plan-grid>article{border-radius:14px}.review-grid>.plan-meal-card{padding:0 14px}.plan-meal-card-heading{min-height:70px;padding:13px 0 11px}.plan-meal-card-meta-row>span{font-size:1.0625rem}.plan-card-action-button,.plan-card-action-indicator{width:34px;height:34px;min-height:34px}.planner-plan-grid .plan-meal-card-heading h3{margin:2px 0 0;font-size:1.625rem}.review-component{gap:7px;padding:11px 42px 11px 0}.component-title-row{align-items:center;gap:8px}.component-title-row>div{grid-template-columns:96px minmax(0,1fr);gap:4px 14px}.component-title-row a{font-size:1.0625rem}.component-saved-details p{grid-template-columns:64px minmax(0,1fr);gap:3px 10px}.meal-actions-panel{margin-top:0}.component-edit-menu>summary{top:5px}.component-edit-menu[open]{margin-right:-32px}.recipe-swap-toolbar{grid-template-columns:minmax(0,1fr) 44px 44px}.recipe-swap-filters{grid-template-columns:1fr}.plan-card-menu>summary{top:8px;right:7px}.planner-status-card{border-left-width:3px;gap:14px;margin-top:4px;padding:15px}.planner-status-card h2{font-size:1.25rem}.planner-status-card>div>p:last-child{font-size:.78rem;line-height:1.45}.plan-diagnostics{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.rules-stack{gap:12px}.rule-card{padding:16px}.rule-card-heading{gap:10px}.rule-card-heading h2{font-size:1.45rem}.rule-card-heading p:last-child{display:none}.hard-rule-chip{padding:6px 8px}.inline-rule-form{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-rule-form button{grid-column:1/-1}.eligibility-picker{margin-top:14px}.recipe-choice-grid{grid-template-columns:1fr;max-height:330px;overflow-y:auto}.recipe-choice-grid .choice-card{min-height:42px;font-size:.76rem}.new-rule-card{margin-top:4px}.page-heading,.compact-heading{gap:14px;margin-bottom:22px}.page-heading .eyebrow{margin-bottom:8px}.page-heading h1,.compact-heading h1{font-size:clamp(2rem,9.5vw,2.65rem);line-height:1.02}.page-heading>div>p:last-child{display:none}.metric-grid,.metric-grid.four-up{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-grid article{gap:5px;min-height:116px;padding:15px}.metric-grid article>strong,.metric-grid article>strong.role-value{font-size:2rem}.metric-grid article a,.metric-grid article small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-panel,.form-section,.lifecycle-actions,.read-only-recipe{border-radius:18px}.enrichment-submit-state{align-items:stretch;max-width:none}.enrichment-submit-state>span{text-align:left}.sticky-actions{bottom:calc(76px + env(safe-area-inset-bottom));z-index:20}.history-page{flex-direction:column;display:flex}.history-page>.page-heading{order:0}.history-page>.notice{order:1}.history-page>.history-section{order:2}.history-page>.history-backfill{order:3;margin-top:16px}.history-section .panel-heading h2{font-size:1.45rem}.history-section .panel-heading .kicker{display:none}.history-list{gap:10px}.history-card{border-radius:16px;padding:14px}.history-card-main{grid-template-columns:70px minmax(0,1fr) auto;gap:10px}.history-date strong{font-size:.8rem}.history-date span,.history-card-main p{font-size:.72rem}.history-card-main h3{font-size:.98rem}.outcome-chip{padding:5px 7px;font-size:.62rem}.history-review-actions{gap:7px}.history-backfill{padding:14px}.history-backfill-content{margin-top:16px}.history-backfill-content .rule-card-heading{display:none}.history-backfill-form{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-meal-card-meta-row>span,.component-title-row a{font-size:1.0625rem;line-height:1.4}.component-saved-details span,.plan-meal-note,.review-details-form textarea{font-size:1rem;line-height:1.5}.component-saved-details strong,.plan-meal-note strong,.occasion-type{font-size:.875rem}}@media (max-width:380px){.component-title-row>div,.component-saved-details p{grid-template-columns:minmax(0,1fr);gap:4px}.component-title-row>div small,.component-saved-details strong{line-height:1.3}}.app-main :where(p,li,input,textarea,select){font-size:max(1rem,1em)!important}.app-main :where(label,button,summary,small){font-size:max(.875rem,1em)!important}.app-main p.kicker,.app-main :where(.compact-status,.occasion-type,.outcome-chip,.recipe-attention-badge,.status-pill){font-size:.875rem!important}.plan-meal-card-heading.plan-grouped-heading{flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:0;padding:10px 0;display:flex}.plan-grouped-heading>.plan-grouped-title{flex-wrap:wrap;flex:118px;align-items:baseline;gap:2px 8px;width:auto;min-width:0;display:flex}.planner-plan-grid .plan-grouped-heading h3{overflow-wrap:anywhere;margin:0;font-size:1.4375rem;line-height:1.3}.plan-meal-time{color:var(--ink-soft);white-space:nowrap;font-size:.9375rem}.plan-grouped-heading>.plan-meal-card-actions{width:auto;margin-left:auto;display:flex}.plan-grouped-heading .plan-card-action-button,.plan-grouped-heading .plan-card-action-indicator{width:44px;height:44px;min-height:44px}.plan-day-meals>.is-skipped .plan-grouped-heading{padding:4px 0}.planner-plan-grid .is-skipped .plan-grouped-heading h3,.plan-skipped-status{font-family:inherit;font-size:1rem;line-height:1.4}.plan-skipped-status{color:var(--ink-soft);overflow-wrap:anywhere}
