/* AreaSports Step 10D. Flex-only visual correction layer.
   Rule for new AreaSports styles: flex layouts only; WordPress legacy CSS stays as reference. */

* { box-sizing: border-box; }

.areasports-body {
  overflow-x: hidden;
}

.areasports-body .dashboard-shell,
.areasports-body .dashboard-view,
.areasports-body .dashboard-view__content,
.areasports-body .dashboard-today__inner,
.areasports-body .dashboard-today__content,
.areasports-body .dashboard-plan__content,
.areasports-body .dashboard-plan__actions,
.areasports-body .profile-screen,
.areasports-body .profile-screen__card,
.areasports-body .profile-form,
.areasports-body .coach-workout-wizard,
.areasports-body .coach-workout-wizard__section,
.areasports-body .areasports-workout-list,
.areasports-body .areasports-workout-history,
.areasports-body .areasports-list,
.areasports-body .areasports-picker-list,
.areasports-body .areasports-picker-categories,
.areasports-body .areasports-progress-table,
.areasports-body .ai-chat__messages,
.areasports-body .profile-modal__form,
.areasports-body .profile-modal__field,
.areasports-body .areasports-ai-token-card,
.areasports-body .meal-log,
.areasports-body .meal-log__inner,
.areasports-body .food-recommendations-page,
.areasports-body .food-recommendations-page__inner,
.areasports-body .food-recommendations__sections,
.areasports-body .food-recommendations__list,
.areasports-body .coach-chat__list,
.areasports-body .coach-chat__dialog {
  display: flex !important;
  flex-direction: column;
}

.areasports-body .dashboard-view__header,
.areasports-body .dashboard-view__header--inline,
.areasports-body .dashboard-view__actions,
.areasports-body .dashboard-shell__header-bar,
.areasports-body .today-card__head,
.areasports-body .today-card__actions,
.areasports-body .today-macros,
.areasports-body .today-progress-achievements,
.areasports-body .areasports-section-toolbar,
.areasports-body .areasports-workouts-actions,
.areasports-body .areasports-ai-toolbar,
.areasports-body .areasports-stat-controls,
.areasports-body .areasports-date-form,
.areasports-body .areasports-exercise-card__head,
.areasports-body .coach-workout-row__top,
.areasports-body .areasports-exercise-stats,
.areasports-body .areasports-inline-form,
.areasports-body .progress-form,
.areasports-body .areasports-progress-table__row,
.areasports-body .profile-form__grid,
.areasports-body .profile-modal__actions,
.areasports-body .coach-chat--user .chat-card__form,
.areasports-body .areasports-picker-item,
.areasports-body .areasports-picker-item__params,
.areasports-body .areasports-exercise-gallery,
.areasports-body .areasports-set-plan,
.areasports-body .areasports-progress-workouts,
.areasports-body .areasports-modal-grid,
.areasports-body .meal-form__grid,
.areasports-body .meal-form__grid--macros,
.areasports-body .meal-goals__grid,
.areasports-body .meal-log__toolbar,
.areasports-body .meal-entry,
.areasports-body .meal-entry__macros,
.areasports-body .food-recommendations__item-card,
.areasports-body .food-recommendations__item-head,
.areasports-body .food-recommendations__macros,
.areasports-body .coach-chat-user__row,
.areasports-body .chat-message,
.areasports-body .ai-chat__form,
.areasports-body .profile-form__avatar,
.areasports-body .profile-actions {
  display: flex !important;
}

.areasports-body .profile-modal {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.areasports-body .profile-modal[hidden] {
  display: none !important;
}

.areasports-user-wp-parity {
  --areasports-page-max: 1200px;
  background: var(--c-cream, #F9F3EF);
}

.areasports-user-wp-parity .dashboard-shell--wp-user {
  width: min(calc(100% - 32px), var(--areasports-page-max)) !important;
  max-width: var(--areasports-page-max) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}

.areasports-user-wp-parity .dashboard-shell__header,
.areasports-user-wp-parity .dashboard-shell__footer,
.areasports-user-wp-parity .dashboard-shell__body,
.areasports-user-wp-parity .dashboard-view__header,
.areasports-user-wp-parity .dashboard-view__content,
.areasports-user-wp-parity .dashboard-today__content,
.areasports-user-wp-parity .dashboard-plan__content,
.areasports-user-wp-parity .meal-log__inner,
.areasports-user-wp-parity .food-recommendations-page__inner {
  width: 100% !important;
  max-width: var(--areasports-page-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.areasports-user-wp-parity .dashboard-shell__body {
  padding: 18px 0 118px !important;
}

.areasports-user-wp-parity .dashboard-shell__body::after {
  height: 0 !important;
}

.areasports-user-wp-parity .dashboard-shell__header-bar {
  min-height: var(--topbar-height, 66px);
  padding: 12px 0;
}

.areasports-user-wp-parity .dashboard-today__content,
.areasports-user-wp-parity .dashboard-view__content,
.areasports-user-wp-parity .dashboard-plan__content,
.areasports-user-wp-parity .profile-screen,
.areasports-user-wp-parity .meal-log__inner,
.areasports-user-wp-parity .food-recommendations-page__inner {
  gap: 18px;
}

.areasports-user-wp-parity .dashboard-today__content,
.areasports-user-wp-parity .today-macros,
.areasports-user-wp-parity .today-progress-achievements,
.areasports-user-wp-parity .dashboard-plan__actions,
.areasports-user-wp-parity .progress-form,
.areasports-user-wp-parity .profile-form__grid,
.areasports-user-wp-parity .areasports-progress-workouts,
.areasports-user-wp-parity .meal-goals__grid,
.areasports-user-wp-parity .meal-form__grid,
.areasports-user-wp-parity .areasports-modal-grid,
.areasports-user-wp-parity .food-recommendations__macros {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
}

.areasports-user-wp-parity .today-card,
.areasports-user-wp-parity .plan-card,
.areasports-user-wp-parity .progress-card,
.areasports-user-wp-parity .profile-screen__card,
.areasports-user-wp-parity .meal-card,
.areasports-user-wp-parity .food-recommendations__section,
.areasports-user-wp-parity .chat-card,
.areasports-user-wp-parity .exercise-section,
.areasports-user-wp-parity .coach-workout-wizard__section,
.areasports-user-wp-parity .areasports-list-card,
.areasports-user-wp-parity .areasports-exercise-card {
  border-radius: 24px;
  box-shadow: 0 16px 42px rgba(27, 60, 83, .08);
}

.areasports-user-wp-parity .today-card--workout {
  flex: 1 1 690px;
  min-width: min(100%, 620px);
}

.areasports-user-wp-parity .today-card--nutrition {
  flex: 1 1 360px;
  min-width: min(100%, 340px);
}

.areasports-user-wp-parity .today-card--achievements {
  flex: 1 1 100%;
}

.areasports-user-wp-parity .today-macro,
.areasports-user-wp-parity .progress-achievement,
.areasports-user-wp-parity .meal-goal,
.areasports-user-wp-parity .areasports-progress-workouts span {
  flex: 1 1 180px;
  min-width: 150px;
}

.areasports-user-wp-parity .plan-card {
  flex: 1 1 340px;
  min-width: min(100%, 280px);
}

.areasports-user-wp-parity .dashboard-plan__actions {
  gap: 16px;
}

.areasports-user-wp-parity .dashboard-view--workouts .dashboard-view__header--inline,
.areasports-user-wp-parity .dashboard-view__header--inline,
.areasports-user-wp-parity .meal-log__toolbar,
.areasports-user-wp-parity .today-card__head,
.areasports-user-wp-parity .areasports-ai-toolbar,
.areasports-user-wp-parity .areasports-section-toolbar,
.areasports-user-wp-parity .areasports-workouts-actions,
.areasports-user-wp-parity .areasports-stat-controls {
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.areasports-user-wp-parity .areasports-workout-list,
.areasports-user-wp-parity .areasports-workout-history,
.areasports-user-wp-parity .areasports-list,
.areasports-user-wp-parity .areasports-picker-list,
.areasports-user-wp-parity .areasports-picker-categories,
.areasports-user-wp-parity .areasports-progress-table,
.areasports-user-wp-parity .ai-chat__messages,
.areasports-user-wp-parity .profile-modal__form,
.areasports-user-wp-parity .food-recommendations__sections,
.areasports-user-wp-parity .food-recommendations__list {
  gap: 12px;
}

.areasports-user-wp-parity .areasports-inline-form,
.areasports-user-wp-parity .profile-form__grid,
.areasports-user-wp-parity .progress-form,
.areasports-user-wp-parity .meal-form__grid,
.areasports-user-wp-parity .areasports-modal-grid {
  gap: 12px;
}

.areasports-user-wp-parity .areasports-inline-form > *,
.areasports-user-wp-parity .progress-form__field,
.areasports-user-wp-parity .profile-field,
.areasports-user-wp-parity .profile-modal__field,
.areasports-user-wp-parity .meal-log__field {
  flex: 1 1 260px;
  min-width: min(100%, 240px);
}

.areasports-user-wp-parity .profile-field--full,
.areasports-user-wp-parity .meal-log__field--wide,
.areasports-user-wp-parity .profile-form__section,
.areasports-user-wp-parity .profile-form__actions,
.areasports-user-wp-parity .profile-actions,
.areasports-user-wp-parity .progress-form .dashboard-button {
  flex: 1 1 100%;
  width: 100%;
}

.areasports-user-wp-parity .areasports-progress-table__row {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}

.areasports-user-wp-parity .areasports-progress-table__row strong {
  flex: 0 0 88px;
}

.areasports-user-wp-parity .areasports-progress-table__row span,
.areasports-user-wp-parity .areasports-progress-table__row em {
  flex: 1 1 320px;
}

.areasports-user-wp-parity .areasports-picker-item {
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.areasports-user-wp-parity .areasports-picker-item__media,
.areasports-user-wp-parity .areasports-picker-item__thumb,
.areasports-user-wp-parity .chat-message__avatar,
.areasports-user-wp-parity .coach-chat-user__avatar,
.areasports-user-wp-parity .areasports-set-plan span {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.areasports-user-wp-parity .areasports-picker-item__body {
  flex: 1 1 260px;
}

.areasports-user-wp-parity .areasports-picker-item__params {
  flex: 1 1 270px;
  gap: 8px;
}

.areasports-user-wp-parity .areasports-picker-item__params input {
  flex: 1 1 80px;
}

.areasports-user-wp-parity .areasports-exercise-gallery {
  align-items: stretch;
  gap: 10px;
}

.areasports-user-wp-parity .areasports-exercise-gallery__frame {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
}

.areasports-user-wp-parity .areasports-exercise-gallery button {
  flex: 0 0 42px;
  align-self: center;
}

.areasports-user-wp-parity .ai-chat__message--user {
  align-self: flex-end;
}

.areasports-user-wp-parity .ai-chat__message--assistant {
  align-self: flex-start;
}

.areasports-user-wp-parity .chat-message.is-outgoing {
  justify-content: flex-end;
}

.areasports-user-wp-parity .coach-chat__card {
  min-height: 620px;
}

.areasports-user-wp-parity .coach-chat__body,
.areasports-user-wp-parity .chat-card__body {
  flex: 1 1 auto;
}

.areasports-user-wp-parity .coach-chat--user .chat-card__form {
  flex-direction: row;
  align-items: flex-end;
}

.areasports-user-wp-parity .coach-chat--user .chat-card__form textarea,
.areasports-user-wp-parity .ai-chat__form textarea {
  flex: 1 1 auto;
}

.areasports-user-wp-parity .meal-entry,
.areasports-user-wp-parity .food-recommendations__item-card {
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.areasports-user-wp-parity .food-recommendations__item-body,
.areasports-user-wp-parity .meal-entry__main {
  flex: 1 1 auto;
}

.areasports-user-wp-parity .food-recommendations__macro,
.areasports-user-wp-parity .meal-entry__macros div {
  flex: 1 1 120px;
}

.areasports-user-wp-parity .tabbar--user .inner {
  width: min(calc(100% - 32px), var(--areasports-page-max));
  max-width: var(--areasports-page-max);
}

@media (min-width: 980px) {
  .areasports-user-wp-parity .dashboard-view--chat .coach-chat__card,
  .areasports-user-wp-parity .dashboard-chat .coach-chat__card {
    display: flex !important;
    flex-direction: row;
    align-items: stretch;
  }

  .areasports-user-wp-parity .coach-chat__sidebar {
    flex: 0 0 320px;
    max-width: 360px;
  }

  .areasports-user-wp-parity .coach-chat__dialog {
    flex: 1 1 auto;
    min-width: 0;
  }

  .areasports-user-wp-parity .profile-form__avatar {
    align-items: center;
  }
}

@media (max-width: 760px) {
  .areasports-user-wp-parity {
    --areasports-page-max: 100%;
  }

  .areasports-user-wp-parity .dashboard-shell--wp-user {
    width: 100% !important;
  }

  .areasports-user-wp-parity .dashboard-shell__body {
    padding: 10px 0 92px !important;
  }

  .areasports-user-wp-parity .dashboard-shell__header-bar,
  .areasports-user-wp-parity .dashboard-view__header,
  .areasports-user-wp-parity .dashboard-today__content,
  .areasports-user-wp-parity .dashboard-view__content,
  .areasports-user-wp-parity .meal-log__inner,
  .areasports-user-wp-parity .food-recommendations-page__inner {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .areasports-user-wp-parity .dashboard-today__content,
  .areasports-user-wp-parity .dashboard-plan__actions,
  .areasports-user-wp-parity .today-macros,
  .areasports-user-wp-parity .today-progress-achievements,
  .areasports-user-wp-parity .progress-form,
  .areasports-user-wp-parity .profile-form__grid,
  .areasports-user-wp-parity .meal-goals__grid,
  .areasports-user-wp-parity .meal-form__grid,
  .areasports-user-wp-parity .areasports-modal-grid,
  .areasports-user-wp-parity .food-recommendations__macros,
  .areasports-user-wp-parity .coach-chat--user .chat-card__form,
  .areasports-user-wp-parity .meal-entry,
  .areasports-user-wp-parity .food-recommendations__item-card,
  .areasports-user-wp-parity .areasports-exercise-card__head,
  .areasports-user-wp-parity .coach-workout-row__top,
  .areasports-user-wp-parity .areasports-ai-parity .ai-assistant__hero {
    flex-direction: column !important;
  }

  .areasports-user-wp-parity .today-card,
  .areasports-user-wp-parity .plan-card,
  .areasports-user-wp-parity .progress-card,
  .areasports-user-wp-parity .meal-card,
  .areasports-user-wp-parity .profile-field,
  .areasports-user-wp-parity .progress-form__field,
  .areasports-user-wp-parity .areasports-inline-form > *,
  .areasports-user-wp-parity .meal-log__field,
  .areasports-user-wp-parity .areasports-picker-item__body,
  .areasports-user-wp-parity .areasports-picker-item__params {
    flex-basis: auto !important;
    min-width: 0 !important;
    width: 100%;
  }

  .areasports-user-wp-parity .profile-modal {
    padding: 14px;
  }

  .areasports-user-wp-parity .profile-modal__actions,
  .areasports-user-wp-parity .profile-actions {
    flex-direction: column;
  }

  .areasports-user-wp-parity .profile-modal__btn,
  .areasports-user-wp-parity .profile-actions__btn {
    width: 100%;
  }
}
