/* Trainer-only overrides: no athlete view or shared global controls. */
@media screen and (max-width: 900px) {
  #main-portal-header { flex-wrap: wrap; gap: 8px; }
  #main-portal-header .nav-tabs { flex: 1 1 100%; order: 3; min-width: 0; max-width: 100%; overflow-x: auto; }
  #main-portal-header .nav-tab { min-height: 44px; flex-shrink: 0; }
  :is(#generator-view, #editor-view, #database-view, #archive-view) { min-width: 0; max-width: 100%; }
  :is(#generator-view, #editor-view, #database-view, #archive-view) :is(.panel, .form-group, .exercise-card, .custom-select-wrapper) { min-width: 0; box-sizing: border-box; }
  #generator-view .generator-layout, #archive-view .archive-layout { grid-template-columns: minmax(0, 1fr); }
  #database-view .database-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #database-view .exercise-actions { flex-wrap: wrap; gap: 8px; }
  #database-view .exercise-actions > * { min-width: 0; max-width: 100%; box-sizing: border-box; }
  #database-view .btn-add-exercise-to-day { white-space: normal; min-height: 44px; }
  #archive-view :is(.archive-filter-row, .archive-subfilters) { flex-wrap: wrap; }
  #editor-view > div:first-child > div:last-child { flex-wrap: wrap; }
  #editor-view #sheet-editor-container { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
  :is(#generator-view, #editor-view, #database-view, #archive-view) :is(input, select, textarea) { font-size: 16px !important; box-sizing: border-box; }
  :is(#generator-view, #database-view, #archive-view) :is(input, select, textarea) { max-width: 100%; }
  :is(#generator-view, #editor-view, #database-view, #archive-view) .btn { min-height: 44px; white-space: normal; overflow-wrap: anywhere; }
  :is(#exercise-variants-modal, #methodology-modal, #custom-exercise-modal, #intake-sheet-modal, #new-pending-client-modal, #athlete-share-modal) { padding: 8px; box-sizing: border-box; overflow-y: auto; }
  :is(#exercise-variants-modal, #methodology-modal, #custom-exercise-modal, #intake-sheet-modal, #new-pending-client-modal, #athlete-share-modal) .modal-content {
    width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box;
    max-height: calc(100dvh - 16px) !important; overflow-y: auto;
    padding-bottom: max(16px, env(safe-area-inset-bottom));
  }
  #client-account-root:has([id^="staff-assign-"]) { box-sizing: border-box; padding: 16px 12px !important; overflow-wrap: anywhere; }
  #client-account-root:has([id^="staff-assign-"]) button { min-height: 44px; max-width: 100%; white-space: normal; }
}
@media screen and (max-width: 600px) {
  #main-portal-header .header-actions.mobile-open { box-sizing: border-box; overflow-y: auto; justify-content: flex-start; padding: max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom)); }
  #generator-view .form-grid, #database-view .database-filters { grid-template-columns: minmax(0, 1fr); }
  #database-view .exercise-grid { grid-template-columns: minmax(0, 1fr); }
  #database-view .exercise-card-header { flex-wrap: wrap; }
  #database-view .exercise-card-title { overflow-wrap: anywhere; }
  #database-view .exercise-actions > * { flex: 1 1 100%; width: 100%; }
  #editor-view > div:first-child > div:last-child .btn { flex: 1 1 140px; }
  #new-pending-client-modal .form-grid { grid-template-columns: minmax(0, 1fr) !important; }
  #intake-sheet-modal :is(.intake-modal-controls, .intake-modal-actions) { flex-wrap: wrap; gap: 8px; }
  #archive-view .clients-sidebar { max-height: 35dvh; overflow-y: auto; }
}
