.planner{max-width:calc(var(--container-max) - var(--space-96));margin-inline:auto}.planner-page-title{margin-bottom:var(--space-16)}.planner-page-title-compact{color:var(--color-charcoal-600);font-size:1rem;font-weight:600}.planner-form[hidden]{display:none}.planner-intro{max-width:60ch;margin-bottom:var(--space-32);font-size:1.125rem}.planner-form{background:var(--color-white);padding:var(--space-24);border-radius:var(--radius-feature)}.planner-support{margin:0 0 var(--space-24);color:var(--color-charcoal-600)}.planner-fields{gap:var(--space-24);display:grid}.planner-field{gap:var(--space-8);flex-direction:column;min-width:0;display:flex}.planner-field label,.planner-lunches legend{font-weight:600}.planner-field select,.planner-field input{width:100%;min-height:48px;font:inherit;padding:var(--space-8) var(--space-12);border:1px solid var(--color-charcoal-600);border-radius:var(--radius-control);background:var(--color-warm-cream-50);color:var(--color-charcoal-900)}.planner-pantry{margin:var(--space-32) 0 0;padding:var(--space-24) 0 0;border:0;border-top:1px solid var(--color-prep-green-100);min-width:0}.planner-pantry legend{color:var(--color-prep-green-800);padding:0;font-size:1.125rem;font-weight:600}.planner-pantry>p{color:var(--color-charcoal-600);margin:var(--space-8) 0 var(--space-16)}.planner-pantry-suggestions{gap:var(--space-4);margin-top:var(--space-8);max-width:32rem;display:grid}.planner-pantry-suggestions button{text-align:left;min-height:44px;font:inherit;color:var(--color-prep-green-800);background:var(--color-warm-cream-50);border:1px solid var(--color-prep-green-100);border-radius:var(--radius-control);padding:var(--space-8) var(--space-12);cursor:pointer}.planner-pantry-items{margin:var(--space-24) 0 0;gap:var(--space-16);padding:0;list-style:none;display:grid}.planner-pantry-items li{border:1px solid var(--color-prep-green-100);border-radius:var(--radius-control);min-width:0;padding:var(--space-16)}.planner-pantry-item-heading{justify-content:space-between;align-items:center;gap:var(--space-16);display:flex}.planner-pantry-remove{min-height:44px;font:inherit;color:var(--color-prep-green-800);cursor:pointer;background:0 0;border:0;text-decoration:underline}.planner-pantry-item-controls{gap:var(--space-12);margin-top:var(--space-12);display:grid}.planner-lunches{border:0;min-width:0;margin:0;padding:0}.planner-radio-row{gap:var(--space-16);display:flex}.planner-radio-row label{align-items:center;gap:var(--space-8);cursor:pointer;min-height:48px;padding-inline:var(--space-8);display:flex}.planner-radio-row input{accent-color:var(--color-prep-green-700);width:20px;height:20px}.planner-primary,.planner-secondary{border-radius:var(--radius-button);min-height:48px;padding:var(--space-12) var(--space-24);font:inherit;cursor:pointer;font-weight:600}.planner-primary{margin-top:var(--space-32);color:var(--color-white);background:var(--color-prep-green-700);border:0}.planner-primary:hover{background:var(--color-prep-green-800)}.planner-secondary{border:1px solid var(--color-prep-green-700);color:var(--color-prep-green-800);background:0 0}.planner-secondary:hover{background:var(--color-prep-green-100)}.planner-status{color:var(--color-prep-green-800)}.planner-status-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.planner-result{margin-top:var(--space-24)}.planner-result-header{margin-bottom:var(--space-48)}.planner-result-header>p{max-width:65ch;font-size:1.125rem;line-height:1.6}.planner-result h2{font-family:var(--font-display);color:var(--color-prep-green-800);max-width:24ch;margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.15}.planner-result h2:focus:not(:focus-visible){outline:none}.planner-result h2:focus-visible{text-underline-offset:var(--space-8);outline:none;text-decoration:underline 3px}.planner-settings-summary{align-items:center;gap:var(--space-24);flex-wrap:wrap;display:flex}.planner-summary{gap:var(--space-8) var(--space-24);color:var(--color-prep-green-700);flex-wrap:wrap;padding:0;font-weight:600;list-style:none;display:flex}.planner-day-grid{gap:var(--space-48);display:grid}.planner-day{min-width:0}.planner-day h3{font-family:var(--font-display);color:var(--color-prep-green-800);margin:0 0 var(--space-16);padding-left:var(--space-12);border-left:var(--space-4) solid var(--color-coral-500);font-size:1.5rem}.planner-meals{gap:var(--space-24);display:grid}.planner-meal{background:var(--color-white);border-radius:var(--radius-feature);min-width:0;overflow:hidden}.planner-meal-image{aspect-ratio:3/2;display:block;overflow:hidden}.planner-meal-image img{object-fit:cover;width:100%;height:100%;display:block}.planner-meal-body{padding:var(--space-24)}.planner-meal p{margin:var(--space-8) 0}.planner-meal-role{color:var(--color-charcoal-600);letter-spacing:.06em;text-transform:uppercase;font-size:.875rem;font-weight:600}.planner-meal h4{font-family:var(--font-display);margin:var(--space-8) 0;overflow-wrap:anywhere;font-size:1.375rem;line-height:1.3}.planner-meal h4 a{color:var(--color-prep-green-800);text-decoration:none}.planner-meal h4 a:hover{text-underline-offset:var(--space-4);text-decoration:underline}.planner-portions{color:var(--color-charcoal-600)}.planner-meal .planner-context{color:var(--color-prep-green-700);background:var(--color-prep-green-100);border-radius:var(--radius-control);padding:var(--space-4) var(--space-8);margin-top:var(--space-12);font-size:.875rem;display:inline-block}.planner-swap-trigger,.planner-swap-close{min-height:44px;color:var(--color-prep-green-800);font:inherit;text-underline-offset:var(--space-4);cursor:pointer;background:0 0;border:0;font-weight:600;text-decoration:underline}.planner-swap-trigger{margin-top:var(--space-12);padding-inline:0}.planner-swap-options{margin-top:var(--space-16);padding-top:var(--space-16);border-top:1px solid var(--color-prep-green-100)}.planner-swap-heading{justify-content:space-between;align-items:center;gap:var(--space-12);display:flex}.planner-swap-list{gap:var(--space-16);margin:var(--space-16) 0 0;padding:0;list-style:none;display:grid}.planner-swap-list li{gap:var(--space-12);grid-template-columns:5rem minmax(0,1fr);align-items:start;display:grid}.planner-swap-list li:not(:has(.planner-swap-image)){grid-template-columns:minmax(0,1fr)}.planner-swap-image{aspect-ratio:3/2;border-radius:var(--radius-control);display:block;overflow:hidden}.planner-swap-image img{object-fit:cover;width:100%;height:100%;display:block}.planner-swap-list strong{overflow-wrap:anywhere;display:block}.planner-swap-list p{color:var(--color-charcoal-600);font-size:.875rem}.planner-swap-choose{min-height:44px;padding:var(--space-8) var(--space-12);border:1px solid var(--color-prep-green-700);border-radius:var(--radius-button);color:var(--color-prep-green-800);font:inherit;cursor:pointer;background:0 0;font-weight:600}.planner-swap-choose:hover{background:var(--color-prep-green-100)}.planner-another{margin-top:var(--space-32)}.planner-result-views{gap:var(--space-8);margin-bottom:var(--space-32);flex-wrap:wrap;display:flex}.planner-result-views button[aria-pressed=true]{background:var(--color-prep-green-700);color:var(--color-white)}.shopping-list{max-width:48rem;margin-inline:auto}.shopping-list h3{font-family:var(--font-display);color:var(--color-prep-green-800);margin:0;font-size:1.75rem}.shopping-count,.shopping-optional{color:var(--color-charcoal-600)}.shopping-category{margin-top:var(--space-32)}.shopping-category h4{color:var(--color-prep-green-800);margin:0 0 var(--space-8);font-size:1.125rem}.shopping-category ul{margin:0;padding:0;list-style:none}.shopping-row{align-items:center;gap:var(--space-12);min-height:48px;padding-block:var(--space-12);border-bottom:1px solid var(--color-prep-green-100);cursor:pointer;grid-template-columns:24px minmax(0,1fr) auto;display:grid}.shopping-row input{width:22px;height:22px;accent-color:var(--color-prep-green-700);margin:0}.shopping-name{overflow-wrap:anywhere}.shopping-pantry-note{margin-top:var(--space-4);color:var(--color-charcoal-600);font-size:.875rem;text-decoration:none;display:block}.shopping-quantity{text-align:right;font-variant-numeric:tabular-nums}.shopping-row:has(input:checked) .shopping-name{color:var(--color-charcoal-600);text-decoration:line-through}.shopping-row:has(input:checked){background:var(--color-prep-green-100)}.cooking-plan{max-width:60rem;margin-inline:auto}.cooking-plan>h3{font-family:var(--font-display);color:var(--color-prep-green-800);margin:0;font-size:1.75rem}.cooking-intro{max-width:65ch;line-height:1.6}.cooking-safety{max-width:65ch;margin-top:var(--space-24);padding:var(--space-16) var(--space-24);border-left:var(--space-4) solid var(--color-prep-green-700);border-radius:var(--radius-control);background:var(--color-prep-green-100);line-height:1.6}.cooking-safety h4{margin:0 0 var(--space-8);color:var(--color-prep-green-800);font-size:1.125rem}.cooking-safety p{margin:0 0 var(--space-8)}.cooking-safety a{text-underline-offset:var(--space-4);font-weight:700}.cooking-sessions{gap:var(--space-48);margin-top:var(--space-32);display:grid}.cooking-session{min-width:0}.cooking-session-header{border-left:var(--space-4) solid var(--color-coral-500);padding-left:var(--space-12);margin-bottom:var(--space-16)}.cooking-session-header h4{font-family:var(--font-display);color:var(--color-prep-green-800);margin:0;font-size:1.5rem}.cooking-session-header h4 span{font-size:1rem;font-family:var(--font-body);font-weight:600}.cooking-session-header p{color:var(--color-charcoal-600);margin:var(--space-8) 0 0}.cooking-preparations{gap:var(--space-24);display:grid}.cooking-card{background:var(--color-white);border-radius:var(--radius-feature);min-width:0;padding:var(--space-24)}.cooking-card-heading h5{font-family:var(--font-display);color:var(--color-prep-green-800);margin:0;font-size:1.375rem;line-height:1.3}.cooking-card-heading p{margin:var(--space-8) 0 var(--space-24);font-weight:600}.cooking-destinations{gap:var(--space-12);flex-wrap:wrap;display:flex}.cooking-destination{align-content:start;gap:var(--space-4);border-left:2px solid var(--color-prep-green-100);min-width:0;padding:var(--space-8) var(--space-12);flex:14rem;display:grid}.cooking-destination strong{color:var(--color-prep-green-800)}.cooking-destination p{margin:var(--space-8) 0 0;line-height:1.5}.cooking-storage-method{color:var(--color-prep-green-700);font-weight:600}.cooking-ingredients{margin-top:var(--space-32)}.cooking-ingredients>h6{color:var(--color-prep-green-800);margin:0 0 var(--space-12);font-size:1.125rem}.cooking-ingredient-group{margin-top:var(--space-24)}.cooking-ingredient-group h6{margin:0 0 var(--space-8);font-size:1rem}.cooking-ingredients ul{margin:0;padding:0;list-style:none}.cooking-ingredient{justify-content:space-between;gap:var(--space-4) var(--space-16);padding:var(--space-8) 0;border-bottom:1px solid var(--color-prep-green-100);flex-wrap:wrap;display:flex}.cooking-ingredient-name{overflow-wrap:anywhere;min-width:0}.cooking-ingredient-amount{font-variant-numeric:tabular-nums}.cooking-optional,.cooking-preparation-text{color:var(--color-charcoal-600);font-size:.875rem}.cooking-steps{margin-top:var(--space-32)}.cooking-steps summary{cursor:pointer;color:var(--color-prep-green-800);min-height:44px;padding:var(--space-12) 0;font-weight:600;display:list-item}.cooking-steps ol{padding-left:var(--space-24);margin:var(--space-8) 0}.cooking-steps li{padding-left:var(--space-8);margin-bottom:var(--space-16);line-height:1.6}.cooking-full-recipe{margin-top:var(--space-16);color:var(--color-prep-green-800);text-underline-offset:var(--space-4);display:inline-block}@media (width<=359px){.shopping-quantity{text-align:left;grid-column:2/-1}}@media (width>=768px){.planner-fields,.planner-meals{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-pantry-item-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-form{padding:var(--space-32)}}@media (width>=1024px){.planner-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
