@import"https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800&display=swap";:root{--color-cream: #faf8f3;--color-sage: #94b49f;--color-sage-soft: #e7efe9;--color-terracotta: #c97d60;--color-terracotta-soft: #f5e5df;--color-rose-soft: #f6e7e4;--color-sand-soft: #f3eddf;--color-charcoal-soft: #e9e8e6;--color-olive: #758e67;--color-charcoal: #313131;--color-muted: #6d716d;--color-white: #ffffff;--font-family: "Nunito Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-round: 999px;--shadow-soft: 0 12px 36px rgba(49, 49, 49, .08);--shadow-raised: 0 18px 46px rgba(49, 49, 49, .13);--shadow-card-hover: 0 22px 52px rgba(49, 49, 49, .14);--transition-fast: .16s ease;--transition-standard: .26s ease;color:var(--color-charcoal);font-family:var(--font-family);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{width:100%;min-height:100%;background:var(--color-cream)}body{margin:0;width:100%;min-width:320px;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;background:var(--color-cream)}#root{width:100%;min-height:100vh;min-height:100dvh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid color-mix(in srgb,var(--color-terracotta) 65%,transparent);outline-offset:3px}.app-shell{width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.main-content{position:relative;z-index:0;flex:1 0 auto;width:100%;min-width:0;padding:32px 24px 112px}.container{width:min(100%,1120px);margin-inline:auto}.section{margin-top:36px}.page-title{margin:0;font-size:clamp(2rem,5vw,3.4rem);line-height:1.08;letter-spacing:-.04em}.page-subtitle{margin:12px 0 0;color:var(--color-muted);font-size:clamp(1rem,2vw,1.2rem)}.header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid rgba(49,49,49,.07);background:#faf8f3e6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.header-start{display:flex;align-items:center;gap:12px}.header-actions{display:flex;align-items:center;gap:10px}.storage-status{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:var(--radius-round);color:var(--color-muted);background:var(--color-white);font-size:.65rem;font-weight:800;box-shadow:var(--shadow-soft);transition:color var(--transition-fast),background var(--transition-fast)}.storage-status.saved{color:var(--color-olive);background:var(--color-sage-soft)}.storage-status.error{color:var(--color-terracotta);background:var(--color-terracotta-soft)}.storage-status .spin{animation:storage-spin .9s linear infinite}@keyframes storage-spin{to{transform:rotate(360deg)}}.storage-startup-error{width:min(calc(100% - 32px),620px);margin:12vh auto;padding:28px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-raised)}.storage-startup-error h1{margin-top:0}.storage-startup-error p{color:var(--color-muted);line-height:1.6}.storage-startup-error pre{overflow-x:auto;padding:12px;border-radius:var(--radius-sm);color:var(--color-terracotta);background:var(--color-terracotta-soft);white-space:pre-wrap}.storage-startup-error button{padding:10px 15px;border:0;border-radius:var(--radius-round);color:var(--color-white);background:var(--color-olive);cursor:pointer;font-weight:800}.tablet-menu{display:none}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:var(--color-white);background:linear-gradient(145deg,var(--color-sage),var(--color-olive));box-shadow:0 10px 24px #758e673d}.brand-copy{display:grid;line-height:1.15}.brand-copy strong{font-size:1.08rem;font-weight:800}.brand-copy small{margin-top:4px;color:var(--color-muted);font-size:.72rem;font-weight:600}.icon-button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:var(--radius-round);color:var(--color-charcoal);background:var(--color-white);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform var(--transition-fast)}.icon-button:hover{transform:translateY(-2px)}.profile-button{width:44px;height:44px;border:3px solid var(--color-white);border-radius:var(--radius-round);color:var(--color-white);background:var(--color-terracotta);box-shadow:var(--shadow-soft);cursor:pointer;font-weight:800;transition:transform var(--transition-fast)}.profile-button:hover{transform:translateY(-2px)}.sidebar,.sidebar-overlay{display:none}.sidebar-nav{display:grid;gap:8px}.nav-link{display:flex;align-items:center;gap:13px;padding:10px 12px;border-radius:15px;color:var(--color-muted);font-weight:700;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.nav-link:hover{color:var(--color-charcoal);background:var(--color-cream);transform:translate(2px)}.nav-link.active{color:var(--color-olive);background:var(--color-sage-soft)}.nav-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#ffffffb3}.nav-link.active .nav-icon{color:var(--color-white);background:var(--color-olive)}.sidebar-footer{margin-top:auto;padding:18px;border-radius:var(--radius-md);background:var(--color-cream)}.sidebar-footer span,.sidebar-footer strong{display:block}.sidebar-footer span{color:var(--color-muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.sidebar-footer strong{margin-top:4px;font-size:.9rem}.bottom-nav{position:fixed;inset:auto 12px 12px;z-index:30;display:flex;justify-content:space-around;padding:8px;background:#fffffff0;border:1px solid rgba(49,49,49,.07);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-link{min-width:0;flex:1 1 0;display:grid;justify-items:center;gap:4px;padding:7px 2px;border-radius:13px;color:var(--color-muted);font-size:clamp(.48rem,2vw,.62rem);font-weight:700}.bottom-link span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-link.active{color:var(--color-olive);background:var(--color-sage-soft)}.dashboard-intro{position:relative}.welcome-badge{display:inline-flex;margin-top:18px;padding:8px 12px;border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-sage-soft);font-size:.78rem;font-weight:800}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:18px}.card{min-height:192px;padding:26px;border:1px solid rgba(49,49,49,.06);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.dashboard-card{position:relative;overflow:hidden;min-height:205px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;transition:box-shadow var(--transition-standard)}.dashboard-card:hover{box-shadow:var(--shadow-card-hover)}.dashboard-card:after{content:"";position:absolute;z-index:-1;width:176px;height:176px;right:-58px;bottom:-68px;border-radius:50%;background:var(--card-accent, var(--color-sage-soft));opacity:.85}.card-topline{display:flex;align-items:flex-start;justify-content:space-between}.card-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;color:var(--card-icon-color, var(--color-olive));background:var(--card-accent, var(--color-sage-soft))}.illustration-icon{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.card-icon .illustration-icon{width:56px;height:56px;border-radius:16px}.tone-sage{--card-accent: var(--color-sage-soft);--card-icon-color: var(--color-olive)}.tone-terracotta{--card-accent: var(--color-terracotta-soft);--card-icon-color: var(--color-terracotta)}.tone-olive{--card-accent: var(--color-sage-soft);--card-icon-color: var(--color-olive)}.tone-rose{--card-accent: var(--color-rose-soft);--card-icon-color: var(--color-terracotta)}.tone-sand{--card-accent: var(--color-sand-soft);--card-icon-color: var(--color-olive)}.tone-charcoal{--card-accent: var(--color-charcoal-soft);--card-icon-color: var(--color-charcoal)}.card-title{margin:28px 0 0;font-size:1.42rem;letter-spacing:-.02em}.card-description{margin:6px 0 0;color:var(--color-muted)}.arrow{color:var(--color-muted);transition:transform var(--transition-fast)}.dashboard-card:hover .arrow{transform:translate(2px,-2px)}.weekly-plan-card{min-height:310px;display:flex;flex-direction:column;background:linear-gradient(145deg,var(--color-white),var(--color-sage-soft))}.feature-card-heading{display:flex;align-items:center;gap:14px}.feature-card-heading h2,.section-heading h2{margin:2px 0 0;font-size:1.45rem;letter-spacing:-.02em}.feature-card-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;color:var(--color-olive);background:var(--color-white);box-shadow:var(--shadow-soft)}.eyebrow{margin:0;color:var(--color-olive);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.weekly-plan-empty{flex:1;display:grid;align-content:center;padding-block:26px}.weekly-plan-empty p{margin:0;font-size:1.16rem;font-weight:800}.weekly-plan-empty span{margin-top:6px;color:var(--color-muted)}.primary-button{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:0;border-radius:var(--radius-round);color:var(--color-white);background:var(--color-terracotta);box-shadow:0 10px 24px #c97d603d;cursor:pointer;font-weight:800;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.primary-button:hover{transform:translateY(-2px);box-shadow:0 14px 28px #c97d604d}.meal-prep-tip{min-height:180px;display:flex;align-items:flex-start;gap:16px;background:var(--color-charcoal);color:var(--color-white)}.meal-prep-tip .eyebrow{color:var(--color-sage)}.tip-icon{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:var(--color-charcoal);background:var(--color-sage)}.tip-copy{margin:12px 0 0;font-size:1.08rem;font-weight:700;line-height:1.55}.favorites-section{min-width:0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-count{color:var(--color-muted);font-size:.8rem;font-weight:700}.recipe-scroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,83%);gap:16px;overflow-x:auto;padding:4px 4px 18px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--color-sage) transparent}.recipe-preview{overflow:hidden;border:1px solid rgba(49,49,49,.06);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft);scroll-snap-align:start}.recipe-visual{position:relative;height:128px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-sage-soft),var(--color-sand-soft))}.recipe-preview-2 .recipe-visual{background:linear-gradient(135deg,var(--color-terracotta-soft),var(--color-sand-soft))}.recipe-preview-3 .recipe-visual{background:linear-gradient(135deg,var(--color-sand-soft),var(--color-rose-soft))}.recipe-visual-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:19px;color:var(--color-olive);background:#ffffffb8}.recipe-category{position:absolute;left:14px;top:14px;padding:6px 10px;border-radius:var(--radius-round);color:var(--color-charcoal);background:#ffffffd9;font-size:.72rem;font-weight:800}.recipe-content{padding:20px}.recipe-content h3{margin:0;font-size:1.13rem}.recipe-content>p{min-height:44px;margin:7px 0 18px;color:var(--color-muted);font-size:.86rem;line-height:1.5}.recipe-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--color-muted);font-size:.76rem;font-weight:700}.recipe-meta span{display:inline-flex;align-items:center;gap:5px}.recipe-tools{display:grid;gap:18px}.recipe-search{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:0 18px;border:1px solid rgba(49,49,49,.08);border-radius:var(--radius-lg);color:var(--color-muted);background:var(--color-white);box-shadow:var(--shadow-soft)}.recipe-search:focus-within{border-color:var(--color-sage);box-shadow:0 0 0 4px #94b49f29,var(--shadow-soft)}.recipe-search input{width:100%;min-width:0;height:64px;border:0;outline:0;color:var(--color-charcoal);background:transparent;font-size:1rem}.recipe-search input::placeholder{color:var(--color-muted)}.recipe-search button{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:var(--radius-round);color:var(--color-muted);background:var(--color-cream);cursor:pointer}.recipe-filters{display:flex;gap:9px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}.recipe-filters::-webkit-scrollbar{display:none}.filter-chip{flex:0 0 auto;padding:10px 15px;border:1px solid rgba(49,49,49,.08);border-radius:var(--radius-round);color:var(--color-muted);background:var(--color-white);cursor:pointer;font-size:.85rem;font-weight:800;transition:color var(--transition-fast),background var(--transition-fast),border var(--transition-fast)}.filter-chip:hover{color:var(--color-olive);border-color:var(--color-sage)}.filter-chip.active{color:var(--color-white);border-color:var(--color-olive);background:var(--color-olive)}.recipe-results-heading{display:flex;align-items:baseline;gap:7px;margin-bottom:18px}.recipe-results-heading strong{font-size:1.08rem}.recipe-results-heading span{color:var(--color-muted);font-size:.86rem}.recipe-library-grid{display:grid;grid-template-columns:1fr;gap:22px}.library-recipe-card{overflow:hidden;min-width:0;border:1px solid rgba(49,49,49,.06);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft);transition:box-shadow var(--transition-standard)}.library-recipe-card:hover{box-shadow:var(--shadow-card-hover)}.library-recipe-image{position:relative;overflow:hidden;aspect-ratio:16 / 10;background:var(--color-sage-soft)}.library-recipe-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}.recipe-illustration{object-fit:cover!important;object-position:center;padding:0;box-sizing:border-box;background:var(--color-cream)}.library-recipe-card:hover .library-recipe-image img{transform:scale(1.025)}.recipe-category-pill{position:absolute;left:16px;top:16px;padding:7px 11px;border-radius:var(--radius-round);color:var(--color-charcoal);background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.75rem;font-weight:800}.favorite-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;color:var(--color-muted);background:var(--color-white);cursor:pointer}.library-recipe-image>.favorite-button{position:absolute;right:14px;top:14px;width:42px;height:42px;border-radius:var(--radius-round);box-shadow:var(--shadow-soft)}.favorite-button.active{color:var(--color-terracotta)}.favorite-button.labeled{min-height:46px;padding:0 17px;border:1px solid rgba(49,49,49,.08);border-radius:var(--radius-round);font-weight:800}.library-recipe-body{display:flex;flex-direction:column;min-height:302px;padding:22px}.library-recipe-body h2{margin:0;font-size:1.28rem;letter-spacing:-.02em}.library-recipe-body>p{margin:7px 0 16px;color:var(--color-muted);font-size:.88rem;line-height:1.52}.recipe-badges{display:flex;flex-wrap:wrap;gap:7px}.recipe-badge{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:var(--radius-round);color:var(--color-muted);background:var(--color-cream);font-size:.72rem;font-weight:800}.recipe-badge-sage{color:var(--color-olive);background:var(--color-sage-soft)}.recipe-badge-terracotta{color:var(--color-terracotta);background:var(--color-terracotta-soft)}.recipe-details-button{margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--color-sage);border-radius:var(--radius-round);color:var(--color-olive);font-weight:800;transition:color var(--transition-fast),background var(--transition-fast)}.recipe-details-button:hover{color:var(--color-white);background:var(--color-olive)}.recipe-detail{padding-bottom:36px}.back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:20px;color:var(--color-muted);font-weight:800}.back-link:hover{color:var(--color-olive)}.recipe-detail-hero{position:relative;overflow:hidden;min-height:410px;border-radius:28px;background:var(--color-sage-soft);box-shadow:var(--shadow-soft)}.recipe-detail-hero img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.recipe-detail-hero:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,#313131d1)}.recipe-detail-overlay{position:absolute;z-index:1;inset:auto 24px 26px;color:var(--color-white)}.recipe-detail-overlay>span{display:inline-block;padding:6px 10px;border-radius:var(--radius-round);color:var(--color-charcoal);background:var(--color-cream);font-size:.74rem;font-weight:800}.recipe-detail-overlay h1{margin:12px 0 6px;font-size:clamp(2rem,6vw,3.4rem);line-height:1;letter-spacing:-.04em}.recipe-detail-overlay p{max-width:650px;margin:0;color:#ffffffdb}.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block:22px}.detail-meta{display:flex;flex-wrap:wrap;gap:8px}.nutrition-card{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;overflow:hidden;margin-top:28px;border:1px solid rgba(49,49,49,.06);border-radius:var(--radius-lg);background:#3131310f;box-shadow:var(--shadow-soft)}.nutrition-card>div{padding:20px;background:var(--color-white)}.nutrition-card span{display:block;color:var(--color-muted);font-size:.76rem;font-weight:700}.nutrition-card strong{display:block;margin-top:5px;font-size:1.55rem}.nutrition-card small{color:var(--color-muted);font-size:.72rem}.recipe-detail-columns{display:grid;grid-template-columns:1fr;gap:20px;margin-top:28px}.detail-panel{padding:24px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.detail-panel h2,.meal-prep-notes h2{margin:4px 0 20px;font-size:1.45rem}.ingredient-list,.preparation-steps{margin:0;padding:0;list-style:none}.ingredient-list li+li{border-top:1px solid rgba(49,49,49,.06)}.ingredient-list label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:52px;cursor:pointer}.ingredient-list input{position:absolute;opacity:0;pointer-events:none}.ingredient-check{width:23px;height:23px;display:grid;place-items:center;border:2px solid var(--color-sage);border-radius:7px;color:transparent;transition:color var(--transition-fast),background var(--transition-fast)}.ingredient-list input:checked+.ingredient-check{color:var(--color-white);background:var(--color-olive)}.ingredient-list input:checked~span{color:var(--color-muted);text-decoration:line-through}.ingredient-list strong{font-size:.82rem}.preparation-steps{display:grid;gap:20px}.preparation-steps li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}.preparation-steps li>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:var(--color-white);background:var(--color-terracotta);font-weight:800}.preparation-steps p{margin:5px 0 0;line-height:1.55}.meal-prep-notes{display:flex;align-items:flex-start;gap:16px;margin-top:28px;padding:24px;border-radius:var(--radius-lg);background:var(--color-sage-soft)}.notes-icon{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border-radius:15px;color:var(--color-white);background:var(--color-olive)}.meal-prep-notes h2{margin-bottom:12px}.meal-prep-notes p:not(.eyebrow){margin:4px 0;color:var(--color-muted)}.week-planner-layout{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}.week-planner-main{min-width:0}.planner-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.planner-heading h2{margin:3px 0 0;font-size:1.35rem}.planner-heading>span{display:none;color:var(--color-muted);font-size:.75rem}.week-grid{display:grid;grid-template-columns:1fr;gap:14px}.planner-day-card{min-width:0;padding:16px;border:1px solid rgba(49,49,49,.06);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.planner-day-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:14px}.planner-day-card>header p{margin:0;color:var(--color-muted);font-size:.68rem;font-weight:700}.planner-day-card>header h2{margin:2px 0 0;font-size:1.08rem}.planner-day-card>header>span{padding:5px 7px;border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-sage-soft);font-size:.64rem;font-weight:800;white-space:nowrap}.day-slots{display:grid;gap:10px}.meal-slot{min-width:0}.meal-slot-label{display:flex;align-items:center;gap:5px;margin:0 0 5px 2px;color:var(--color-muted);font-size:.66rem;font-weight:800}.meal-slot-label .illustration-icon{width:24px;height:24px;border-radius:8px}.empty-meal-slot{width:100%;min-height:58px;display:grid;place-items:center;border:1.5px dashed var(--color-sage);border-radius:var(--radius-sm);color:var(--color-olive);background:var(--color-sage-soft);cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.empty-meal-slot:hover{transform:translateY(-2px);background:var(--color-white)}.planned-meal{position:relative;min-width:0;display:flex;border:1px solid rgba(49,49,49,.06);border-radius:var(--radius-sm);background:var(--color-cream);cursor:grab}.planned-meal:active{cursor:grabbing}.planned-meal-main{min-width:0;flex:1;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:7px;padding:6px 24px 6px 6px;border:0;text-align:left;background:transparent;cursor:pointer}.planned-meal-main img{width:38px;height:38px;border-radius:9px;object-fit:cover}.planned-meal-main>span{min-width:0}.planned-meal-main strong,.planned-meal-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planned-meal-main strong{font-size:.68rem}.planned-meal-main small{margin-top:2px;color:var(--color-muted);font-size:.6rem}.planned-meal-flags{display:flex!important;gap:3px;margin-top:3px;color:var(--color-olive)}.remove-meal{position:absolute;right:3px;top:3px;width:21px;height:21px;display:grid;place-items:center;border:0;border-radius:var(--radius-round);color:var(--color-muted);background:var(--color-white);cursor:pointer}.day-nutrition{margin-top:14px}.planner-nutrition{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.planner-nutrition span{color:var(--color-muted);font-size:.68rem}.planner-nutrition strong{color:var(--color-charcoal)}.planner-nutrition.compact{gap:4px}.planner-nutrition.compact span{text-align:center;font-size:.58rem}.planner-nutrition.compact strong{display:block;font-size:.7rem}.calorie-progress{overflow:hidden;height:5px;margin-top:8px;border-radius:var(--radius-round);background:var(--color-charcoal-soft)}.calorie-progress span{height:100%;display:block;border-radius:inherit;background:var(--color-terracotta);transition:width var(--transition-standard)}.day-hints{display:grid;gap:4px;margin-top:10px}.day-hints span{padding:6px 8px;border-radius:8px;color:var(--color-terracotta);background:var(--color-terracotta-soft);font-size:.6rem;font-weight:800}.week-summary{padding:22px;border-radius:var(--radius-lg);background:var(--color-charcoal);color:var(--color-white);box-shadow:var(--shadow-raised)}.week-summary-title{display:flex;align-items:center;gap:12px}.week-summary-title>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:var(--color-charcoal);background:var(--color-sage)}.week-summary-title .eyebrow{color:var(--color-sage)}.week-summary-title h2{margin:2px 0 0;font-size:1.3rem}.week-nutrition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:22px}.week-nutrition-grid>div{padding:12px;border-radius:var(--radius-sm);background:#ffffff14}.week-nutrition-grid span{display:block;color:#ffffff9e;font-size:.65rem}.week-nutrition-grid strong{display:block;margin-top:4px;font-size:1.15rem}.target-note{display:flex;justify-content:space-between;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem}.target-note span{color:#ffffff9e}.week-planner-2{display:grid;gap:18px}.year-planner{display:grid;gap:10px;padding:16px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.year-selector,.month-selector,.week-selector{display:flex;gap:7px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.year-selector::-webkit-scrollbar,.month-selector::-webkit-scrollbar,.week-selector::-webkit-scrollbar,.week-navigation::-webkit-scrollbar,.week-tools::-webkit-scrollbar{display:none}.year-selector button,.month-selector button,.week-selector button{flex:0 0 auto;border:0;border-radius:var(--radius-round);color:var(--color-muted);background:var(--color-cream);cursor:pointer;font-weight:800}.year-selector button{padding:8px 14px;font-size:.78rem}.month-selector button{padding:8px 12px;font-size:.7rem}.year-selector button.active,.month-selector button.active{color:var(--color-white);background:var(--color-olive)}.week-selector button{position:relative;min-width:76px;display:grid;gap:2px;padding:9px 12px;text-align:left}.week-selector button.saved:after{content:"";position:absolute;right:8px;bottom:8px;width:5px;height:5px;border-radius:50%;background:var(--color-sage)}.week-selector button.active{color:var(--color-white);background:var(--color-terracotta)}.week-selector button strong{font-size:.72rem}.week-selector button small{font-size:.58rem}.week-selector button>span{position:absolute;right:7px;top:5px;color:inherit;font-size:.65rem}.week-toolbar{position:relative;display:grid;gap:10px;padding:13px 15px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.week-navigation,.week-tools{display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:none}.week-navigation{justify-content:space-between}.week-navigation strong{flex:0 0 auto;color:var(--color-olive)}.week-navigation button,.week-tools button{flex:0 0 auto;min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border:1px solid rgba(49,49,49,.08);border-radius:var(--radius-round);color:var(--color-charcoal);background:var(--color-white);cursor:pointer;font-size:.67rem;font-weight:800}.week-tools button.favorite{color:var(--color-terracotta);background:var(--color-terracotta-soft)}.auto-plan-button{width:fit-content;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0 auto;padding:0 19px;border:0;border-radius:var(--radius-round);color:var(--color-white);background:var(--color-olive);box-shadow:var(--shadow-soft);cursor:pointer;font-weight:800;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.auto-plan-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised)}.copy-week-panel{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:13px;border-radius:var(--radius-md);background:var(--color-sage-soft)}.copy-week-panel label{min-width:220px;flex:1;display:grid;gap:5px;color:var(--color-muted);font-size:.68rem;font-weight:800}.copy-week-panel select{width:100%;height:42px;padding:0 10px;border:1px solid rgba(49,49,49,.1);border-radius:var(--radius-sm);background:var(--color-white)}.week-library{display:grid;gap:15px;padding:18px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-raised)}.week-library>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.week-library>header h2{margin:3px 0 0;font-size:1.2rem}.save-week-template{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:10px;padding:14px;border-radius:var(--radius-md);background:var(--color-sage-soft)}.save-week-template>svg{align-self:center;color:var(--color-olive)}.save-week-template label{display:grid;gap:5px;color:var(--color-muted);font-size:.68rem;font-weight:800}.save-week-template input{width:100%;height:42px;padding:0 11px;border:1px solid rgba(49,49,49,.1);border-radius:var(--radius-sm);background:var(--color-white)}.save-week-template .primary-button{grid-column:2}.week-template-grid{display:grid;gap:9px}.week-template-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid rgba(49,49,49,.06);border-radius:var(--radius-md);background:var(--color-cream)}.week-template-card h3{margin:2px 0 4px;font-size:.95rem}.week-template-card span{color:var(--color-muted);font-size:.65rem}.week-template-card>div:last-child{display:flex;gap:6px}.week-template-card button{min-height:34px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:0;border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-white);cursor:pointer;font-size:.65rem;font-weight:800}.week-template-card button:last-child{color:var(--color-terracotta)}.week-library-empty{margin:0;color:var(--color-muted);font-size:.75rem}.recipe-sidebar{min-width:0}.day-column.today{border-color:var(--color-sage);box-shadow:0 0 0 3px var(--color-sage-soft),var(--shadow-soft)}.day-notes{display:grid;gap:5px;margin-top:11px}.day-notes>span{display:flex;align-items:center;gap:5px;color:var(--color-muted);font-size:.62rem;font-weight:800}.day-notes textarea{width:100%;min-height:54px;resize:vertical;padding:8px;border:1px solid rgba(49,49,49,.08);border-radius:9px;outline:0;color:var(--color-charcoal);background:var(--color-cream);font:inherit;font-size:.62rem}.day-notes textarea:focus{border-color:var(--color-sage);background:var(--color-white)}.planner-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.weekly-summary{min-width:0;flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.weekly-summary>div{min-width:0;display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:var(--radius-md);color:var(--color-olive);background:var(--color-white);box-shadow:var(--shadow-soft)}.weekly-summary span,.weekly-summary small,.weekly-summary strong{min-width:0;display:block}.weekly-summary small{color:var(--color-muted);font-size:.62rem}.weekly-summary strong{margin-top:2px;overflow:hidden;color:var(--color-charcoal);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.household-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:11px 14px;border-radius:var(--radius-md);color:var(--color-muted);background:var(--color-sage-soft);font-size:.72rem}.household-strip strong{padding:5px 9px;border-radius:var(--radius-round);color:var(--color-charcoal);background:var(--color-white)}.planner-sidebar{min-width:0;display:grid;gap:16px;align-content:start}.recipe-picker.embedded{position:static;inset:auto;z-index:auto;width:auto;max-height:620px;grid-template-rows:auto auto auto minmax(180px,1fr);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.recipe-picker.embedded>header{padding:18px 18px 10px}.recipe-picker.embedded>header h2{font-size:1.15rem}.recipe-picker.embedded .picker-tools{padding:10px 13px}.recipe-picker.embedded .picker-results{padding:12px 13px 18px}.recipe-picker.embedded .picker-recipe{grid-template-columns:62px minmax(0,1fr)}.recipe-picker.embedded .picker-recipe img{width:62px;height:58px}.picker-selection-hint{margin:0;padding:9px 14px;color:var(--color-muted);background:var(--color-white);font-size:.68rem}.picker-selection-hint.active{color:var(--color-olive);background:var(--color-sage-soft);font-weight:800}.planned-meal{display:grid;grid-template-columns:minmax(0,1fr);padding-bottom:7px;cursor:grab}.planned-meal-main{width:100%;padding-right:27px}.planned-meal-status{display:flex;flex-wrap:wrap;gap:4px;padding:0 6px}.planner-status-badge{width:fit-content;display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-sage-soft);font-size:.55rem;font-weight:800}.planner-status-badge.leftover{color:var(--color-terracotta);background:var(--color-terracotta-soft)}.meal-household-warning{margin:5px 6px 0;padding:4px 6px;border-radius:7px;color:var(--color-terracotta);background:var(--color-terracotta-soft);font-size:.53rem;font-weight:800}.meal-vegetarian-variant{margin:6px 6px 0;padding:6px 8px;border-radius:8px;color:var(--color-olive);background:var(--color-sage-soft);font-size:.58rem;font-weight:800}.portion-selector{display:grid;grid-template-columns:25px minmax(0,1fr) 25px;align-items:center;gap:4px;margin:6px 6px 0}.portion-selector button{width:25px;height:25px;display:grid;place-items:center;border:0;border-radius:8px;color:var(--color-olive);background:var(--color-white);cursor:pointer}.portion-selector span{overflow:hidden;color:var(--color-muted);text-align:center;font-size:.55rem;white-space:nowrap}.portion-selector strong{color:var(--color-charcoal)}.meal-diners{display:flex;gap:4px;margin:6px 6px 0}.meal-diners button{width:26px;height:26px;display:grid;place-items:center;border:1px solid rgba(49,49,49,.08);border-radius:var(--radius-round);filter:grayscale(1);opacity:.42;background:var(--color-white);cursor:pointer}.meal-diners button.active{border-color:var(--color-sage);filter:none;opacity:1;background:var(--color-sage-soft)}.meal-prep-action{width:calc(100% - 12px);min-height:28px;display:flex;align-items:center;justify-content:center;gap:5px;margin:6px 6px 0;border:0;border-radius:8px;color:var(--color-olive);background:var(--color-sage-soft);cursor:pointer;font-size:.56rem;font-weight:800}.day-column>header>span{text-align:right;line-height:1.2}.day-column>header>span small{font-size:.52rem}.planner-side-card{padding:18px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.planner-side-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px}.planner-side-heading>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:var(--color-olive);background:var(--color-sage-soft)}.planner-side-heading h2{margin:2px 0 0;font-size:1.05rem}.preparation-list ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.preparation-list li{display:flex;align-items:flex-start;gap:7px;color:var(--color-charcoal);font-size:.72rem;line-height:1.4}.preparation-list li svg{flex:0 0 auto;margin-top:2px;color:var(--color-olive)}.preparation-list>p,.shopping-preview>p{margin:0;color:var(--color-muted);font-size:.72rem;line-height:1.5}.shopping-preview>strong{display:block;font-size:1.35rem}.shopping-preview>div:not(.planner-side-heading){display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.shopping-preview>div:not(.planner-side-heading) span{padding:4px 7px;border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-sage-soft);font-size:.6rem}.shopping-preview>a{color:var(--color-terracotta);font-size:.72rem;font-weight:800}.picker-backdrop{position:fixed;inset:0;z-index:70;border:0;background:#3131316b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.recipe-picker{position:fixed;inset:0 0 0 auto;z-index:80;width:min(100%,540px);display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden;background:var(--color-cream);box-shadow:var(--shadow-raised)}.recipe-picker>header{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 16px;background:var(--color-white)}.recipe-picker>header h2{margin:3px 0 0;font-size:1.35rem}.recipe-picker>header>button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:var(--radius-round);color:var(--color-muted);background:var(--color-cream);cursor:pointer}.picker-workflow{display:grid;gap:13px;padding:14px 18px;border-top:1px solid rgba(49,49,49,.06);background:var(--color-white)}.picker-meal-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.picker-meal-navigation button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;border:1px solid rgba(49,49,49,.08);border-radius:var(--radius-sm);color:var(--color-olive);background:var(--color-sage-soft);cursor:pointer;font-size:.7rem;font-weight:800}.picker-meal-navigation button:disabled{color:var(--color-muted);background:var(--color-cream);cursor:not-allowed;opacity:.55}.picker-meal-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.picker-meal-progress>span{min-width:0;min-height:31px;display:flex;align-items:center;justify-content:center;gap:3px;padding:4px;border-radius:9px;color:var(--color-muted);background:var(--color-cream)}.picker-meal-progress>span.current{color:var(--color-olive);box-shadow:inset 0 0 0 1.5px var(--color-sage);background:var(--color-sage-soft)}.picker-meal-progress>span.filled{color:var(--color-olive)}.picker-meal-progress small{overflow:hidden;font-size:.56rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.picker-tools{display:grid;gap:12px;padding:14px 18px 10px;background:var(--color-white)}.picker-tools .recipe-search input{height:52px}.picker-show-all{width:fit-content;display:flex;align-items:center;gap:8px;color:var(--color-charcoal);cursor:pointer;font-size:.7rem;font-weight:800}.picker-show-all input{width:18px;height:18px;accent-color:var(--color-olive)}.picker-results{overflow-y:auto;padding:16px 18px 40px}.picker-results>span{display:block;margin-bottom:10px;color:var(--color-muted);font-size:.75rem;font-weight:700}.picker-recipe{width:100%;display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;align-items:center;padding:8px;border:1px solid rgba(49,49,49,.06);border-radius:var(--radius-md);text-align:left;background:var(--color-white);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform var(--transition-fast)}.picker-recipe+.picker-recipe{margin-top:10px}.picker-recipe:hover{transform:translateY(-2px)}.picker-recipe img{width:82px;height:72px;border-radius:12px;object-fit:cover}.picker-recipe-copy{min-width:0}.picker-recipe-copy strong,.picker-recipe-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-recipe-copy strong{font-size:.9rem}.picker-recipe-copy small{margin-top:4px;color:var(--color-muted);font-size:.68rem}.picker-flags{display:flex!important;gap:7px;margin-top:7px;color:var(--color-olive)}.page-heading-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px}.page-heading-row .primary-button{flex:0 0 auto}.page-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.recipe-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.recipe-title-row h2{min-width:0}.recipe-title-row>span{flex:0 0 auto;padding:5px 7px;border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-sage-soft);font-size:.6rem;font-weight:800}.recipe-actions{position:absolute;right:64px;top:14px;z-index:4}.recipe-actions>button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:var(--radius-round);color:var(--color-charcoal);background:var(--color-white);box-shadow:var(--shadow-soft);cursor:pointer}.recipe-actions-menu{position:absolute;right:0;top:48px;width:170px;overflow:hidden;padding:6px;border:1px solid rgba(49,49,49,.07);border-radius:var(--radius-sm);background:var(--color-white);box-shadow:var(--shadow-raised)}.recipe-actions-menu button{width:100%;display:flex;align-items:center;gap:9px;padding:9px 10px;border:0;border-radius:8px;color:var(--color-charcoal);text-align:left;background:transparent;cursor:pointer;font-size:.78rem;font-weight:700}.recipe-actions-menu button:hover{background:var(--color-cream)}.recipe-actions-menu button:last-child{color:var(--color-terracotta)}.editor-backdrop,.dialog-backdrop{position:fixed;inset:0;border:0;background:#3131317a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.editor-backdrop{z-index:90}.recipe-editor{position:fixed;inset:18px;z-index:100;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-radius:24px;background:var(--color-cream);box-shadow:var(--shadow-raised)}.recipe-editor>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid rgba(49,49,49,.07);background:var(--color-white)}.recipe-editor>header h2{margin:3px 0 0;font-size:1.35rem}.recipe-editor>header>div:last-child{display:flex;gap:9px}.recipe-editor-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px}.recipe-form{width:min(100%,960px);margin-inline:auto;display:grid;gap:18px}.form-section{padding:22px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.form-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.form-section-heading>span{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;color:var(--color-white);background:var(--color-olive);font-size:.72rem;font-weight:800}.form-section-heading h3{margin:2px 0 0;font-size:1.18rem}.form-grid{display:grid;grid-template-columns:1fr;gap:14px}.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label,.nutrition-editor label,.meal-prep-editor label{min-width:0;display:grid;gap:6px;color:var(--color-muted);font-size:.76rem;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.nutrition-editor input,.meal-prep-editor input,.meal-prep-editor textarea,.ingredient-editor-row input,.step-editor-row textarea{width:100%;min-width:0;border:1px solid rgba(49,49,49,.1);border-radius:var(--radius-sm);outline:0;color:var(--color-charcoal);background:var(--color-cream)}.form-grid input,.form-grid select,.nutrition-editor input,.meal-prep-editor input,.ingredient-editor-row input{height:46px;padding:0 12px}.form-grid textarea,.meal-prep-editor textarea,.step-editor-row textarea{min-height:86px;resize:vertical;padding:11px 12px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.nutrition-editor input:focus,.meal-prep-editor input:focus,.meal-prep-editor textarea:focus,.ingredient-editor-row input:focus,.step-editor-row textarea:focus{border-color:var(--color-sage);box-shadow:0 0 0 3px #94b49f24}.recipe-area-selector{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:14px;align-items:start}.recipe-area-selector fieldset{margin:0;padding:0;border:0}.recipe-area-selector legend{margin-bottom:8px;color:var(--color-charcoal);font-size:.78rem;font-weight:800}.recipe-area-selector fieldset>div{display:flex;flex-wrap:wrap;gap:8px}.recipe-area-selector fieldset label{position:relative;display:block}.recipe-area-selector fieldset input{position:absolute;opacity:0;pointer-events:none}.recipe-area-selector fieldset label span{display:block;padding:8px 11px;border:1px solid var(--color-border);border-radius:var(--radius-round);color:var(--color-muted);background:var(--color-white);cursor:pointer}.recipe-area-selector fieldset label.active span{border-color:var(--color-sage);color:var(--color-olive);background:var(--color-sage-soft)}.recipe-area-selector fieldset label:has(input:disabled) span{cursor:default}.recipe-area-selector fieldset>small{display:block;margin-top:8px;color:var(--color-muted)}.recipe-image-selector{display:grid;gap:12px;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-cream)}.recipe-image-current{display:flex;align-items:center;gap:13px}.recipe-image-current img{width:92px;height:72px;flex:0 0 auto;border-radius:12px;object-fit:cover;background:var(--color-white)}.recipe-image-current strong,.recipe-image-current small{display:block}.recipe-image-current small{margin-top:3px;color:var(--color-muted)}.recipe-image-actions{display:flex;flex-wrap:wrap;gap:8px}.recipe-icon-browser{display:grid;gap:12px;padding-top:12px;border-top:1px solid var(--color-border)}.recipe-icon-browser>label{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-round);background:var(--color-white)}.recipe-icon-browser>label input{min-width:0;padding-left:0;border:0;background:transparent}.recipe-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px;max-height:360px;overflow-y:auto;padding:2px}.recipe-icon-grid button{display:grid;gap:5px;padding:7px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-charcoal);background:var(--color-white);cursor:pointer}.recipe-icon-grid button:hover,.recipe-icon-grid button.active{border-color:var(--color-sage);background:var(--color-sage-soft)}.recipe-icon-grid img{width:100%;aspect-ratio:1;border-radius:9px;object-fit:cover}.recipe-icon-grid span{overflow:hidden;font-size:.7rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.preference-warnings{display:grid;gap:7px;padding:14px;border:1px solid var(--color-terracotta-soft);border-radius:var(--radius-md);color:var(--color-charcoal);background:var(--color-terracotta-soft)}.preference-warnings header{display:flex;align-items:center;gap:8px;color:var(--color-terracotta)}.preference-warnings p{margin:0;font-size:.76rem;line-height:1.5}.input-with-suffix{position:relative;display:block}.input-with-suffix input{padding-right:54px}.input-with-suffix small{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--color-muted);font-size:.68rem}.template-notice{margin-bottom:16px;padding:11px 13px;border-radius:var(--radius-sm);color:var(--color-olive);background:var(--color-sage-soft);font-size:.78rem;font-weight:700}.dietary-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dietary-options label{display:flex;align-items:center;gap:9px;padding:11px;border-radius:var(--radius-sm);background:var(--color-cream);cursor:pointer;font-size:.78rem;font-weight:700}.dietary-options input{width:18px;height:18px;accent-color:var(--color-olive)}.nutrition-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meal-prep-editor{display:grid;gap:13px}.editor-list{display:grid;gap:9px}.ingredient-editor-row{display:grid;grid-template-columns:80px 82px minmax(130px,1fr) 150px auto;gap:8px;align-items:center}.ingredient-editor-row select{width:100%;min-width:0;height:46px;padding:0 9px;border:1px solid rgba(49,49,49,.1);border-radius:var(--radius-sm);color:var(--color-charcoal);background:var(--color-cream)}.step-editor-row{display:grid;grid-template-columns:34px minmax(150px,1fr) auto;gap:9px;align-items:start}.step-editor-row>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--color-white);background:var(--color-terracotta);font-size:.75rem;font-weight:800}.row-actions{display:flex;gap:4px}.row-actions button{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:8px;color:var(--color-muted);background:var(--color-cream);cursor:pointer}.row-actions button:last-child{color:var(--color-terracotta)}.add-row-button{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:9px 13px;border:1px solid var(--color-sage);border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-white);cursor:pointer;font-weight:800}.form-errors{padding:12px 15px;border-radius:var(--radius-sm);color:var(--color-terracotta);background:var(--color-terracotta-soft)}.form-errors p{margin:3px 0;font-size:.78rem;font-weight:700}.secondary-button,.danger-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border-radius:var(--radius-round);cursor:pointer;font-weight:800}.secondary-button{border:1px solid rgba(49,49,49,.1);color:var(--color-charcoal);background:var(--color-white)}.danger-button{border:0;color:var(--color-white);background:var(--color-terracotta)}.icon-only{width:42px;padding:0}.dialog-backdrop{z-index:110}.confirm-dialog{position:fixed;z-index:120;inset:0;width:min(calc(100% - 32px),430px);height:fit-content;margin:auto;padding:24px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-raised)}.confirm-dialog h2{margin:0;font-size:1.35rem}.confirm-dialog p{margin:10px 0 22px;color:var(--color-muted)}.confirm-dialog>div{display:flex;justify-content:flex-end;gap:9px}.import-export-card{padding:26px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.import-export-card h2{margin:4px 0 8px}.import-export-card>div:first-child>p:last-child{max-width:650px;margin:0;color:var(--color-muted)}.import-export-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.import-message{margin:16px 0 0;padding:10px 12px;border-radius:var(--radius-sm);color:var(--color-olive);background:var(--color-sage-soft);font-size:.78rem;font-weight:700}.import-message.error{color:var(--color-terracotta);background:var(--color-terracotta-soft)}.recipe-import-dialog{position:fixed;z-index:100;inset:0;width:min(calc(100% - 28px),980px);max-height:min(780px,calc(100dvh - 28px));margin:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:24px;background:var(--color-cream);box-shadow:var(--shadow-raised)}.recipe-import-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;background:var(--color-white);border-bottom:1px solid rgba(49,49,49,.07)}.recipe-import-dialog>header h2{margin:3px 0 0;font-size:1.4rem}.recipe-import-content{min-height:0;overflow-y:auto;padding:20px}.import-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.import-method-grid>button{min-width:0;display:flex;align-items:center;gap:11px;padding:14px;border:1px solid rgba(49,49,49,.08);border-radius:var(--radius-md);color:var(--color-charcoal);text-align:left;background:var(--color-white);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.import-method-grid>button:hover{transform:translateY(-2px)}.import-method-grid>button.active{border-color:var(--color-sage);background:var(--color-sage-soft)}.import-method-grid svg{flex:0 0 auto;color:var(--color-olive)}.import-method-grid span,.import-method-grid strong,.import-method-grid small{min-width:0;display:block}.import-method-grid small{margin-top:3px;overflow:hidden;color:var(--color-muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.import-workspace{margin-top:16px;padding:18px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.import-workspace>label:not(.import-file-drop){display:grid;gap:7px;color:var(--color-muted);font-size:.76rem;font-weight:800}.import-workspace input[type=url],.import-workspace textarea{width:100%;border:1px solid rgba(49,49,49,.1);border-radius:var(--radius-sm);outline:0;color:var(--color-charcoal);background:var(--color-cream)}.import-workspace input[type=url]{height:50px;padding:0 14px}.import-workspace textarea{min-height:230px;padding:13px 14px;resize:vertical}.import-workspace input:focus,.import-workspace textarea:focus{border-color:var(--color-sage);box-shadow:0 0 0 3px #94b49f24}.import-workspace>p{margin:11px 0 0;color:var(--color-muted);font-size:.72rem;line-height:1.55}.import-workspace .secondary-button{margin-top:11px}.import-file-drop{position:relative;min-height:220px;display:grid;place-items:center;padding:24px;border:1px dashed var(--color-sage);border-radius:var(--radius-lg);text-align:center;background:var(--color-sage-soft);cursor:pointer}.import-file-drop input{position:absolute;width:1px;height:1px;opacity:0}.import-file-drop>span{display:grid;justify-items:center;gap:8px}.import-file-drop svg{color:var(--color-olive)}.import-file-drop small{max-width:360px;color:var(--color-muted)}.import-status{margin-top:12px;padding:11px 13px;border-radius:var(--radius-sm);color:var(--color-olive);background:var(--color-sage-soft);font-size:.74rem;font-weight:700}.import-status.error{color:var(--color-terracotta);background:var(--color-terracotta-soft)}.import-status p{margin:3px 0}.recipe-import-dialog>footer{display:flex;justify-content:flex-end;padding:14px 20px;border-top:1px solid rgba(49,49,49,.07);background:var(--color-white)}.recipe-import-dialog button:disabled{opacity:.55;cursor:not-allowed;transform:none}.spin{animation:import-spin .9s linear infinite}.recipe-assistant{max-height:min(900px,calc(100dvh - 28px))}.recipe-assistant>header .eyebrow{display:flex;align-items:center;gap:5px}.import-wizard{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.assistant-progress{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0;padding:14px 20px;list-style:none;background:var(--color-white);border-bottom:1px solid rgba(49,49,49,.06)}.assistant-progress:before{content:"";position:absolute;left:12.5%;right:12.5%;top:28px;height:2px;background:var(--color-sage-soft)}.assistant-progress li{position:relative;z-index:1;display:grid;justify-items:center;gap:4px;color:var(--color-muted)}.assistant-progress li span{width:29px;height:29px;display:grid;place-items:center;border-radius:var(--radius-round);color:var(--color-muted);background:var(--color-cream);border:2px solid var(--color-sage-soft);font-size:.68rem;font-weight:800}.assistant-progress li.active span{color:var(--color-white);background:var(--color-olive);border-color:var(--color-olive)}.assistant-progress small{font-size:.64rem;font-weight:800}.wizard-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px}.wizard-heading{margin-bottom:18px}.wizard-heading h3{margin:3px 0 6px;font-size:1.35rem}.wizard-heading>p:last-child{margin:0;color:var(--color-muted);font-size:.8rem}.assistant-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.assistant-source-grid>button{min-height:110px;min-width:0;display:flex;align-items:center;gap:14px;padding:18px;border:1px solid rgba(49,49,49,.07);border-radius:var(--radius-lg);color:var(--color-charcoal);text-align:left;background:var(--color-white);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast)}.assistant-source-grid>button:hover{transform:translateY(-3px)}.assistant-source-grid>button.active{border-color:var(--color-sage);background:var(--color-sage-soft)}.assistant-source-grid svg{flex:0 0 auto;color:var(--color-olive)}.assistant-source-grid span,.assistant-source-grid strong,.assistant-source-grid small{min-width:0;display:block}.assistant-source-grid small{margin-top:4px;color:var(--color-muted);font-size:.7rem}.import-source-status-grid>button:first-child{grid-column:1 / -1}.import-capability{display:inline-flex!important;width:fit-content;margin-bottom:7px;padding:4px 8px;border-radius:var(--radius-pill);font-size:.66rem;font-style:normal;font-weight:800;line-height:1;letter-spacing:.02em}.import-capability.ready{color:var(--color-olive);background:var(--color-sage-soft)}.import-capability.prepared{color:var(--color-terracotta);background:var(--color-terracotta-soft)}.json-wizard-import{display:grid;gap:18px;padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-cream)}.json-wizard-import>div{display:flex;align-items:center;gap:14px;color:var(--color-olive)}.json-wizard-import>div span,.json-wizard-import>div strong,.json-wizard-import>div small{display:block}.json-wizard-import>div small{margin-top:4px;color:var(--color-muted)}.json-wizard-import .import-status{display:flex;align-items:center;gap:8px;margin:0;color:var(--color-olive);font-weight:700}.json-wizard-import .import-status.error{color:var(--color-terracotta)}.json-import-intro{display:flex;align-items:center;gap:14px;color:var(--color-olive)}.json-import-review{display:grid;gap:18px;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white)}.json-import-review h3{margin:4px 0 0}.json-import-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.json-import-stats div{display:grid;gap:3px;padding:12px;border-radius:var(--radius-sm);background:var(--color-cream)}.json-import-stats dt{color:var(--color-muted);font-size:.72rem;font-weight:700}.json-import-stats dd{margin:0;color:var(--color-charcoal);font-size:1.15rem;font-weight:800}.json-import-review details{color:var(--color-terracotta);font-size:.78rem}.json-import-review details ul{margin-bottom:0}.json-import-strategies{display:grid;gap:8px;margin:0;padding:0;border:0}.json-import-strategies legend{margin-bottom:9px;font-size:.78rem;font-weight:800}.json-import-strategies label{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.json-import-strategies label.active{border-color:var(--color-sage);background:var(--color-sage-soft)}.json-import-strategies label span,.json-import-strategies label strong,.json-import-strategies label small{display:block}.json-import-strategies label small{margin-top:3px;color:var(--color-muted)}.json-import-confirm{display:flex;justify-content:flex-end;gap:10px}@media(max-width:600px){.json-import-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.json-import-confirm{align-items:stretch;flex-direction:column-reverse}}.prep-start{display:grid;gap:5px;color:var(--color-muted);font-size:.75rem;font-weight:800}.prep-start input{min-width:130px;padding:11px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-charcoal);font:inherit}.prep-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.prep-summary article{display:flex;align-items:center;gap:13px;padding:18px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.prep-summary svg{color:var(--color-olive)}.prep-summary span,.prep-summary strong,.prep-summary small{display:block}.prep-summary small{margin-top:3px;color:var(--color-muted)}.prep-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);gap:20px;align-items:start}.prep-timeline{margin:0;padding:0;list-style:none}.prep-timeline li{display:grid;grid-template-columns:68px minmax(0,1fr);gap:15px;padding:15px 0;border-bottom:1px solid var(--color-border)}.prep-timeline time{color:var(--color-terracotta);font-weight:900}.prep-timeline span,.prep-timeline strong,.prep-timeline small{display:block}.prep-timeline small{margin-top:4px;color:var(--color-muted)}.prep-equipment{padding:22px;border-radius:var(--radius-lg);background:var(--color-sage-soft)}.prep-equipment>svg{color:var(--color-olive)}.prep-equipment h2{margin:10px 0;font-size:1.1rem}.prep-equipment ul{margin:0;padding-left:18px;color:var(--color-muted)}.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid rgba(49,49,49,.07);background:var(--color-white)}.assistant-uploader{display:grid;gap:13px}.attachment-gallery{display:grid;gap:9px}.attachment-gallery article{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px;border-radius:var(--radius-md);background:var(--color-white);box-shadow:var(--shadow-soft)}.attachment-preview{width:72px;height:62px;display:grid;place-items:center;overflow:hidden;border-radius:11px;color:var(--color-olive);background:var(--color-sage-soft)}.attachment-preview img{width:100%;height:100%;object-fit:cover}.attachment-gallery strong,.attachment-gallery small{display:block;min-width:0}.attachment-gallery small{margin-top:3px;overflow:hidden;color:var(--color-muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.keep-originals{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:13px 15px;border-radius:var(--radius-md);background:var(--color-white);cursor:pointer}.keep-originals input{width:18px;height:18px;margin-top:2px;accent-color:var(--color-olive)}.keep-originals strong,.keep-originals small{display:block}.keep-originals small{margin-top:3px;color:var(--color-muted);font-size:.68rem}.assistant-text-import,.website-import-fields{display:grid;gap:13px}.assistant-text-import label,.website-import-fields>label{display:grid;gap:7px;color:var(--color-muted);font-size:.76rem;font-weight:800}.assistant-text-import textarea,.website-import-fields input{width:100%;border:1px solid rgba(49,49,49,.1);border-radius:var(--radius-sm);outline:0;color:var(--color-charcoal);background:var(--color-white)}.assistant-text-import textarea{min-height:260px;padding:13px;resize:vertical}.website-import-fields input{height:50px;padding:0 13px}.assistant-text-import textarea:focus,.website-import-fields input:focus{border-color:var(--color-sage);box-shadow:0 0 0 3px #94b49f24}.assistant-text-import .secondary-button{justify-self:start}.assistant-analyzing{min-height:360px;display:grid;place-content:center;justify-items:center;text-align:center}.assistant-analyzing svg{color:var(--color-olive)}.assistant-analyzing h3{margin:16px 0 6px}.assistant-analyzing p{max-width:520px;margin:0;color:var(--color-muted)}.import-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:14px}.import-summary>div{min-width:0;display:flex;align-items:center;gap:9px;padding:12px;border-radius:var(--radius-md);color:var(--color-olive);background:var(--color-white);box-shadow:var(--shadow-soft)}.import-summary span{color:var(--color-muted);font-size:.7rem}.import-summary strong{color:var(--color-charcoal)}.assistant-insights{display:grid;gap:10px;margin-bottom:16px}.assistant-insights section{padding:15px 17px;border-radius:var(--radius-lg);background:var(--color-sage-soft)}.assistant-insights section+section{background:var(--color-terracotta-soft)}.assistant-insights section>div{display:flex;align-items:center;gap:8px;color:var(--color-olive)}.assistant-insights section+section>div{color:var(--color-terracotta)}.assistant-insights p{margin:7px 0 0;color:var(--color-charcoal);font-size:.74rem}.assistant-preview-editor .recipe-form{width:100%}.assistant-preview-editor .form-section{box-shadow:none;border:1px solid rgba(49,49,49,.06)}.import-portion-calculator{display:grid;grid-template-columns:minmax(170px,1fr) auto minmax(280px,1.35fr);gap:14px;align-items:center;margin-bottom:16px;padding:16px;border:1px solid rgba(117,142,103,.16);border-radius:var(--radius-lg);background:var(--color-sage-soft)}.import-portion-calculator>div:first-child{display:flex;align-items:center;gap:9px;color:var(--color-olive)}.import-portion-calculator>div:first-child span,.import-portion-calculator>div:first-child strong,.import-portion-calculator>div:first-child small{display:block}.import-portion-calculator>div:first-child small{margin-top:2px;color:var(--color-muted);font-size:.62rem}.import-portion-controls{display:grid;grid-template-columns:34px minmax(95px,auto) 34px;align-items:center;gap:6px}.import-portion-controls button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:10px;color:var(--color-olive);background:var(--color-white);cursor:pointer}.import-portion-controls button:disabled{opacity:.4}.import-portion-controls>strong{text-align:center;font-size:.75rem}.import-nutrition-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.import-nutrition-totals span{min-width:0;padding:8px;border-radius:9px;background:var(--color-white)}.import-nutrition-totals small,.import-nutrition-totals strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-nutrition-totals small{color:var(--color-muted);font-size:.54rem}.import-nutrition-totals strong{margin-top:2px;font-size:.68rem}.duplicate-check{display:grid;gap:12px;padding:16px;border:1px solid rgba(201,125,96,.2);border-radius:var(--radius-lg);background:var(--color-terracotta-soft)}.duplicate-check.clear{display:flex;align-items:center;gap:10px;color:var(--color-olive);border-color:#758e6729;background:var(--color-sage-soft)}.duplicate-check>div:first-child{display:flex;align-items:center;gap:10px}.duplicate-check span,.duplicate-check strong,.duplicate-check small{min-width:0;display:block}.duplicate-check small{margin-top:3px;color:var(--color-muted);font-size:.65rem}.duplicate-check>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.duplicate-check label{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:var(--radius-round);color:var(--color-charcoal);background:var(--color-white);cursor:pointer;font-size:.65rem;font-weight:800}.duplicate-check input{accent-color:var(--color-olive)}.recipe-source{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:18px 20px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.recipe-source strong{display:block;margin-top:3px}.recipe-source a{display:inline-flex;align-items:center;gap:7px;color:var(--color-olive);font-size:.78rem;font-weight:800}@keyframes import-spin{to{transform:rotate(360deg)}}.shopping-list{display:grid;gap:18px}.shopping-summary,.pantry-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shopping-summary>div,.shopping-summary>label,.pantry-summary>div{min-width:0;display:flex;align-items:center;gap:10px;padding:14px;border-radius:var(--radius-md);color:var(--color-olive);background:var(--color-white);box-shadow:var(--shadow-soft)}.shopping-summary span,.pantry-summary span{min-width:0;color:var(--color-muted);font-size:.72rem}.shopping-summary strong,.pantry-summary strong{color:var(--color-charcoal);font-size:1rem}.shopping-summary label input{width:54px;height:34px;margin-left:auto;border:1px solid rgba(49,49,49,.1);border-radius:9px;text-align:center;background:var(--color-cream)}.shopping-controls{display:grid;grid-template-columns:1fr;gap:9px;padding:16px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.shopping-search,.pantry-search{display:flex;align-items:center;gap:9px;min-width:0;padding:0 12px;border:1px solid rgba(49,49,49,.1);border-radius:var(--radius-sm);color:var(--color-muted);background:var(--color-cream)}.shopping-search input,.pantry-search input{width:100%;min-width:0;height:44px;border:0;outline:0;background:transparent}.shopping-controls>select{height:44px;padding:0 12px;border:1px solid rgba(49,49,49,.1);border-radius:var(--radius-sm);background:var(--color-cream)}.toggle-filter{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:var(--radius-sm);background:var(--color-cream);font-size:.78rem;font-weight:700}.toggle-filter input{width:17px;height:17px;accent-color:var(--color-olive)}.export-panel{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.export-panel button{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border:1px solid rgba(49,49,49,.09);border-radius:var(--radius-round);color:var(--color-charcoal);background:var(--color-white);cursor:pointer;font-size:.72rem;font-weight:800}.shopping-groups{display:grid;gap:12px}.shopping-category{overflow:hidden;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.shopping-category-heading{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:15px 18px;border:0;text-align:left;background:var(--color-white);cursor:pointer}.shopping-category-heading>span{font-size:1.25rem}.shopping-category-heading small{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-sage-soft);font-weight:800}.shopping-category-heading svg{color:var(--color-muted);transition:transform var(--transition-fast)}.shopping-category-heading svg.open{transform:rotate(180deg)}.shopping-category-items{border-top:1px solid rgba(49,49,49,.06)}.shopping-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;min-height:62px;padding:10px 16px}.shopping-entry+.shopping-entry{border-top:1px solid rgba(49,49,49,.05)}.shopping-check-action{padding:0;border:0;background:transparent;cursor:pointer}.shopping-checkbox{width:24px;height:24px;display:grid;place-items:center;border:2px solid var(--color-sage);border-radius:7px;color:transparent;transition:color var(--transition-fast),background var(--transition-fast)}.shopping-entry.checked .shopping-checkbox{color:var(--color-white);background:var(--color-olive)}.shopping-entry-copy{min-width:0}.shopping-entry-copy strong,.shopping-entry-copy small{display:block}.shopping-entry-copy strong{font-size:.88rem}.shopping-entry-copy small{margin-top:3px;color:var(--color-muted);font-size:.69rem}.shopping-entry-copy small svg{display:inline;vertical-align:-2px;color:var(--color-olive)}.shopping-required{color:var(--color-muted);font-size:.72rem;font-weight:800}.shopping-entry.checked .shopping-entry-copy strong{color:var(--color-muted);text-decoration:line-through}.shopping-entry.available{background:var(--color-sage-soft)}.shopping-entry-actions{display:flex;gap:4px}.shopping-entry-actions button{width:31px;height:31px;display:grid;place-items:center;border:0;border-radius:9px;color:var(--color-muted);background:var(--color-cream);cursor:pointer}.shopping-entry-actions button:last-child{color:var(--color-terracotta)}.shopping-list-heading{display:grid;gap:12px}.shopping-list-heading>.primary-button{justify-self:start}.pantry-summary{margin-bottom:14px}.pantry-search{max-width:460px;background:var(--color-white);box-shadow:var(--shadow-soft)}.pantry-location-tabs{display:flex;gap:8px;overflow-x:auto;margin:14px 0 10px;padding-bottom:3px;scrollbar-width:none}.pantry-location-tabs button{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:39px;padding:0 12px;border:0;border-radius:var(--radius-round);color:var(--color-muted);background:var(--color-white);box-shadow:var(--shadow-soft);cursor:pointer;font-weight:800}.pantry-location-tabs button.active{color:var(--color-white);background:var(--color-olive)}.pantry-location-tabs small{min-width:21px;height:21px;display:grid;place-items:center;border-radius:var(--radius-round);background:#ffffff38}.pantry-filters{display:flex;flex-wrap:wrap;gap:9px}.pantry-filters .pantry-search{flex:1 1 260px}.pantry-filters select{min-width:180px;height:46px;padding:0 11px;border:1px solid rgba(49,49,49,.1);border-radius:var(--radius-sm);background:var(--color-white);box-shadow:var(--shadow-soft)}.pantry-list{display:grid;gap:10px}.pantry-item{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(130px,.7fr) auto auto;align-items:center;gap:16px;padding:16px 18px;border:1px solid rgba(49,49,49,.06);border-radius:var(--radius-md);background:var(--color-white);box-shadow:var(--shadow-soft)}.pantry-item.expiring{border-color:var(--color-terracotta)}.pantry-item-main{min-width:0;display:flex;align-items:center;gap:11px}.pantry-category-dot{width:12px;height:36px;flex:0 0 auto;border-radius:var(--radius-round);background:var(--color-sage)}.pantry-item h2{margin:0;font-size:1rem}.pantry-item p{margin:3px 0 0;color:var(--color-muted);font-size:.68rem}.pantry-item-main small{display:block;overflow:hidden;max-width:330px;margin-top:3px;color:var(--color-muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.pantry-amount strong,.pantry-amount span{display:block}.pantry-amount span{margin-top:3px;color:var(--color-muted);font-size:.66rem}.pantry-quick-amount{display:flex;gap:5px;margin-top:7px}.pantry-quick-amount button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-sage-soft);cursor:pointer}.expiry-badge{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:var(--radius-round);color:var(--color-terracotta);background:var(--color-terracotta-soft);font-size:.68rem;font-weight:800}.pantry-actions{display:flex;gap:5px}.pantry-actions button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;color:var(--color-muted);background:var(--color-cream);cursor:pointer}.pantry-actions button:last-child{color:var(--color-terracotta)}.pantry-editor{position:fixed;z-index:100;inset:0;width:min(calc(100% - 32px),500px);height:fit-content;max-height:calc(100dvh - 32px);margin:auto;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-raised)}.pantry-editor>header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid rgba(49,49,49,.07)}.pantry-editor h2{margin:3px 0 0;font-size:1.25rem}.pantry-editor-form{max-height:calc(100dvh - 110px);display:grid;gap:12px;overflow-y:auto;padding:20px}.pantry-editor-form label{display:grid;gap:6px;color:var(--color-muted);font-size:.74rem;font-weight:700}.pantry-editor-form input,.pantry-editor-form select,.pantry-editor-form textarea{width:100%;min-height:44px;padding:0 11px;border:1px solid rgba(49,49,49,.1);border-radius:var(--radius-sm);background:var(--color-cream);font:inherit}.pantry-editor-form textarea{padding-block:10px;resize:vertical}.placeholder{min-height:280px;display:grid;place-items:center;padding:36px;text-align:center;border:2px dashed rgba(117,142,103,.28);border-radius:var(--radius-lg);background:#ffffff8c}.placeholder-icon{width:62px;height:62px;margin:0 auto 18px;display:grid;place-items:center;border-radius:20px;color:var(--color-terracotta);background:var(--color-terracotta-soft)}.placeholder h2{margin:0 0 8px}.placeholder p,.empty-state p{max-width:480px;margin:0;color:var(--color-muted)}.loading{display:flex;align-items:center;gap:12px;color:var(--color-muted)}.spinner{width:22px;height:22px;border:3px solid var(--color-sage-soft);border-top-color:var(--color-olive);border-radius:50%;animation:spin .8s linear infinite}.empty-state{padding:40px;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(min-width:650px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-scroller{grid-auto-columns:minmax(280px,43%)}.recipe-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-card{grid-template-columns:repeat(4,1fr)}.week-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-2{grid-column:span 2}.dietary-options,.nutrition-editor,.shopping-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.pantry-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.shopping-controls{grid-template-columns:minmax(220px,1fr) 180px auto auto;align-items:center}.import-method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.assistant-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.assistant-insights{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-summary{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:649px){.recipe-area-selector{grid-template-columns:1fr}.recipe-image-actions{align-items:stretch;flex-direction:column}.recipe-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-topline{align-items:stretch;flex-direction:column}.planner-topline .primary-button{width:100%}.week-navigation button{padding-inline:8px;font-size:.6rem}.save-week-template{grid-template-columns:1fr}.save-week-template>svg{display:none}.save-week-template .primary-button{grid-column:1;width:100%}.week-template-card{align-items:flex-start;flex-direction:column}.week-template-card>div:last-child{width:100%;justify-content:flex-end}.page-heading-actions{width:100%;justify-content:flex-start}.recipe-import-dialog{inset:0;width:100%;max-height:100dvh;border-radius:0}.recipe-import-dialog>header{align-items:flex-start;padding:15px 16px}.recipe-import-dialog>header h2{font-size:1.18rem}.recipe-assistant>header h2{max-width:260px}.recipe-import-content{padding:12px}.import-method-grid{grid-template-columns:1fr 1fr}.import-method-grid>button{padding:11px}.import-method-grid small{display:none}.import-workspace{padding:14px}.import-workspace textarea{min-height:190px}.recipe-source{align-items:flex-start;flex-direction:column}.assistant-source-grid{grid-template-columns:1fr}.assistant-source-grid>button{min-height:82px;padding:14px}.import-source-status-grid>button:first-child{grid-column:auto}.prep-summary,.prep-layout,.import-portion-calculator{grid-template-columns:1fr}.import-nutrition-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-body{padding:14px}.wizard-actions{padding:11px 14px}.assistant-progress{padding-inline:10px}.attachment-gallery article{grid-template-columns:58px minmax(0,1fr)}.attachment-preview{width:58px;height:54px}.attachment-gallery .row-actions{grid-column:2;justify-content:flex-end}.recipe-editor{inset:0;border-radius:0}.recipe-editor>header{align-items:flex-start;padding:14px 16px}.recipe-editor>header h2{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-editor>header .primary-button{width:42px;padding:0;font-size:0}.recipe-editor-content{padding:12px}.form-section{padding:17px}.ingredient-editor-row{grid-template-columns:68px 72px minmax(100px,1fr)}.ingredient-editor-row select{grid-column:1 / -1}.ingredient-editor-row .row-actions{grid-column:1 / -1;justify-content:flex-end}.step-editor-row{grid-template-columns:32px minmax(120px,1fr)}.step-editor-row .row-actions{grid-column:2;justify-content:flex-end}.pantry-item{grid-template-columns:minmax(0,1fr) auto;gap:10px}.pantry-amount{text-align:right}.expiry-badge{justify-self:start}.pantry-actions{justify-self:end}}@media print{.sidebar,.header,.bottom-nav,.shopping-controls,.export-panel,.page-subtitle,.year-planner,.week-toolbar,.recipe-sidebar,.planner-topline .primary-button{display:none!important}.app-shell,.main-content{display:block;padding:0}.shopping-category{break-inside:avoid;box-shadow:none;border:1px solid var(--color-charcoal-soft)}.year-workspace{display:block}.planner-sidebar{display:none}.week-grid{grid-template-columns:repeat(7,1fr)}}.pantry-main-tabs{display:flex;gap:var(--space-2);margin:var(--space-5) 0;padding:.35rem;width:fit-content;border-radius:var(--radius-pill);background:var(--color-surface-muted)}.pantry-main-tabs button{display:flex;align-items:center;gap:.55rem;padding:.8rem 1.2rem;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-muted);font:inherit;font-weight:800;cursor:pointer}.pantry-main-tabs button.active{background:var(--color-surface);color:var(--color-olive);box-shadow:var(--shadow-soft)}.catalog-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:var(--space-4);background:var(--color-overlay)}.catalog-selector{width:min(1080px,100%);max-height:min(88dvh,900px);overflow:hidden;display:flex;flex-direction:column;padding:var(--space-6);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-elevated)}.catalog-selector>header,.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.catalog-selector>header p{margin:.25rem 0 0;color:var(--color-text-muted)}.catalog-toolbar{margin-top:var(--space-5)}.catalog-toolbar .pantry-search{flex:1}.catalog-categories{display:flex;gap:.5rem;overflow-x:auto;padding:var(--space-4) 0;scrollbar-width:thin}.catalog-categories button{flex:0 0 auto;padding:.65rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);font:inherit;cursor:pointer}.catalog-categories button.active{border-color:var(--color-sage);background:var(--color-sage-soft);color:var(--color-olive);font-weight:800}.catalog-grid{overflow-y:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:.25rem}.catalog-card{position:relative;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-cream)}.catalog-select{width:100%;min-height:128px;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1.1rem 3rem 1.1rem 1.1rem;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.catalog-select strong{font-size:1.05rem}.catalog-select span,.catalog-select small{color:var(--color-text-muted)}.catalog-favorite{position:absolute;top:.8rem;right:.8rem;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.catalog-favorite.active{color:var(--color-terracotta)}.emergency-panel{display:grid;gap:var(--space-5);padding-bottom:var(--space-8)}.emergency-notice,.water-requirement,.emergency-progress,.emergency-settings,.emergency-food,.emergency-equipment,.emergency-alerts{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-soft)}.emergency-notice{display:flex;gap:1rem;padding:1.25rem;color:var(--color-olive)}.emergency-notice p{margin:.25rem 0;color:var(--color-text)}.emergency-notice small{color:var(--color-text-muted)}.emergency-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1.25rem}.emergency-settings label,.emergency-settings fieldset{min-width:0}.emergency-settings span,.emergency-settings legend{display:block;margin-bottom:.45rem;color:var(--color-text-muted);font-size:.85rem;font-weight:800}.emergency-settings input{width:100%}.emergency-settings fieldset{display:flex;gap:.35rem;border:0;padding:0}.emergency-settings fieldset button{flex:1;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-cream)}.emergency-settings fieldset button.active{background:var(--color-olive);color:var(--color-surface)}.water-requirement{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:1.25rem;padding:1.5rem}.water-requirement h2,.water-requirement p{margin:0}.water-requirement p{color:var(--color-text-muted)}.water-requirement dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:0}.water-requirement dl div{padding:.8rem;border-radius:var(--radius-md);background:var(--color-sage-soft)}.water-requirement dt{color:var(--color-text-muted);font-size:.8rem}.water-requirement dd{margin:.2rem 0 0;font-weight:900}.water-requirement input{width:90px;margin:.35rem}.emergency-progress,.emergency-food,.emergency-equipment{padding:1.5rem}.emergency-progress h2,.emergency-food h2,.emergency-equipment h2{margin:0}.emergency-progress>p,.emergency-food header p,.emergency-equipment>p{color:var(--color-text-muted)}.emergency-progress-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:1rem 0}.emergency-progress-grid span{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem}.emergency-progress-grid progress{width:100%;height:.6rem;accent-color:var(--color-olive)}.emergency-alerts{padding:1rem 1.25rem;background:var(--color-warning-soft)}.emergency-alerts p{display:flex;align-items:center;gap:.6rem;margin:.4rem 0;color:var(--color-terracotta);font-weight:800}.emergency-food-list{display:grid;gap:.75rem}.emergency-food-list article{display:grid;grid-template-columns:1.2fr 1.4fr 1fr 1fr;gap:1rem;align-items:end;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-cream)}.emergency-food-title{display:flex;align-items:center;gap:.65rem}.emergency-food-title svg{flex:0 0 auto;color:var(--color-olive)}.emergency-food-title span{display:block;color:var(--color-text-muted);font-size:.8rem}.emergency-amounts{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.emergency-amounts label{color:var(--color-text-muted);font-size:.75rem}.emergency-amounts input{width:75px;margin-left:.35rem}.emergency-amounts strong{width:100%;color:var(--color-terracotta);font-size:.85rem}.emergency-link span,.emergency-date span{display:block;margin-bottom:.3rem;color:var(--color-text-muted);font-size:.75rem;font-weight:800}.emergency-link select,.emergency-link input,.emergency-date input{width:100%}.emergency-equipment>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.emergency-equipment label{display:flex;gap:.65rem;align-items:flex-start;padding:.8rem;border-radius:var(--radius-md);background:var(--color-cream)}.emergency-equipment small{display:block;margin-top:.25rem;color:var(--color-terracotta)}@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.emergency-settings{grid-template-columns:repeat(2,1fr)}.water-requirement{grid-template-columns:1fr}.emergency-progress-grid{grid-template-columns:repeat(2,1fr)}.emergency-food-list article{grid-template-columns:1fr 1fr}}@media(max-width:600px){.pantry-main-tabs{width:100%}.pantry-main-tabs button{flex:1;justify-content:center;padding-inline:.65rem}.catalog-selector{max-height:94dvh;padding:1rem}.catalog-selector>header,.catalog-toolbar{align-items:stretch}.catalog-toolbar{flex-direction:column}.catalog-grid,.emergency-settings,.emergency-progress-grid,.emergency-food-list article,.emergency-equipment>div{grid-template-columns:1fr}.water-requirement dl{grid-template-columns:1fr}}.storage-sync-settings{display:grid;gap:var(--space-5)}.storage-sync-settings>header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.storage-sync-settings h2{margin:.15rem 0 0}.sync-state{flex:0 0 auto;padding:.55rem .8rem;border-radius:var(--radius-pill);background:var(--color-sage-soft);color:var(--color-olive);font-size:.82rem;font-weight:800}.sync-state.error,.sync-state.conflict{background:var(--color-warning-soft);color:var(--color-terracotta)}.sync-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.sync-mode-grid button{min-width:0;display:grid;grid-template-columns:auto 1fr;gap:.45rem .7rem;align-items:center;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-cream);color:var(--color-text);text-align:left;cursor:pointer}.sync-mode-grid button svg{grid-row:span 2;color:var(--color-olive)}.sync-mode-grid button strong{font-size:.95rem}.sync-mode-grid button span{color:var(--color-text-muted);font-size:.78rem;line-height:1.4}.sync-mode-grid button.active{border-color:var(--color-sage);background:var(--color-sage-soft);box-shadow:var(--shadow-soft)}.onedrive-config{padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-cream)}.onedrive-config h3{margin-top:0}.onedrive-config code{padding:.1rem .3rem;border-radius:.3rem;background:var(--color-surface-muted)}.onedrive-config .button-row{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.sync-conflict-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem;background:#31313194;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sync-conflict-dialog{width:min(720px,100%);max-height:calc(100dvh - 2rem);overflow-y:auto;padding:1.5rem;border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-elevated)}.sync-conflict-dialog>header{display:flex;gap:1rem}.sync-conflict-dialog>header>span{flex:0 0 auto;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--color-warning-soft);color:var(--color-terracotta)}.sync-conflict-dialog h2{margin:0}.sync-conflict-dialog header p{color:var(--color-text-muted)}.sync-conflict-versions{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1rem 0}.sync-conflict-versions article{display:grid;grid-template-columns:auto 1fr;gap:.3rem .65rem;padding:1rem;border-radius:var(--radius-lg);background:var(--color-cream)}.sync-conflict-versions svg{grid-row:span 2;color:var(--color-olive)}.sync-conflict-versions small{color:var(--color-text-muted)}.sync-conflict-actions{display:grid;gap:.6rem}.sync-conflict-dialog>small{display:flex;align-items:center;gap:.4rem;margin-top:1rem;color:var(--color-text-muted)}@media(max-width:760px){.storage-sync-settings>header{flex-direction:column}.sync-mode-grid,.sync-conflict-versions{grid-template-columns:1fr}}@media(min-width:768px)and (max-width:959px){.tablet-menu{display:grid}.bottom-nav{display:none}.sidebar{position:fixed;inset:0 auto 0 0;z-index:50;width:280px;display:flex;flex-direction:column;gap:34px;padding:28px 20px;background:var(--color-white);box-shadow:var(--shadow-raised);transform:translate(-105%);transition:transform var(--transition-standard)}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;inset:0;z-index:40;display:block;border:0;background:#31313147;opacity:0;pointer-events:none;transition:opacity var(--transition-standard)}.sidebar-overlay.visible{opacity:1;pointer-events:auto}.main-content{padding-bottom:72px}.week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:960px){.app-shell{display:grid;grid-template-areas:"sidebar header" "sidebar main";grid-template-columns:270px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);align-items:stretch}.header{grid-area:header;min-width:0;padding-inline:40px}.sidebar{grid-area:sidebar;min-width:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;gap:38px;padding:30px 22px;background:var(--color-white);border-right:1px solid rgba(49,49,49,.07)}.sidebar .brand{padding-inline:8px}.header .brand,.sidebar-overlay,.tablet-menu{display:none}.main-content{grid-area:main;width:auto;min-width:0;min-height:0;padding:54px 48px 72px}.bottom-nav{display:none}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.recipe-scroller{grid-auto-columns:minmax(290px,31%)}.recipe-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-detail-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-detail-overlay{inset:auto 42px 38px}.week-planner-layout{grid-template-columns:minmax(0,1fr) 280px}.planner-sidebar{position:sticky;top:104px;max-height:calc(100dvh - 120px);overflow-y:auto;padding-right:3px}.week-summary{position:static}.planner-heading>span{display:block}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.planner-day-card{padding:10px;border-radius:var(--radius-md)}.year-workspace{grid-template-columns:minmax(0,1fr) 280px}.year-workspace>.recipe-sidebar{grid-column:1 / -1}.year-workspace>.recipe-sidebar .recipe-picker.embedded{max-height:430px}}@media(min-width:1320px){.week-planner-layout{grid-template-columns:minmax(0,1fr) 310px;gap:24px}.week-grid{gap:10px}.planner-day-card{padding:12px}.week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.year-workspace{grid-template-columns:230px minmax(0,1fr) 260px;gap:14px}.year-workspace>.recipe-sidebar{grid-column:auto;position:sticky;top:104px;align-self:start}.year-workspace>.recipe-sidebar .recipe-picker.embedded{max-height:calc(100dvh - 120px)}.year-workspace>.planner-sidebar{max-height:calc(100dvh - 120px)}}@media(min-width:1700px){.week-planner-layout{grid-template-columns:minmax(0,1fr) 330px}.year-workspace{grid-template-columns:260px minmax(0,1fr) 290px}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.planner-day-card{padding:9px}.portion-selector span{font-size:.5rem}}.planner-page{width:100%}.week-planner-3{display:grid;gap:14px}.planner-calendar .year-planner{padding:12px 16px}.week-planner-3 .year-selector,.week-planner-3 .month-selector,.week-planner-3 .week-selector{justify-content:center}.week-planner-3 .week-toolbar{gap:12px;padding:18px 20px}.week-planner-3 .week-navigation{overflow:visible}.week-planner-3 .week-navigation>div{display:grid;gap:2px;text-align:center}.week-planner-3 .week-navigation strong{color:var(--color-charcoal);font-size:1.7rem;line-height:1}.week-planner-3 .week-navigation span{color:var(--color-muted);font-size:.7rem;font-weight:700}.week-planner-3 .week-tools{justify-content:center}.planner-workspace{min-width:0;display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;align-items:start}.planner-workspace.overview-only{grid-template-columns:minmax(0,1fr)}.planner-workspace .recipe-sidebar{position:sticky;top:92px;display:grid;gap:8px}.new-recipe-link{min-height:40px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--radius-md);color:var(--color-white);background:var(--color-olive);box-shadow:var(--shadow-soft);font-size:.72rem;font-weight:800}.planner-workspace .recipe-picker.embedded{max-height:calc(100dvh - 155px);border:1px solid rgba(49,49,49,.06);box-shadow:none}.planner-workspace .recipe-picker.embedded>header{padding:14px 14px 7px}.planner-workspace .recipe-picker.embedded .picker-selection-hint{padding:7px 12px;font-size:.6rem}.planner-workspace .recipe-picker.embedded .picker-tools{gap:8px;padding:8px 10px}.planner-workspace .recipe-picker.embedded .recipe-filter{max-height:84px;overflow-y:auto}.planner-workspace .recipe-picker.embedded .picker-results{padding:9px 10px 16px}.planner-workspace .recipe-picker.embedded .picker-recipe{grid-template-columns:1fr;gap:0;min-height:48px;padding:9px 10px}.planner-workspace .recipe-picker.embedded .picker-recipe img,.planner-workspace .recipe-picker.embedded .picker-recipe small,.planner-workspace .recipe-picker.embedded .picker-flags{display:none!important}.planner-workspace .recipe-picker.embedded .picker-recipe strong{font-size:.72rem}.week-canvas{min-width:0;padding:20px;border:1px solid rgba(49,49,49,.05);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.week-canvas-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.week-canvas-heading h1{margin:0;font-size:clamp(1.45rem,2vw,2rem);letter-spacing:-.035em}.week-canvas-heading p{margin:5px 0 0;color:var(--color-muted);font-size:.72rem}.week-canvas-heading>span{color:var(--color-olive);font-size:.68rem;font-weight:800}.week-overview{min-width:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.overview-day-card{min-width:0;min-height:430px;overflow:hidden;border:1px solid rgba(49,49,49,.08);border-radius:var(--radius-md);background:var(--color-cream);box-shadow:0 7px 20px #3131310e;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.overview-day-card:hover{transform:translateY(-2px);border-color:#758e6759;box-shadow:var(--shadow-soft)}.overview-day-card.today{border-color:var(--color-sage);background:var(--color-sage-soft);box-shadow:0 0 0 2px #94b49f2b,var(--shadow-soft)}.overview-day-open{width:100%;height:100%;display:grid;grid-template-rows:auto 1fr auto;align-content:stretch;padding:18px 13px;border:0;color:var(--color-charcoal);text-align:left;background:transparent;cursor:pointer}.overview-day-open header{padding-bottom:15px;border-bottom:1px solid rgba(49,49,49,.08)}.overview-day-open header span{color:var(--color-muted);font-size:.61rem;font-weight:700}.overview-day-open header h2{margin:4px 0 0;font-size:clamp(.92rem,1.1vw,1.15rem);line-height:1.1}.overview-meals{display:grid;align-content:start;gap:0}.overview-meal{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;min-height:82px;border-bottom:1px dotted rgba(49,49,49,.13)}.overview-meal>img,.overview-meal-icon{width:34px;height:34px;border-radius:10px}.overview-meal>img{object-fit:cover}.overview-meal-icon{display:grid;place-items:center;color:var(--color-olive);background:var(--color-sage-soft)}.overview-meal-icon .illustration-icon{width:34px;height:34px;border-radius:10px}.overview-meal svg{stroke-width:1.65}.overview-meal>span{min-width:0;display:grid;gap:5px}.overview-meal small{color:var(--color-muted);font-size:.55rem;font-style:normal;font-weight:800}.overview-meal strong{overflow:hidden;font-size:clamp(.62rem,.72vw,.76rem);line-height:1.3;text-overflow:ellipsis}.overview-meal em{color:var(--color-muted);font-size:.57rem;font-style:normal;font-weight:700}.overview-empty{min-height:66px;display:flex;align-items:center;gap:7px;color:var(--color-muted);border-bottom:1px dotted rgba(49,49,49,.13);font-size:.65rem}.overview-note{overflow:hidden;margin:12px 0 0;color:var(--color-muted);font-size:.61rem;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.overview-day-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:12px}.overview-day-status>span:not(.day-status-rating){display:grid;gap:2px;padding:7px;border-radius:10px;background:var(--color-white)}.overview-day-status small{color:var(--color-muted);font-size:.5rem;font-weight:800}.overview-day-status strong{font-size:.66rem}.day-status-rating{grid-column:1 / -1;display:flex;align-items:center;gap:6px;color:var(--color-muted);font-size:.57rem;font-weight:900}.day-status-rating i{width:8px;height:8px;border-radius:var(--radius-round)}.day-status-rating.target i{background:var(--color-olive)}.day-status-rating.near i{background:var(--color-sage)}.day-status-rating.outside i{background:var(--color-terracotta)}.day-detail-backdrop{position:fixed;inset:0;z-index:90;border:0;background:#31313157;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.day-detail{position:fixed;inset:0 0 0 auto;z-index:100;width:min(100%,640px);display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;background:var(--color-cream);box-shadow:var(--shadow-raised)}.day-detail>header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(49,49,49,.07);background:var(--color-white)}.day-detail>header span{color:var(--color-olive);font-size:.66rem;font-weight:800}.day-detail>header h2{margin:3px 0 0;font-size:1.55rem}.day-detail>header button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:var(--radius-round);color:var(--color-charcoal);background:var(--color-cream);cursor:pointer}.day-detail-content{overflow-y:auto;padding:22px}.day-detail .planner-day-card{padding:20px}.day-detail-navigation{display:flex;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid rgba(49,49,49,.07);background:var(--color-white)}.day-detail-navigation button{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 10px;border:0;border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-sage-soft);cursor:pointer;font-weight:800}.day-detail-navigation button:disabled{visibility:hidden}.day-detail .meal-slot{padding:14px;border:1px solid rgba(49,49,49,.06);border-radius:var(--radius-md);background:var(--color-white);box-shadow:var(--shadow-soft)}.day-detail .meal-slot-label{margin-bottom:9px;color:var(--color-charcoal);font-size:.76rem}.day-detail .empty-meal-slot{min-height:92px;align-content:center;gap:7px}.day-detail .empty-meal-slot>span{display:flex;align-items:center;gap:5px;font-weight:800}.day-detail .empty-meal-slot small{color:var(--color-muted)}.day-detail .planned-meal-main{grid-template-columns:68px minmax(0,1fr);gap:12px;padding:9px 34px 9px 9px}.day-detail .planned-meal-main img{width:68px;height:64px;border-radius:13px}.day-detail .planned-meal-main strong{font-size:.82rem}.day-detail .planned-meal-main small{font-size:.65rem}.day-detail .day-notes textarea{min-height:90px;padding:12px;font-size:.72rem}.day-detail .day-nutrition{padding:15px;border:1px solid rgba(49,49,49,.06);border-radius:var(--radius-md);background:var(--color-white)}.day-nutrition-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.day-nutrition-heading strong{font-size:.78rem}.day-nutrition-heading span{padding:3px 7px;border-radius:var(--radius-round);font-size:.58rem;font-weight:800}.day-nutrition.target .day-nutrition-heading span{color:var(--color-olive);background:var(--color-sage-soft)}.day-nutrition.over .day-nutrition-heading span{color:var(--color-terracotta);background:var(--color-terracotta-soft)}.day-nutrition.high .day-nutrition-heading span{color:var(--color-white);background:var(--color-terracotta)}.day-nutrition.target .calorie-progress span{background:var(--color-olive)}.day-nutrition.over .calorie-progress span,.day-nutrition.high .calorie-progress span{background:var(--color-terracotta)}.meal-prep-days{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:7px 6px 0;padding:8px;border-radius:9px;background:var(--color-white)}.meal-prep-days span{width:100%;color:var(--color-muted);font-size:.58rem;font-weight:800}.meal-prep-days button{min-height:28px;padding:0 8px;border:0;border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-sage-soft);cursor:pointer;font-size:.56rem;font-weight:800}.week-canvas>.weekly-summary{margin:0 0 18px;grid-template-columns:repeat(4,minmax(0,1fr))}.week-canvas>.weekly-summary>div{box-shadow:none;background:var(--color-cream)}.assistant-summary{display:grid;gap:14px;padding:20px;border:1px solid rgba(117,142,103,.18);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--color-white),var(--color-sage-soft));box-shadow:var(--shadow-soft)}.assistant-summary>header{display:grid;grid-template-columns:42px minmax(0,1fr) 36px;gap:11px;align-items:center}.assistant-summary>header>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:var(--color-white);background:var(--color-olive)}.assistant-summary h2{margin:2px 0 0;font-size:1.15rem}.assistant-summary>header>button{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:var(--radius-round);color:var(--color-muted);background:var(--color-white);cursor:pointer}.assistant-summary-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.assistant-summary-stats>span{min-width:0;display:grid;gap:3px;padding:10px;border-radius:var(--radius-sm);color:var(--color-muted);background:var(--color-white);font-size:.58rem}.assistant-summary-stats strong{overflow:hidden;color:var(--color-charcoal);font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.assistant-hints{display:grid;gap:6px}.assistant-hints p,.assistant-summary footer span{display:flex;align-items:flex-start;gap:6px;margin:0;color:var(--color-charcoal);font-size:.68rem;line-height:1.4}.assistant-hints svg,.assistant-summary footer svg{flex:0 0 auto;color:var(--color-olive)}.assistant-summary footer{display:flex;flex-wrap:wrap;gap:12px;padding-top:11px;border-top:1px solid rgba(117,142,103,.16)}.planner-preferences{display:grid;gap:20px;padding:24px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.planner-preferences>header{display:flex;align-items:flex-start;gap:13px}.planner-preferences>header>span{width:46px;height:46px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;color:var(--color-olive);background:var(--color-sage-soft)}.planner-preferences h2{margin:2px 0 5px}.planner-preferences header p:last-child{margin:0;color:var(--color-muted);font-size:.76rem}.planner-preferences-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.planner-preferences-grid label{display:grid;gap:6px;color:var(--color-muted);font-size:.68rem;font-weight:800}.planner-preferences input,.planner-preferences select{min-width:0;height:44px;padding:0 11px;border:1px solid rgba(49,49,49,.1);border-radius:var(--radius-sm);color:var(--color-charcoal);background:var(--color-cream);font:inherit}.household-settings{display:grid;gap:9px}.household-settings>div{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(150px,.8fr);gap:9px;align-items:center;padding:10px;border-radius:var(--radius-md);background:var(--color-cream)}.household-settings>div>span{color:var(--color-olive);font-size:.68rem;font-weight:800}.household-settings input,.household-settings select{background:var(--color-white)}.planner-preference-toggles{display:flex;flex-wrap:wrap;gap:10px}.planner-preference-toggles label{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:var(--radius-round);color:var(--color-charcoal);background:var(--color-sage-soft);font-size:.7rem;font-weight:800}.planner-preference-toggles input{width:17px;height:17px;accent-color:var(--color-olive)}.settings-saved{display:flex;align-items:center;gap:6px;margin:0;color:var(--color-muted);font-size:.68rem}.household-manager>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.household-add{display:inline-flex;align-items:center;align-self:center;gap:6px;min-height:40px;padding:0 14px;border:0;border-radius:var(--radius-round);color:var(--color-white);background:var(--color-olive);cursor:pointer;font-weight:800}.household-profile-list{display:grid;gap:10px}.household-profile{overflow:hidden;border:1px solid rgba(49,49,49,.07);border-radius:var(--radius-md);background:var(--color-cream)}.household-profile>header{display:grid;grid-template-columns:44px minmax(0,1fr) 36px;gap:10px;align-items:center;padding:12px}.profile-avatar,.member-dot{display:grid;place-items:center;flex:0 0 auto;color:var(--color-white);font-weight:900;text-transform:uppercase}.profile-avatar{width:44px;height:44px;border-radius:14px}.household-profile>header>button{min-width:0;display:grid;gap:3px;border:0;color:var(--color-charcoal);text-align:left;background:transparent;cursor:pointer}.household-profile>header small{color:var(--color-muted)}.household-profile>header .profile-expand{width:36px;height:36px;place-items:center;border-radius:var(--radius-round);background:var(--color-white)}.household-profile-fields{display:grid;gap:16px;padding:6px 14px 16px;border-top:1px solid rgba(49,49,49,.06)}.household-profile fieldset{min-width:0;display:grid;gap:10px;margin:0;padding:14px;border:0;border-radius:var(--radius-sm);background:var(--color-white)}.household-profile legend{padding:0;color:var(--color-olive);font-size:.72rem;font-weight:900}.profile-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-field-grid>label{min-width:0;display:grid;gap:5px;color:var(--color-muted);font-size:.64rem;font-weight:800}.household-profile input,.household-profile select{width:100%;min-width:0;height:42px;padding:0 10px;border:1px solid rgba(49,49,49,.09);border-radius:var(--radius-sm);color:var(--color-charcoal);background:var(--color-cream);font:inherit}.household-profile input[type=color]{padding:5px}.number-with-unit{position:relative;display:block}.number-with-unit input{padding-right:38px}.number-with-unit em{position:absolute;top:50%;right:10px;color:var(--color-muted);font-size:.62rem;font-style:normal;transform:translateY(-50%)}.profile-delete{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:0;border-radius:var(--radius-round);color:var(--color-terracotta);background:var(--color-terracotta-soft);cursor:pointer;font-weight:800}.profile-delete:disabled{opacity:.45;cursor:not-allowed}.chip-field{min-width:0;display:grid;gap:5px;color:var(--color-muted);font-size:.64rem;font-weight:800}.chip-input-shell{min-height:46px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(49,49,49,.09);border-radius:var(--radius-sm);background:var(--color-cream);cursor:text;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.chip-input-shell:focus-within{border-color:var(--color-sage);box-shadow:0 0 0 3px var(--color-sage-soft)}.chip-input-shell input{min-width:120px;height:30px;flex:1 1 120px;padding:0 4px;border:0;outline:0;background:transparent}.preference-chip{max-width:100%;display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:3px 4px 3px 10px;border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-sage-soft);font-size:.66rem;font-weight:900}.preference-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preference-chip button{width:23px;height:23px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-white);cursor:pointer}.chip-field>small{color:var(--color-muted);font-size:.56rem;font-weight:600}.household-week-balance{margin:-8px 0 18px;border-radius:var(--radius-md);background:var(--color-sage-soft)}.household-week-balance summary,.household-meal-details summary{padding:11px 14px;color:var(--color-olive);cursor:pointer;font-size:.68rem;font-weight:900}.household-week-balance>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;padding:0 10px 10px}.household-week-balance article{display:flex;gap:9px;align-items:center;padding:10px;border-radius:var(--radius-sm);background:var(--color-white)}.member-dot{width:32px;height:32px;border-radius:10px;font-size:.68rem}.household-week-balance article div{min-width:0;display:grid;gap:2px}.household-week-balance small,.household-week-balance em{color:var(--color-muted);font-size:.58rem;font-style:normal}.household-week-balance em{color:var(--color-olive);font-weight:800}.family-week-progress{overflow:hidden;height:5px;margin-block:4px;border-radius:var(--radius-round);background:var(--color-charcoal-soft)}.family-week-progress i{height:100%;display:block;border-radius:inherit;background:var(--color-olive)}.household-meal-details{margin:-6px 5px 8px;border:1px solid rgba(117,142,103,.14);border-radius:var(--radius-sm);background:var(--color-sage-soft)}.household-meal-details>div{display:grid;gap:6px;padding:0 8px 8px}.household-meal-details article{display:grid;grid-template-columns:32px minmax(95px,1fr) auto minmax(130px,1.2fr);gap:8px;align-items:center;padding:9px;border-radius:var(--radius-sm);background:var(--color-white)}.household-meal-details article>div:nth-child(2){min-width:0;display:grid;gap:2px}.household-meal-details small{color:var(--color-muted);font-size:.56rem}.member-portion{display:flex;align-items:center;gap:4px}.member-portion button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:var(--radius-round);color:var(--color-olive);background:var(--color-sage-soft);cursor:pointer}.member-portion span{min-width:32px;text-align:center;font-size:.64rem;font-weight:900}.household-meal-details label{display:grid;gap:3px;color:var(--color-muted);font-size:.55rem;font-weight:800}.household-meal-details select{min-width:0;height:34px;padding:0 8px;border:1px solid rgba(49,49,49,.08);border-radius:9px;color:var(--color-charcoal);background:var(--color-cream);font:inherit}.household-meal-details select.incompatible{border-color:var(--color-terracotta)}.person-day-nutrition{display:grid;gap:10px;padding:15px;border:1px solid rgba(49,49,49,.06);border-radius:var(--radius-md);background:var(--color-white)}.person-day-nutrition>header{display:flex;align-items:end;justify-content:space-between}.person-day-nutrition h3{margin:2px 0 0;font-size:.95rem}.person-day-nutrition>header small{color:var(--color-muted);font-size:.58rem}.person-day-nutrition>div{display:grid;gap:6px}.person-day-nutrition article{display:grid;grid-template-columns:32px minmax(100px,1fr) minmax(180px,1.2fr) 12px;gap:8px;align-items:center;padding:9px;border-radius:var(--radius-sm);background:var(--color-cream)}.person-day-nutrition article>div{min-width:0;display:grid;gap:2px}.person-day-nutrition article small{color:var(--color-muted);font-size:.58rem}.person-day-nutrition dl{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0}.person-day-nutrition dl div{display:grid;gap:1px}.person-day-nutrition dt{color:var(--color-muted);font-size:.5rem}.person-day-nutrition dd{margin:0;font-size:.62rem;font-weight:900}.nutrition-light{width:10px;height:10px;border-radius:var(--radius-round);box-shadow:0 0 0 3px var(--color-white)}.nutrition-light.target{background:var(--color-olive)}.nutrition-light.near{background:var(--color-sage)}.nutrition-light.outside{background:var(--color-terracotta)}body:has(.day-detail)>.picker-backdrop{z-index:120}body:has(.day-detail)>.recipe-picker:not(.embedded){z-index:130}@media(min-width:960px){.planner-page{width:calc(100vw - 366px);margin-left:calc((100vw - 366px - 100%)/2)}}@media(min-width:1500px){.main-content:has(.planner-page){padding:32px 26px 64px}.planner-page{width:100%;margin-left:0}}@media(max-width:1100px){.planner-workspace{grid-template-columns:190px minmax(0,1fr)}.week-overview{overflow-x:auto;grid-template-columns:repeat(7,minmax(150px,1fr));scroll-snap-type:x proximity;scrollbar-width:none}.week-overview::-webkit-scrollbar{display:none}.overview-day-card{min-height:390px;scroll-snap-align:start}}@media(max-width:767px){.storage-status{max-width:34px;padding:9px;overflow:hidden;white-space:nowrap}.planner-calendar .year-planner{padding:10px}.week-planner-3 .week-navigation>div{order:-1;width:100%}.week-planner-3 .week-navigation{flex-wrap:wrap}.week-planner-3 .week-navigation>button{flex:1}.planner-workspace{display:flex;flex-direction:column}.planner-workspace .week-canvas{order:-1;width:100%;max-width:100%;overflow:hidden}.planner-workspace .recipe-sidebar{position:static;margin-bottom:12px}.planner-workspace .recipe-picker.embedded{max-height:320px}.week-canvas{padding:14px 10px}.week-canvas>.weekly-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-preferences-grid{grid-template-columns:1fr}.household-settings>div{grid-template-columns:1fr}.household-manager>header{grid-template-columns:auto minmax(0,1fr)}.household-add{grid-column:1 / -1;justify-content:center}.profile-field-grid{grid-template-columns:1fr}.household-meal-details article{grid-template-columns:32px minmax(0,1fr) auto}.household-meal-details article label{grid-column:2 / -1}.person-day-nutrition article{grid-template-columns:32px minmax(0,1fr) 12px}.person-day-nutrition dl{grid-column:2 / -1}.week-canvas-heading>span{display:none}.week-overview{width:100%;grid-template-columns:repeat(7,calc(100vw - 76px));gap:10px;padding:2px 2px 8px;scroll-snap-type:x mandatory}.overview-day-card{min-height:420px;scroll-snap-align:center}.overview-day-open{padding:18px}.overview-day-open header h2{font-size:1.3rem}.overview-meal strong{font-size:.82rem}.shopping-entry{grid-template-columns:auto minmax(0,1fr) auto}.shopping-required{grid-column:2}.shopping-entry-actions{grid-column:3;grid-row:1 / span 2}.pantry-item{grid-template-columns:minmax(0,1fr) auto;gap:10px}.pantry-amount{grid-column:1}.expiry-badge{grid-column:1;justify-self:start}.pantry-actions{grid-column:2;grid-row:1}}@media print{@page{size:A4 landscape;margin:10mm}.sidebar,.header,.bottom-navigation,.sidebar-overlay,.week-toolbar,.detail-actions,.back-link,.export-panel,button,.icon-button{display:none!important}.app-shell,.main-content,.container,.planner-page{display:block;width:100%;min-height:0;margin:0;padding:0;background:#fff;overflow:visible}.planner-workspace{display:block}.week-canvas{padding:0;border:0;box-shadow:none}.week-overview{grid-template-columns:repeat(7,1fr);gap:5px}.overview-day-card{min-height:500px;box-shadow:none}.day-detail,.day-detail-backdrop{display:none!important}.recipe-detail{max-width:none;color:#000}.recipe-detail-hero{break-inside:avoid;max-height:90mm}.recipe-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:8mm}.detail-panel,.nutrition-card,.meal-prep-notes,.shopping-group{break-inside:avoid;box-shadow:none}.shopping-entry{break-inside:avoid}}.app-error{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:var(--space-4);padding:var(--space-8);text-align:center;color:var(--color-anthracite);background:var(--color-cream)}.app-error p{max-width:40rem;color:var(--color-text-muted)}.app-error>div{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.backup-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.backup-actions label{cursor:pointer}.backup-note{margin-top:var(--space-4);color:var(--color-text-muted)}.backup-list{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.backup-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.backup-row>div{display:flex;align-items:center;gap:var(--space-2)}.backup-row>div:first-child{min-width:0;flex-direction:column;align-items:flex-start}.backup-row small{color:var(--color-text-muted)}@media(max-width:640px){.backup-row{align-items:flex-start;flex-direction:column}}.daily-dashboard{display:grid;gap:var(--space-5)}.dashboard-priority,.dashboard-support-grid article{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-soft)}.dashboard-priority{padding:var(--space-6)}.dashboard-priority header,.dashboard-support-grid header{display:flex;align-items:center;gap:var(--space-3)}.dashboard-priority header{justify-content:space-between}.dashboard-support-grid header{justify-content:flex-start}.dashboard-priority header span,.dashboard-support-grid header{color:var(--color-olive)}.dashboard-priority header span,.dashboard-priority header a,.dashboard-support-grid header,.dashboard-support-grid a{display:flex;align-items:center;gap:var(--space-2)}.today-meals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.today-meals span{display:grid;gap:3px;padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-cream)}.today-meals small,.today-person-status{color:var(--color-text-muted)}.today-person-status{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.today-person-status span{display:flex;align-items:center;gap:6px}.today-person-status i{width:8px;height:8px;border-radius:50%}.dashboard-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.dashboard-support-grid article{display:grid;align-content:space-between;gap:var(--space-3);min-height:150px;padding:var(--space-5)}.dashboard-support-grid p{margin:0;color:var(--color-text-muted)}.dashboard-quick-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.dashboard-quick-actions a{display:flex;align-items:center;gap:var(--space-2);padding:10px 14px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface)}@media(max-width:980px){.today-meals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.today-meals,.dashboard-support-grid{grid-template-columns:1fr}}.primary-button:disabled,.secondary-button:disabled{transform:none;box-shadow:none;cursor:not-allowed;opacity:.48}.primary-button:before,.primary-button:after,.secondary-button:before,.secondary-button:after{pointer-events:none}.onedrive-message{margin:14px 0 0;padding:11px 14px;border-radius:var(--radius-sm);color:var(--color-charcoal);background:var(--color-sage-soft);font-size:.8rem;font-weight:700}.recipe-planning-success{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-8px 0 20px;padding:12px 15px;border-radius:var(--radius-md);color:var(--color-olive);background:var(--color-sage-soft);font-weight:800}.recipe-planning-success a{margin-left:auto;color:var(--color-olive);text-decoration:underline;text-underline-offset:3px}.recipe-planning-overlay{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:24px;background:#31313180;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.recipe-planning-dialog{width:min(760px,100%);max-height:min(820px,calc(100dvh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.36);border-radius:26px;background:var(--color-cream);box-shadow:var(--shadow-raised)}.recipe-planning-dialog>header,.recipe-planning-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:var(--color-white)}.recipe-planning-dialog>header{border-bottom:1px solid var(--color-border)}.recipe-planning-dialog>footer{justify-content:flex-end;border-top:1px solid var(--color-border)}.recipe-planning-dialog h2{margin:3px 0 0;font-size:1.35rem}.recipe-planning-content{min-height:0;display:grid;gap:20px;overflow-y:auto;padding:22px;overscroll-behavior:contain}.planning-field{display:grid;gap:7px;color:var(--color-muted);font-size:.76rem;font-weight:800}.planning-field select{width:100%;height:48px;padding:0 13px;border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:0;color:var(--color-charcoal);background:var(--color-white);font:inherit}.planning-field select:focus{border-color:var(--color-sage);box-shadow:0 0 0 3px #94b49f24}.planning-fieldset{margin:0;padding:0;border:0}.planning-fieldset legend{margin-bottom:10px;color:var(--color-muted);font-size:.76rem;font-weight:800}.planning-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.planning-day-grid button{position:relative;min-width:0;display:grid;place-items:center;gap:3px;min-height:78px;padding:9px 4px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);background:var(--color-white);cursor:pointer}.planning-day-grid button>span{font-size:.68rem;font-weight:800;text-transform:uppercase}.planning-day-grid button>strong{color:var(--color-charcoal);font-size:.76rem}.planning-day-grid button svg{position:absolute;right:6px;top:6px;color:var(--color-olive)}.planning-day-grid button.selected{border-color:var(--color-sage);color:var(--color-olive);background:var(--color-sage-soft);box-shadow:0 0 0 2px #94b49f29}.planning-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.planning-usage-note{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--radius-md);color:var(--color-olive);background:var(--color-sage-soft)}.planning-usage-note svg{flex:0 0 auto;margin-top:2px}.planning-usage-note p{margin:0;color:var(--color-charcoal);font-size:.8rem;line-height:1.5}@media(max-width:720px){.recipe-planning-overlay{padding:0;align-items:end}.recipe-planning-dialog{width:100%;max-height:94dvh;border-radius:24px 24px 0 0}.planning-day-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.planning-two-columns{grid-template-columns:1fr}.recipe-planning-dialog>footer{align-items:stretch;flex-direction:column-reverse}.recipe-planning-dialog>footer .primary-button,.recipe-planning-dialog>footer .secondary-button{width:100%}}.ai-connection-settings{display:grid;gap:18px;padding:24px;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.ai-connection-settings>header{display:flex;align-items:flex-start;gap:12px}.ai-connection-settings>header>svg{flex:0 0 auto;padding:10px;width:44px;height:44px;border-radius:14px;color:var(--color-olive);background:var(--color-sage-soft)}.ai-connection-settings h2{margin:0 0 4px}.ai-connection-settings header p{margin:0;color:var(--color-muted)}.ai-connection-settings input,.ai-connection-settings select{width:100%;min-width:0;height:44px;padding:0 11px;border:1px solid rgba(49,49,49,.1);border-radius:var(--radius-sm);color:var(--color-charcoal);background:var(--color-cream);font:inherit}.ai-connection-settings label span{display:inline-flex;align-items:center;gap:5px}.ai-cost-notice,.ai-security-warning,.ai-connection-message{margin:0;padding:11px 13px;border-radius:var(--radius-sm);font-size:.7rem;line-height:1.5}.ai-cost-notice{color:var(--color-muted);background:var(--color-cream)}.ai-security-warning{color:var(--color-terracotta);background:var(--color-terracotta-soft)}.ai-connection-message{color:var(--color-olive);background:var(--color-sage-soft);font-weight:800}
