/* A definite rows viewport breaks the loading/grid/pagination height feedback.
   Scope to the contest list; detail pages and every other workspace keep theirs. */
html body[data-view="contests"] #main .contests15 .contest-table15 {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  transition: none !important;
}
html body[data-view="contests"] #main .contests15 #contestRows15 {
  box-sizing: border-box !important;
  grid-template-rows: repeat(var(--contest-rows16, 1), minmax(0, 1fr)) !important;
  flex: 0 0 auto !important;
  height: clamp(156px, calc(100dvh - 540px), 468px) !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  transition: none !important;
}
html body[data-view="contests"] #main .contests15 #contestRows15 > :is(.cogo-loading2881, .empty9) {
  grid-column: 1 / -1 !important;
  grid-row: 1 / -1 !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 14px !important;
  box-sizing: border-box !important;
  overflow: auto;
}
html body[data-view="contests"] #main .contests15 #contestRows15 .cogo-loading-card2881 {
  padding: 16px 20px;
}
@media (max-width: 600px) {
  html body[data-view="contests"] #main .contests15 #contestRows15 {
    height: clamp(216px, calc(100dvh - 560px), 324px) !important;
  }
}
