/* Controls shared by the ingredient, recipe, catalogue and diary workflows. */
.meal-slot-radios{border:0;padding:0;margin:14px 0}.meal-slot-radios legend{font-weight:600;margin-bottom:8px}.meal-slot-radios>div{display:flex;flex-wrap:wrap;gap:8px}.meal-slot-radios label{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;margin:0;cursor:pointer}.meal-slot-radios label:has(:checked){background:var(--soft);border-color:var(--accent)}.meal-slot-radios input{width:18px;height:18px;margin:0}.meal-slot-radios span{font-size:14px}
.gallery-category{background:#fff!important;color:#183b73!important;border:1px solid #d3def2}.gallery-nutrition-tooltip{max-width:240px}
.diary-page .diary-action-menu>summary{color:var(--ink)}
.diary-page .entry-grip,.diary-page .entry-disclosure,.diary-page .diary-action-menu>summary,.diary-page .meal-collapse,.diary-page .meal-eaten-toggle,.diary-page .custom-meal-button,.diary-page .day-heading>button,.recipe-actions #favorite,.calc-tabs button,.dish-card-actions button{min-width:44px;min-height:44px;touch-action:manipulation}
.diary-page .meal-entry{min-height:44px}.dish-photo{aspect-ratio:3/2;object-fit:cover}.product-recipe-default{display:block;color:var(--muted);font-size:13px;margin:4px 0 8px;line-height:1.4}.draft-status{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:14px;margin:12px 0}.draft-status button{min-height:44px}.ingredient-results [aria-selected=true]{background:var(--soft);outline:2px solid var(--accent);outline-offset:-2px}
.ingredient-results [role=option]{display:flex;gap:8px;align-items:center;padding:10px;min-height:44px;cursor:pointer}.ingredient-results [role=option]:hover{background:var(--soft)}
.family-move-preview{padding:12px;border:1px solid var(--line);border-radius:12px;font-size:14px}.dish-card{content-visibility:auto;contain-intrinsic-size:auto 380px}
#editor .editor-ingredient-top{grid-template-columns:22px minmax(0,1fr) 110px 44px}#editor .remove-editor-ingredient,#editor .editor-step-heading button,#editor .editor-product-details-toggle{min-width:44px;min-height:44px}#editor .step-product-chip,#editor .editor-save-product,#editor .step-auto{min-height:44px}
.ingredient-info-button[data-editable=true]::after{content:'✎';font-size:11px;position:absolute;right:2px;bottom:5px}
dialog{overscroll-behavior:contain}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:767px){
 .diary-page .daily-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;margin:12px 0}
 .diary-page .daily-totals>div:first-child{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 8px}.diary-page .daily-totals>div:first-child .goal-progress,.diary-page .daily-totals>div:first-child .goal-remaining{grid-column:1/-1}
 .diary-page .daily-totals strong{font-size:20px;margin:3px 0}.diary-page .daily-totals strong small{display:block;font-size:12px}.diary-page .daily-totals>div:first-child strong small{display:inline}.diary-page .daily-totals .goal-remaining{font-size:12px}.diary-page .daily-totals>div:nth-child(5){grid-column:1/-1;border-top:1px solid #ffffff44;padding-top:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.diary-page .daily-totals>div:nth-child(5) .goal-progress{display:none}
 .diary-page .day-heading{gap:8px}.diary-page .day-heading h2{font-size:20px}.diary-page .diary-day-toolbar{gap:8px}.diary-page .meal-section{padding:12px}.recipe-actions{flex-wrap:wrap}.calc-tabs{display:flex;flex-wrap:wrap}.draft-status{align-items:flex-start}
}
@media(max-width:600px){#editor .editor-ingredient-top{grid-template-columns:minmax(0,1fr) 80px 44px}#editor .ingredient-drag{display:none}#editor .editor-product-details-toggle{margin-left:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

#cook-dialog.quick-eat .cook-choice,#cook-dialog.quick-eat .cook-extra,#cook-dialog.quick-eat .cook-instructions{display:none}.meal-section.meal-empty{background:transparent;border-style:dashed}.meal-empty .meal-eaten-toggle{opacity:.7}

.mobile-nutrition-details{display:none}@media(max-width:767px){.diary-page .daily-totals>div:nth-child(5){display:none}.diary-page .daily-totals>div:not(:first-child) .goal-remaining{display:none}.mobile-nutrition-details{display:block;margin:-8px 0 12px}.mobile-nutrition-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:6px 12px;background:var(--soft);border-radius:10px;font-size:14px}.mobile-nutrition-details summary::after{content:"⌄";margin-left:auto}.mobile-nutrition-details[open] summary::after{content:"⌃"}.mobile-nutrition-details>div{padding:10px 12px}.mobile-nutrition-details p{font-size:14px;margin:5px 0}}

.gallery-base-caption{display:block;font-size:11px;color:var(--muted);margin-top:2px}
#cook-dialog.quick-eat{width:min(520px,calc(100% - 32px))}


#editor .editor-ingredient-top{grid-template-columns:minmax(0,1fr) 110px 44px;align-items:end;gap:12px}
#editor .editor-ingredient-top .ingredient-drag{display:none}
#editor .ingredient-search-wrap{grid-column:1;min-width:0}
#editor .editor-ingredient-top>label{grid-column:2;min-width:0}
#editor .remove-editor-ingredient{grid-column:3;margin-bottom:8px}
#editor .editor-ingredient-details{grid-template-columns:1fr;gap:8px}
#editor .editor-macros{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#editor .editor-macros label{display:flex;flex-direction:column;justify-content:space-between;min-width:0}
#editor [hidden]{display:none!important}
#editor .ingredient-results{min-width:min(380px,70vw);max-width:calc(100vw - 72px)}
#editor .editor-food-summary{margin:8px 0}
#editor .editor-mode-switch{display:flex;gap:8px;margin:12px 0}
#editor .editor-mode-switch button{min-height:44px;border:1px solid var(--control-line);border-radius:8px}
#editor .editor-mode-switch [aria-pressed=true]{background:var(--soft);color:var(--ink);outline:2px solid var(--accent)}
#editor .draft-status{font-size:12px;margin:4px 0 12px}
@media(max-width:600px){#editor .editor-ingredient-top{grid-template-columns:minmax(0,1fr) 44px;gap:8px}#editor .ingredient-search-wrap{grid-column:1}#editor .remove-editor-ingredient{grid-column:2;grid-row:1}#editor .editor-ingredient-top>label{grid-column:1 / -1;grid-row:2}#editor .editor-macros{grid-template-columns:repeat(2,minmax(0,1fr))}}
