:root{--background:#f5f1e8;--surface:#fff;--surface-soft:#faf8f3;--surface-muted:#f1ede4;--text-primary:#1f2a24;--text-secondary:#5f6b64;--text-muted:#7d877f;--border:#ded8cc;--border-strong:#c9c1b3;--green-900:#173d2b;--green-800:#22533b;--green-700:#2e684b;--green-600:#3d7b5b;--green-100:#e7f0e9;--gold-700:#94691b;--gold-100:#f7edd2;--red-700:#9d3e32;--red-100:#f8e5e1;--blue-700:#38617d;--blue-100:#e4eef4;--shadow-sm:0 2px 8px #1f2a240f;--shadow-md:0 10px 30px #1f2a2417;--shadow-lg:0 18px 48px #1f2a2421;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--content-width:1200px}*{box-sizing:border-box}html{background:var(--background)}body{background:radial-gradient(circle at top right, #3d7b5b14, transparent 34%), var(--background);color:var(--text-primary);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--text-primary);line-height:1.2}h1{letter-spacing:-.03em;font-size:clamp(2rem,4vw,3rem)}h2{letter-spacing:-.02em;font-size:clamp(1.4rem,2vw,2rem)}h3{font-size:1.15rem}p{color:var(--text-secondary)}.app-page{width:100%;max-width:var(--content-width);padding:var(--space-7);margin:0 auto}.page-header{margin-bottom:var(--space-7)}.page-eyebrow{margin-bottom:var(--space-2);color:var(--green-700);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:800}.page-title{margin-bottom:var(--space-3)}.page-description{max-width:720px;margin-bottom:0;font-size:1.05rem;line-height:1.7}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.card:hover{border-color:var(--border-strong)}.card-padding{padding:var(--space-6)}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.card-title{margin-bottom:var(--space-2);font-size:1.15rem}.card-subtitle{color:var(--text-muted);margin-bottom:0;font-size:.9rem}.surface-soft{background:var(--surface-soft)}.grid{gap:var(--space-5);display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stack{gap:var(--space-4);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;min-height:44px;padding:10px 16px;font-size:.9rem;font-weight:800;line-height:1;transition:transform .14s,background-color .14s,border-color .14s,box-shadow .14s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:focus-visible{outline-offset:2px;outline:3px solid #3d7b5b3d}.button-primary{background:var(--green-800);color:#fff;box-shadow:0 6px 16px #22533b2e}.button-primary:hover{background:var(--green-900)}.button-secondary{border-color:var(--border-strong);background:var(--surface);color:var(--text-primary)}.button-secondary:hover{border-color:var(--green-600);background:var(--green-100)}.button-quiet{color:var(--green-800);background:0 0}.button-quiet:hover{background:var(--green-100)}.button-danger{background:var(--red-700);color:#fff}.button-small{min-height:36px;padding:8px 12px;font-size:.8rem}.button-full{width:100%}.badge{border-radius:var(--radius-pill);white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:26px;padding:5px 10px;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.badge-approved{background:var(--green-100);color:var(--green-800)}.badge-development{background:var(--gold-100);color:var(--gold-700)}.badge-signature{background:var(--blue-100);color:var(--blue-700)}.badge-freezer{color:#40677f;background:#edf3f8}.badge-muted{background:var(--surface-muted);color:var(--text-secondary)}.section-header{justify-content:space-between;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-5);display:flex}.section-title{margin-bottom:var(--space-1)}.section-description{color:var(--text-muted);margin-bottom:0}.form-field{gap:var(--space-2);flex-direction:column;display:flex}.form-label{color:var(--text-primary);font-size:.82rem;font-weight:800}.input,.select,.textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text-primary);padding:11px 12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--green-600);outline:3px solid #3d7b5b21}.textarea{resize:vertical;min-height:120px}.divider{background:var(--border);border:0;width:100%;height:1px}.stat{gap:var(--space-1);flex-direction:column;display:flex}.stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:800}.stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;background:#ffffff85}.empty-state h3{margin-bottom:var(--space-2)}.empty-state p{max-width:520px;margin-right:auto;margin-bottom:var(--space-5);margin-left:auto}.saved-plans{background:#fbfdfb;border:1px solid #dbe4dd;border-radius:18px;margin:0 0 28px;padding:22px}.saved-plans__heading{grid-template-columns:minmax(0,1fr) minmax(280px,440px);align-items:end;gap:24px;display:grid}.saved-plans__heading h2{margin:2px 0 6px}.saved-plans__heading p{color:#5b665e;margin:0}.saved-plans__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;color:#277044!important}.saved-plans__save label{margin-bottom:6px;font-size:12px;font-weight:800;display:block}.saved-plans__save>div{gap:8px;display:flex}.saved-plans input{border:1px solid #bdc9bf;border-radius:9px;min-width:0;padding:9px 10px}.saved-plans button{cursor:pointer;background:#fff;border:1px solid #98aa9c;border-radius:9px;padding:8px 10px;font-weight:750}.saved-plans button:disabled{opacity:.5;cursor:not-allowed}.saved-plans__save button,.saved-plans__preview-actions button:last-child{color:#fff;background:#21683e;border-color:#21683e}.saved-plans__message,.saved-plans__error,.saved-plans__sync{margin:12px 0 0;font-size:13px}.saved-plans__error{color:#9f2f2f}.saved-plans__sync{color:#617066}.saved-plans__list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:18px;display:grid}.saved-plans__list article{background:#fff;border:1px solid #d8e0da;border-radius:12px;padding:14px}.saved-plans__list h3{margin:0 0 4px}.saved-plans__list p{color:#68726b;font-size:12px}.saved-plans__list article>div{flex-wrap:wrap;gap:6px;display:flex}.saved-plans__empty{margin:0}.saved-plans__preview{z-index:60;background:#0f171294;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.saved-plans__preview>div{background:#fff;border-radius:16px;width:min(620px,100%);max-height:85vh;padding:22px;overflow:auto;box-shadow:0 24px 70px #00000040}.saved-plans__preview h3{margin-top:0}.saved-plans__preview label{align-items:center;gap:10px;font-weight:700;display:flex}.saved-plans__preview li{margin:7px 0}.saved-plans__preview-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}@media (max-width:760px){.saved-plans__heading{grid-template-columns:1fr}.saved-plans__save>div{flex-direction:column}.saved-plans__preview label{flex-direction:column;align-items:stretch}}.holiday-menus{background:#fffaf0;border:1px solid #ead8b5;border-radius:18px;margin:0 0 28px;padding:22px}.holiday-menus header>p{color:#9a5f13;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:12px;font-weight:800}.holiday-menus header h2{margin:3px 0}.holiday-menus header span,.holiday-menus__sync{color:#6d6253;font-size:13px}.holiday-menus__builder{grid-template-columns:1.1fr 1.5fr 1fr auto;gap:8px;margin-top:18px;display:grid}.holiday-menus input,.holiday-menus select,.holiday-planner-group select{background:#fff;border:1px solid #d6c7ad;border-radius:8px;min-width:0;padding:8px}.holiday-menus button,.holiday-planner-group button{cursor:pointer;background:#fff;border:1px solid #cbb895;border-radius:8px;padding:7px 9px;font-weight:700}.holiday-menus button:disabled{opacity:.45}.holiday-menus__primary{color:#fff;background:#8a5311!important;border-color:#8a5311!important}.holiday-menus__draft{padding:0;list-style:none}.holiday-menus__draft li{border-bottom:1px solid #eadfc9;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.holiday-menus__cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:15px;display:grid}.holiday-menus__cards article{background:#fff;border:1px solid #ead8b5;border-radius:11px;padding:13px}.holiday-menus__cards h3{margin:0}.holiday-menus__cards p{color:#736653;font-size:12px}.holiday-menus__cards article div,.holiday-menus__actions{flex-wrap:wrap;gap:6px;display:flex}.holiday-menus__modal{z-index:70;background:#1e140899;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.holiday-menus__modal>div{background:#fff;border-radius:16px;width:min(680px,100%);max-height:88vh;padding:22px;overflow:auto}.holiday-menus__modal li{margin:8px 0}.holiday-menus__modal small{color:#6b7280;display:block}.holiday-menus__actions{justify-content:flex-end;margin-top:16px}.holiday-menus__output{background:#fff8e8;border-radius:10px;padding:14px 14px 14px 32px}.holiday-menus__recipe-trigger{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;display:flex}.holiday-menus__recipe-trigger span{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden;color:#17211a!important;font-size:15px!important}.holiday-menus__recipe-trigger small{color:#736653;margin-top:2px;font-size:11px}.holiday-menus__recipe-browser-backdrop{z-index:80;background:#1e140899;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.holiday-menus__recipe-browser{background:#fffdf8;border-radius:18px;flex-direction:column;width:min(720px,100%);max-height:min(760px,100vh - 40px);padding:20px;display:flex;box-shadow:0 24px 70px #00000047}.holiday-menus__recipe-browser>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.holiday-menus__recipe-browser>header h3{margin:3px 0 12px;font-size:25px}.holiday-menus__recipe-browser>header button{background:0 0;border:0;padding:0 6px;font-size:30px;line-height:1}.holiday-menus__recipe-browser>input{width:100%;padding:12px 14px;font-size:16px}.holiday-menus__recipe-count{color:#736653;margin:10px 0 7px;font-size:12px;font-weight:750}.holiday-menus__recipe-results{gap:7px;padding:2px 4px 2px 0;display:grid;overflow-y:auto}.holiday-menus__recipe-results>button{text-align:left;border-color:#e1d1b4;flex-direction:column;align-items:flex-start;padding:11px 13px;display:flex}.holiday-menus__recipe-results>button:hover,.holiday-menus__recipe-results>button:focus-visible{background:#fff6e5;border-color:#8a5311}.holiday-menus__recipe-results>button strong{font-size:14px}.holiday-menus__recipe-results>button span{color:#736653;margin-top:3px;font-size:11px}.holiday-planner-group{padding:16px}.holiday-planner-group__header{justify-content:space-between;gap:12px;display:flex}.holiday-planner-group__header span{color:#985d12;text-transform:uppercase;font-size:11px;font-weight:800}.holiday-planner-group h3{margin:3px 0}.holiday-planner-group p{color:#64748b;margin:0;font-size:12px}.holiday-planner-group ol{padding-left:22px}.holiday-planner-group li{border-bottom:1px solid #dbe8dd;margin:8px 0;padding-bottom:8px}.holiday-planner-group li>div{grid-template-columns:130px minmax(180px,1fr);gap:6px;display:grid}.holiday-planner-group li small{color:#64748b;grid-column:2}.holiday-planner-group__actions{gap:7px;display:flex}@media (max-width:760px){.holiday-menus__builder{grid-template-columns:1fr}.holiday-menus__recipe-browser-backdrop{padding:10px}.holiday-menus__recipe-browser{max-height:calc(100vh - 20px);padding:16px}.holiday-planner-group li>div{grid-template-columns:1fr}.holiday-planner-group li small{grid-column:1}}.build-my-week{margin-bottom:12px}.build-my-week-header,.build-my-week-preview-heading,.build-my-week-actions,.build-my-week-checkboxes{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.build-my-week-header h2,.build-my-week-preview-heading h3{margin:0 0 6px}.build-my-week-header p,.build-my-week-preview-heading p{color:#64748b;margin:0}.build-my-week-eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800;color:#166534!important}.build-my-week-body{border-top:1px solid #e2e8f0;gap:20px;margin-top:22px;padding-top:20px;display:grid}.build-my-week-themes,.build-my-week-preview-grid{gap:12px;display:grid}.build-my-week-themes{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.build-my-week-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.build-my-week-theme-row,.build-my-week-day{background:#f8faf9;border:1px solid #dbe4df;border-radius:12px;gap:8px;min-width:0;padding:14px;display:grid}.build-my-week-theme-row select,.build-my-week-preference-grid input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:9px 10px}.build-my-week-theme-row small,.build-my-week-day p,.build-my-week-day span{color:#64748b}.build-my-week-lock{align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.build-my-week-preferences{border:1px solid #e2e8f0;border-radius:12px;padding:14px}.build-my-week-preferences summary{cursor:pointer;font-weight:800}.build-my-week-preference-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px;display:grid}.build-my-week-preference-grid label{gap:6px;font-size:13px;font-weight:700;display:grid}.build-my-week-checkboxes{justify-content:flex-start;margin-top:14px}.build-my-week-checkboxes label{align-items:center;gap:7px;display:flex}.build-my-week-preview{background:#f0fdf4;border:1px solid #86b89a;border-radius:14px;gap:16px;margin-bottom:24px;padding:18px;display:grid}.build-my-week-day h4,.build-my-week-day p{margin:0}.build-my-week-day-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.build-my-week-main{background:#fff;border-radius:10px;gap:5px;min-width:0;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #e2e8f0}.build-my-week-main h4,.build-my-week-companion>span{overflow-wrap:anywhere}.build-my-week-meal-label{letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900;color:#166534!important}.build-my-week-companions{gap:8px;padding-top:4px;display:grid}.build-my-week-companion-groups{gap:8px;display:grid}.build-my-week-companion-group{background:#f7fcf8;border-left:3px solid #86b89a;gap:6px;padding:8px 9px;display:grid}.build-my-week-companion-group h5{color:#3f5f49;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:11px}.build-my-week-companion{gap:7px;display:grid}.build-my-week-companion>span{color:#1f2937;font-size:13px;font-weight:750}.build-my-week-companion-actions{flex-wrap:nowrap;align-items:center;gap:6px;max-width:100%;display:inline-flex}.build-my-week-companion-actions a,.build-my-week-companion-actions button{color:#166534;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:3px 0;font-size:11px;font-weight:800;text-decoration:none}.build-my-week-companion-actions a+button,.build-my-week-companion-actions button+button{border-left:1px solid #cbd5e1;padding-left:7px}.build-my-week-companion-replace-menu{background:#eaf6ed;border-radius:8px;flex-wrap:wrap;gap:6px;padding:7px;display:flex}.build-my-week-main-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.build-my-week-main-actions>a{color:#166534;font-size:12px;font-weight:850;text-decoration:none}.build-my-week-companion-replace-menu button{color:#166534;cursor:pointer;background:#fff;border:1px solid #86b89a;border-radius:7px;padding:6px 8px;font-size:11px;font-weight:800}.build-my-week-companion-browser{z-index:80;background:#0f172a9e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.build-my-week-companion-browser>div{background:#fff;border-radius:16px;width:min(860px,100%);max-height:86vh;padding:20px;overflow:auto}.build-my-week-companion-browser header,.build-my-week-companion-browser article>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.build-my-week-companion-browser header h3,.build-my-week-companion-browser article h4{margin:3px 0}.build-my-week-companion-browser header>button{cursor:pointer;background:0 0;border:0;font-size:24px}.build-my-week-companion-browser-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:16px;display:grid}.build-my-week-companion-browser-filters{grid-template-columns:minmax(0,1fr) minmax(160px,220px);gap:10px;margin-top:16px;display:grid}.build-my-week-companion-browser-filters label{gap:5px;font-size:12px;font-weight:800;display:grid}.build-my-week-companion-browser-filters input,.build-my-week-companion-browser-filters select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-width:0;padding:9px}.build-my-week-companion-browser-empty{justify-items:start;gap:8px;margin-top:16px;display:grid}.build-my-week-companion-browser-empty button{color:#166534;cursor:pointer;background:#fff;border:1px solid #86b89a;border-radius:8px;padding:7px 9px;font-weight:800}.build-my-week-companion-browser article{border:1px solid #dbe4df;border-radius:10px;gap:8px;padding:12px;display:grid}.build-my-week-companion-browser article>span{color:#166534;text-transform:uppercase;font-size:11px;font-weight:900}.build-my-week-companion-browser article.is-incompatible{color:#64748b;background:#f8fafc}.build-my-week-companion-browser article.is-incompatible>p{color:#9f1239;margin:0;font-size:12px;font-weight:700}.build-my-week-companion-browser article button:disabled{cursor:not-allowed;opacity:.55}.build-my-week-day-locked{background:#f1f5f9;border-color:#cbd5e1}@media (max-width:1100px){.build-my-week-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.build-my-week-header .button,.build-my-week-preview-heading .button,.build-my-week-actions .button{width:100%}.build-my-week-preview{padding:12px}.build-my-week-preview-grid,.build-my-week-companion-browser-filters{grid-template-columns:1fr}}.freezer-add-card{margin-bottom:var(--space-7)}.freezer-intro-card{margin-bottom:var(--space-7);border-left:5px solid var(--green-700);background:var(--green-100)}.freezer-intro-card h2{margin-bottom:var(--space-2)}.freezer-intro-card p:last-child{max-width:760px;margin-bottom:0}.freezer-workflow-section{margin-top:var(--space-7)}.freezer-session-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.freezer-session-card{flex-direction:column;align-items:flex-start;display:flex}.freezer-session-card h3{margin-bottom:var(--space-2)}.freezer-session-card .button{margin-top:auto}.freezer-session-empty{background:var(--surface-soft);border-style:dashed}.freezer-placeholder-action:disabled{opacity:.58;cursor:not-allowed}.freezer-placeholder-action:disabled:hover{transform:none}.freezer-inventory-section,.freezer-library-section{margin-top:var(--space-7)}.freezer-recipe-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.freezer-library-filters{gap:var(--space-3);margin-bottom:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface-soft);display:grid}.freezer-library-filters fieldset{border:0;margin:0;padding:0}.freezer-library-filters legend{margin-bottom:var(--space-2);color:var(--text-primary);font-size:.78rem;font-weight:900}.freezer-protein-options{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.freezer-protein-options label{align-items:center;gap:var(--space-2);color:var(--text-primary);font-size:.84rem;font-weight:800;display:flex}.freezer-filter-summary{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.freezer-session-active{margin:var(--space-2) 0;padding:var(--space-1) var(--space-3);background:var(--green-100);color:var(--green-900);border-radius:999px;font-size:.8rem;font-weight:900;display:inline-block}.recipe-detail-close{margin-left:auto}.freezer-recipe-card{justify-content:space-between;gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.freezer-recipe-card-selected{border-color:var(--green-700);box-shadow:0 0 0 2px var(--green-100)}.freezer-recipe-card h3{margin-bottom:var(--space-2)}.freezer-recipe-card p{color:var(--text-secondary)}.freezer-recipe-meta{margin-top:var(--space-3);font-size:.82rem;font-weight:800}.freezer-recipe-selection{align-items:end;gap:var(--space-4);border-top:1px solid var(--border);padding-top:var(--space-4);flex-wrap:wrap;display:flex}.freezer-recipe-selection label{align-items:center;gap:var(--space-2);color:var(--text-primary);font-size:.86rem;font-weight:850;display:flex}.freezer-recipe-actions{gap:var(--space-2);flex-wrap:wrap;flex:100%;display:flex}.freezer-batch-input{width:72px}.freezer-draft-summary{margin-top:var(--space-4)}.freezer-draft-summary p{margin:var(--space-2) 0 0;color:var(--text-secondary)}.freezer-draft-summary .button{margin-top:var(--space-3)}.freezer-prep-review{gap:var(--space-5);display:grid}.freezer-prep-review-list{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));display:grid}.freezer-prep-review-list h4,.freezer-prep-review-list p{margin-bottom:var(--space-2)}.freezer-prep-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.freezer-pantry-check{margin-top:1rem}.freezer-pantry-items{gap:.65rem;margin:1rem 0;padding:0;list-style:none;display:grid}.freezer-pantry-items li{border-bottom:1px solid var(--color-border,#ddd);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.65rem;display:flex}.freezer-pantry-items small{margin-top:.2rem;display:block}.freezer-saved-sessions{margin-top:var(--space-5)}.freezer-saved-session-list{gap:var(--space-3);display:grid}.freezer-saved-session-list article{border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:var(--space-3);padding:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.freezer-saved-session-list article>div:first-child,.freezer-saved-session-list article span{display:block}.freezer-saved-session-list article span{color:var(--text-secondary);margin-top:var(--space-1);font-size:.82rem}.freezer-saved-session-active{border-color:var(--green-600)!important}.freezer-prep-save-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);align-items:end;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4);top:var(--space-3);z-index:10;grid-template-columns:minmax(220px,1fr) auto;display:grid;position:sticky}.freezer-prep-save-bar>div{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.freezer-prep-save-bar>p{grid-column:1/-1;margin:0}.freezer-unsaved-indicator{color:var(--warning-text,#92400e);align-self:center;font-size:.82rem;font-weight:800}@media (max-width:720px){.freezer-prep-save-bar{grid-template-columns:1fr}.freezer-prep-save-bar>div{justify-content:flex-start}}.freezer-prep-schedule{gap:var(--space-3);padding-left:calc(var(--space-7) + var(--space-3));display:grid}.freezer-prep-schedule li{padding-left:var(--space-2)}.freezer-prep-schedule strong,.freezer-prep-schedule span{display:block}.freezer-prep-schedule span{margin-top:var(--space-1);color:var(--text-secondary);font-size:.82rem}.freezer-portioning-plan,.freezer-portioning-recipe ul{gap:var(--space-4);display:grid}.freezer-portioning-intro p,.freezer-portioning-recipe header p{color:var(--text-secondary);margin-bottom:0}.freezer-portioning-recipe ul{margin:var(--space-4) 0 0;padding:0;list-style:none}.freezer-portioning-recipe li{border-top:1px solid var(--border);padding-top:var(--space-3)}.freezer-portioning-recipe label{cursor:pointer;align-items:flex-start;gap:var(--space-3);display:flex}.freezer-portioning-recipe label span,.freezer-portioning-recipe label small{display:block}.freezer-portioning-recipe label small{color:var(--text-secondary);margin-top:var(--space-1)}.guided-freezer-prep{gap:var(--space-5);max-width:900px;min-height:100vh;padding:var(--space-6) var(--space-5) var(--space-8);margin:0 auto;display:grid}.guided-freezer-prep-header{align-items:flex-start;gap:var(--space-4);justify-content:space-between;display:flex}.guided-freezer-prep-header h1,.guided-freezer-prep-header p{margin-bottom:var(--space-2)}.guided-freezer-progress{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.guided-freezer-progress>div{background:var(--surface-muted);border:1px solid var(--border);border-radius:999px;height:14px;overflow:hidden}.guided-freezer-progress>div span{background:var(--green-600);height:100%;transition:width .18s;display:block}.guided-freezer-progress small{color:var(--text-secondary);grid-column:1/-1}.guided-freezer-step-picker{gap:var(--space-2);padding-bottom:var(--space-1);display:flex;overflow-x:auto}.guided-freezer-step-picker button{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;font:inherit;border-radius:999px;flex:0 0 42px;justify-content:center;align-items:center;height:42px;font-weight:800;display:inline-flex}.guided-freezer-step-picker .guided-freezer-step-current{border-color:var(--green-600);box-shadow:0 0 0 3px color-mix(in srgb, var(--green-600) 18%, transparent)}.guided-freezer-step{gap:var(--space-4);display:grid}.guided-freezer-step h2,.guided-freezer-step h3,.guided-freezer-step p{margin:0}.guided-freezer-total{color:var(--text-secondary);font-size:1.05rem}.guided-freezer-destinations{gap:var(--space-3);display:grid}.guided-freezer-destinations section{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);gap:var(--space-1);padding:var(--space-3);display:grid}.guided-freezer-destinations span,.guided-freezer-destinations small{color:var(--text-secondary)}.guided-freezer-check{background:color-mix(in srgb, var(--green-600) 8%, var(--surface));border:1px solid var(--green-600);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:var(--space-3);padding:var(--space-4);font-weight:800;display:flex}.guided-freezer-check input{width:24px;height:24px}.guided-freezer-navigation{gap:var(--space-3);justify-content:space-between;display:flex}.guided-freezer-assembly,.guided-freezer-complete{gap:var(--space-4);display:grid}.guided-freezer-assembly ol{gap:var(--space-3);padding-left:var(--space-6);margin:0;display:grid}.guided-freezer-assembly .button,.guided-freezer-complete .button{justify-self:start}@media (max-width:720px){.guided-freezer-prep{padding:var(--space-4) var(--space-3) var(--space-7)}.guided-freezer-prep-header{flex-direction:column;align-items:stretch}.guided-freezer-navigation .button{flex:1}}.freezer-form{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.freezer-form-wide{grid-column:span 2}.freezer-form-full{grid-column:1/-1}.freezer-form-actions{gap:var(--space-3);justify-content:flex-end;display:flex}.freezer-layout{gap:var(--space-6);grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:start;display:grid}.freezer-meal-list{gap:var(--space-3);flex-direction:column;display:flex}.freezer-meal-card{width:100%;padding:var(--space-5);color:var(--text-primary);text-align:left;cursor:pointer}.freezer-meal-card:hover,.freezer-meal-card-selected{border-color:var(--green-600);background:var(--green-100)}.freezer-meal-card:focus-visible{outline-offset:2px;outline:3px solid #3d7b5b3d}.freezer-meal-card-topline{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.freezer-meal-meta,.freezer-meal-source,.freezer-meal-open{margin-top:var(--space-3);color:var(--text-muted);font-size:.84rem;display:block}.freezer-meal-source{color:var(--text-secondary);font-weight:700}.freezer-meal-open{color:var(--green-800);font-weight:800}.freezer-detail{top:var(--space-6);position:sticky}.freezer-detail-empty{padding:var(--space-7) var(--space-4);text-align:center}.freezer-detail-empty>span{margin-bottom:var(--space-3);color:var(--blue-700);font-size:2.5rem;display:block}.freezer-detail-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.freezer-detail-grid div{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface-soft)}.freezer-detail-grid dt{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.freezer-detail-grid dd{margin:var(--space-1) 0 0;color:var(--text-primary);font-weight:800}.freezer-best-by-input{min-width:0;margin-top:var(--space-1);padding:7px 8px;font-weight:700}.freezer-guidance{border-top:1px solid var(--border);padding-top:var(--space-5)}.freezer-guidance ol{padding-left:var(--space-6);margin:0}.freezer-guidance li+li{margin-top:var(--space-3)}@media (max-width:900px){.freezer-layout{grid-template-columns:1fr}.freezer-detail{position:static}}@media (max-width:640px){.freezer-session-grid{grid-template-columns:1fr}.freezer-session-card .button{width:100%}.freezer-inventory-section .section-header{flex-direction:column;align-items:stretch}.freezer-inventory-section .section-header .button{width:100%}.freezer-form{grid-template-columns:1fr}.freezer-form-wide,.freezer-form-full{grid-column:auto}.freezer-form-actions .button{width:100%}.freezer-form-actions{flex-direction:column-reverse}.freezer-meal-card-topline{flex-direction:column}.freezer-detail-grid{grid-template-columns:1fr}}.app-shell{min-height:100vh;display:flex}.app-sidebar{z-index:20;border-right:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;flex-direction:column;width:280px;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:8px 0 30px #1f2a240f}.sidebar-brand{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);padding:var(--space-6);display:flex}.sidebar-brand-mark{background:var(--green-800);color:#fff;letter-spacing:.04em;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:.88rem;font-weight:900;display:flex;box-shadow:0 8px 20px #22533b33}.sidebar-brand-name{color:var(--text-primary);margin:0;font-size:1rem;font-weight:900}.sidebar-brand-tagline{color:var(--text-muted);margin:2px 0 0;font-size:.72rem;font-weight:700}.sidebar-navigation{padding:var(--space-5) var(--space-4);flex:1;overflow-y:auto}.sidebar-section-label{margin:0 0 var(--space-2);padding:0 var(--space-3);color:var(--text-muted);letter-spacing:.11em;text-transform:uppercase;font-size:.68rem;font-weight:900}.sidebar-section-spaced{margin-top:var(--space-6)}.sidebar-links{gap:var(--space-1);flex-direction:column;display:flex}.sidebar-link{align-items:center;gap:var(--space-3);min-height:44px;color:var(--text-secondary);border-radius:10px;padding:10px 12px;font-size:.88rem;font-weight:800;transition:background-color .14s,color .14s,transform .14s;display:flex}.sidebar-link:hover{background:var(--green-100);color:var(--green-900);transform:translate(2px)}.sidebar-link-active,.sidebar-link-active:hover{background:var(--green-100);color:var(--green-900)}.sidebar-link-icon{width:24px;color:var(--green-700);flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:900;display:flex}.sidebar-link-label{flex:1}.sidebar-count{border-radius:var(--radius-pill);background:var(--surface-muted);min-width:28px;height:24px;color:var(--text-muted);justify-content:center;align-items:center;padding:0 7px;font-size:.68rem;font-weight:900;display:inline-flex}.sidebar-footer{border-top:1px solid var(--border);padding:var(--space-4)}.sidebar-tonight{margin-bottom:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface-soft)}.sidebar-tonight-label{margin:0 0 var(--space-2);color:var(--green-700);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;font-weight:900}.sidebar-tonight-meal{margin:0 0 var(--space-3);color:var(--text-primary);font-size:.84rem;font-weight:850;line-height:1.4}.sidebar-tonight-link{color:var(--green-800);font-size:.75rem;font-weight:900}.sidebar-settings-link{align-items:center;gap:var(--space-3);min-height:42px;color:var(--text-secondary);border-radius:10px;padding:9px 12px;font-size:.85rem;font-weight:800;display:flex}.sidebar-settings-link:hover{background:var(--surface-muted);color:var(--text-primary)}.app-main{width:100%;min-width:0;margin-left:280px}.app-content{min-height:100vh}.mobile-header,.mobile-navigation-layer{display:none}@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}.app-page{padding:var(--space-5)}.app-sidebar{width:230px;min-height:100vh;position:static}.app-main{margin-left:0}.sidebar-tonight{display:none}}@media (max-width:720px){.app-shell{display:block}.app-sidebar{display:none}.app-main{width:100%}.mobile-header{z-index:30;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);min-height:68px;padding:var(--space-4);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;display:flex;position:sticky;top:0}.mobile-menu-button,.mobile-drawer-close{border:1px solid var(--border);width:44px;min-width:44px;height:44px;color:var(--green-900);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;font-size:1.35rem;font-weight:900;display:inline-flex}.mobile-menu-button:focus-visible,.mobile-drawer-close:focus-visible,.mobile-navigation-overlay:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px}.mobile-brand-copy{flex:1;min-width:0}.mobile-brand-name{color:var(--text-primary);white-space:nowrap;margin:0;font-size:.95rem;font-weight:900;line-height:1.2}.mobile-brand-tagline{color:var(--text-muted);margin:2px 0 0;font-size:.7rem;font-weight:700}.mobile-navigation-layer{--mobile-drawer-width:min(calc(100vw - 32px), 380px);z-index:100;display:block;position:fixed;inset:0}.mobile-navigation-overlay{top:0;bottom:0;right:0;left:var(--mobile-drawer-width);cursor:pointer;background:#141f197a;border:0;position:absolute}.mobile-navigation-drawer{z-index:1;width:var(--mobile-drawer-width);border-right:1px solid var(--border);background:#fff;flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden;box-shadow:18px 0 50px #141f1938}.mobile-drawer-header{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);padding:var(--space-4);display:flex}.mobile-drawer-brand{flex:1;min-width:0}.mobile-drawer-navigation{overscroll-behavior:contain;padding:var(--space-4);flex:1;overflow-y:auto}.mobile-drawer-navigation .sidebar-link{min-height:48px;font-size:.95rem}.mobile-drawer-navigation .sidebar-link-label{overflow-wrap:anywhere;white-space:normal;min-width:0;line-height:1.3}.mobile-drawer-navigation .sidebar-count{flex-shrink:0}.mobile-drawer-footer{border-top:1px solid var(--border);padding:var(--space-4)}.mobile-drawer-footer .sidebar-settings-link{width:100%;min-height:48px}}@media (max-width:360px){.mobile-brand-tagline{display:none}}.planner-empty-day-mobile,.planner-mobile-meal-actions,.planner-print-menu{display:none}@media print{@page{size:letter portrait;margin:.42in}body{background:#fff!important}body *{visibility:hidden!important}.planner-print-menu,.planner-print-menu *{visibility:visible!important}.planner-print-menu{color:#17211a;width:100%;font-family:Arial,Helvetica,sans-serif;display:block;position:absolute;inset:0}.planner-print-menu__header{text-align:center;border-bottom:3px solid #315b43;margin-bottom:14px;padding-bottom:10px}.planner-print-menu__header p{color:#315b43;letter-spacing:.16em;text-transform:uppercase;margin:0 0 3px;font-size:10pt;font-weight:800}.planner-print-menu__header h1{margin:0;font-size:24pt;line-height:1.05}.planner-print-menu__header h2{color:#46534a;margin:4px 0 0;font-size:12pt}.planner-print-menu__days{gap:7px;display:grid}.planner-print-menu__day{break-inside:avoid;border:1px solid #9baa9f;border-left:6px solid #315b43;border-radius:7px;grid-template-columns:1.15in minmax(0,1fr);min-height:.72in;padding:8px 12px;display:grid}.planner-print-menu__day-heading{border-right:1px solid #cbd4cd;padding-right:12px}.planner-print-menu__day-heading h3{margin:0;font-size:14pt}.planner-print-menu__day-heading span{color:#526158;margin-top:4px;font-size:8pt;display:block}.planner-print-menu__day ul{align-content:center;gap:3px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.planner-print-menu__day li{grid-template-columns:.78in minmax(0,1fr);align-items:baseline;gap:8px;line-height:1.2;display:grid}.planner-print-menu__day li span{color:#5e6b62;letter-spacing:.04em;text-transform:uppercase;font-size:7.5pt;font-weight:700}.planner-print-menu__day li strong{font-size:10.5pt}.planner-print-menu__empty{color:#6b746e;align-self:center;margin:0;padding-left:14px;font-size:10pt;font-style:italic}.planner-print-menu footer{color:#68736b;text-align:center;margin-top:9px;font-size:8pt}}@media (min-width:721px){.planner-page{max-width:1600px!important}.planner-desktop-workspace{grid-template-columns:minmax(0,1fr)!important}.planner-desktop-recipe-library{grid-row:2;position:static!important}.planner-week-panel{grid-row:1}.planner-desktop-recipe-results{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-3)!important;max-height:360px!important;display:grid!important}.planner-desktop-recipe-card{min-width:0}.planner-meal-card-header{flex-wrap:wrap}.planner-meal-card-summary{flex:300px}.planner-meal-card-actions{flex:100%;justify-content:flex-start!important}}@media (min-width:1100px){.planner-desktop-workspace{grid-template-columns:minmax(0,1.55fr) minmax(350px,.8fr)!important}.planner-week-panel{grid-area:1/1}.planner-desktop-recipe-library{grid-area:1/2;max-height:calc(100vh - 40px);overflow:hidden;position:sticky!important;top:20px!important}.planner-desktop-recipe-results{overflow-y:auto;grid-template-columns:minmax(0,1fr)!important;max-height:calc(100vh - 300px)!important}.planner-week-grid{grid-template-columns:minmax(0,1fr)}.planner-day-card{grid-template-columns:96px minmax(0,1fr)!important}.planner-day-label{padding:var(--space-4)!important}}.planner-mobile-picker-backdrop{z-index:1000;padding:var(--space-3);background:#11182794;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.planner-mobile-picker{background:#fff;border-radius:18px;flex-direction:column;width:min(100%,560px);max-height:calc(100dvh - 24px);display:flex;overflow:hidden;box-shadow:0 24px 70px #0000003d}.planner-mobile-picker-header,.planner-mobile-picker-footer{padding:var(--space-4);background:#fff;flex-shrink:0}.planner-mobile-picker-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--border);display:flex}.planner-mobile-picker-header h2,.planner-mobile-picker-header p{margin-bottom:0}.planner-mobile-picker-close{border:1px solid var(--border);width:44px;min-width:44px;height:44px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;font-size:1.4rem;display:inline-flex}.planner-mobile-picker-filters{gap:var(--space-2);padding:var(--space-4);flex-shrink:0;display:grid}.planner-mobile-picker-filters>label:first-child{font-size:.8rem;font-weight:800}.planner-mobile-picker-filters input[type=search]{border:1px solid var(--border-strong);border-radius:10px;width:100%;min-height:46px;padding:10px 12px}.planner-mobile-favorites-toggle{align-items:center;gap:var(--space-2);min-height:44px;font-size:.85rem;font-weight:800;display:flex}.planner-mobile-favorites-toggle input{width:18px;height:18px}.planner-mobile-picker-results{gap:var(--space-2);overscroll-behavior:contain;min-height:0;padding:0 var(--space-4) var(--space-4);flex:1;display:grid;overflow-y:auto}.planner-mobile-recipe-option{border:1px solid var(--border);min-height:58px;color:var(--text-primary);text-align:left;cursor:pointer;background:#fff;border-radius:11px;flex-direction:column;justify-content:center;align-items:flex-start;padding:10px 12px;display:flex}.planner-mobile-recipe-option span{font-weight:850}.planner-mobile-recipe-option small{color:var(--text-muted)}.planner-mobile-picker-empty{border:1px dashed var(--border-strong);padding:var(--space-5);text-align:center;border-radius:12px}.planner-mobile-picker-empty p{margin-bottom:var(--space-3)}.planner-mobile-picker-footer{border-top:1px solid var(--border)}.planner-mobile-picker-footer button,.planner-mobile-picker-empty button{border:1px solid var(--border-strong);width:100%;min-height:44px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:10px;font-weight:800}.planner-meal-locked-note{color:#166534;background:#dcfce7;border-radius:9px;margin:12px 0 0;padding:8px 10px;font-size:12px;font-weight:800}.planner-empty-day-desktop:hover,.planner-empty-day-desktop:focus-visible{outline-offset:-2px;outline:2px solid #166534;background:#ecfdf5!important}.planner-curated-suggestions{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;gap:10px;margin-top:14px;padding:12px;display:grid}.planner-curated-suggestions p,.planner-curated-suggestions small{margin:0}.planner-curated-suggestions p{color:#14532d;font-size:13px;font-weight:850}.planner-curated-suggestions small{color:#4b5563;font-size:11px}.planner-curated-suggestion-list{gap:7px;display:grid}.planner-curated-suggestion{background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.planner-curated-suggestion>span{gap:2px;display:grid}.planner-curated-suggestion button{color:#fff;cursor:pointer;background:#166534;border:1px solid #166534;border-radius:8px;min-height:36px;padding:6px 10px;font-size:11px;font-weight:850}@media (max-width:640px){html,body{max-width:100%;overflow-x:clip}.app-page,.card-padding{padding:var(--space-4)}.page-header{margin-bottom:var(--space-5)}.page-title,.mobile-responsive-page h1{overflow-wrap:anywhere;max-width:100%;font-size:clamp(1.75rem,8vw,2rem)!important}.mobile-responsive-page h2{overflow-wrap:anywhere;max-width:100%;font-size:clamp(1.25rem,6vw,1.5rem)!important}.page-description,.mobile-responsive-page>header p{font-size:.95rem!important;line-height:1.55!important}.row-between,.section-header,.card-header{flex-direction:column;align-items:stretch}.button{width:100%}.mobile-responsive-page{width:100%;overflow-x:clip;max-width:100%!important;padding:var(--space-4)!important}.mobile-responsive-page>header{align-items:stretch!important;gap:var(--space-4)!important;margin-bottom:var(--space-5)!important;flex-direction:column!important}.mobile-responsive-page>header>*,.mobile-responsive-page [style*=min-width]{max-width:100%;min-width:0!important}.mobile-responsive-page [style*=grid-template-columns]{grid-template-columns:minmax(0,1fr)!important}.mobile-responsive-page [style*="padding: 24px"],.mobile-responsive-page [style*="padding: 22px"],.mobile-responsive-page [style*="padding: 20px"]{padding:var(--space-4)!important}.mobile-responsive-page input,.mobile-responsive-page select,.mobile-responsive-page textarea{width:100%;max-width:100%;min-width:0!important}.mobile-responsive-page button,.mobile-responsive-page a{max-width:100%}.mobile-responsive-page button{white-space:normal;min-height:44px;line-height:1.25}.mobile-responsive-page [style*="display: flex"]{min-width:0}.mobile-responsive-page [style*="display: grid"]{gap:var(--space-4)!important}.mobile-responsive-page .badge{white-space:normal;max-width:100%}.cook-mode-page>header{padding:var(--space-3) 0!important;position:static!important;top:auto!important}.cook-mode-controls{width:100%;grid-template-columns:minmax(0,1fr)!important;display:grid!important}}@media (max-width:720px){.mobile-responsive-page [style*=grid-template-columns]{grid-template-columns:minmax(0,1fr)!important}.planner-desktop-recipe-library,.planner-empty-day-desktop,.planner-desktop-meal-actions{display:none!important}.planner-empty-day-mobile{padding:var(--space-4);align-items:center;display:flex}.planner-add-meal-button{border:1px solid var(--green-600);background:var(--green-800);color:#fff;cursor:pointer;border-radius:10px;width:100%;min-height:48px;font-weight:850}.planner-day-card{grid-template-columns:minmax(0,1fr)!important;min-height:0!important}.planner-day-label{align-items:baseline;padding:12px var(--space-4)!important;flex-direction:row!important;justify-content:space-between!important}.planner-day-label strong{margin-top:0!important}.planner-meal-card{padding:var(--space-4)!important;cursor:default!important}.planner-meal-card-header{align-items:stretch!important;gap:var(--space-4)!important;flex-direction:column!important}.planner-meal-card-summary{width:100%;align-items:flex-start!important}.planner-meal-card-thumbnail{width:72px!important;height:64px!important}.planner-meal-card-copy{flex:1;min-width:0}.planner-meal-card-title{white-space:normal;overflow-wrap:anywhere}.planner-mobile-meal-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.planner-mobile-meal-actions>*{border:1px solid var(--border-strong);width:100%;min-width:0;min-height:48px;color:var(--text-primary);text-align:center;white-space:normal;cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;padding:8px;font-size:.8rem;font-weight:850;line-height:1.25;display:inline-flex}}.recipe-detail-page{padding-bottom:var(--space-10)}.recipe-detail-breadcrumbs{align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);color:var(--text-muted);flex-wrap:wrap;font-size:.84rem;font-weight:700;display:flex}.recipe-detail-breadcrumbs a{color:var(--green-800)}.recipe-detail-breadcrumbs a:hover{text-decoration:underline}.recipe-detail-hero{margin-bottom:var(--space-6);grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);display:grid;overflow:hidden}.recipe-detail-photo{background:var(--surface-soft);min-height:420px;position:relative}.recipe-detail-photo img{object-fit:contain;width:100%;height:100%}.recipe-photo-placeholder{height:100%;min-height:420px;padding:var(--space-7);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.recipe-photo-placeholder>span{margin-bottom:var(--space-4);font-size:3.5rem}.recipe-photo-placeholder p{margin-bottom:var(--space-2);color:var(--text-primary);font-size:1.05rem;font-weight:900}.recipe-photo-placeholder small{max-width:280px;color:var(--text-muted);font-size:.82rem;line-height:1.5}.recipe-detail-summary{padding:var(--space-7);flex-direction:column;justify-content:center;display:flex}.recipe-detail-topline{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.recipe-detail-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.recipe-detail-id{color:var(--text-muted);flex-shrink:0;font-size:.78rem;font-weight:800}.recipe-detail-title{margin-bottom:var(--space-4)}.recipe-detail-description{max-width:680px;margin-bottom:var(--space-6);font-size:1rem;line-height:1.7}.recipe-meta-grid{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.recipe-meta-item{gap:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;padding:var(--space-4);background:var(--surface-soft);flex-direction:column;display:flex}.recipe-meta-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:900}.recipe-meta-item strong{overflow-wrap:anywhere;color:var(--text-primary);font-size:.92rem}.recipe-detail-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.recipe-menu-success{margin-top:var(--space-4);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);background:var(--green-100);color:var(--green-900);border:1px solid #b8d4c0;font-size:.88rem;font-weight:800}.recipe-detail-layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.recipe-main-column,.recipe-side-column{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.recipe-section-card,.recipe-side-card{overflow:hidden}.recipe-section-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-5);display:flex}.recipe-section-heading h2,.recipe-side-card h3{margin-bottom:0}.servings-control{align-items:center;gap:var(--space-3);color:var(--text-secondary);font-size:.82rem;font-weight:800;display:flex}.servings-buttons{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:36px 44px 36px;display:grid;overflow:hidden}.servings-buttons button{width:36px;height:36px;color:var(--green-800);cursor:pointer;background:0 0;border:0;font-size:1.15rem;font-weight:900}.servings-buttons button:hover{background:var(--green-100)}.servings-buttons strong{border-right:1px solid var(--border);border-left:1px solid var(--border);color:var(--text-primary);justify-content:center;align-items:center;display:flex}.recipe-scaling-note{margin:calc(var(--space-2) * -1) 0 var(--space-5);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);background:var(--gold-100);color:var(--gold-700);font-size:.84rem;font-weight:750}.ingredient-list{border-top:1px solid var(--border);flex-direction:column;display:flex}.ingredient-row{align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--border);padding:var(--space-4) var(--space-2);color:var(--text-primary);cursor:pointer;transition:background-color .14s,color .14s;display:flex}.ingredient-row:hover{background:var(--surface-soft)}.ingredient-row input{width:18px;height:18px;accent-color:var(--green-700);flex-shrink:0;margin-top:2px}.ingredient-row span{line-height:1.55}.ingredient-checked{background:var(--surface-soft);color:var(--text-muted);text-decoration:line-through}.instruction-list{gap:var(--space-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.instruction-list li{gap:var(--space-4);grid-template-columns:42px minmax(0,1fr);align-items:flex-start;display:grid}.instruction-number{background:var(--green-800);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:.86rem;font-weight:900;display:flex}.instruction-list p{color:var(--text-primary);margin:0;padding-top:8px;line-height:1.7}.recipe-missing-content{border:1px dashed var(--border-strong);border-radius:var(--radius-md);padding:var(--space-6);background:var(--surface-soft);color:var(--text-muted);text-align:center;font-size:.9rem}.companion-recipe-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.companion-recipe-card{justify-content:space-between;align-items:center;gap:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface-soft);color:var(--text-primary);font-weight:850;transition:border-color .14s,background-color .14s,transform .14s;display:flex}.companion-recipe-card:hover{border-color:var(--green-600);background:var(--green-100);transform:translateY(-1px)}.companion-recipe-card strong{color:var(--green-800)}.recipe-side-card{position:relative}.recipe-side-card p:last-child{margin-bottom:0}.nutrition-grid{margin:var(--space-4) 0;border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:0;display:grid}.nutrition-grid div{justify-content:space-between;align-items:baseline;gap:var(--space-2);border-bottom:1px solid var(--border);padding:var(--space-2) 0;display:flex}.nutrition-grid div:nth-child(odd){padding-right:var(--space-3)}.nutrition-grid div:nth-child(2n){border-left:1px solid var(--border);padding-left:var(--space-3)}.nutrition-grid dt{color:var(--text-muted);font-size:.78rem}.nutrition-grid dd{color:var(--text-primary);white-space:nowrap;margin:0;font-size:.82rem;font-weight:850}.nutrition-disclaimer{color:var(--text-muted);font-size:.75rem;line-height:1.5}@media (max-width:420px){.nutrition-grid{grid-template-columns:1fr}.nutrition-grid div:nth-child(odd),.nutrition-grid div:nth-child(2n){border-left:0;padding-left:0;padding-right:0}}.recipe-simple-list{gap:var(--space-3);margin:var(--space-4) 0 0;flex-direction:column;padding-left:20px;display:flex}.recipe-simple-list li{color:var(--text-secondary);line-height:1.55}.recipe-side-empty{margin:var(--space-4) 0 0;color:var(--text-muted);font-size:.9rem}.recipe-info-callout{margin-top:var(--space-5);border-left:4px solid var(--green-700);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);background:var(--green-100);color:var(--green-900);font-size:.84rem;font-weight:800}.recipe-photo-reminder{align-items:flex-start;gap:var(--space-4);background:var(--gold-100);display:flex}.recipe-reminder-icon{flex-shrink:0;font-size:1.8rem}.recipe-photo-reminder h3{margin-bottom:var(--space-2)}.recipe-photo-reminder p{color:var(--gold-700);margin-bottom:0;font-size:.88rem}.recipe-modal-backdrop{z-index:100;padding:var(--space-5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141f1994;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.recipe-modal{width:100%;max-width:520px;padding:var(--space-6);box-shadow:var(--shadow-lg)}.recipe-modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.recipe-modal-header h2{margin-bottom:0}.recipe-modal-close{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;display:flex}.recipe-modal-close:hover{background:var(--surface-muted);color:var(--text-primary)}.recipe-modal .form-field+.form-field{margin-top:var(--space-4)}.recipe-modal-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);display:flex}.recipe-import-page{max-width:1180px}.recipe-import-upload{max-width:760px}.recipe-import-upload h2,.recipe-import-section h2,.recipe-import-warning h2,.recipe-import-publish-note h2{margin-bottom:var(--space-2)}.recipe-import-step{margin-bottom:var(--space-3);color:var(--green-700);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:900}.recipe-import-dropzone{justify-content:center;align-items:center;gap:var(--space-3);min-height:230px;margin:var(--space-6) 0;border:2px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-6);background:var(--surface-soft);text-align:center;cursor:pointer;flex-direction:column;display:flex}.recipe-import-dropzone:hover{border-color:var(--green-600);background:var(--green-100)}.recipe-import-dropzone input{max-width:100%}.recipe-import-dropzone-icon{border-radius:var(--radius-md);background:var(--blue-700);color:#fff;justify-content:center;align-items:center;width:54px;height:54px;font-size:1.3rem;font-weight:950;display:flex}.recipe-import-actions,.recipe-import-review-header,.recipe-import-source-bar,.recipe-import-sticky-actions{align-items:center;gap:var(--space-3);display:flex}.recipe-import-actions{justify-content:flex-end}.recipe-import-review-header{justify-content:space-between;align-items:flex-start}.recipe-import-source-bar{margin-bottom:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--surface);color:var(--text-muted);flex-wrap:wrap;font-size:.84rem}.recipe-import-source-bar strong{color:var(--text-primary)}.recipe-import-warning{margin-bottom:var(--space-5);background:var(--gold-100);border-color:#e6c984}.recipe-import-warning ul{margin:var(--space-3) 0 0;padding-left:20px}.recipe-import-warning li+li{margin-top:var(--space-2)}.recipe-import-review-layout{gap:var(--space-5);grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);align-items:start;display:grid}.recipe-import-section .card-header{margin-bottom:var(--space-5)}.recipe-import-row-editor{gap:var(--space-2);grid-template-columns:28px minmax(100px,.55fr) minmax(160px,1fr) minmax(160px,1fr) auto;align-items:center;display:grid}.recipe-import-preview{gap:1.25rem;display:grid}.recipe-preview-banner,.recipe-import-move-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-warm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex}.recipe-preview-banner span,.recipe-import-move-panel p{color:var(--color-text-muted);margin:0}.recipe-preview-supporting{align-items:start}.recipe-component-heading{color:var(--color-text);letter-spacing:.02em;margin:1rem 0 .4rem;font-size:.95rem}.auth-page{place-items:center;min-height:calc(100vh - 4rem);display:grid}.auth-card{width:min(100%,34rem);padding:clamp(1.5rem,5vw,3rem)}.auth-card h1{margin:.35rem 0 .75rem}.auth-brand-mark{color:#fff;background:var(--color-primary);border-radius:1rem;place-items:center;width:3.25rem;height:3.25rem;margin-bottom:1.25rem;font-weight:800;display:grid}.auth-form{gap:1rem;margin-top:1.5rem;display:grid}.auth-form-row{justify-content:flex-end;display:flex}.auth-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);text-align:center;margin-top:1.5rem;padding-top:1.25rem}.auth-footer p{margin:0}.sidebar-account-button{width:100%;font:inherit;cursor:pointer;background:0 0;border:0}.recipe-import-row-editor>strong,.recipe-import-instruction-editor>strong{background:var(--green-100);width:28px;height:28px;color:var(--green-800);border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;display:flex}.recipe-import-instruction-editor{gap:var(--space-3);grid-template-columns:28px minmax(0,1fr) auto;align-items:flex-start;display:grid}.recipe-import-publish-note{background:var(--green-100);border-color:#b8d4c0}.recipe-import-publish-note p:last-child{margin-bottom:0}.recipe-import-error,.recipe-import-success{margin:var(--space-4) 0;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-weight:800}.recipe-import-error{background:var(--red-100);color:var(--red-700);border:1px solid #efb2aa}.recipe-import-success{background:var(--green-100);color:var(--green-900);border:1px solid #b8d4c0}.recipe-import-sticky-actions{z-index:20;bottom:var(--space-3);margin-top:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;justify-content:flex-end;position:sticky}@media (max-width:900px){.recipe-import-review-layout{grid-template-columns:1fr}.recipe-import-row-editor{grid-template-columns:28px 1fr 1fr}.recipe-import-row-editor>:nth-child(4){grid-column:2/-1}}@media (max-width:640px){.recipe-import-review-header,.recipe-import-sticky-actions{flex-direction:column;align-items:stretch}.recipe-import-row-editor,.recipe-import-instruction-editor{grid-template-columns:28px minmax(0,1fr)}.recipe-import-row-editor>:not(strong),.recipe-import-instruction-editor>:not(strong){grid-column:2}}@media (max-width:1100px){.recipe-detail-hero{grid-template-columns:1fr}.recipe-detail-photo,.recipe-photo-placeholder{min-height:340px}.recipe-detail-layout{grid-template-columns:1fr}.recipe-side-column{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.recipe-photo-reminder{grid-column:1/-1}}@media (max-width:760px){.recipe-detail-summary{padding:var(--space-5)}.recipe-detail-topline,.recipe-section-heading{flex-direction:column}.recipe-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-side-column,.companion-recipe-grid{grid-template-columns:1fr}.recipe-photo-reminder{grid-column:auto}}@media (max-width:520px){.recipe-meta-grid{grid-template-columns:1fr}.recipe-detail-actions{flex-direction:column}.recipe-detail-actions .button{width:100%}.servings-control{justify-content:space-between;width:100%}.recipe-modal-actions{flex-direction:column-reverse}.recipe-modal-actions .button{width:100%}}.cook-recipe-tabs{scrollbar-width:thin;gap:8px;margin-top:16px;padding:2px 0 6px;display:flex;overflow-x:auto}.cook-recipe-tab{color:#374151;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;flex:none;max-width:min(320px,72vw);padding:9px 14px;font-weight:750;overflow:hidden}.cook-recipe-tab--active{color:#fff;background:#111827;border-color:#111827}.cook-session-tools{border-top:1px solid #e5e7eb;grid-template-columns:minmax(240px,.7fr) minmax(280px,1.3fr);gap:18px;margin-top:28px;padding-top:24px;display:grid}.cook-timer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cook-timer strong{font-variant-numeric:tabular-nums;font-size:1.7rem}.cook-timer>div:last-child{flex-wrap:wrap;gap:8px;display:flex}.cook-notes{gap:8px;font-weight:750;display:grid}@media (max-width:720px){.cook-recipe-tabs{margin-inline:-4px;padding-inline:4px}.cook-session-tools{grid-template-columns:1fr}}.freezer-pantry-row-processing,.freezer-pantry-row-error{margin:8px 0 0;font-size:.84rem}.freezer-pantry-row-processing{color:#64748b}.freezer-pantry-row-error{color:#b42318;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;display:flex}
