.meals-page { display: grid; gap: 1rem; max-width: 58rem; }
.meals-page [hidden] { display:none !important; }
.meals-page .workout-intro { padding-block:0; }
.meals-page .workout-intro h1 { font-size:clamp(1.5rem,4vw,2rem); }
.meals-page .workout-card { padding:1.25rem; }
.meal-day-controls h2 { margin:0; flex:1 1 6rem; }
.meal-entry-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1rem; }
.meal-entry-actions > :is(a,button) { flex:1 1 12rem; }
.meal-prisma-link { display:flex; align-items:center; justify-content:center; gap:.5rem; text-decoration:none; }
.meal-prisma-link svg { flex-shrink:0; }
.meal-help summary { cursor:pointer; min-height:44px; padding-block:.5rem; color:var(--ui-accent); }
.meal-help p { color:var(--ui-muted); }
.meal-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#meal-form fieldset { display:grid; gap:.75rem; }
.meals-page :is(input,select) { max-width: 100%; min-width: 0; font: inherit; color: var(--ui-text); background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: .5rem; padding: .75rem; min-height: 44px; width: 100%; }
.meals-page :is(label,legend) { display: block; font-weight: 600; margin-bottom: .4rem; }
.meals-page :is(fieldset) { min-width: 0; padding: 0; border: 0; }
.meals-page p { line-height: 1.6; }
.meals-page :is(a,button,input,select,summary):focus-visible { outline: 3px solid var(--ui-focus); outline-offset: 3px; }
.meals-page a:not(.workout-button) { color: var(--ui-accent); overflow-wrap: anywhere; }
.meal-day-controls { display: flex; align-items: end; gap: 1rem; flex-wrap: wrap; }
.meal-total { display: flex; gap: .5rem 2rem; justify-content: space-between; flex-wrap: wrap; border-block: 1px solid var(--ui-border); padding-block: 1rem; }
.meal-total strong { font-size: 1.5rem; color: var(--ui-accent); font-variant-numeric: tabular-nums; }
.meal-list { list-style: none; padding: 0; margin: 0; }
.meal-list li { display: flex; align-items: start; gap: 1rem; justify-content: space-between; flex-wrap: wrap; padding-block: 1rem; border-bottom: 1px solid var(--ui-border); }
.meal-list li > div:first-child { flex: 1 1 15rem; min-width: 0; overflow-wrap: anywhere; }
.meal-list small { display: block; color: var(--ui-muted); line-height: 1.5; }
.meal-list .meal-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.meal-confirm { padding: 1rem; margin-top: 1rem; border: 1px solid var(--ui-focus); border-radius: .5rem; }
.meal-confirm button { margin:.5rem .5rem 0 0; }
@media (max-width:720px) { .meals-page .workout-fields-grid { grid-template-columns:minmax(0,1fr); } .meals-page .workout-card { padding:1rem; } }
