/* Dinner uses the existing shell, cards, typography and theme variables. */
.dinner-page{display:grid;gap:18px;min-width:0}
.dinner-page>.page-head{margin-bottom:0}
.dinner-week-head,.dinner-choice-row,.dinner-day-summary,.dinner-favorite{display:flex;justify-content:space-between;align-items:center;gap:12px}
.dinner-week-nav{display:flex;flex:initial;gap:8px;flex-wrap:wrap}
.dinner-week-list,.dinner-favorite-list,.dinner-request-list{display:grid;gap:10px}
.dinner-day,.dinner-choice-row{padding:14px 0;border-bottom:1px solid var(--line);min-width:0}
.dinner-day-today{border-inline-start:3px solid var(--primary);padding-inline-start:12px}
.dinner-day h3,.dinner-choice-row h3{margin:4px 0;overflow-wrap:anywhere}
.dinner-edit{margin-top:10px}
.dinner-edit>summary{cursor:pointer;color:var(--primary);font-weight:700;min-height:44px;display:flex;align-items:center}
.dinner-edit[open]{border:1px solid var(--line);border-radius:16px;padding:14px}
.dinner-edit .stack{margin:10px 0}
.dinner-copy{margin-top:18px}
.dinner-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dinner-options{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px;max-height:280px;overflow:auto}
.dinner-options label{display:flex;align-items:center;gap:10px;min-height:44px}
.dinner-options input{width:auto;accent-color:var(--primary)}
.dinner-today-card{margin-bottom:18px}
.dinner-page .dinner-today-card{margin-bottom:0}
.dinner-page .card,.dinner-page .stack,.dinner-choice-row>div{min-width:0}
.dinner-page p,.dinner-page small,.dinner-favorite strong{overflow-wrap:anywhere}
.dinner-page :is(button,a.secondary){min-height:44px}
.dinner-page :is(input,select,textarea){max-width:100%;min-width:0}
.dinner-page .stack>button{justify-self:start}
.dinner-page :is(summary,button,a,input,select,textarea):focus-visible{outline:2px solid var(--primary);outline-offset:3px}
@media(max-width:760px){.dinner-admin-grid{grid-template-columns:1fr}.dinner-week-head,.dinner-choice-row{align-items:flex-start;flex-direction:column}.dinner-week-nav{width:100%;justify-content:space-between}.dinner-page .page-head{align-items:flex-start;flex-direction:column}.dinner-choice-row>.actions{flex-wrap:wrap}.dinner-edit[open]{padding:10px}}

html body.ui-2026 .dinner-settings-toggle{display:grid;place-items:center;background:transparent!important;border:0;padding:0;min-width:48px;min-height:44px}
html body.ui-2026 .dinner-settings-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:3px}

/* Part 2 stays within the established card and button styles. */
.dinner-search{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:12px;align-items:end}
.dinner-search label{min-width:0}
.dinner-search-meta{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:14px 0}
.dinner-catalog-panel>summary{cursor:pointer;color:var(--primary);min-height:44px;display:flex;align-items:center;font-weight:700}
.dinner-catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:580px;overflow:auto;padding:6px}
.dinner-catalog-item{border:1px solid var(--line);border-radius:16px;padding:14px;min-width:0}
.dinner-catalog-item h3{margin:0 0 6px;overflow-wrap:anywhere}
.dinner-catalog-item .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.dinner-catalog-item .actions form{margin:0}
.dinner-shopping-list,.dinner-contributor-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:10px}
.dinner-shopping-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);min-width:0}
.dinner-shopping-item>div{flex:1;min-width:0;overflow-wrap:anywhere}
.dinner-shopping-item small{display:block}
.dinner-shopping-item.is-checked strong{text-decoration:line-through;opacity:.65}
.dinner-check{display:flex;gap:10px;align-items:center;min-height:44px}
.dinner-check input{width:auto;accent-color:var(--primary)}
.dinner-group{border-top:1px solid var(--line);padding:16px 0}
.dinner-group .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.dinner-contributor-list{margin:8px 0 14px}
.dinner-page :is(.dinner-search,.dinner-shopping-item) form{margin:0}
@media(max-width:760px){.dinner-search{grid-template-columns:1fr}.dinner-search>button{justify-self:start}.dinner-catalog-list{grid-template-columns:1fr;max-height:520px}.dinner-shopping-item{gap:8px;flex-wrap:wrap}.dinner-shopping-item>div{min-width:100px}}

/* Saved ingredients and weekly list previews use the established surfaces. */
.dinner-ingredient-rows,.dinner-shopping-preview,.dinner-recipe-list{display:grid;gap:12px}
.dinner-ingredient-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;border:1px solid var(--line);border-radius:14px;padding:14px;min-width:0}
.dinner-ingredient-row legend{font-weight:700}
.dinner-ingredient-row label{min-width:0}
.dinner-shopping-preview-row{padding:12px 0;border-bottom:1px solid var(--line)}
.dinner-shopping-preview-row .dinner-check{align-items:flex-start}
.dinner-shopping-preview-row .dinner-check input{margin-top:5px}
.dinner-shopping-preview-row small{display:block;overflow-wrap:anywhere}
.dinner-recipe-panel>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--primary);font-weight:700}
.dinner-page>.card>.actions,.dinner-page .stack>.actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.dinner-ingredient-row{grid-template-columns:1fr 1fr}.dinner-ingredient-row>label:first-of-type{grid-column:1/-1}.dinner-ingredient-row>button{justify-self:start}}

/* Usability plan B3 – compact dinner week and transactional move controls. */
.dinner-move>summary{color:var(--primary)}
@media(min-width:900px){
  .dinner-week-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .dinner-day{padding:12px;border:1px solid var(--line);border-radius:14px}
  .dinner-day-today{padding-inline-start:12px}
  .dinner-day .dinner-day-summary{align-items:flex-start}
}
@media(min-width:1250px){.dinner-week-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:899px){.dinner-week-list{grid-template-columns:1fr}.dinner-day{padding-block:12px}}
