/* PE-Class v1.15.91 — iPad home viewport lock
 * Scope: authenticated Home dashboard on iPad only.
 * The page itself is fixed to the visual viewport; dashboard lists keep their
 * own scroll containers so no content can increase the page height.
 */
@media (min-width: 720px) and (max-width: 1366px) {
  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide),
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp {
    position: fixed !important;
    inset: 0 !important;
    display: grid !important;
    grid-template-rows: max-content max-content minmax(0, 1fr) !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp .pe87Top,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp .pe87Top {
    position: relative !important;
    top: auto !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    transform: none !important;
    -webkit-transform: none !important;
  }

  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp .mobileTabBar,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp .mobileTabBar {
    grid-row: 2 !important;
  }

  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp .pe87Shell,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp .pe87Shell {
    grid-row: 3 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    margin-top: 0 !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp .pe87Main,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp .pe87Main,
  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp #app,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp #app {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp .homeDashboard,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp .homeDashboard {
    display: grid !important;
    grid-template-rows: clamp(220px, 31vh, 280px) 90px minmax(0, 1fr) !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp .homeDashboardGrid,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp .homeDashboardGrid {
    align-self: stretch !important;
    align-items: stretch !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp .homeDashboardCard,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp .homeDashboardCard,
  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp .homeScheduleColumns,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp .homeScheduleColumns,
  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp .homeSchedulePane,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp .homeSchedulePane {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp .homeSportsCard,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp .homeSportsCard {
    align-self: stretch !important;
    display: grid !important;
    grid-template-rows: max-content minmax(0, 1fr) !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp .homeTodayList,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp .homeTodayList,
  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp .homeUpcomingList,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp .homeUpcomingList,
  html.homeDashboardViewport.pe87Ipad:not(.pe87FoldWide) body.homeDashboardApp .homeSportsList,
  html.homeDashboardViewport.pe87IpadRuntime:not(.pe87FoldWide) body.homeDashboardApp .homeSportsList {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y !important;
    scrollbar-gutter: stable;
  }
}
