.meal-planner,.meal-planner fieldset,.meal-planner form>div,.meal-planner fieldset>div{min-width:0}.meal-planner [data-slot=label]{margin-bottom:8px;line-height:1.4;display:block}.meal-planner [data-slot=label]>span[aria-hidden=true]{margin-left:4px}.meal-settings{gap:20px;display:grid}.meal-settings>div:first-child{max-width:180px}.meal-choices>legend{margin-bottom:8px;font-weight:500}.meal-choices>div{flex-wrap:wrap;gap:8px;display:flex}.meal-choice{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:7px;min-height:44px;padding:8px 10px;font-size:13px;display:inline-flex;margin:0!important}.meal-choice:has(input:checked){border-color:var(--primary);background:var(--secondary)}.meal-choice input{width:16px;height:16px;accent-color:var(--primary)}.meal-choice svg{width:15px;height:15px;color:var(--primary)}.meal-recipes,.meal-planning{margin-top:30px}.meal-recipes>h2,.meal-planning>h2{font-family:var(--font-heading);font-size:24px}.meal-recipe-grid{align-items:start;gap:16px;margin-top:14px;display:grid}.meal-recipe-card{border:1px solid var(--border);background:var(--secondary);border-radius:12px;min-width:0;padding:16px}.meal-card-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.meal-card-heading h3{min-width:0;font-family:var(--font-heading);overflow-wrap:anywhere;font-size:19px;line-height:1.3}.meal-card-actions{flex:none;align-items:center;gap:4px;display:flex}.meal-card-actions>button,.meal-recipe-actions>button{min-height:44px}.meal-recipe-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;padding-top:16px;display:flex}.meal-saved-recipe{color:var(--muted-foreground);align-items:center;gap:6px;font-size:12px;display:flex}.meal-saved-recipe svg{width:15px;height:15px;color:var(--primary)}.meal-icon-button{flex:none;width:44px;height:44px}.meal-recipe-details{grid-template-columns:minmax(0,1fr) 100px;align-items:start;gap:12px;display:grid}.meal-recipe-details>div{min-width:0}.meal-recipe-details label{font-size:12px}.meal-recipe-details input{padding-inline:10px}.meal-recipe-preview{margin-top:14px}.meal-recipe-preview li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;font-size:13px;display:flex}.meal-recipe-preview li span{overflow-wrap:anywhere;min-width:0}.meal-recipe-preview li strong{flex:none;font-weight:500}.meal-recipe-ingredients{margin-top:12px}.meal-add-recipe{width:100%;min-height:56px;color:var(--primary);border-style:dashed;grid-column:1/-1}.meal-hint{color:var(--muted-foreground);margin-top:8px;font-size:12px;line-height:1.6}.meal-ingredient{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;display:grid}.meal-ingredient>div{min-width:0}.meal-ingredient-name{grid-area:1/1/auto/-1}.meal-ingredient-amount{grid-area:2/1}.meal-ingredient-unit{grid-area:2/2}.meal-ingredient-aisle{grid-area:3/1/auto/-1}.meal-planner .form-select{white-space:normal;text-align:left;height:auto;min-height:48px}.meal-planner .form-select [data-slot=select-value]{white-space:normal;-webkit-line-clamp:unset;display:block;overflow:visible}.meal-day-picker{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.meal-day-picker button{min-width:61px;min-height:44px}.meal-day-picker button strong{font-weight:inherit}.meal-planner .meal-day-picker button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground)}.meal-result-day-picker{display:none}.meal-day-editor{border:1px solid var(--border);border-radius:12px;margin-top:18px;padding:16px}.meal-day-editor>h3{font-family:var(--font-heading);margin-bottom:14px;font-size:21px}.meal-slot-grid{gap:16px;margin-top:20px;display:grid}.meal-slot{border:1px solid var(--border);background:var(--background);border-radius:10px;min-width:0;padding:14px}.meal-slot>legend{color:var(--primary);align-items:center;gap:7px;padding-inline:5px;font-weight:600;display:flex}.meal-slot>legend svg{width:17px;height:17px}.meal-slot label{font-size:12px}.meal-slot-people{max-width:110px}.meal-slot-recipe{min-width:0;margin-top:12px}.meal-add-dish{white-space:normal;height:auto;min-height:44px;margin-top:8px;padding-inline:0;font-size:12px}.meal-summary{color:var(--muted-foreground);margin-top:8px;font-size:13px;line-height:1.7}.meal-week,.meal-shopping{min-width:0;margin-top:24px}.meal-week>h3,.meal-shopping h3{font-size:21px;font-family:var(--font-heading);margin-bottom:12px}.meal-week-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:13px}.meal-week-table th,.meal-week-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:12px}.meal-week-table thead th{background:var(--secondary);color:var(--primary);font-size:12px}.meal-week-table thead th:first-child{border-radius:8px 0 0;width:70px}.meal-week-table thead th:last-child{border-radius:0 8px 0 0}.meal-week-table tbody th{font-size:12px;font-weight:600}.meal-serving-count{color:var(--primary);margin-bottom:5px;font-size:12px;font-weight:600}.meal-week-table td li+li{margin-top:5px}.meal-cell-label{display:none}.meal-unplanned,.meal-empty-day{color:var(--muted-foreground)}.meal-shopping-heading>p{color:var(--muted-foreground);margin-top:-5px;margin-bottom:16px;font-size:12px;line-height:1.6}.meal-shopping-groups{gap:18px;display:grid}.meal-shopping-group h4{border-bottom:1px solid var(--border);color:var(--primary);padding-bottom:7px;font-size:13px;font-weight:600}.meal-shopping-group table{border-collapse:collapse;table-layout:fixed;text-align:left;width:100%}.meal-shopping-columns{display:none}.meal-shopping-group td{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:10px 0;font-size:14px}.meal-shopping-group td:last-child{text-align:right;width:35%;padding-left:16px}.meal-shopping-group strong{white-space:nowrap;font-weight:600}.meal-result-note{color:var(--muted-foreground);margin-top:16px;font-size:12px;line-height:1.6}@media screen and (max-width:767px){.meal-planner .meal-day-picker{gap:4px;margin-top:12px;display:grid}.meal-planner .meal-day-picker button{border-radius:8px;flex-direction:column;gap:0;min-width:0;min-height:48px;padding:5px 2px;font-size:11px;line-height:1.25}.meal-planner .meal-day-picker button strong{font-size:16px;font-weight:600}.meal-planner .meal-result-day-picker{margin-bottom:12px}.meal-planner .meal-week-table,.meal-planner .meal-week-table tbody{display:block}.meal-planner .meal-week-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.meal-planner .meal-week-table tbody tr{border:1px solid var(--border);border-radius:10px;margin:0;display:block;overflow:hidden}.meal-planner .meal-week-table tbody tr[data-active-day=false]{display:none}.meal-planner .meal-week-table tbody th{background:var(--secondary);padding:10px 12px;font-size:14px;display:block}.meal-planner .meal-week-table td:not(.meal-empty-day){grid-template-columns:76px minmax(0,1fr);gap:4px 8px;margin:0 12px;padding:12px 0;display:grid}.meal-planner .meal-week-table td:last-child{border-bottom:0}.meal-planner .meal-cell-label{color:var(--muted-foreground);grid-area:1/1/span 2;margin:0;font-size:13px;line-height:1.5;display:block}.meal-planner .meal-week-table td>:is(p,ul){grid-column:2;min-width:0;margin:0;line-height:1.5}.meal-planner .meal-week-table td ul{font-size:15px}.meal-planner .meal-week-table tr:has(.meal-empty-day){display:block}.meal-planner .meal-week-table .meal-empty-day{margin:0;padding:14px 12px;display:block}.meal-planner .meal-shopping-groups{grid-template-columns:minmax(0,1fr);gap:12px}.meal-planner .meal-shopping-group{border:1px solid var(--border);background:var(--card);border-radius:10px;min-width:0;padding:12px}.meal-planner .meal-shopping-group th{padding:0}.meal-planner .meal-shopping-group h4{text-align:left;margin:0;padding-bottom:10px;font-size:14px}.meal-planner .meal-shopping-name-column{width:62%}.meal-planner .meal-shopping-quantity-column{width:38%}.meal-planner .meal-shopping-group td{vertical-align:top;padding-block:10px;line-height:1.5}.meal-planner .meal-shopping-group td:last-child{padding-left:10px}.meal-planner .meal-shopping-group tbody tr:last-child td{border-bottom:0;padding-bottom:0}.meal-planner .meal-shopping-group strong{white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}}@media screen and (max-width:639px){.meal-planner .meal-recipes,.meal-planner .meal-planning{margin-top:24px}.meal-planner .meal-recipes>h2,.meal-planner .meal-planning>h2{font-size:21px}.meal-planner .meal-card-heading{align-items:center;margin-bottom:12px;padding-bottom:8px}.meal-planner .meal-card-heading h3{padding-top:0}.meal-planner .meal-recipe-details{grid-template-columns:minmax(0,1fr) 72px;gap:12px}.meal-planner .meal-recipe-details>div:last-child{max-width:none}.meal-planner .meal-recipe-details>div{flex-direction:column;display:flex}.meal-planner .meal-recipe-details label{flex:1}.meal-planner .meal-ingredient{gap:12px 10px}.meal-planner .meal-recipe-actions{margin-top:14px;padding-top:12px}.meal-planner .meal-recipe-preview strong{text-align:right;overflow-wrap:anywhere;flex:0 40%}.meal-planner .meal-choices>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.meal-planner .meal-choice{justify-content:center;gap:5px;min-width:0;padding:8px 4px}.meal-planner .meal-choice span{font-size:12px}.meal-planner .meal-choice svg{display:none}.meal-planner .meal-slot{padding-block:14px}.meal-planner .meal-slot-grid{gap:8px;margin-top:16px}.meal-planner .meal-slot-fields{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:12px;display:grid}.meal-planner .meal-slot-fields>*{min-width:0}.meal-planner .meal-slot-recipe{grid-column:2;margin-top:0}.meal-planner .meal-slot-recipe:nth-child(2){grid-row:1}.meal-planner .meal-slot-people{grid-area:1/1}.meal-planner .meal-slot-people>label{min-height:22px;margin-bottom:6px}.meal-planner .meal-slot-fields:has(.tool-row-heading>button) .meal-slot-people>label{min-height:44px}.meal-planner .meal-slot-recipe .tool-row-heading{gap:4px;min-height:22px;margin-bottom:6px}.meal-planner .meal-add-dish{text-align:left;grid-column:2;justify-content:flex-start;margin-top:0;font-size:13px}}@media (max-width:639px){.meal-recipe-details{grid-template-columns:minmax(0,1fr)}.meal-recipe-details>div:last-child{max-width:130px}.meal-week-table,.meal-week-table tbody{display:block}.meal-week-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.meal-week-table tr{border:1px solid var(--border);border-radius:10px;margin-bottom:12px;display:block;overflow:hidden}.meal-week-table tbody th{background:var(--secondary);display:block}.meal-week-table td{margin:0 12px;padding:10px 0;display:block}.meal-week-table td:last-child{border-bottom:0}.meal-cell-label{color:var(--muted-foreground);margin-bottom:4px;font-size:12px;display:block}}@media (min-width:640px){.meal-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.meal-slot-grid:has(>:only-child){grid-template-columns:minmax(0,1fr)}.meal-slot-grid:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.meal-shopping-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}}@media (min-width:1000px){.meal-ingredient{grid-template-columns:minmax(0,1.3fr) 95px minmax(0,1fr) minmax(0,1.3fr) 44px;align-items:start;gap:12px}.meal-ingredient-name,.meal-ingredient-amount,.meal-ingredient-unit,.meal-ingredient-aisle{grid-area:auto}}@media print{@page meal-plan{size:auto;margin:0 0 10mm;@bottom-center{content:"Meal planner and shopping list | Page " counter(page) " of " counter(pages);color:#775d4c;font-family:sans-serif;font-size:7.5pt}}.meal-planner{page:meal-plan}html:has(.meal-planner .print-result){page:meal-plan}body:has(.meal-planner .print-result){page:meal-plan}main:has(.meal-planner .print-result){page:meal-plan}.meal-planner .tool-shell{page:meal-plan;max-width:none}.meal-week,.meal-shopping{margin-top:12pt}.meal-week>h3,.meal-shopping h3{margin-bottom:6pt;font-size:12pt}.meal-week-table{font-size:8.5pt;display:table}.meal-week-table thead{clip-path:none;width:auto;height:auto;display:table-header-group;position:static;overflow:visible}.meal-week-table tbody{display:table-row-group}.meal-week-table tr{break-inside:avoid;border:0;display:table-row}.meal-week-table th,.meal-week-table td,.meal-week-table tbody th{margin:0;padding:5pt 7pt;font-size:8pt;display:table-cell}.meal-week-table thead th:first-child{width:42pt}.meal-week-table thead th,.meal-serving-count{font-size:7.5pt}.meal-cell-label{display:none}.meal-shopping-heading>p{margin-top:0;margin-bottom:7pt;font-size:8pt}.meal-shopping-groups{display:block}.meal-shopping-group+.meal-shopping-group{margin-top:8pt}.meal-shopping-group thead{display:table-header-group}.meal-shopping-group tr{break-inside:avoid}.meal-shopping-group thead tr{break-after:avoid}.meal-shopping-group th{padding:0}.meal-shopping-group h4{break-after:avoid;padding-bottom:4pt;font-size:8pt}.meal-shopping-columns{display:table-row}.meal-shopping-columns th{color:var(--muted-foreground);padding:4pt 0;font-size:7pt;font-weight:500}.meal-shopping-columns th:last-child{text-align:right}.meal-shopping-group td{padding:2pt 0;font-size:9pt}.meal-summary,.meal-result-note,.meal-hint{font-size:8pt}}
