/* PPS 2.140 — jeden kontrakt przewijania tabel na desktopie i urządzeniach dotykowych. */
.pps-scroll-surface,.league-table-wrap,.qualification-table-scroll,.polish-league-table-wrap,.club-rivalry-scroll{min-width:0;max-width:100%;overflow:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-gutter:stable}
.season-watch-table,.season-dashboard-tab-panel{min-width:0;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
@media(max-width:760px){.pps-scroll-surface,.league-table-wrap,.qualification-table-scroll,.polish-league-table-wrap,.club-rivalry-scroll{scroll-snap-type:none}.league-table-wrap:focus-visible,.qualification-table-scroll:focus-visible,.polish-league-table-wrap:focus-visible,.club-rivalry-scroll:focus-visible{outline:2px solid var(--theme-primary,var(--red));outline-offset:-2px}}

/* Horizontal table wrappers pass vertical gestures to the enclosing reading panel. */
.preseason-report-popup-body .league-intelligence-table-wrap,
.club-rivalry-scroll,.league-table-wrap,.qualification-table-scroll{overscroll-behavior-y:auto}
/* A schedule has one vertical scroll owner, shared by gesture and auto-follow. */
body .season-watch-surface .season-watch-schedule-panel{overflow:auto;touch-action:pan-x pan-y}
body .season-watch-surface .season-watch-schedule-panel>.season-watch-results{height:auto;min-height:100%;max-height:none;overflow:visible}
body .season-watch-surface .season-watch-cup-match-cards{max-height:none;overflow:visible}

/* Match lists grow in normal flow; the surrounding panel owns scrolling. */
body:is(.pps-compact-ui,body) .season-watch-surface .season-watch-layout{height:auto;min-width:0}
body .season-watch-surface .season-watch-schedule-panel{scroll-padding-block:8px;overflow-anchor:none}
body:is(.pps-compact-ui,body) .season-watch-surface .season-watch-schedule-panel>.season-watch-results{
  display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;
  height:auto;min-height:100%;max-height:none;overflow:visible;box-sizing:border-box;padding-bottom:12px
}
body:is(.pps-compact-ui,body) .season-watch-surface .season-watch-results>.season-watch-result{
  flex:0 0 auto;min-width:0;max-width:100%;height:auto;max-height:none;overflow:visible
}
body .season-watch-surface .season-watch-cup-match-cards{grid-auto-rows:max-content;align-content:start;padding-bottom:12px}
body .squad-calendar-list{grid-auto-rows:max-content;align-content:start;padding-bottom:12px}

/* End-of-season lists share the summary's vertical scroll. A nested list with
   height:100% or a viewport-sized cap can end underneath the fixed navigation. */
body:is(.pps-compact-ui,body) .season-watch-surface.is-summary .season-watch-summary{
  min-height:0;height:100%;overflow:auto;scroll-padding-block:8px 16px;
  touch-action:pan-x pan-y;overflow-anchor:none
}
body:is(.pps-compact-ui,body) .season-watch-surface.is-summary .season-watch-summary-dashboard{
  height:auto;min-height:0;max-height:none;overflow:visible;padding-bottom:16px
}
body:is(.pps-compact-ui,body) .season-watch-surface.is-summary .season-watch-results{
  height:auto;min-height:0;max-height:none;overflow:visible;flex-wrap:nowrap;
  justify-content:flex-start;overscroll-behavior-y:auto
}
