/*!
Theme Name: Designocracy Child
Theme URI: https://elementor.com/hello-theme/
Description: Lightweight Elementor child theme
Author: DC Team
Version: 2.7.1
Template: designocracy
*/

/* =========================================================
   CSS VARIABLES
========================================================= */
:root {
    --primary: #75254B;
    --secondary: #90CAF9;
    --favorite: #FF4BCE;
    --light-bg: #D1e1D0;
    --dark: #000;
    --border-light: #fff;
}

/* =========================================================
   GLOBAL SCROLLBAR STYLES
========================================================= */
::-webkit-scrollbar {
    width: 1px !important;
}

::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px grey;
    border-radius: 10px;
    background: var(--light-bg);
    height: 6px;
}

::-webkit-scrollbar-thumb {
    background: var(--primary);
    border-radius: 14px;
    width: 60px;
    border: 6px solid var(--light-bg);
}

::-webkit-scrollbar-thumb:hover {
    background: red;
}

/* =========================================================
   COMMON UTILITIES
========================================================= */
.icon-1,
.icon-2 {
    display: none;
}

.icon-1,
.icon-2,
tr.favorite .icon-1,
tr.watchlist .icon-2 {
    width: 20px;
    margin-left: 10px;
}

tr.favorite .icon-1,
tr.watchlist .icon-2 {
    display: inline-block;
}

.btn {
    display: inline-flex;
    padding: 10px 20px;
    border: 1px solid var(--border-light);
}

.btn.favorite,
tr.favorite { background: var(--favorite); }
.btn.watchlist,
tr.watchlist { background: var(--secondary); }

.btn2 { margin-top: 10px; }

/* =========================================================
   ALPHABET FILTER
========================================================= */
.alphabet-filter {
    display: flex;
    flex-wrap: wrap;
    margin: 10px 0;
}

.alphabet-filter span {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    margin: 8px;
    cursor: pointer;
    background: #e0e0e0;
    color: blue;
    border-radius: 4px;
    white-space: nowrap;
    transition: background-color .3s, color .3s;
}

.alphabet-filter span:hover,
.alphabet-filter .active {
    background: var(--primary);
    color: #fff;
    text-decoration: underline;
}

/* =========================================================
   LAYOUT
========================================================= */
.page-wrapper {
    margin: 0 auto;
    padding: 70px 20px;
    position: relative;
}

.events-wrapper,
.stats-wrapper {
    display: flex;
    position: relative;
}

.left-sidebar {
    width: 300px !important;
    min-width: 300px;
    height: 70vh;
    overflow: auto;
}

/* =========================================================
   HEADERS / SEARCH
========================================================= */
.page-header {
    display: flex;
    padding-bottom: 20px;
}

.page-header h2 {
    width: 100%;
    margin: 0;
}

.page-header .search-bar {
    background: transparent;
    border: 0;
    border-bottom: 3px solid #fff;
    color: #fff;
    width: 300px;
}

.page-header input:focus {
    outline: none;
}

/* =========================================================
   TABLES
========================================================= */
.main-data th,
.main-data td,
.event-main-data th,
.event-main-data td {
    padding: 11px;
}

.hz-responsive-table,
.event-main-data,
.bid-predictions-table,
.main-data {
    overflow-x: auto;
}

table#leaderboard-table th:nth-child(1) { width: 50px !important; }
table#leaderboard-table th:nth-child(2),
table#leaderboard-table th:nth-child(3) { width: 250px !important; }
table#leaderboard-table th:nth-child(4) { width: 300px !important; }

/* =========================================================
   PROGRAM / EVENT LISTS
========================================================= */
.event-name,
.program-name,
.bid-event-name {
    cursor: pointer;
}

.event-name.active,
.program-name.active,
.bid-event-name.active {
    background: var(--primary);
}

.event-title,
.program-title {
    border: 1px solid #2f2929;
    padding: 10px;
}

.event-name:hover .event-title,
.program-name:hover .program-title {
    background: #2f2f2f;
}

.event-title h2,
.program-title h2 {
    margin: 0;
}

/* =========================================================
   FAVORITE / WATCHLIST
========================================================= */
tr.favorite { color: var(--favorite); }
tr.watchlist { color: var(--secondary); }

td.Paid {
    color: #fff;
    text-shadow:
        #fff 0 0 5px,
        #FF2D95 0 0 20px,
        #FF2D95 0 0 40px;
}

/* =========================================================
   FILTERS / SELECTS
========================================================= */
.rank-filter,
.search-container {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rank-filter select,
.hz-select-wrap select,
.dataTables_length select {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #fff;
    color: #fff;
}

/* =========================================================
   PAGINATION
========================================================= */
.dataTables_paginate {
    margin: 10px 0;
}

.dataTables_paginate .paginate_button {
    padding: 5px;
    margin-right: 5px;
    border: 1px solid #ccc;
    background: var(--secondary);
    color: #000;
}

.dataTables_paginate .paginate_button.current {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

/* =========================================================
   MOBILE & TABLET
========================================================= */
@media (max-width: 990px) {
    .events-wrapper,
    .stats-wrapper {
        display: block;
    }

    .left-sidebar {
        width: 100% !important;
        height: auto;
    }

    .alphabet-filter {
        flex-wrap: nowrap;
        overflow-x: auto;
    }

    .rank-filter {
        flex-direction: column;
        align-items: flex-start;
    }

    .rank-filter select {
        min-width: 175px;
        font-size: 12px;
    }
}

@media (max-width: 767px) {
    .page-header {
        flex-wrap: wrap;
        gap: 18px;
    }

    .page-header h2 {
        font-size: 22px;
    }

    .search-container img {
        width: 18px;
        margin-left: -20px;
    }

    #leaderboard-table {
        display: block;
        overflow-x: auto;
    }
}

@media (max-width: 414px) {
    tr.program-header {
        text-align: left;
    }
}

/* =========================================================
   DATATABLES – SHOW ENTRIES & SEARCH INLINE FIX
========================================================= */

/* Container alignment */
#leaderboard-table_length,
#leaderboard-table_filter,
#program-class_length,
#program-class_filter,
#favorite-table_length,
#favorite-table_filter,
#watchlist-table_length,
#watchlist-table_filter {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}

/* Hide default label text */
#leaderboard-table_length label,
#leaderboard-table_filter label {
    font-size: 0;
    display: flex;
    align-items: center;
}

/* Custom label text */
#leaderboard-table_length label::before {
    content: "Show Entries";
    font-size: 16px;
    margin-right: 10px;
    color: #fff;
}

#leaderboard-table_filter label::before {
    content: "Search";
    font-size: 16px;
    margin-right: 10px;
    color: #fff;
}

/* Dropdown (Show Entries) */
#leaderboard-table_length select,
#program-class_length select,
#favorite-table_length select,
#watchlist-table_length select {
    background: #fff;
    color: #000;
    border: 1px solid #ccc;
    padding: 4px 8px;
    border-radius: 3px;
}

/* Dropdown options */
#leaderboard-table_length select option,
#program-class_length select option,
#favorite-table_length select option,
#watchlist-table_length select option {
    color: #000;
    background: #fff;
}

/* Search input */
#leaderboard-table_filter input,
#program-class_filter input,
#favorite-table_filter input,
#watchlist-table_filter input {
    background: #fff;
    color: #000;
    border: 1px solid #ccc;
    padding: 4px 8px;
    border-radius: 3px;
    width: 400px;
}

/* Keep search input inline */
#leaderboard-table_filter label,
#program-class_filter label,
#favorite-table_filter label,
#watchlist-table_filter label {
    display: flex;
    align-items: center;
}

/* ==========================================================================
   Preferences highlighting (Favorites / Watchlist) - CLEAN (v1)
   - Standardize on .is-favorite / .is-watchlist everywhere
   - Bid List + Leaderboards2: overlay sweep on the row/card container
   - Favorites/Watchlist tables: animate per-cell backgrounds so it never bleeds
   - Preserves existing page/row backgrounds (including dark themes)
   ========================================================================== */

/* --- 1) Cards/Rows (Bid List, Leaderboards2, other non-table containers) --- */
.dc-bid-item.is-favorite,
.dc-bid-item.is-watchlist,
.dc-bid-card.is-favorite,
.dc-bid-card.is-watchlist,
.dc-lb2-row.is-favorite,
.dc-lb2-row.is-watchlist,
.is-favorite.dc-bid-item,
.is-watchlist.dc-bid-item,
.is-favorite.dc-lb2-row,
.is-watchlist.dc-lb2-row {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  will-change: transform, box-shadow, filter;
}

/* Overlay sweep on container */
.dc-bid-item.is-favorite::after,
.dc-bid-item.is-watchlist::after,
.dc-bid-card.is-favorite::after,
.dc-bid-card.is-watchlist::after,
.dc-lb2-row.is-favorite::after,
.dc-lb2-row.is-watchlist::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  border-radius: inherit;
  background-size: 280% 100%;
  background-position: 0% 50%;
  mix-blend-mode: screen; /* pops on dark backgrounds */
  will-change: background-position, opacity, filter;
}

/* Keep content above overlay */
.dc-bid-item.is-favorite > *,
.dc-bid-item.is-watchlist > *,
.dc-bid-card.is-favorite > *,
.dc-bid-card.is-watchlist > *,
.dc-lb2-row.is-favorite > *,
.dc-lb2-row.is-watchlist > * {
  position: relative;
  z-index: 3;
}

/* Favorite container overlay */
.dc-bid-item.is-favorite::after,
.dc-bid-card.is-favorite::after,
.dc-lb2-row.is-favorite::after {
  opacity: .62;
  background-image: linear-gradient(
    90deg,
    rgba(220, 20, 60, 0.00) 0%,
    rgba(220, 20, 60, 0.16) 18%,
    rgba(255, 60, 110, 0.50) 45%,
    rgba(255, 60, 110, 0.30) 55%,
    rgba(220, 20, 60, 0.16) 82%,
    rgba(220, 20, 60, 0.00) 100%
  );
  animation: dcPrefSweepFav 1.70s ease-in-out infinite;
  filter: saturate(1.25);
}

/* Watchlist container overlay */
.dc-bid-item.is-watchlist::after,
.dc-bid-card.is-watchlist::after,
.dc-lb2-row.is-watchlist::after {
  opacity: .58;
  background-image: linear-gradient(
    90deg,
    rgba(30, 144, 255, 0.00) 0%,
    rgba(30, 144, 255, 0.14) 18%,
    rgba(70, 180, 255, 0.46) 45%,
    rgba(70, 180, 255, 0.26) 55%,
    rgba(30, 144, 255, 0.14) 82%,
    rgba(30, 144, 255, 0.00) 100%
  );
  animation: dcPrefSweepWatch 1.95s ease-in-out infinite;
  filter: saturate(1.20);
}

/* Both on container: blended purple */
.dc-bid-item.is-favorite.is-watchlist::after,
.dc-bid-card.is-favorite.is-watchlist::after,
.dc-lb2-row.is-favorite.is-watchlist::after {
  opacity: .60;
  background-image: linear-gradient(
    90deg,
    rgba(220, 20, 60, 0.00) 0%,
    rgba(220, 20, 60, 0.12) 18%,
    rgba(160, 90, 255, 0.55) 50%,
    rgba(30, 144, 255, 0.12) 82%,
    rgba(30, 144, 255, 0.00) 100%
  );
  animation: dcPrefSweepBoth 2.15s ease-in-out infinite;
}

/* Dramatic pulse on containers */
.dc-bid-item.is-favorite,
.dc-bid-card.is-favorite,
.dc-lb2-row.is-favorite { animation: dcPrefPulseFav 1.00s ease-in-out infinite; }

.dc-bid-item.is-watchlist,
.dc-bid-card.is-watchlist,
.dc-lb2-row.is-watchlist { animation: dcPrefPulseWatch 1.10s ease-in-out infinite; }

.dc-bid-item.is-favorite.is-watchlist,
.dc-bid-card.is-favorite.is-watchlist,
.dc-lb2-row.is-favorite.is-watchlist { animation: dcPrefPulseBoth 1.20s ease-in-out infinite; }

/* --- 2) Table rows (Favorites / Watchlist pages) ---
   Row-wide sweep (not per-cell), clipped to the row.
   Requires rows to have .is-favorite / .is-watchlist (templates updated). */

.dc-favorites-page table tbody tr.is-favorite,
.dc-favorites-page table tbody tr.is-watchlist,
.dc-watchlist-page table tbody tr.is-favorite,
.dc-watchlist-page table tbody tr.is-watchlist {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

/* Keep cell content above overlay */
.dc-favorites-page table tbody tr.is-favorite > *,
.dc-favorites-page table tbody tr.is-watchlist > *,
.dc-watchlist-page table tbody tr.is-favorite > *,
.dc-watchlist-page table tbody tr.is-watchlist > * {
  position: relative;
  z-index: 3;
}

/* Row overlay sweep */
.dc-favorites-page table tbody tr.is-favorite::after,
.dc-favorites-page table tbody tr.is-watchlist::after,
.dc-watchlist-page table tbody tr.is-favorite::after,
.dc-watchlist-page table tbody tr.is-watchlist::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  background-size: 280% 100%;
  background-position: 0% 50%;
  mix-blend-mode: screen;
  will-change: background-position, opacity, filter;
}

/* Favorite overlay */
.dc-favorites-page table tbody tr.is-favorite::after,
.dc-watchlist-page table tbody tr.is-favorite::after {
  opacity: .62;
  background-image: linear-gradient(
    90deg,
    rgba(220, 20, 60, 0.00) 0%,
    rgba(220, 20, 60, 0.16) 18%,
    rgba(255, 60, 110, 0.50) 45%,
    rgba(255, 60, 110, 0.30) 55%,
    rgba(220, 20, 60, 0.16) 82%,
    rgba(220, 20, 60, 0.00) 100%
  );
  animation: dcPrefSweepFav 1.70s ease-in-out infinite;
  filter: saturate(1.25);
}

/* Watchlist overlay */
.dc-favorites-page table tbody tr.is-watchlist::after,
.dc-watchlist-page table tbody tr.is-watchlist::after {
  opacity: .58;
  background-image: linear-gradient(
    90deg,
    rgba(30, 144, 255, 0.00) 0%,
    rgba(30, 144, 255, 0.14) 18%,
    rgba(70, 180, 255, 0.46) 45%,
    rgba(70, 180, 255, 0.26) 55%,
    rgba(30, 144, 255, 0.14) 82%,
    rgba(30, 144, 255, 0.00) 100%
  );
  animation: dcPrefSweepWatch 1.95s ease-in-out infinite;
  filter: saturate(1.20);
}

/* Both */
.dc-favorites-page table tbody tr.is-favorite.is-watchlist::after,
.dc-watchlist-page table tbody tr.is-favorite.is-watchlist::after {
  opacity: .60;
  background-image: linear-gradient(
    90deg,
    rgba(220, 20, 60, 0.00) 0%,
    rgba(220, 20, 60, 0.12) 18%,
    rgba(160, 90, 255, 0.55) 50%,
    rgba(30, 144, 255, 0.12) 82%,
    rgba(30, 144, 255, 0.00) 100%
  );
  animation: dcPrefSweepBoth 2.15s ease-in-out infinite;
}

/* Pulse on table rows */
.dc-favorites-page table tbody tr.is-favorite,
.dc-watchlist-page table tbody tr.is-favorite { animation: dcPrefPulseFav 1.00s ease-in-out infinite; }

.dc-favorites-page table tbody tr.is-watchlist,
.dc-watchlist-page table tbody tr.is-watchlist { animation: dcPrefPulseWatch 1.10s ease-in-out infinite; }

.dc-favorites-page table tbody tr.is-favorite.is-watchlist,
.dc-watchlist-page table tbody tr.is-favorite.is-watchlist { animation: dcPrefPulseBoth 1.20s ease-in-out infinite; }

/* --- 3) Keyframes shared --- */
@keyframes dcPrefSweepFav {
  0%   { background-position:   0% 50%; }
  45%  { background-position: 100% 50%; }
  100% { background-position: 100% 50%; }
}
@keyframes dcPrefSweepWatch {
  0%   { background-position:   0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 100% 50%; }
}
@keyframes dcPrefSweepBoth {
  0%   { background-position:   0% 50%; }
  55%  { background-position: 100% 50%; }
  100% { background-position: 100% 50%; }
}

@keyframes dcPrefPulseFav {
  0%,100% { transform: translateZ(0); filter: brightness(1) saturate(1); box-shadow: 0 0 0 rgba(220,20,60,0); }
  50%     { transform: translateZ(0) scale(1.004); filter: brightness(1.12) saturate(1.25); box-shadow: 0 0 24px rgba(255, 70, 120, 0.28); }
}
@keyframes dcPrefPulseWatch {
  0%,100% { transform: translateZ(0); filter: brightness(1) saturate(1); box-shadow: 0 0 0 rgba(30,144,255,0); }
  50%     { transform: translateZ(0) scale(1.004); filter: brightness(1.10) saturate(1.22); box-shadow: 0 0 24px rgba(70, 180, 255, 0.24); }
}
@keyframes dcPrefPulseBoth {
  0%,100% { transform: translateZ(0); filter: brightness(1) saturate(1); box-shadow: 0 0 0 rgba(138,43,226,0); }
  50%     { transform: translateZ(0) scale(1.004); filter: brightness(1.12) saturate(1.25); box-shadow: 0 0 28px rgba(160, 90, 255, 0.26); }
}

/* --- 4) Accessibility --- */
@media (prefers-reduced-motion: reduce) {
  .dc-bid-item.is-favorite,
  .dc-bid-item.is-watchlist,
  .dc-bid-card.is-favorite,
  .dc-bid-card.is-watchlist,
  .dc-lb2-row.is-favorite,
  .dc-lb2-row.is-watchlist,
  .dc-bid-item.is-favorite::after,
  .dc-bid-item.is-watchlist::after,
  .dc-bid-card.is-favorite::after,
  .dc-bid-card.is-watchlist::after,
  .dc-lb2-row.is-favorite::after,
  .dc-lb2-row.is-watchlist::after,
  .dc-favorites-page table tr.is-favorite,
  .dc-favorites-page table tr.is-watchlist,
  .dc-watchlist-page table tr.is-favorite,
  .dc-watchlist-page table tr.is-watchlist,
  .dc-favorites-page table tr.is-favorite td,
  .dc-favorites-page table tr.is-watchlist td,
  .dc-watchlist-page table tr.is-favorite td,
  .dc-watchlist-page table tr.is-watchlist td {
    animation: none !important;
    transform: none !important;
    filter: none !important;
    box-shadow: none !important;
  }
  .dc-bid-item.is-favorite::after,
  .dc-bid-item.is-watchlist::after,
  .dc-bid-card.is-favorite::after,
  .dc-bid-card.is-watchlist::after,
  .dc-lb2-row.is-favorite::after,
  .dc-lb2-row.is-watchlist::after {
    opacity: .18 !important;
  }
}

/* ==========================================================================
   Favorites / Watchlist pages layout (closer to Leaderboards2)
   ========================================================================== */

.dc-favorites-page .dc-pref-grid,
.dc-watchlist-page .dc-pref-grid {
  width: 100%;
  max-width: 100%;
}

.dc-favorites-page .dc-pref-grid-head,
.dc-watchlist-page .dc-pref-grid-head,
.dc-favorites-page .dc-pref-row,
.dc-watchlist-page .dc-pref-row {
  display: grid;
  grid-template-columns: 2.4fr 1.6fr 0.7fr 1.8fr 0.7fr 0.9fr 0.7fr 0.7fr 0.7fr 0.8fr;
  gap: 10px;
  align-items: center;
}

.dc-favorites-page .dc-pref-grid-head,
.dc-watchlist-page .dc-pref-grid-head {
  position: sticky;
  top: 0;
  z-index: 5;
  padding: 10px 12px;
  font-weight: 700;
  opacity: .95;
}

.dc-favorites-page .dc-pref-row,
.dc-watchlist-page .dc-pref-row {
  padding: 12px 12px;
  border-radius: 12px;
  margin: 8px 0;
}

/* Ensure rows don't "shrink" due to container rules */
.dc-favorites-page .page-wrapper,
.dc-watchlist-page .page-wrapper {
  max-width: none !important;
  width: 100% !important;
}

.dc-favorites-page .dc-pref-badges,
.dc-watchlist-page .dc-pref-badges {
  display: inline-flex;
  gap: 8px;
  margin-left: 10px;
  vertical-align: middle;
}

/* Slightly dim less-important numeric columns */
.dc-favorites-page .dc-pref-row .avg,
.dc-favorites-page .dc-pref-row .max,
.dc-favorites-page .dc-pref-row .perf,
.dc-favorites-page .dc-pref-row .ev,
.dc-watchlist-page .dc-pref-row .avg,
.dc-watchlist-page .dc-pref-row .max,
.dc-watchlist-page .dc-pref-row .perf,
.dc-watchlist-page .dc-pref-row .ev {
  opacity: .9;
}

/* Responsive: hide some columns */
@media (max-width: 1100px) {
  .dc-favorites-page .dc-pref-grid-head,
  .dc-watchlist-page .dc-pref-grid-head,
  .dc-favorites-page .dc-pref-row,
  .dc-watchlist-page .dc-pref-row {
    grid-template-columns: 2.4fr 1.6fr 0.7fr 1.8fr 0.7fr 0.9fr;
  }
  .dc-favorites-page .dc-pref-grid-head .avg,
  .dc-favorites-page .dc-pref-grid-head .max,
  .dc-favorites-page .dc-pref-grid-head .perf,
  .dc-favorites-page .dc-pref-grid-head .ev,
  .dc-watchlist-page .dc-pref-grid-head .avg,
  .dc-watchlist-page .dc-pref-grid-head .max,
  .dc-watchlist-page .dc-pref-grid-head .perf,
  .dc-watchlist-page .dc-pref-grid-head .ev,
  .dc-favorites-page .dc-pref-row .avg,
  .dc-favorites-page .dc-pref-row .max,
  .dc-favorites-page .dc-pref-row .perf,
  .dc-favorites-page .dc-pref-row .ev,
  .dc-watchlist-page .dc-pref-row .avg,
  .dc-watchlist-page .dc-pref-row .max,
  .dc-watchlist-page .dc-pref-row .perf,
  .dc-watchlist-page .dc-pref-row .ev {
    display: none;
  }
}

/* === Favorites/Watchlist controls (Year + Sort) === */
.dc-favorites-page .dc-pref-controls,
.dc-watchlist-page .dc-pref-controls {
  display: flex;
  gap: 14px;
  align-items: flex-end;
  flex-wrap: wrap;
  margin: 10px 0 14px;
}

.dc-favorites-page .dc-pref-controls .dc-filter,
.dc-watchlist-page .dc-pref-controls .dc-filter {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.dc-favorites-page .dc-pref-controls label,
.dc-watchlist-page .dc-pref-controls label {
  font-size: 12px;
  opacity: .85;
}

.dc-favorites-page .dc-pref-controls .dc-select,
.dc-watchlist-page .dc-pref-controls .dc-select {
  min-width: 190px;
  padding: 9px 10px;
  border-radius: 10px;
}

/* === Prefs filters: match Leaderboards select styling === */
.dc-favorites-page .dc-pref-controls .dc-select,
.dc-watchlist-page .dc-pref-controls .dc-select {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #fff;
  color: #fff;
  border-radius: 0;
  padding: 6px 2px;
  outline: none;
}

/* Make the dropdown list readable on dark theme */
.dc-favorites-page .dc-pref-controls .dc-select option,
.dc-watchlist-page .dc-pref-controls .dc-select option {
  background: #0f0f12;
  color: #fff;
}

/* Focus state similar to Leaderboards */
.dc-favorites-page .dc-pref-controls .dc-select:focus,
.dc-watchlist-page .dc-pref-controls .dc-select:focus {
  border-bottom-color: #FF2D95;
}

/* === Prefs rows clickable === */
.dc-favorites-page .dc-pref-row,
.dc-watchlist-page .dc-pref-row {
  cursor: pointer;
}
.dc-favorites-page .dc-pref-row:hover,
.dc-watchlist-page .dc-pref-row:hover {
  filter: brightness(1.08);
}

/* === Stats page LB2 controls + row highlighting === */
.dc-stats-wrap .dc-lb2-top {
  display: flex;
  gap: 16px;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.dc-stats-wrap .dc-lb2-search {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,0.06);
  width: min(520px, 100%);
}

.dc-stats-wrap .dc-lb2-search input {
  width: 100%;
  background: transparent;
  border: 0;
  outline: none;
  color: #fff;
}

.dc-stats-wrap .dc-lb2-card {
  background: rgba(255,255,255,0.03);
  border-radius: 16px;
  padding: 12px 12px 6px;
}

/* === Scores page (match Stats/Leaderboards2 look) === */
.dc-scores-wrap .dc-lb2-top {
  display: flex;
  gap: 16px;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.dc-scores-wrap .dc-lb2-search {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  height: 44px;
  border-radius: 14px;
  background: rgba(255,255,255,0.06);
  width: min(520px, 100%);
}

.dc-scores-wrap .dc-lb2-search input {
  width: 100%;
  background: transparent;
  border: 0;
  outline: none;
  color: #fff;
}

.dc-scores-wrap .dc-lb2-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 12px 12px 6px;
}

.dc-scores-wrap .dataTables_footer {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 10px 4px 6px;
}

/* Row highlight for is-favorite / is-watchlist in scores table */
#scores-class tbody tr.is-favorite td,
#scores-class tbody tr.is-watchlist td {
  background-repeat: no-repeat;
  background-size: 280% 100%;
  background-position: 0% 50%;
  background-attachment: fixed;
}

#scores-class tbody tr.is-favorite td {
  background-image: linear-gradient(
    90deg,
    rgba(220, 20, 60, 0.00) 0%,
    rgba(220, 20, 60, 0.16) 18%,
    rgba(255, 60, 110, 0.50) 45%,
    rgba(255, 60, 110, 0.30) 55%,
    rgba(220, 20, 60, 0.16) 82%,
    rgba(220, 20, 60, 0.00) 100%
  );
  animation: dcPrefSweepFav 1.70s ease-in-out infinite;
}

#scores-class tbody tr.is-watchlist td {
  background-image: linear-gradient(
    90deg,
    rgba(30, 144, 255, 0.00) 0%,
    rgba(30, 144, 255, 0.14) 18%,
    rgba(70, 180, 255, 0.46) 45%,
    rgba(70, 180, 255, 0.26) 55%,
    rgba(30, 144, 255, 0.14) 82%,
    rgba(30, 144, 255, 0.00) 100%
  );
  animation: dcPrefSweepWatch 1.95s ease-in-out infinite;
}

#scores-class tbody tr.is-favorite.is-watchlist td {
  background-image: linear-gradient(
    90deg,
    rgba(220, 20, 60, 0.00) 0%,
    rgba(220, 20, 60, 0.12) 18%,
    rgba(160, 90, 255, 0.55) 50%,
    rgba(30, 144, 255, 0.12) 82%,
    rgba(30, 144, 255, 0.00) 100%
  );
  animation: dcPrefSweepBoth 2.15s ease-in-out infinite;
}

/* Make DataTables footer align */
.dc-stats-wrap .dataTables_footer {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 10px 4px 6px;
}

/* Row highlight for is-favorite / is-watchlist in stats table (continuous look) */
#program-class tbody tr.is-favorite td,
#program-class tbody tr.is-watchlist td {
  background-repeat: no-repeat;
  background-size: 280% 100%;
  background-position: 0% 50%;
  background-attachment: fixed; /* makes the sweep feel continuous across cells */
}

#program-class tbody tr.is-favorite td {
  background-image: linear-gradient(
    90deg,
    rgba(220, 20, 60, 0.00) 0%,
    rgba(220, 20, 60, 0.16) 18%,
    rgba(255, 60, 110, 0.50) 45%,
    rgba(255, 60, 110, 0.30) 55%,
    rgba(220, 20, 60, 0.16) 82%,
    rgba(220, 20, 60, 0.00) 100%
  );
  animation: dcPrefSweepFav 1.70s ease-in-out infinite;
}

#program-class tbody tr.is-watchlist td {
  background-image: linear-gradient(
    90deg,
    rgba(30, 144, 255, 0.00) 0%,
    rgba(30, 144, 255, 0.14) 18%,
    rgba(70, 180, 255, 0.46) 45%,
    rgba(70, 180, 255, 0.26) 55%,
    rgba(30, 144, 255, 0.14) 82%,
    rgba(30, 144, 255, 0.00) 100%
  );
  animation: dcPrefSweepWatch 1.95s ease-in-out infinite;
}

#program-class tbody tr.is-favorite.is-watchlist td {
  background-image: linear-gradient(
    90deg,
    rgba(220, 20, 60, 0.00) 0%,
    rgba(220, 20, 60, 0.12) 18%,
    rgba(160, 90, 255, 0.55) 50%,
    rgba(30, 144, 255, 0.12) 82%,
    rgba(30, 144, 255, 0.00) 100%
  );
  animation: dcPrefSweepBoth 2.15s ease-in-out infinite;
}

/* Click affordance */
#program-class tbody tr { cursor: pointer; }
#program-class tbody tr:hover { filter: brightness(1.06); }

/* === Stats selects match LB2 (fix white dropdowns) === */
.dc-stats-wrap .rank-filter select,
.dc-stats-wrap .hz-select-wrap select,
.dc-stats-wrap .dataTables_length select,
.dc-stats-wrap select#dcStatsYear,
.dc-stats-wrap select#dcStatsDivision,
.dc-stats-wrap select#dcStatsProgramType,
.dc-stats-wrap select#dcStatsBid,
.dc-stats-wrap select#dcStatsPerPage {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #fff !important;
  color: #fff !important;
  border-radius: 0 !important;
  outline: none !important;
}

.dc-stats-wrap .rank-filter select option,
.dc-stats-wrap .hz-select-wrap select option,
.dc-stats-wrap .dataTables_length select option,
.dc-stats-wrap select option {
  background: #0f0f12 !important;
  color: #fff !important;
}

/* Layout: match Leaderboards2 control row spacing */
.dc-stats-wrap .dc-stats-controls .dc-filter-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(160px, 1fr));
  gap: 14px;
  align-items: end;
}

@media (max-width: 1100px) {
  .dc-stats-wrap .dc-stats-controls .dc-filter-grid {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }
}

/* === Stat page: event cards (All Scores) === */
.dc-stat-events{margin-top:18px;}
.dc-stat-events-title{font-size:18px;margin:16px 0 10px;}
.dc-event-card{border-radius:16px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);overflow:hidden;margin:12px 0;}
.dc-event-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:rgba(0,0,0,0.30);border-bottom:1px solid rgba(255,255,255,0.08);}
.dc-event-card-title{font-weight:800;font-size:14px;}
.dc-event-card-meta{opacity:.75;font-size:12px;white-space:nowrap;}
.dc-event-card-body{padding:10px 12px 12px;}
.dc-event-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.dc-event-table{width:100%;min-width:980px;border-collapse:collapse;}
.dc-event-table th,.dc-event-table td{padding:10px 10px;border-bottom:1px solid rgba(255,255,255,0.08);font-size:12px;white-space:nowrap;}
.dc-event-table th{font-weight:700;opacity:.9;}
.dc-video-link{color:#fff;text-decoration:underline;}
.dc-video-none{opacity:.6;}

/* === Stat page: team card === */
.dc-stat-overview{
  display: flex;
  gap: 16px;
  align-items: stretch;
  margin-top: 12px;
}

.dc-stat-overview > .dc-team-card,
.dc-stat-overview > .dc-stat-chart-card{
  flex: 1 1 50%;
  width: 50%;
  min-width: 0;
}

.dc-team-card{
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  overflow: hidden;
  margin: 0;
}

.dc-stat-chart-card{
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.dc-stat-chart-head{
  padding: 14px 14px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.25);
}

.dc-stat-chart-title{
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .01em;
}

.dc-stat-chart-wrap{
  position: relative;
  padding: 10px 12px 12px;
}

.dc-stat-chart-svg{
  width: 100%;
  height: auto;
  display: block;
}

.dc-chart-grid-line{
  stroke: rgba(255,255,255,0.12);
  stroke-width: 1;
}

.dc-chart-grid-vertical{
  stroke-opacity: .55;
}

.dc-chart-axis-line{
  stroke: rgba(255,255,255,0.32);
  stroke-width: 1.2;
}

.dc-chart-axis-label{
  fill: rgba(255,255,255,0.72);
  font-size: 10px;
  font-weight: 600;
}

.dc-chart-axis-title{
  fill: rgba(255,255,255,0.9);
  font-size: 11px;
  font-weight: 700;
}

.dc-chart-legend-label{
  fill: rgba(255,255,255,0.86);
  font-size: 11px;
  font-weight: 700;
}

.dc-chart-point{
  cursor: pointer;
  transition: filter .08s ease, stroke-width .08s ease;
}

.dc-chart-point:hover{
  stroke: #fff;
  stroke-width: 1.8;
  filter: brightness(1.08);
}

.dc-chart-tooltip{
  --dc-tooltip-arrow-x: 50%;
  position: absolute;
  left: -9999px;
  top: -9999px;
  z-index: 3;
  pointer-events: none;
  min-width: 180px;
  max-width: 280px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(12,16,26,0.96);
  box-shadow: 0 10px 24px rgba(0,0,0,0.35);
  opacity: 0;
  transform: translateY(2px);
  transition: opacity .08s ease, transform .08s ease;
}

.dc-chart-tooltip.is-visible{
  opacity: 1;
  transform: translateY(0);
}

.dc-chart-tooltip::after{
  content: "";
  position: absolute;
  left: var(--dc-tooltip-arrow-x);
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
}

.dc-chart-tooltip.is-top::after{
  top: 100%;
  border-top: 8px solid rgba(12,16,26,0.96);
}

.dc-chart-tooltip.is-bottom::after{
  bottom: 100%;
  border-bottom: 8px solid rgba(12,16,26,0.96);
}

.dc-chart-tooltip-line{
  font-size: 11.5px;
  line-height: 1.45;
  color: rgba(255,255,255,0.95);
  white-space: normal;
}

.dc-chart-tooltip-line + .dc-chart-tooltip-line{
  margin-top: 1px;
}

.dc-stat-chart-empty{
  padding: 18px 14px 20px;
  opacity: .75;
  font-size: 12px;
}

.dc-team-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 14px;
  padding: 14px 14px 12px;
  background: rgba(0,0,0,0.25);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  flex-wrap: wrap;
}

.dc-team-card-title{min-width: 260px;}
.dc-team-card-line1{
  display:flex;
  align-items:baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.dc-team-program{font-weight: 900; font-size: 16px;}
.dc-team-name{font-weight: 800; font-size: 15px; opacity: .92;}
.dc-team-year{font-weight: 800; font-size: 13px; opacity: .78;}
.dc-dot{opacity:.45;}

.dc-team-card-line2{
  margin-top: 6px;
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  opacity: .85;
  font-size: 12.5px;
}

.dc-team-card-actions{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content:flex-end;
}

.dc-team-card-metrics{
  display:grid;
  grid-template-columns: repeat(4, minmax(110px, 1fr));
  gap: 10px;
  padding: 12px 14px 14px;
}

.dc-metric{
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 10px 12px;
}

.dc-metric-k{
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .75;
  margin-bottom: 6px;
}
.dc-metric-v{
  font-size: 18px;
  font-weight: 900;
}

@media (max-width: 720px){
  .dc-stat-overview{
    flex-direction: column;
  }
  .dc-stat-overview > .dc-team-card,
  .dc-stat-overview > .dc-stat-chart-card{
    width: 100%;
    flex-basis: auto;
  }
  .dc-team-card-metrics{grid-template-columns: repeat(2, minmax(0, 1fr));}
}

/* === Stat page: action toggles above card === */
.dc-stat-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin: 10px 0 10px;
}

.dc-pref-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.04);
  color:#fff;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.01em;
  transition: transform .12s ease, filter .12s ease, background .12s ease, border-color .12s ease;
}

.dc-pref-toggle:hover{filter:brightness(1.08); transform: translateY(-1px);}
.dc-pref-toggle:active{transform: translateY(0);}

.dc-pref-ico{font-size:14px; line-height:1;}
.dc-pref-label{font-size:12.5px; opacity:.95;}

.dc-pref-toggle-fav.favorite{
  background: rgba(255,70,90,0.16);
  border-color: rgba(255,70,90,0.35);
}

.dc-pref-toggle-watch.watchlist{
  background: rgba(90,170,255,0.16);
  border-color: rgba(90,170,255,0.35);
}

/* === Stat page: labeled chips for Division/Bid/Program Type === */
.dc-team-card-line2{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.dc-info-chip{
  display:flex;
  gap:8px;
  align-items:baseline;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
}

.dc-info-chip .k{
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .70;
  font-weight: 800;
}

.dc-info-chip .v{
  font-size: 12.5px;
  font-weight: 800;
  opacity: .95;
}

/* === Stat page: cleaner metrics row === */
.dc-team-card-metrics{
  display:flex;
  gap: 0;
  padding: 10px 14px 14px;
}

.dc-team-card-metrics .dc-metric{
  flex: 1 1 0;
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(255,255,255,0.08);
  border-radius: 0;
  padding: 6px 10px;
}

.dc-team-card-metrics .dc-metric:last-child{ border-right: 0; }

.dc-team-card-metrics .dc-metric-k{
  margin-bottom: 4px;
  font-size: 10.5px;
  opacity: .70;
}

.dc-team-card-metrics .dc-metric-v{
  font-size: 18px;
  font-weight: 900;
}

@media (max-width: 720px){
  .dc-team-card-metrics{flex-wrap:wrap; gap:10px;}
  .dc-team-card-metrics .dc-metric{
    border-right:0;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
    background: rgba(255,255,255,0.04);
    padding: 10px 12px;
    flex: 1 1 calc(50% - 10px);
  }
}

/* === Stat page: metric chips === */
.dc-team-card-metrics{
  margin-top: 10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding: 0 14px 14px;
}

.dc-info-chip.dc-metric-chip .v{
  font-size: 14px;
  font-weight: 900;
}

/* === Stat page: uniform event tables === */
.dc-event-table{
  width: 100%;
  min-width: 1180px;          /* keeps all event tables same visual width */
  table-layout: fixed;        /* consistent column sizing across events */
}

.dc-event-table th,
.dc-event-table td{
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Column widths (apply consistently) */
.dc-event-table th:nth-child(1),
.dc-event-table td:nth-child(1){ width: 240px; }  /* Event Division */
.dc-event-table th:nth-child(2),
.dc-event-table td:nth-child(2){ width: 70px; }   /* Rank */
.dc-event-table th:nth-child(3),
.dc-event-table td:nth-child(3){ width: 110px; }  /* Raw Score */
.dc-event-table th:nth-child(4),
.dc-event-table td:nth-child(4){ width: 110px; }  /* Deductions */
.dc-event-table th:nth-child(5),
.dc-event-table td:nth-child(5){ width: 110px; }  /* Perf Score */
.dc-event-table th:nth-child(6),
.dc-event-table td:nth-child(6){ width: 120px; }  /* Event Score */
.dc-event-table th:nth-child(7),
.dc-event-table td:nth-child(7){ width: 120px; }  /* Day */
.dc-event-table th:nth-child(8),
.dc-event-table td:nth-child(8){ width: 120px; }  /* Event Dates */
.dc-event-table th:nth-child(9),
.dc-event-table td:nth-child(9){ width: 110px; }  /* Video */


/* === Local SVG icons (fav.svg / watch.svg) === */
.dc-icon{
  width: 16px;
  height: 16px;
  display:inline-block;
  vertical-align: -2px;
  background-color: rgba(255,255,255,0.92);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  mask-size: contain;
  -webkit-mask-size: contain;
  transition: background-color .18s ease, filter .18s ease, transform .18s ease;
}
.dc-icon-fav{
  mask-image: url('fav.svg');
  -webkit-mask-image: url('fav.svg');
}
.dc-icon-watch{
  mask-image: url('watch.svg');
  -webkit-mask-image: url('watch.svg');
}

/* Slightly larger icons in toggle buttons */
.dc-pref-toggle .dc-icon{
  width: 18px;
  height: 18px;
  vertical-align: -3px;
}

/* Keep icons aligned in pills */
.dc-pill.dc-pref-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

/* Hover color transitions */
.dc-pref-toggle-fav:hover .dc-icon,
.dc-pill.dc-pref-fav:hover .dc-icon{
  background-color: rgba(255,70,90,0.98);
  transform: translateY(-1px);
}
.dc-pref-toggle-watch:hover .dc-icon,
.dc-pill.dc-pref-watch:hover .dc-icon{
  background-color: rgba(90,170,255,0.98);
  transform: translateY(-1px);
}

/* Active states */
.dc-pref-toggle-fav.favorite .dc-icon,
.is-favorite .dc-pill.dc-pref-fav .dc-icon{
  background-color: rgba(255,70,90,0.98);
}
.dc-pref-toggle-watch.watchlist .dc-icon,
.is-watchlist .dc-pill.dc-pref-watch .dc-icon{
  background-color: rgba(90,170,255,0.98);
}

/* ===== Scores (Programs list + grouped results) ===== */
.dc-scores-controls-row{
  display:flex;
  align-items:flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.dc-scores-control{
  min-width: 180px;
}

.dc-scores-control-grow{
  flex: 1;
  min-width: min(520px, 100%);
}
.dc-scores-search-inline{
  width: 100%;
}
.dc-scores-search-inline input{
  width: 100%;
  height: 44px;
}

.dc-scores-wrap .dc-filter-block select{
  height: 44px;
}

.dc-scores-split{
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 14px;
  margin-top: 10px;
}

.dc-scores-left{
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255,255,255,0.03);
  min-height: 520px;
  color: #fff;
  display: flex;
  flex-direction: column;
}

.dc-scores-left-head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.dc-scores-program-list{
  flex: 1;
  min-height: 0;
  overflow-y: scroll;
  overflow-x: hidden;
}

/* Visible scrollbar for desktop */
.dc-scores-program-list::-webkit-scrollbar{ width: 10px; }
.dc-scores-program-list::-webkit-scrollbar-track{ background: rgba(255,255,255,0.06); }
.dc-scores-program-list::-webkit-scrollbar-thumb{ background: rgba(255,255,255,0.22); border-radius: 10px; }
.dc-scores-program-list::-webkit-scrollbar-thumb:hover{ background: rgba(255,255,255,0.32); }

.dc-scores-program-list{ scrollbar-color: rgba(255,255,255,0.30) rgba(255,255,255,0.06); scrollbar-width: thin; }

.dc-scores-left-foot{
  padding: 10px 12px;
  border-top: 1px solid rgba(0,0,0,0.10);
}

.dc-prog{
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.dc-prog-btn{
  width: 100%;
  text-align: left;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: inherit;
}

.dc-prog-btn:hover{
  background: rgba(0,0,0,0.04);
}

.dc-prog-btn.is-active{
  background: rgba(0,0,0,0.06);
}

.dc-prog-name{
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
}

.dc-prog-count{
  font-weight: 700;
  opacity: 0.75;
}

.dc-team-list{
  padding: 4px 6px 8px;
}

.dc-team-btn{
  width: 100%;
  text-align: left;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.dc-team-btn:hover{
  background: rgba(0,0,0,0.03);
}

.dc-team-btn.is-active{
  background: rgba(26,45,136,0.10);
}

.dc-team-name{
  font-size: 13px;
  font-weight: 600;
}

.dc-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 12px;
  border-radius: 999px;
  opacity: 0.9;
}

/* Preference pills (Favorite/Watchlist) should size to content */
.dc-pill.dc-pref-pill{
  padding: 4px 10px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
}

.dc-scores-right{
  min-height: 520px;
}

.dc-scores-empty{
  border: 1px dashed rgba(255,255,255,0.22);
  border-radius: 16px;
  padding: 22px;
  background: rgba(255,255,255,0.03);
  color: #fff;
}

.dc-scores-empty-title{
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 6px;
}

.dc-team-card{
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
  background: rgba(255,255,255,0.03);
  padding: 12px;
  margin-bottom: 12px;
  color: #fff;
}

.dc-team-card-head{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.dc-team-card-title-row{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 12px;
}

/* Team name + bids layout (prevent bids merging into the name) */
.dc-scores-wrap .dc-team-name{
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
  white-space: nowrap;
}

.dc-scores-wrap .dc-team-bids{
  display:flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  text-align: right;
  flex: 0 0 auto;
}

/* Bid pills (Scores only) */
.dc-scores-wrap .dc-bid-pill{
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.1;
  color: #fff;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  max-width: 520px;
  white-space: normal;
}

@media (max-width: 900px){
  .dc-scores-wrap .dc-team-name{ white-space: normal; }
  .dc-scores-wrap .dc-bid-pill{ max-width: 100%; }
}

/* Preference pulse/background effect for Scores cards + rows */
.dc-scores-wrap .dc-team-card.is-favorite,
.dc-scores-wrap .dc-score-row.is-favorite,
.dc-scores-wrap .dc-team-card.is-watchlist,
.dc-scores-wrap .dc-score-row.is-watchlist{
  position: relative;
  overflow: hidden;
}

/* Background highlight colors must match site conventions:
   - Favorite: pink/purple
   - Watchlist: blue
   - Both: blended purple/blue/pink
*/
.dc-scores-wrap .dc-team-card.is-favorite::after,
.dc-scores-wrap .dc-score-row.is-favorite::after,
.dc-scores-wrap .dc-team-card.is-watchlist::after,
.dc-scores-wrap .dc-score-row.is-watchlist::after{
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  opacity: .58;
  pointer-events: none;
}

.dc-scores-wrap .dc-team-card.is-favorite::after,
.dc-scores-wrap .dc-score-row.is-favorite::after{
  background: linear-gradient(135deg,
    rgba(255, 75, 206, 0.26),
    rgba(255,255,255,0.04),
    rgba(117, 37, 75, 0.22)
  );
}

.dc-scores-wrap .dc-team-card.is-watchlist::after,
.dc-scores-wrap .dc-score-row.is-watchlist::after{
  background: linear-gradient(135deg,
    rgba(144, 202, 249, 0.28),
    rgba(255,255,255,0.04),
    rgba(0, 150, 255, 0.18)
  );
}

.dc-scores-wrap .dc-team-card.is-favorite.is-watchlist::after,
.dc-scores-wrap .dc-score-row.is-favorite.is-watchlist::after{
  background: linear-gradient(135deg,
    rgba(255, 75, 206, 0.22),
    rgba(255,255,255,0.04),
    rgba(144, 202, 249, 0.22)
  );
}

.dc-scores-wrap .dc-team-card.is-favorite > *,
.dc-scores-wrap .dc-score-row.is-favorite > *,
.dc-scores-wrap .dc-team-card.is-watchlist > *,
.dc-scores-wrap .dc-score-row.is-watchlist > *{
  position: relative;
}

.dc-scores-wrap .dc-team-card.is-favorite,
.dc-scores-wrap .dc-score-row.is-favorite{ animation: dcPrefPulseFav 1.00s ease-in-out infinite; }
.dc-scores-wrap .dc-team-card.is-watchlist,
.dc-scores-wrap .dc-score-row.is-watchlist{ animation: dcPrefPulseWatch 1.05s ease-in-out infinite; }
.dc-scores-wrap .dc-team-card.is-favorite.is-watchlist,
.dc-scores-wrap .dc-score-row.is-favorite.is-watchlist{ animation: dcPrefPulseBoth 1.20s ease-in-out infinite; }

.dc-team-bids{
  display:flex;
  flex-direction: column;
  gap: 6px;
  text-align: right;
}

.dc-team-bid{
  display:flex;
  flex-direction: column;
  line-height: 1.05;
}

.dc-team-bid-event{
  font-size: 12px;
  font-weight: 800;
  opacity: .95;
}

.dc-team-bid-type{
  font-size: 12px;
  font-weight: 700;
  opacity: .80;
}

.dc-team-card-title{
  font-size: 18px;
  font-weight: 900;
}

.dc-team-card-sub{
  font-size: 12px;
  opacity: 0.75;
}

.dc-event-group{
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 10px;
  margin-top: 10px;
}

.dc-event-group-head{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.dc-event-name{
  font-weight: 800;
  font-size: 14px;
}

.dc-event-date{
  font-size: 12px;
  opacity: 0.75;
}

.dc-score-row{
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  padding: 10px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  cursor: pointer;
  background: rgba(255,255,255,0.02);
  color: #fff;
}

.dc-score-row:hover{
  background: rgba(255,255,255,0.05);
}

.dc-video-icon{
  width: 22px;
  height: 22px;
  display: inline-block;
  vertical-align: middle;
  border-radius: 6px;
}

.dc-score-main{
  display:flex;
  flex-direction: column;
  gap: 2px;
}

.dc-score-division{
  font-weight: 700;
  font-size: 13px;
}

.dc-score-meta{
  font-size: 12px;
  opacity: 0.8;
}

.dc-score-metrics{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.dc-score-metrics .dc-m{
  font-size: 12px;
  opacity: 0.9;
}

.dc-score-metrics .dc-video{
  text-decoration: none;
  font-weight: 700;
}

@media (max-width: 900px){
  .dc-scores-split{
    grid-template-columns: 1fr;
  }
  .dc-scores-left{
    min-height: auto;
  }
}

/* =====================================================
   SCORES: independent scrolling + no stacking over header
   ===================================================== */

/* Ensure Scores content never overlays the site header */
.dc-scores-wrap,
.dc-scores-wrap .dc-scores-right,
.dc-scores-wrap .dc-team-card,
.dc-scores-wrap .dc-score-row,
.dc-scores-wrap .dc-event-group,
.dc-scores-wrap .dc-team-card > *,
.dc-scores-wrap .dc-score-row > * {
  z-index: auto !important;
}

/* Make the Scores main card fill the viewport below the header/nav so columns can scroll independently */
.dc-scores-wrap .dc-lb2-card {
  display: flex;
  flex-direction: column;
  /* Works well with your fixed header + nav; adjust the 190px if your header height changes */
  height: calc(100vh - 190px);
  min-height: 520px;
}

/* Split area consumes remaining space and becomes the scroll container parent */
.dc-scores-wrap .dc-scores-split {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 16px;
  flex: 1 1 auto;
  min-height: 0; /* critical for nested scrolling */
}

@media (max-width: 900px) {
  .dc-scores-wrap .dc-scores-split {
    grid-template-columns: 1fr;
  }
}

/* Left/right panels scroll independently */
.dc-scores-wrap .dc-scores-left,
.dc-scores-wrap .dc-scores-right {
  overflow-y: auto;
  min-height: 0;
  max-height: 100%;
  padding-right: 8px; /* space for scrollbar */
}

/* Show ~15–20 programs before scrolling (dependent on viewport height) */
.dc-scores-wrap .dc-scores-program-list .dc-program-item {
  border-radius: 14px; /* match site rounded style */
  padding: 10px 12px;
  line-height: 1.15;
}

/* Visible scrollbar on desktop */
@media (min-width: 900px) {
  .dc-scores-wrap .dc-scores-left::-webkit-scrollbar,
  .dc-scores-wrap .dc-scores-right::-webkit-scrollbar {
    width: 10px;
  }
  .dc-scores-wrap .dc-scores-left::-webkit-scrollbar-thumb,
  .dc-scores-wrap .dc-scores-right::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.18);
    border-radius: 999px;
  }
  .dc-scores-wrap .dc-scores-left::-webkit-scrollbar-track,
  .dc-scores-wrap .dc-scores-right::-webkit-scrollbar-track {
    background: rgba(255,255,255,0.06);
    border-radius: 999px;
  }
}

/* =========================================================
   EVENTS PAGE (same layout as Scores)
   - Left: events list (scroll)
   - Right: results grouped by day (scroll)
   - Only rows get favorite/watchlist pulse (NOT the whole group)
========================================================= */

.dc-events-wrap .dc-lb2-card{ overflow: hidden; }

.dc-events-controls-row{
  display:flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: flex-end;
}

.dc-events-control{ min-width: 220px; }
.dc-events-control-grow{ flex: 0 1 420px; min-width: 260px; }

.dc-events-search-inline input{ width: 100%; }

/* Match input heights */
.dc-events-wrap select,
.dc-events-wrap input[type="text"]{
  height: 44px;
  border-radius: 12px;
}

.dc-events-split{
  display:grid;
  grid-template-columns: 280px 1fr;
  gap: 16px;
  height: calc(100vh - 210px);
}

@media (max-width: 900px){
  .dc-events-split{
    grid-template-columns: 1fr;
    height: auto;
  }
}

.dc-events-left,
.dc-events-right{
  min-height: 0;
}

.dc-events-left{
  overflow-y: auto;
  padding-right: 10px;
}

.dc-events-right{
  overflow-y: auto;
  padding-right: 10px;
}

.dc-events-left-head{
  display:flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 2px 10px;
}

.dc-events-left-foot{
  padding: 10px 2px 2px;
}

.dc-events-list .dc-ev{ margin-bottom: 8px; }

.dc-events-list .dc-ev-btn{
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: #fff;
  padding: 10px 12px;
  border-radius: 14px;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}

.dc-events-list .dc-ev-btn:hover{
  background: rgba(255,255,255,0.10);
  transform: translateY(-1px);
}

.dc-events-list .dc-ev-btn.is-active{
  background: linear-gradient(135deg, rgba(117,37,75,0.75), rgba(144,202,249,0.20));
  border-color: rgba(255,255,255,0.20);
}

.dc-events-list .dc-ev-btn{
  display:flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

/* Event button text can be long; keep it readable */
.dc-ev-name{
  font-weight: 700;
  font-size: 12px;
  line-height: 1.15;
  flex: 1 1 auto;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Rounded pill-style buttons (used for Expand/Collapse) */
.dc-pill-btn{
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  color: #fff;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
  white-space: nowrap;
}
.dc-pill-btn:hover{
  background: rgba(255,255,255,0.12);
  transform: translateY(-1px);
}

/* Division collapse behavior */
.dc-division-group.is-collapsed .dc-division-body{
  display: none;
}

/* Scores: match program list styling to Events list */
.dc-scores-program-list .dc-prog{ margin-bottom: 8px; }
.dc-scores-program-list .dc-prog-btn{
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: #fff;
  padding: 10px 12px;
  border-radius: 14px;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}
.dc-scores-program-list .dc-prog-btn:hover{
  background: rgba(255,255,255,0.10);
  transform: translateY(-1px);
}
.dc-scores-program-list .dc-prog-btn.is-active{
  background: linear-gradient(135deg, rgba(117,37,75,0.75), rgba(144,202,249,0.20));
  border-color: rgba(255,255,255,0.20);
}
.dc-prog-name{ display:block; font-weight:700; font-size:12px; line-height:1.15; }
.dc-prog-count{ opacity:.8; font-weight:700; }

.dc-ev-count{
  opacity: .8;
  font-weight: 900;
  flex: 0 0 auto;
}

.dc-events-empty{
  padding: 18px;
  border: 1px dashed rgba(255,255,255,0.18);
  border-radius: 16px;
  background: rgba(255,255,255,0.04);
}

.dc-events-empty-title{ font-size: 18px; font-weight: 900; color:#fff; margin-bottom: 6px; }

.dc-events-results-head{
  margin-bottom: 14px;
}

.dc-events-results-title{
  font-size: 20px;
  font-weight: 900;
  color: #fff;
}

/* Division cards */
.dc-division-group{
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  border-radius: 18px;
  padding: 14px;
  margin-bottom: 16px;
}

.dc-division-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-weight: 900;
  color: #fff;
  font-size: 16px;
  margin-bottom: 10px;
}

.dc-division-title{ flex:1 1 auto; }
.dc-division-toggle{ flex:0 0 auto; white-space:nowrap; }

/* Day subgroup inside division */
.dc-day-subgroup{
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.12);
  border-radius: 16px;
  padding: 12px;
  margin-bottom: 12px;
}

.dc-day-subgroup-head{
  display:flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 10px;
}

.dc-day-title{ font-weight: 900; color:#fff; }

/* Event results table header + row layout (fixed column widths) */
.dc-event-table-head{
  display: grid;
  grid-template-columns: 76px 1fr 86px 74px 96px 104px 52px;
  gap: 10px;
  padding: 8px 12px;
  margin-bottom: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: rgba(255,255,255,0.8);
  font-weight: 800;
  font-size: 12px;
}

.dc-event-row-grid{
  display: grid;
  grid-template-columns: 76px 1fr 86px 74px 96px 104px 52px;
  gap: 10px;
  align-items: center;
}

.dc-event-cell{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dc-event-cell.dc-col-team{ white-space: normal; }

/* Rows already styled as .dc-score-row; keep it consistent */
.dc-events-wrap .dc-score-row{ cursor: pointer; }

/* Video icon */
.dc-events-wrap .dc-video-icon{
  width: 18px;
  height: 18px;
  display: inline-block;
  vertical-align: middle;
}

.dc-events-wrap .dc-video-link{ margin-left: 8px; display:inline-flex; align-items:center; }

/* Preference pulse/background effect for Events rows only */
.dc-events-wrap .dc-score-row.is-favorite,
.dc-events-wrap .dc-score-row.is-watchlist{
  position: relative;
  overflow: hidden;
}

.dc-events-wrap .dc-score-row.is-favorite::after,
.dc-events-wrap .dc-score-row.is-watchlist::after{
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  opacity: .58;
  pointer-events: none;
}

.dc-events-wrap .dc-score-row.is-favorite::after{
  background: linear-gradient(135deg,
    rgba(255, 75, 206, 0.26),
    rgba(255,255,255,0.04),
    rgba(117, 37, 75, 0.22)
  );
}

.dc-events-wrap .dc-score-row.is-watchlist::after{
  background: linear-gradient(135deg,
    rgba(144, 202, 249, 0.28),
    rgba(255,255,255,0.04),
    rgba(0, 150, 255, 0.18)
  );
}

.dc-events-wrap .dc-score-row.is-favorite.is-watchlist::after{
  background: linear-gradient(135deg,
    rgba(255, 75, 206, 0.22),
    rgba(255,255,255,0.04),
    rgba(144, 202, 249, 0.22)
  );
}

.dc-events-wrap .dc-score-row.is-favorite > *,
.dc-events-wrap .dc-score-row.is-watchlist > *{
  position: relative;
}

.dc-events-wrap .dc-score-row.is-favorite{ animation: dcPrefPulseFav 1.00s ease-in-out infinite; }
.dc-events-wrap .dc-score-row.is-watchlist{ animation: dcPrefPulseWatch 1.05s ease-in-out infinite; }
.dc-events-wrap .dc-score-row.is-favorite.is-watchlist{ animation: dcPrefPulseBoth 1.20s ease-in-out infinite; }



/* Events: per-division column headers */
.dc-events-wrap .dc-event-row-head{
  margin: 8px 0 10px;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.85);
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0.2px;
}
.dc-events-wrap .dc-event-row-head .dc-event-cell{ font-size: 12px; }

/* Events: preference highlights (row only) */
.dc-events-wrap .dc-event-row.is-favorite,
.dc-events-wrap .dc-event-row.is-watchlist{
  position: relative;
  overflow: hidden;
}
.dc-events-wrap .dc-event-row.is-favorite::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius: 16px;
  background: linear-gradient(120deg, rgba(164,55,116,0.35), rgba(255,255,255,0.04), rgba(122,26,87,0.30));
  pointer-events:none;
  animation: dcPulseFav 2.2s ease-in-out infinite;
}
.dc-events-wrap .dc-event-row.is-watchlist::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius: 16px;
  background: linear-gradient(120deg, rgba(28,108,161,0.35), rgba(255,255,255,0.04), rgba(96,170,226,0.28));
  pointer-events:none;
  animation: dcPulseWat 2.2s ease-in-out infinite;
}
.dc-events-wrap .dc-event-row.is-favorite.is-watchlist::before{
  background: linear-gradient(120deg, rgba(164,55,116,0.35), rgba(28,108,161,0.35), rgba(255,255,255,0.04));
  animation: dcPulseBoth 2.2s ease-in-out infinite;
}
@keyframes dcPulseFav{ 0%,100%{opacity:.55} 50%{opacity:.85} }
@keyframes dcPulseWat{ 0%,100%{opacity:.50} 50%{opacity:.85} }
@keyframes dcPulseBoth{ 0%,100%{opacity:.55} 50%{opacity:.9} }
.dc-events-wrap .dc-event-row > *{ position:relative; z-index:1; }

.dc-events-results-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dc-events-results-actions{ flex:0 0 auto; }


.dc-events-wrap .dc-lb2-search{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 12px;
  height:44px;
  border-radius:14px;
  background: rgba(255,255,255,0.06);
  width: min(420px, 100%);
}
.dc-events-wrap .dc-lb2-search .icon{ opacity:0.85; }
.dc-events-wrap .dc-lb2-search input{
  width:100%;
  background:transparent;
  border:0;
  outline:none;
  color:#fff;
}

/* =========================================================
   SCORES + EVENTS – Left list max-height + independent scroll
   + Mobile optimization (safe, scoped)
   Patch: 2026-02-20
   ========================================================= */

/* Desktop/tablet: constrain the left list and allow scrolling */
.dc-scores-wrap .dc-scores-left,
.dc-events-wrap .dc-events-left{
  max-height: calc(100vh - 220px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 8px;
}

/* Ensure right panes also scroll independently when layout is 2-col */
.dc-scores-wrap .dc-scores-right,
.dc-events-wrap .dc-events-right{
  max-height: calc(100vh - 220px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 8px;
}

/* If your wrappers already set a height, this keeps things stable */
.dc-scores-wrap,
.dc-events-wrap{
  min-height: calc(100vh - 220px);
}

/* ---------------------------------------------------------
   Mobile: stack columns, keep left list short + scrollable
   --------------------------------------------------------- */
@media (max-width: 900px){
  .dc-scores-wrap .dc-scores-grid,
  .dc-events-wrap .dc-events-grid{
    grid-template-columns: 1fr !important;
  }

  /* Left list becomes a compact panel */
  .dc-scores-wrap .dc-scores-left,
  .dc-events-wrap .dc-events-left{
    max-height: 320px;
    padding-right: 6px;
  }

  /* Results panel uses the remaining space and scrolls */
  .dc-scores-wrap .dc-scores-right,
  .dc-events-wrap .dc-events-right{
    max-height: calc(100vh - 540px);
  }

  /* Filters/search rows wrap cleanly */
  .dc-scores-wrap .dc-controls-row,
  .dc-events-wrap .dc-controls-row{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
  }

  .dc-scores-wrap .dc-controls-row > *,
  .dc-events-wrap .dc-controls-row > *{
    flex: 1 1 160px;
    min-width: 160px;
  }
}

/* Small phones: slightly shorter left list */
@media (max-width: 520px){
  .dc-scores-wrap .dc-scores-left,
  .dc-events-wrap .dc-events-left{
    max-height: 260px;
  }
  .dc-scores-wrap .dc-scores-right,
  .dc-events-wrap .dc-events-right{
    max-height: calc(100vh - 500px);
  }
}

/* ---------------------------------------------------------
   Mobile readability: allow horizontal scroll for wide grids
   --------------------------------------------------------- */
.dc-events-wrap .dc-division-card,
.dc-scores-wrap .dc-team-card{
  overflow: hidden;
}

/* Events row grid often exceeds phone width – allow x-scroll */
@media (max-width: 700px){
  .dc-events-wrap .dc-division-card{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .dc-events-wrap .dc-event-row-grid,
  .dc-events-wrap .dc-event-header-grid{
    min-width: 680px; /* keeps columns consistent; user can swipe */
  }
}

/* Scores rows: keep swipeable too */
@media (max-width: 700px){
  .dc-scores-wrap .dc-score-row,
  .dc-scores-wrap .dc-team-card{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* =========================================================
   EVENTS – Mobile horizontal scroll: make card border wrap
   wider row grid content (so border expands when swiping)
   Patch: 2026-02-20
   ========================================================= */
@media (max-width: 700px){
  /* Let the card size to its contents so its border/background
     wraps the full width of the row grid while the right pane scrolls */
  .dc-events-wrap .dc-events-right{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .dc-events-wrap .dc-division-card{
    width: max-content;
    min-width: 100%;
    max-width: none;
  }

  /* Keep consistent widths across headers/rows */
  .dc-events-wrap .dc-event-row-grid,
  .dc-events-wrap .dc-event-header-grid{
    min-width: 680px;
  }
}

/* =========================================================
   SCORES + EVENTS – Split layout scroll (correct selectors)
   Patch: 2026-02-20
   ========================================================= */
.dc-scores-wrap .dc-scores-left,
.dc-scores-wrap .dc-scores-right,
.dc-events-wrap .dc-events-left,
.dc-events-wrap .dc-events-right{
  max-height: calc(100vh - 220px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* Mobile: keep left list compact and scrollable; results gets remainder */
@media (max-width: 900px){
  .dc-scores-wrap .dc-scores-left,
  .dc-events-wrap .dc-events-left{
    max-height: 320px;
  }
  .dc-scores-wrap .dc-scores-right,
  .dc-events-wrap .dc-events-right{
    max-height: calc(100vh - 540px);
  }
}
@media (max-width: 520px){
  .dc-scores-wrap .dc-scores-left,
  .dc-events-wrap .dc-events-left{
    max-height: 260px;
  }
  .dc-scores-wrap .dc-scores-right,
  .dc-events-wrap .dc-events-right{
    max-height: calc(100vh - 500px);
  }
}

/* =========================================================
   EVENTS – Rounded Collapse/Expand buttons (dc-ev-btn style)
   Patch: 2026-02-20
   ========================================================= */
.dc-events-wrap .dc-pill-btn,
.dc-events-wrap .dc-division-toggle,
.dc-events-wrap .dc-events-toggle-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color:#fff;
  font-weight: 800;
  font-size: 12.5px;
  line-height: 1;
  cursor:pointer;
  white-space: nowrap;
  transition: background .15s ease, transform .15s ease, filter .15s ease, border-color .15s ease;
}
.dc-events-wrap .dc-pill-btn:hover,
.dc-events-wrap .dc-division-toggle:hover,
.dc-events-wrap .dc-events-toggle-all:hover{
  background: rgba(255,255,255,0.10);
  transform: translateY(-1px);
  filter: brightness(1.08);
  border-color: rgba(255,255,255,0.22);
}
.dc-events-wrap .dc-pill-btn:active,
.dc-events-wrap .dc-division-toggle:active,
.dc-events-wrap .dc-events-toggle-all:active{
  transform: translateY(0);
}

/* =========================================================
   EVENTS – Division collapse/expand (stable, no slide)
   Patch: 2026-02-20
   ========================================================= */
.dc-events-wrap .dc-division-group.is-collapsed .dc-division-body{
  display:none;
}

/* =========================================================
   PERFORMANCE TUNING
   ========================================================= */
.main-data,
.event-main-data,
.bid-predictions-table,
.dc-scores-wrap .dc-scores-right,
.dc-events-wrap .dc-events-right {
  content-visibility: auto;
  contain-intrinsic-size: 900px;
}

.dc-score-row,
.dc-event-row,
.dc-favorites-page .dc-pref-row,
.dc-watchlist-page .dc-pref-row {
  contain: layout paint;
}
