/* Meals stays inside the private Fitness view. */
.ak-meals { color: #332c30; font: inherit; grid-column: 1 / -1; inline-size: 100%; min-inline-size: 0; margin-block: 1.25rem; }
.ak-meals .ak-meals__hero { padding: 1.25rem; background: #f8f1f5; border: 1px solid #e5d5df; border-radius: 18px; }
.ak-meals .ak-meals__section { margin-block: 1rem; padding: 1rem; border: 1px solid #e6dde2; border-radius: 16px; background: #fffdfa; min-inline-size: 0; }
.ak-meals h2, .ak-meals h3, .ak-meals h4 { margin-block: 0 .7rem; color: inherit; overflow-wrap: anywhere; }
.ak-meals p { margin-block: .5rem; overflow-wrap: anywhere; }
.ak-meals .ak-meals__week-nav, .ak-meals .ak-meals__actions, .ak-meals .ak-meals__slot-head { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-block: .75rem; }
.ak-meals .ak-meals__days { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.ak-meals .ak-meals__calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .2rem; margin-block-start: 1rem; }
.ak-meals .ak-meals__calendar button { display: grid; gap: .3rem; padding: .5rem .1rem; border-radius: 9px; min-inline-size: 0; }
.ak-meals .ak-meals__calendar button span { font-size: .7rem; overflow-wrap: anywhere; }
.ak-meals .ak-meals__calendar button strong { font-size: 1.15rem; }
.ak-meals .ak-meals__calendar button[aria-pressed="true"] { background: #755068; color: #fff; border-color: #755068; }
.ak-meals .ak-meals__picks { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.ak-meals .ak-meals__pick { min-inline-size: 0; padding: 1rem; border: 1px solid #e6dde2; border-radius: 12px; }
.ak-meals a { color: #624357; text-underline-offset: .2em; overflow-wrap: anywhere; }
.ak-meals .ak-meals__day { border: 1px solid #e6dde2; border-radius: 16px; padding: 1rem; background: #fffdfa; min-inline-size: 0; }
.ak-meals .ak-meals__slot { padding-block: .75rem; border-block-start: 1px solid #eee7eb; overflow-wrap: anywhere; min-inline-size: 0; }
.ak-meals .ak-meals__form { display: grid; gap: .9rem; min-inline-size: 0; }
.ak-meals .ak-meals__field { display: grid; gap: .4rem; font-weight: 600; min-inline-size: 0; }
.ak-meals input, .ak-meals select, .ak-meals textarea { box-sizing: border-box; inline-size: 100%; max-inline-size: 100%; min-inline-size: 0; min-block-size: 44px; border: 1px solid #b8a7b0; border-radius: 10px; padding: .65rem .75rem; font: inherit; color: inherit; background: #fff; }
.ak-meals input[type="checkbox"] { inline-size: 24px; min-block-size: 24px; block-size: 24px; margin: 0; flex-shrink: 0; accent-color: #755068; }
.ak-meals label:has(input[type="checkbox"]) { display: flex; align-items: center; gap: .6rem; min-block-size: 44px; font-weight: 400; }
.ak-meals button { min-block-size: 44px; max-inline-size: 100%; border: 1px solid #755068; border-radius: 11px; padding: .65rem .9rem; background: #755068; color: #fff; font: inherit; cursor: pointer; overflow-wrap: anywhere; }
.ak-meals button[data-secondary] { color: #624357; background: #fff; }
.ak-meals button:disabled { cursor: default; opacity: .55; }
.ak-meals :focus-visible { outline: 3px solid #bd8caa; outline-offset: 3px; }
.ak-meals .ak-meals__groceries { display: grid; gap: .6rem; padding: 0; list-style: none; }
.ak-meals .ak-meals__grocery { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; border-block-end: 1px solid #eee7eb; padding-block: .5rem; overflow-wrap: anywhere; }
.ak-meals .ak-meals__grocery label { flex: 1 1 160px; min-inline-size: 0; }
.ak-meals .ak-meals__note { color: #63565e; font-size: .95rem; line-height: 1.6; }
.ak-meals .ak-meals__status { padding-block: .75rem; font-weight: 600; overflow-wrap: anywhere; }
.ak-meals .ak-meals__estimate { padding: .65rem .8rem; background: #f4ecf2; border-inline-start: 3px solid #99647f; border-radius: 8px; font-weight: 650; }
.ak-meals progress { inline-size: 100%; max-inline-size: 18rem; block-size: .55rem; accent-color: #99647f; }
.ak-meals .ak-meals__danger { border-block-start: 1px solid #e6dde2; padding-block-start: 1rem; margin-block-start: 1rem; }
.ak-meals .ak-meals__purchase-items { display: grid; gap: .75rem; margin-block: 1rem; }
.ak-meals [data-purchase-panel], .ak-meals [data-purchase-editor] { scroll-margin-block-start: 7rem; }
.ak-meals .ak-meals__purchase-item { min-inline-size: 0; padding: 1rem; border: 1px solid #e6dde2; border-radius: 12px; background: #fff; }
.ak-meals .ak-meals__purchase-review { display: grid; grid-template-columns: minmax(0,1fr); gap: .25rem; }
.ak-meals .ak-meals__purchase-review dt { font-weight: 650; }
.ak-meals .ak-meals__purchase-review dd { margin: 0 0 .75rem; overflow-wrap: anywhere; white-space: pre-wrap; }
.ak-meals.ak-meals--home-glance { margin-block: .35rem; }
.ak-meals--home-glance .ak-meals__hero { padding: .9rem 1rem; }
.ak-meals--home-glance .ak-meals__home-next { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .35rem .75rem; padding-block: .55rem; border-block-start: 1px solid #e6dde2; overflow-wrap: anywhere; }
.ak-meals--home-glance .ak-meals__home-name { min-inline-size: 0; }
.ak-meals--home-glance .ak-meals__home-next .ak-meals__actions { margin-block: 0; }
@media (max-width: 480px) {
 .ak-meals--home-glance .ak-meals__home-next { grid-template-columns: minmax(0,1fr); }
 .ak-meals--home-glance .ak-meals__home-next .ak-meals__actions { justify-content: flex-start; }
}
@media (min-width: 720px) {
 .ak-meals .ak-meals__purchase-items { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .ak-meals .ak-meals__day { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; }
 .ak-meals .ak-meals__day > h3, .ak-meals .ak-meals__day > p { grid-column: 1 / -1; }
 .ak-meals .ak-meals__picks { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
