:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#252a26;background:#f5f2ea;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{width:100%;border:1px solid #ded2c0;border-radius:7px;padding:9px 10px;color:#252a26;background:#fffdf8;outline:none}input:focus,select:focus,textarea:focus{border-color:#9d5a2e;box-shadow:0 0 0 3px #9d5a2e21}textarea{min-height:92px;resize:vertical}.app-shell{width:min(1560px,100%);margin:0 auto;padding:20px}.topbar{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:18px 0}.topbar h1{margin:0;font-size:clamp(30px,4vw,48px);line-height:1;letter-spacing:0}.eyebrow{margin-bottom:6px;color:#8b6f58;font-size:13px;font-weight:700;text-transform:uppercase}.topbar-actions,.button-row,.inline-form{display:flex;gap:10px;align-items:center}.primary,.icon-text,.danger,.icon-only,.tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:7px;padding:8px 12px;font-weight:700}.primary{color:#fff;background:#355f4b}.icon-text,.tab{color:#445046;background:#e9e5d9}.danger{color:#8d251d;background:#fae3df}.icon-only{width:34px;padding:0;color:#445046;background:#e9e5d9}.wide{width:100%}.tabs{display:flex;gap:8px;margin:12px 0 18px;overflow-x:auto}.tab.active{color:#fff;background:#1f4f44}.status{display:inline-flex;align-items:center;gap:6px;min-height:32px;border-radius:999px;padding:6px 10px;color:#645443;background:#efe5d6;font-size:13px;font-weight:700}.status.good{color:#215d3b;background:#dcefdc}.status.bad,.error-banner{color:#8d251d;background:#fae3df}.status.working{color:#744819;background:#f5e6c8}.settings-panel,.error-banner,.panel,.empty-state{border:1px solid #ddd8cb;border-radius:8px;background:#fffdf8;box-shadow:0 3px 14px #26312a0d}.settings-panel{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:14px;padding:14px}.error-banner{display:flex;gap:8px;align-items:center;margin-bottom:14px;padding:12px 14px;font-weight:700}.workspace{display:block}.two-column,.plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.mise-workbench{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:16px;align-items:start}.side-stack{display:grid;gap:16px}.panel{padding:16px}.sticky-panel{position:sticky;top:16px}.panel-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.collapsible-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.collapsible-header .panel-header{margin-bottom:14px}.collapsible-panel.collapsed{align-self:start}.collapsed-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #d7c8b4;border-radius:7px;padding:13px;color:#6f5a48;background:#fffdf8}.collapsed-summary span{color:#846d59;font-size:13px;font-weight:700}.rotate-180{transform:rotate(180deg)}.panel-header h2{margin:0;font-size:21px;line-height:1.15}.panel-header p,.muted{margin:4px 0 0;color:#846d59;font-size:13px}.field{display:grid;gap:6px;color:#745b47;font-size:12px;font-weight:800}.search-box{display:flex;gap:8px;align-items:center;margin-bottom:14px;border:1px solid #ded2c0;border-radius:7px;padding:0 10px;background:#fffdf8}.search-box input{border:0;box-shadow:none}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.recipe-card,.day-card,.session-card,.component-card,.component-edit-card,.selected-row,.debug-panel,.debug-row,.debug-recipe,.metric{border:1px solid #eadfce;border-radius:8px;background:#fffdf8}.recipe-card{display:grid;gap:10px;padding:13px}.recipe-card.selected{border-color:#2f5f57;box-shadow:inset 0 0 0 2px #2f5f571f}.recipe-title-row{display:flex;justify-content:space-between;gap:10px}.recipe-title-row h3{margin:0;font-size:16px;line-height:1.25}.recipe-card p{margin:0;color:#6f5a48;font-size:13px;line-height:1.35}.recipe-meta,.meal-meta,.tag-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.recipe-meta span,.meal-meta span,.tag,.chip{display:inline-flex;gap:4px;align-items:center;border-radius:999px;padding:4px 7px;color:#5f4938;background:#efe5d6;font-size:12px;font-weight:700}.chip{color:#2f5f57;background:#dfeee9}.stack{display:grid;gap:10px}.selected-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px}.calendar{display:grid;gap:12px}.day-card{padding:12px}.day-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.day-cook-session{margin:0 0 10px;padding:10px 12px;border:1px solid #c6ddd5;border-left:3px solid #2f5f57;background:#f2f8f5}.day-cook-session-header,.day-cook-session p{display:flex;align-items:center;justify-content:space-between;gap:8px}.day-cook-session-header{color:#2f5f57;justify-content:flex-start;font-size:13px}.day-cook-session-header span,.day-cook-session p span{margin-left:auto;color:#61746c;font-size:13px}.day-cook-session p{margin:7px 0 0;font-size:14px}.meal-row{display:grid;grid-template-columns:74px 1fr;gap:12px;padding:11px 0;border-top:1px solid #f0e5d4}.meal-row.expanded{padding-bottom:14px}.meal-row>span{color:#846d59;font-size:13px;font-weight:800;text-transform:capitalize}.meal-row strong{display:block;margin-bottom:6px}.meal-title-line{display:flex;align-items:start;justify-content:space-between;gap:10px}.meal-title-line strong{min-width:0}.compact-toggle{width:28px;min-height:28px;flex:0 0 auto}.meal-expanded{display:grid;gap:10px;margin-top:10px}.meal-component-block{display:grid;gap:7px;border-left:3px solid #d8b982;padding:8px 0 8px 10px}.meal-component-block h4{margin:0;color:#5c4b3b;font-size:12px;text-transform:uppercase}.meal-component-block ul{margin:0;padding-left:18px;color:#725c49;font-size:13px}.component-use-row{display:grid;gap:2px;border:1px solid #eadfce;border-radius:7px;padding:8px;background:#fffaf2}.component-use-row strong{margin:0;font-size:13px}.component-use-row span,.component-use-row p{margin:0;color:#846d59;font-size:12px}.recipe-on-plan{display:grid;gap:10px}.subsection-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.compact-subsection-toggle{min-height:30px;padding:5px 8px;font-size:12px}.ingredient-list{display:grid;gap:6px}.ingredient-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:center;border:1px solid #eadfce;border-radius:7px;padding:7px 8px;background:#fffdf8}.ingredient-row strong{margin:0;font-size:13px}.highlight-tag{color:#5c3e0f;background:#f5dcae}.meal-row p,.session-card p,.component-card p{margin:6px 0 0;color:#725c49;font-size:13px}.meal-row.missing strong{color:#a63b31}.session-card,.component-card{display:grid;gap:3px;padding:11px}.session-card span,.component-card span{color:#846d59;font-size:13px}.profile-debug{display:grid;gap:8px;margin-top:8px;border-top:1px solid #f0e5d4;padding-top:8px}.profile-debug-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-debug-header strong{margin:0;font-size:13px}.profile-debug-header span{border-radius:999px;padding:3px 7px;color:#2f5f57;background:#dfeee9;font-size:11px;font-weight:800}.candidate-list{display:grid;gap:8px}.candidate-row{display:grid;gap:6px;border:1px solid #eadfce;border-radius:7px;padding:8px;background:#fffaf2}.candidate-row strong{display:block;margin-bottom:2px;font-size:13px}.candidate-row span{color:#846d59;font-size:12px}.grocery-list{display:grid;gap:18px}.grocery-section{display:grid;gap:7px}.grocery-section h3{margin:0;color:#846d59;font-size:11px;letter-spacing:0;text-transform:uppercase}.grocery-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #f0e5d4;padding-bottom:7px;font-size:13px}.debug-json{max-height:420px;overflow:auto;border-radius:7px;padding:12px;color:#ecf7ee;background:#1f2724;font-size:12px}.button-row.compact{gap:6px}.trace-summary{display:flex;flex-wrap:wrap;gap:6px 12px;margin:10px 0;color:#725c49;font-size:12px}.review-panel{border-top:3px solid #315f57}.review-panel textarea{min-height:96px;margin:12px 0 10px}.review-status{text-transform:capitalize}.review-status.accepted{color:#24554d;background:#dcece7}.review-status.needs_changes{color:#7c3d2a;background:#f4dfd5}.review-diff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.review-diff-grid .metric{min-width:0}.review-actions{margin-top:10px}.review-actions>button{flex:1 1 0}.empty-state{display:grid;place-items:center;min-height:360px;padding:40px;text-align:center}.table{display:grid;gap:6px;margin-top:14px;overflow-x:auto}.table-head,.table-row{display:grid;gap:8px;align-items:center;min-width:900px}.table-head{color:#745b47;font-size:12px;font-weight:800}.pantry-cols{grid-template-columns:1.5fr 1.5fr 90px 90px 130px 42px}.component-editor{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:14px}.component-editor.compact{grid-template-columns:1fr}.component-edit-card{display:grid;gap:10px;padding:12px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mise-coverage{display:grid;gap:12px;margin-bottom:14px}.coverage-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.missing-mise-panel{display:grid;gap:8px;border:1px solid #eadfce;border-radius:8px;padding:10px;background:#fffaf2}.mini-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.mini-header span{color:#846d59;font-size:12px;font-weight:800}.missing-mise-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:7px;max-height:220px;overflow:auto}.missing-mise-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #eadfce;border-radius:7px;padding:8px;color:#435045;background:#fffdf8;text-align:left}.missing-mise-row span{min-width:0;font-size:13px;font-weight:700}.missing-mise-row code{color:#846d59;font-size:11px}.debug-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;margin-bottom:14px}.debug-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;align-items:start}.recipe-debug-list{display:grid;gap:8px;max-height:74vh;overflow:auto;padding-right:2px}.debug-recipe{display:grid;gap:5px;width:100%;padding:10px;color:#435045;text-align:left}.debug-recipe.active{border-color:#1f4f44;box-shadow:inset 0 0 0 2px #1f4f441f}.debug-recipe strong{font-size:13px;line-height:1.25}.debug-recipe span,.debug-row span{color:#6e756c;font-size:12px;font-weight:700}.debug-detail{display:grid;gap:12px;min-width:0}.empty-debug{place-items:center;min-height:300px;color:#6e756c}.debug-detail-header{display:flex;justify-content:space-between;gap:12px;align-items:start;border-bottom:1px solid #ece5d9;padding-bottom:12px}.debug-detail-header h2{margin:0;font-size:24px;line-height:1.15}.debug-detail-header p{margin:5px 0 0;color:#6e756c;font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.metric{display:grid;grid-template-columns:auto 1fr;gap:4px 7px;padding:10px}.metric svg{color:#1f4f44}.metric span{color:#6e756c;font-size:12px;font-weight:800}.metric strong{grid-column:1 / -1;font-size:20px;line-height:1}.debug-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.debug-panel{display:grid;gap:10px;padding:12px}.debug-panel-title{display:flex;align-items:center;gap:7px;color:#1f4f44}.debug-panel-title h3{margin:0;color:#252a26;font-size:15px}.mise-ingredient-ledger{display:grid;gap:7px}.mise-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:6px;border-bottom:1px solid #e8dece}.mise-section-header h4{margin:0;color:#252a26;font-size:13px}.mise-section-header span{color:#6e756c;font-size:11px;font-weight:800}.mise-prep-header{margin-top:6px}.mise-ingredient-list{display:grid}.mise-ingredient-row{display:grid;grid-template-columns:minmax(72px,auto) minmax(0,1fr) auto;gap:10px;align-items:start;padding:7px 2px;border-bottom:1px solid #eee6da}.mise-ingredient-row:last-child{border-bottom:0}.mise-ingredient-amount{color:#745b47;font-size:12px;font-variant-numeric:tabular-nums;font-weight:800}.mise-ingredient-copy{display:grid;gap:2px;min-width:0}.mise-ingredient-copy strong{color:#252a26;font-size:12px;line-height:1.35}.mise-ingredient-copy small{color:#6e756c;font-size:11px;line-height:1.35}.mise-optional{color:#846d59;font-size:10px;font-weight:800;text-transform:uppercase}.debug-row{display:grid;gap:5px;padding:9px}.debug-row strong{font-size:13px;line-height:1.35}.debug-row p{margin:0;color:#5d665e;font-size:12px;line-height:1.35}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.topbar,.topbar-actions,.two-column,.plan-layout,.mise-workbench,.settings-panel{grid-template-columns:1fr}.topbar,.topbar-actions{display:grid;justify-items:stretch}.sticky-panel{position:static}.debug-layout,.debug-columns,.debug-toolbar,.metric-grid,.coverage-metrics{grid-template-columns:1fr}.recipe-debug-list{max-height:320px}}:root{--canvas: #f4f0e7;--paper: #fbfaf7;--ink: #251e18;--muted: #6d655d;--line: #d9d0c3;--line-soft: #e8e1d7;--dark: #271f16;--rust: #ae5a36;--rust-soft: #efe0d2;--green: #4b7158;--green-soft: #e4ede5;--sand: #ebe4d4;color:var(--ink);background:var(--canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{color:var(--ink);background:var(--canvas)}h1,h2,.brand,.meal-title-line strong,.meal-recipe-button,.recipe-title-row h3{font-family:Georgia,Times New Roman,serif;font-weight:500;letter-spacing:0}button,input,select,textarea{letter-spacing:0}input,select,textarea{border-color:var(--line);border-radius:8px;color:var(--ink);background:var(--paper)}input:focus,select:focus,textarea:focus{border-color:var(--rust);box-shadow:0 0 0 3px #ae5a361f}.app-shell{width:100%;min-height:100vh;margin:0;padding:0}.site-header{position:sticky;z-index:50;top:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:28px;align-items:center;min-height:72px;border-bottom:1px solid var(--line);padding:0 40px;background:#f4f0e7f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{padding:0;color:var(--ink);background:transparent;font-size:28px;line-height:1}.primary-nav{display:flex;gap:6px;align-items:center}.primary-nav .tab{min-height:42px;border-radius:999px;padding:8px 17px;color:var(--ink);background:transparent;font-size:14px;font-weight:700}.primary-nav .tab svg{display:none}.primary-nav .tab.active{color:#fff;background:var(--dark)}.header-actions,.week-heading-actions,.settings-actions,.panel-title-line,.section-title-line,.action-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.header-actions .status:not(.working):not(.bad){display:none}.app-content{width:min(1500px,100%);margin:0 auto;padding:34px 40px 72px}.primary,.outline-action,.light-action,.green-action,.icon-text,.danger,.filter-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:999px;padding:9px 18px;font-weight:750}.primary{color:#fff;background:var(--rust)}.primary:hover{background:#974929}.outline-action,.filter-pill{border:1px solid var(--ink);color:var(--ink);background:transparent}.outline-action:hover,.filter-pill:hover{background:var(--paper)}.light-action{color:var(--dark);background:var(--paper)}.green-action{color:#fff;background:var(--green)}.text-action,.quiet-actions button{display:inline-flex;gap:6px;align-items:center;padding:2px 0;color:#794a33;background:transparent;font-weight:750;text-decoration:underline;text-underline-offset:3px}.quiet-icon,.icon-only{border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--paper)}.settings-panel,.panel,.empty-state{border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:none}.settings-panel{grid-template-columns:1.3fr 1fr 1.6fr auto;align-items:end;margin:-8px 0 26px;padding:18px}.settings-actions{justify-content:end}.error-banner{border:1px solid #d8aaa0;border-radius:8px;color:#842e27;background:#f6e4df;box-shadow:none}.view-heading{margin-bottom:24px}.view-heading h1,.week-heading h1{margin:0;font-size:40px;line-height:1.08}.view-heading p,.week-heading p{margin:8px 0 0;color:var(--muted);font-size:16px;line-height:1.5}.planner-setup{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}.setup-progress{display:flex;gap:9px;align-items:center;margin-bottom:34px;color:var(--muted);font-size:13px}.setup-progress span{display:grid;width:27px;height:27px;place-items:center;border:1px solid var(--line);border-radius:50%;font-weight:800}.setup-progress span.complete{border-color:var(--green);color:#fff;background:var(--green)}.setup-progress span.active{border-color:var(--dark);color:#fff;background:var(--dark)}.setup-progress i{width:30px;height:1px;background:var(--line)}.recipe-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;margin-bottom:24px}.recipe-toolbar .search-box{margin:0;border-radius:999px;background:var(--paper)}.filter-tabs{display:flex;gap:8px;overflow-x:auto}.filter-pill{flex:0 0 auto;border-color:var(--line);padding-inline:15px;background:transparent}.filter-pill.active{border-color:var(--dark);color:#fff;background:var(--dark)}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.recipe-results{position:relative}.recipe-results.has-more:after{position:absolute;z-index:1;right:0;bottom:54px;left:0;height:88px;background:linear-gradient(to bottom,rgba(244,240,231,0),var(--canvas));content:"";pointer-events:none}.recipe-load-more{position:relative;z-index:2;display:grid;justify-items:center;gap:8px;margin-top:18px}.recipe-load-more span{color:var(--muted);font-size:.8rem;font-weight:700}.recipes-view>.search-box{max-width:620px;margin-bottom:24px;border-radius:999px;background:var(--paper)}.recipe-library-filter{display:inline-flex;align-items:center;gap:4px;width:fit-content;margin-bottom:16px}.recipe-library-filter>span{margin-right:6px;color:var(--muted);font-weight:800;font-size:.82rem}.external-recipe-add{display:flex;gap:10px;max-width:760px;margin-bottom:14px}.external-recipe-add input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:0 18px;background:var(--paper)}.external-recipe-add button{white-space:nowrap}.recipe-library-error{display:flex;gap:8px;align-items:center;margin-bottom:14px;border:1px solid #d8a79a;border-radius:7px;padding:10px 13px;color:#8b3527;background:#fff2ee}.recipe-import-error{color:#8b3527}.recipe-import-failure{align-items:flex-start}.recipe-import-failure>div{min-width:0}.recipe-import-failure pre{max-height:280px;margin:10px 0 0;overflow:auto;border-radius:6px;padding:12px;color:#f7eee8;background:#3b211c;font-size:11px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.recipe-import-waiting,.recipe-import-notice{color:var(--muted)}.recipe-import-notice{margin:-8px 0 18px;border-left:3px solid var(--line);padding:8px 12px}.recipe-card{align-content:start;min-height:228px;border-color:var(--line);padding:18px;background:var(--paper)}.recipe-card.clickable{cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease}.recipe-card.clickable:hover{border-color:#b4a48f;box-shadow:0 5px 18px #32281e14}.recipe-title-button{margin:-4px;padding:4px;color:inherit;background:transparent;text-align:left;font:inherit;line-height:inherit}.recipe-title-button:focus-visible{border-radius:4px;outline:2px solid var(--rust);outline-offset:2px}.recipe-library-empty{grid-column:1 / -1}.recipe-card.selected{border-color:var(--green);box-shadow:inset 0 0 0 2px #4b715821}.recipe-title-row h3{font-size:20px}.recipe-meta span,.meal-meta span,.tag,.chip{color:#5e554c;background:#ebe6dc}.recipe-card .button-row{align-self:end;margin-top:auto}.recipe-card .recipe-planning-blockers{color:var(--muted-strong, #735f52);font-size:.78rem;line-height:1.35}.recipe-card .icon-text{min-height:38px;border:1px solid var(--line);color:var(--ink);background:transparent}.recipe-detail-actions{display:flex;gap:10px;align-items:center;margin:-8px 0 20px}.recipe-detail-actions a{text-decoration:none}.recipe-saved-mise{margin-top:28px}.mise-recipe-card>p{color:var(--muted);line-height:1.45}.recipe-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:28px;background:#1f19148f}.recipe-detail-dialog{width:min(1040px,100%);max-height:calc(100vh - 56px);overflow:auto;border:1px solid var(--line);border-radius:8px;padding:28px;background:var(--paper);box-shadow:0 24px 70px #1f191447}.recipe-detail-header{display:flex;gap:24px;align-items:start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px}.recipe-detail-header h2{max-width:800px;margin:0;color:var(--ink);font-size:34px;line-height:1.1}.recipe-detail-header .eyebrow{margin:0 0 7px}.recipe-detail-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.recipe-detail-meta span{border-radius:999px;padding:5px 9px;color:#5e554c;background:#ebe6dc;font-size:11px;font-weight:800;text-transform:capitalize}.recipe-detail-description{max-width:780px;margin:20px 0 0;color:var(--muted);line-height:1.55}.recipe-detail-columns{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.35fr);gap:36px;margin-top:28px}.recipe-detail-section{min-width:0}.recipe-detail-section-heading{display:flex;gap:12px;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px}.recipe-detail-section-heading h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:24px}.recipe-detail-section-heading span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.recipe-detail-ingredients{display:grid}.recipe-detail-ingredient{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line-soft);padding:11px 0}.recipe-detail-ingredient strong{font-size:13px}.recipe-detail-ingredient small,.recipe-detail-method small{color:var(--muted);line-height:1.4}.recipe-detail-method{display:grid;gap:0;margin:0;padding:0;list-style:none}.recipe-detail-method li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line-soft);padding:14px 0}.recipe-detail-method li>span{display:grid;place-items:center;align-self:start;width:28px;height:28px;border-radius:50%;color:#fff;background:var(--green);font-size:12px;font-weight:850}.recipe-detail-method li>div{display:grid;gap:5px}.recipe-detail-method p{margin:0;color:var(--ink);line-height:1.55}.mise-recipe-dialog{width:min(1180px,100%)}.mise-detail-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:28px}.mise-processed-list{display:grid}.mise-processed-step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line-soft);padding:13px 0}.mise-processed-step>span{display:grid;place-items:center;align-self:start;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;color:var(--rust);background:var(--canvas);font-size:11px;font-weight:850}.mise-processed-step>div{display:grid;gap:5px}.mise-processed-step strong{line-height:1.45}.mise-processed-step small{color:var(--muted);font-size:11px;line-height:1.4}.mise-processed-step p,.mise-output-row p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.mise-output-section{margin-top:30px}.mise-output-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.mise-output-row{display:grid;gap:6px;border:1px solid var(--line);border-radius:7px;padding:14px;background:var(--canvas)}.mise-output-row span{color:var(--rust);font-size:11px;font-weight:800}.mise-dialog-empty{margin-top:24px}.planner-config{display:grid;gap:16px}.compact-panel{padding:22px}.compact-panel h2,.sidebar-card h2,.put-away-panel h2,.kitchen-section h2{margin:0;font-size:23px}.config-row{display:flex;gap:14px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-soft);padding:16px 0}.config-row>div:first-child,.section-title-line>div{display:grid;gap:3px}.config-row span,.section-title-line p{margin:0;color:var(--muted);font-size:12px}.stepper{display:grid;grid-template-columns:34px 34px 34px;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:999px;text-align:center}.stepper button{height:34px;color:var(--ink);background:transparent;font-size:18px}.selected-panel .stack{margin-top:14px}.selected-row{border:0;border-bottom:1px solid var(--line-soft);border-radius:0;padding:10px 0;background:transparent}.quiet-actions{display:flex;gap:16px;margin-top:14px;font-size:12px}.build-week-button{min-height:52px;border-radius:999px}.planner-footnote{margin:-7px 0 0;color:var(--muted);font-size:12px;text-align:center}.plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}.week-heading{display:flex;gap:20px;align-items:end;justify-content:space-between;margin-bottom:20px}.week-heading-actions{flex:0 0 auto}.plan-session-editor{display:flex;gap:9px;align-items:center;padding-right:4px}.plan-session-editor>span{color:var(--muted);font-size:12px;font-weight:800}.plan-session-editor .stepper{grid-template-columns:30px 30px 30px}.plan-session-editor .stepper button{height:30px}.plan-change-bar,.kitchen-update-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:20px;border:1px solid var(--line);border-radius:999px;padding:8px 9px 8px 20px;background:var(--paper)}.plan-change-bar label,.kitchen-update-bar label{font-size:13px;font-weight:800}.plan-change-bar input,.kitchen-update-bar input{border:0;padding-inline:0;box-shadow:none;background:transparent}.calendar-column-heads,.day-card{display:grid;grid-template-columns:112px minmax(0,1fr) minmax(0,1fr);gap:12px}.calendar-column-heads{padding:0 12px 8px;color:var(--muted);font-size:11px;text-transform:uppercase}.calendar-column-heads strong{padding-left:12px}.calendar-grid{gap:8px}.day-card{align-items:stretch;border:0;border-radius:8px;padding:10px 12px;background:transparent}.day-card.cook-day{background:var(--rust-soft)}.day-header{display:grid;align-content:start;justify-content:stretch;gap:2px;margin:0;padding:8px 0}.day-header>strong{font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:500}.day-header>span{color:var(--muted);font-size:13px}.day-header>b{color:#8b472c;font-size:12px}.day-cook-summary{display:flex;gap:5px;align-items:start;margin-top:7px;color:#7f452f;font-size:10px;line-height:1.25}.meal-row{display:block;min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:var(--paper)}.meal-row>span{display:none}.meal-row>div{min-width:0}.meal-title-line strong{margin:0;font-size:17px;line-height:1.25}.meal-recipe-button{display:inline-flex;min-width:0;gap:7px;align-items:center;border:0;padding:0;color:var(--ink);background:transparent;font-size:17px;line-height:1.25;text-align:left;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.meal-recipe-button:hover,.meal-recipe-button:focus-visible{color:var(--rust);text-decoration-color:currentColor}.meal-title-line .icon-only{border:0;background:transparent}.meal-meta{margin-top:8px}.meal-meta span{padding:3px 7px;font-size:10px}.meal-expanded{margin-top:14px}.meal-component-block{border-left-color:var(--rust)}.component-use-row,.ingredient-row{border-color:var(--line-soft);background:#fff}.plan-sidebar{position:sticky;top:94px}.next-cook-panel{border-radius:8px;padding:26px;color:#fff;background:var(--dark)}.next-cook-panel .eyebrow{color:#d9cabb}.next-cook-panel h2{margin:12px 0;font-size:27px;line-height:1.16}.next-cook-panel p{color:#ddd4cb;line-height:1.55}.sidebar-card{padding:24px}.sidebar-card>p{color:var(--muted);line-height:1.5}.setup-output-list,.kitchen-preview-list,.profile-summary-list{display:grid;gap:0;margin-top:14px}.setup-output-list>div,.kitchen-preview-list>div,.profile-summary-list>div{display:flex;gap:12px;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line-soft);padding:10px 0}.setup-output-list span,.kitchen-preview-list b,.profile-summary-list span{color:var(--muted);font-size:11px;font-weight:700;text-align:right}.planner-details-panel{display:grid;gap:14px;padding:20px}.debug-actions{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px}.debug-actions span{margin-right:auto}.planner-details-panel .debug-json{max-height:260px}.shopping-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:32px;align-items:start}.action-heading{align-items:end}.shopping-progress{height:8px;margin-bottom:26px;overflow:hidden;border-radius:999px;background:#e6decf}.shopping-progress span{display:block;height:100%;border-radius:inherit;background:var(--green)}.add-shopping-item{margin-bottom:20px}.shopping-controls{display:flex;gap:12px;align-items:end;margin-bottom:20px}.shopping-controls>label{display:grid;flex:1 1 280px;gap:5px;max-width:460px}.shopping-controls>label>span,.shopping-controls>span{color:var(--muted);font-size:11px;font-weight:800}.shopping-controls select{min-width:0;height:42px;border:1px solid var(--line);border-radius:6px;padding:0 34px 0 12px;color:var(--ink);background:var(--paper)}.shopping-group-mode{display:grid;grid-template-columns:repeat(2,minmax(76px,1fr));border:1px solid var(--line);border-radius:7px;padding:3px;background:var(--paper)}.shopping-group-mode button{min-height:34px;border:0;border-radius:5px;padding:0 12px;color:var(--muted);background:transparent;font-weight:800}.shopping-group-mode button.active{color:#fff;background:var(--dark)}.shopping-controls>span{margin:0 0 12px auto;white-space:nowrap}.shopping-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.shopping-section{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.shopping-section h2{margin:0;border-bottom:1px solid var(--line-soft);padding:13px 17px;color:var(--muted);font-family:inherit;font-size:11px;font-weight:850;text-transform:uppercase}.shopping-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;min-height:58px;border-bottom:1px solid var(--line-soft);padding:10px 16px;cursor:pointer}.shopping-row:last-child{border-bottom:0}.shopping-row input{width:19px;height:19px;accent-color:var(--green)}.shopping-row>span{display:grid;gap:2px}.shopping-row strong,.shopping-row b{font-size:13px}.shopping-row>b{max-width:150px;overflow-wrap:anywhere;text-align:right;line-height:1.3}.shopping-row small{color:#9b512f}.shopping-row small.shopping-source{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.shopping-empty-filter{grid-column:1 / -1}.shopping-empty-filter p{margin:0;padding:18px;color:var(--muted)}.shopping-row.checked strong,.shopping-row.checked b{color:var(--muted);text-decoration:line-through}.shopping-sidebar{position:sticky;top:94px}.put-away-panel{border-radius:8px;padding:22px;background:var(--green-soft)}.put-away-panel p{color:#516257;line-height:1.5}.kitchen-view>.view-heading{margin-bottom:20px}.kitchen-update-bar{margin-bottom:28px}.kitchen-columns{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:30px;align-items:start}.section-title-line{align-items:end;margin-bottom:14px}.prepared-kitchen-list{display:grid;gap:10px}.prepared-kitchen-list article{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--paper)}.prepared-kitchen-list article>div{display:flex;gap:12px;justify-content:space-between}.prepared-kitchen-list span,.prepared-kitchen-list small{color:var(--muted)}.pantry-section .table{margin:0;overflow:visible}.pantry-section .table-head,.pantry-section .table-row{min-width:0}.pantry-section .table-head{padding:0 10px 6px}.pantry-section .table-row{margin-bottom:8px;border:1px solid var(--line);border-radius:8px;padding:8px;background:var(--paper)}.mise-workbench>.panel,.workspace>.panel{box-shadow:none}.RecipesView,.mise-workbench{align-items:start}@media(max-width:1180px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-toolbar{grid-template-columns:1fr}.filter-tabs{padding-bottom:3px}.plan-layout,.shopping-layout{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.site-header{gap:12px;padding-inline:24px}}@media(max-width:900px){.site-header{grid-template-columns:1fr auto;min-height:62px;padding:0 18px}.brand{font-size:24px;text-align:left}.primary-nav{position:fixed;z-index:100;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;min-height:70px;border-top:1px solid var(--line);padding:7px 8px max(7px,env(safe-area-inset-bottom));background:var(--paper)}.primary-nav .tab,.primary-nav .tab.active{display:grid;gap:3px;justify-items:center;min-height:52px;border-radius:8px;padding:5px 2px;color:var(--muted);background:transparent;font-size:10px}.primary-nav .tab.active{color:var(--green)}.primary-nav .tab svg{display:block}.plan-next-button,.header-actions .status{display:none}.header-actions{justify-content:end}.app-content{padding:26px 16px 98px}.settings-panel,.planner-setup,.plan-layout,.shopping-layout,.kitchen-columns,.mise-workbench{grid-template-columns:1fr}.settings-actions{justify-content:stretch}.settings-actions>button{flex:1}.planner-config,.plan-sidebar,.shopping-sidebar{position:static}.planner-config{order:-1}.setup-progress{overflow-x:auto}.view-heading h1,.week-heading h1{font-size:32px}.week-heading,.action-heading{display:grid;align-items:start}.week-heading-actions{justify-content:start}.plan-change-bar,.kitchen-update-bar{grid-template-columns:1fr auto;border-radius:8px;padding:12px}.plan-change-bar label,.kitchen-update-bar label{grid-column:1 / -1}.calendar-column-heads{display:none}.day-card{grid-template-columns:1fr;gap:8px;border:1px solid var(--line-soft);padding:12px}.day-header{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:baseline;padding:2px 0 7px}.day-header>strong{font-size:19px}.day-header>b{justify-self:end}.day-cook-summary{grid-column:1 / -1}.meal-row>span{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase}.shopping-sections,.recipe-detail-columns,.mise-detail-columns,.debug-columns,.debug-layout,.metric-grid,.coverage-metrics{grid-template-columns:1fr}.mise-output-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-dialog-backdrop{padding:12px}.recipe-detail-dialog{max-height:calc(100vh - 24px);padding:20px}.shopping-controls{align-items:stretch;flex-wrap:wrap}.shopping-controls>label{max-width:none}.shopping-controls>span{margin:12px 0 0}.pantry-section .table{overflow-x:auto}.pantry-section .table-head,.pantry-section .table-row{min-width:780px}}@media(max-width:560px){.recipe-grid{grid-template-columns:1fr}.recipe-card{min-height:0}.setup-progress strong{display:none}.view-heading p,.week-heading p{font-size:14px}.week-heading-actions,.action-heading .button-row,.header-actions{flex-wrap:wrap}.plan-change-bar,.kitchen-update-bar{grid-template-columns:1fr}.plan-change-bar label,.kitchen-update-bar label{grid-column:auto}.plan-change-bar .primary,.kitchen-update-bar .primary{width:100%}.shopping-row>b{max-width:125px;font-size:12px}.recipe-detail-header h2{font-size:27px}.mise-output-grid{grid-template-columns:1fr}}
