/* v1.31 league UX */
.fpldym-ux-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;justify-content:space-between;margin:0 0 1rem;padding:.8rem;border:1px solid rgba(36,0,43,.10);border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(36,0,43,.04)}
.fpldym-ux-toolbar .ux-left,.fpldym-ux-toolbar .ux-right{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.fpldym-ux-search{min-width:220px;border:1px solid rgba(36,0,43,.18);border-radius:999px;padding:.65rem .9rem;font:inherit;background:#fff}.ux-chip{border:1px solid rgba(36,0,43,.18);background:#fff;color:#24002b;border-radius:999px;padding:.55rem .8rem;font-weight:700;cursor:pointer}.ux-chip.active{background:#24002b;color:#fff;border-color:#24002b}.ux-count{font-size:.82rem;color:#695c6d;font-weight:700}.ux-my-team{background:rgba(0,220,130,.09)!important;box-shadow:inset 4px 0 0 #00dc82}.ux-hidden{display:none!important}.standings-scroll,.classic-table-wrap{position:relative;overflow:auto;-webkit-overflow-scrolling:touch}.standings-scroll table,.classic-table-wrap table{border-collapse:separate;border-spacing:0;width:100%}.standings-scroll table thead th,.classic-table-wrap table thead th{position:sticky;top:0;z-index:5;background:#f7f3f8!important;color:#24002b!important;white-space:nowrap;font-weight:800;letter-spacing:.02em;border-bottom:2px solid rgba(36,0,43,.14)}.standings-scroll table th,.standings-scroll table td,.classic-table-wrap table th,.classic-table-wrap table td{white-space:nowrap;vertical-align:middle}.fixture-share-button{position:absolute;right:.55rem;top:.5rem;border:0;background:rgba(36,0,43,.07);color:#24002b;border-radius:999px;padding:.32rem .55rem;font-size:.72rem;font-weight:800;cursor:pointer}.fixture-card,.schedule-row{position:relative}.fixture-card.ux-live{outline:2px solid #00dc82;box-shadow:0 8px 28px rgba(0,220,130,.13)}.fixture-card.ux-live .fixture-vs small{color:#008a55;font-weight:800}.fixture-card.ux-final{opacity:.98}.fixture-card.ux-upcoming .fixture-vs small{color:#6c6170}.ux-toast{position:fixed;right:18px;bottom:18px;z-index:9999;background:#24002b;color:#fff;padding:.85rem 1rem;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-weight:700;max-width:320px}
/* Premier League-inspired domestic match rows */
.ux-domestic .fixture-list{display:grid;gap:.55rem}.ux-domestic .fixture-card{background:#fff;border:1px solid rgba(36,0,43,.10);border-radius:12px;padding:.8rem 3.7rem .8rem 1rem;box-shadow:0 3px 12px rgba(36,0,43,.04)}.ux-domestic .fixture-card .fixture-vs{min-width:118px;justify-content:center;text-align:center;font-family:'League Spartan',sans-serif;font-size:1.15rem;font-weight:800;background:#f4eff5;border-radius:10px;padding:.5rem .7rem}.ux-domestic .fixture-card .fixture-team{padding:.35rem .5rem}.ux-domestic .fixture-card .fixture-team.home{justify-content:flex-end;text-align:right}.ux-domestic .fixture-card .fixture-team.away{justify-content:flex-start;text-align:left}
/* UEFA-inspired tournament match cards */
.ux-uefa .fixture-card{border:1px solid rgba(108,74,190,.22);background:linear-gradient(135deg,#fff 0%,#f8f6ff 100%);border-radius:16px;padding:1rem 3.8rem 1rem 1rem;box-shadow:0 8px 24px rgba(69,45,128,.07)}.ux-uefa .fixture-card .fixture-vs{background:#1b1240;color:#fff;border-radius:999px;padding:.55rem .8rem;min-width:116px;text-align:center;font-family:'League Spartan',sans-serif;font-weight:800}.ux-uefa .fixture-card .fixture-vs small{display:block;color:#d8d0f5;margin-top:.2rem}.ux-uefa .group-badge{background:#6d4bc3!important;color:#fff!important;border-radius:999px!important;font-weight:800!important}.ux-uefa .fucl-tie-card,.ux-uefa .bracket-tie{border-color:rgba(108,74,190,.22)!important}
@media(max-width:760px){.fpldym-ux-toolbar{position:relative;z-index:8;border-radius:14px;margin-inline:0;padding:.65rem}.fpldym-ux-toolbar .ux-left,.fpldym-ux-toolbar .ux-right{width:100%}.fpldym-ux-search{width:100%;min-width:0}.ux-chip{font-size:.78rem;padding:.5rem .68rem}.standings-scroll,.classic-table-wrap{margin-inline:-.25rem;padding-bottom:.35rem}.standings-scroll table,.classic-table-wrap table{min-width:760px;font-size:.82rem}.standings-scroll table thead th,.classic-table-wrap table thead th{font-size:.72rem;padding:.65rem .55rem}.standings-scroll table td,.standings-scroll table th,.classic-table-wrap table td,.classic-table-wrap table th{padding:.62rem .55rem}.standings-scroll table th:first-child,.standings-scroll table td:first-child{position:sticky;left:0;z-index:4;background:#fff}.standings-scroll table th:nth-child(2),.standings-scroll table td:nth-child(2){position:sticky;left:48px;z-index:4;background:#fff;box-shadow:5px 0 10px rgba(36,0,43,.07)}.classic-table-wrap table th:nth-child(1),.classic-table-wrap table td:nth-child(1){position:sticky;left:0;z-index:4;background:#fff}.classic-table-wrap table th:nth-child(3),.classic-table-wrap table td:nth-child(3){position:sticky;left:52px;z-index:4;background:#fff;box-shadow:5px 0 10px rgba(36,0,43,.07)}.ux-my-team td,.ux-my-team th{background:#ecfff7!important}.fixture-card{grid-template-columns:1fr!important;gap:.45rem!important;text-align:left!important;padding:1rem 3.6rem 1rem 1rem!important}.fixture-card .fixture-team,.fixture-card .fixture-vs{width:100%;justify-content:flex-start!important;text-align:left!important}.fixture-card .fixture-vs{order:2;min-width:0!important;border-radius:10px!important}.fixture-card .fixture-team.away{order:3}.ux-domestic .fixture-card .fixture-team.home,.ux-domestic .fixture-card .fixture-team.away{text-align:left;justify-content:flex-start}.schedule-head{display:none!important}.schedule-row{display:grid!important;grid-template-columns:auto 1fr!important;gap:.35rem .75rem!important;padding:.8rem 3.5rem .8rem .8rem!important}.schedule-row>*{min-width:0}.fixture-share-button{right:.45rem;top:.45rem}.oneshot-share-bar{position:sticky;bottom:8px;background:rgba(255,255,255,.94);padding:.5rem;border-radius:14px;z-index:6}}

/* v1.41 — Standard league-table UX: no frozen columns, clearer Premier-League-style hierarchy */
.standings-scroll,.classic-table-wrap{
  overflow-x:auto;
  overflow-y:visible;
  border-radius:0;
  scrollbar-gutter:stable;
}
.standings-scroll table,.classic-table-wrap table{
  border-collapse:collapse;
  border-spacing:0;
  width:100%;
  table-layout:auto;
}
/* No frozen rows/columns: the whole table moves together on narrow screens. */
.standings-scroll table thead th,.classic-table-wrap table thead th,
.standings-scroll table th,.standings-scroll table td,
.classic-table-wrap table th,.classic-table-wrap table td{
  position:static!important;
  left:auto!important;
  top:auto!important;
  z-index:auto!important;
  box-shadow:none!important;
}
/* Standard league-table header */
.standings-scroll .standings-table thead,
.classic-table-wrap .classic-table thead{
  background:#37003c;
  color:#fff;
}
.standings-scroll .standings-table thead th,
.classic-table-wrap .classic-table thead th{
  background:#37003c!important;
  color:#fff!important;
  border-bottom:0;
  padding:.72rem .6rem;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.025em;
  text-transform:none;
  white-space:nowrap;
}
.standings-scroll .standings-table th,
.standings-scroll .standings-table td,
.classic-table-wrap .classic-table th,
.classic-table-wrap .classic-table td{
  padding:.72rem .6rem;
  border-bottom:1px solid #ebe6ec;
  vertical-align:middle;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.standings-scroll .standings-table tbody tr,
.classic-table-wrap .classic-table tbody tr{
  background:#fff;
}
.standings-scroll .standings-table tbody tr:nth-child(even),
.classic-table-wrap .classic-table tbody tr:nth-child(even){
  background:#faf9fb;
}
.standings-scroll .standings-table tbody tr:hover,
.classic-table-wrap .classic-table tbody tr:hover{
  background:#f1fff8;
}
/* Position and points read first, like a conventional football table. */
.standings-scroll .standings-table td:first-child,
.standings-scroll .standings-table th:first-child,
.classic-table-wrap .classic-table td:first-child,
.classic-table-wrap .classic-table th:first-child{
  width:46px;
  min-width:46px;
  text-align:center;
}
.standings-scroll .standings-table td:last-child,
.standings-scroll .standings-table th:last-child,
.classic-table-wrap .classic-table td:last-child,
.classic-table-wrap .classic-table th:last-child{
  font-weight:800;
}
/* Give the team cell room; alias stays on the second line. */
.standings-scroll .standings-table th:nth-child(2),
.standings-scroll .standings-table td:nth-child(2){
  min-width:190px;
  text-align:left;
  white-space:normal;
}
.classic-table-wrap .classic-table th:nth-child(3),
.classic-table-wrap .classic-table td:nth-child(3){
  min-width:220px;
  text-align:left;
  white-space:normal;
}
.table-team{white-space:normal!important;min-width:0;align-items:center}
.team-display-stack,.classic-team-stack{min-width:0;line-height:1.12}
.team-display-name{font-weight:800;white-space:normal;overflow-wrap:anywhere}
.team-display-alias{margin-top:.14rem;font-size:.68rem;line-height:1.1;color:#7b6c80;white-space:normal;overflow-wrap:anywhere}
/* Keep qualification/relegation information as a slim row-edge marker, never a frozen cell. */
.standings-table tbody tr td:first-child{position:relative!important}
/* Compact desktop table without sacrificing labels. */
@media(min-width:761px){
  .standings-scroll .standings-table{min-width:720px;font-size:.81rem}
  .classic-table-wrap .classic-table{min-width:620px;font-size:.82rem}
  .standings-scroll .standings-table th:not(:nth-child(2)),
  .standings-scroll .standings-table td:not(:nth-child(2)){
    text-align:center;
  }
}
/* Mobile: one natural horizontal scroll, no frozen columns or scroll fighting. */
@media(max-width:760px){
  .standings-scroll,.classic-table-wrap{
    margin-inline:0;
    padding-bottom:.35rem;
    overscroll-behavior-inline:contain;
  }
  .standings-scroll .standings-table{
    min-width:700px;
    font-size:.78rem;
  }
  .classic-table-wrap .classic-table{
    min-width:590px;
    font-size:.79rem;
  }
  .standings-scroll .standings-table thead th,
  .classic-table-wrap .classic-table thead th{
    padding:.66rem .48rem;
    font-size:.68rem;
  }
  .standings-scroll .standings-table td,
  .standings-scroll .standings-table th,
  .classic-table-wrap .classic-table td,
  .classic-table-wrap .classic-table th{
    padding:.64rem .48rem;
  }
  .standings-scroll .standings-table th:nth-child(2),
  .standings-scroll .standings-table td:nth-child(2){min-width:170px}
  .classic-table-wrap .classic-table th:nth-child(3),
  .classic-table-wrap .classic-table td:nth-child(3){min-width:190px}
  .position-number,.classic-position{width:26px;height:26px}
  .table-team .team-initials,.classic-badge{display:none}
  .team-display-alias{font-size:.62rem}
}
/* Olympic group tables are deliberately more compact, but still unfrozen. */
#olympics-groups .standings-table{min-width:560px!important}
#olympics-groups .standings-table th:nth-child(2),
#olympics-groups .standings-table td:nth-child(2){min-width:150px}
/* v1.45 H2H table view switch */
.league-view-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 10px}.league-view-switch>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.league-view-switch>div{display:flex;padding:3px;border:1px solid #ddd3df;border-radius:999px;background:#fff}.league-view-switch button{border:0;background:transparent;border-radius:999px;padding:7px 12px;font:800 10px "DM Sans",sans-serif;cursor:pointer;color:#6d5a71}.league-view-switch button.active{background:var(--purple);color:#fff}.form-text{font-weight:900;letter-spacing:.14em;color:var(--purple);white-space:nowrap}.next-fixture-cell{white-space:nowrap;font-size:10px;font-weight:700;color:#5f5263}

/* v1.48 — responsive standings density and DBL desktop identity layout */
.dbl-table .dbl-team-cell{display:flex;align-items:center;gap:10px;min-width:0}
.dbl-table .dbl-team-stack{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;line-height:1.08}
.dbl-table .dbl-manager-name{display:block;font-size:.66rem;font-weight:500;color:var(--muted);white-space:normal;overflow-wrap:anywhere}
@media(min-width:761px){
  .dbl-table th:nth-child(2),.dbl-table td:nth-child(2){width:auto;min-width:260px!important;max-width:none}
  .dbl-table .team-display-name{font-size:.84rem}
  .dbl-table .team-display-alias{font-size:.65rem}
  .dbl-table th:not(:nth-child(2)),.dbl-table td:not(:nth-child(2)){width:7.5%;min-width:48px}
}
@media(max-width:760px){
  /* Short H2H tables should fit the phone viewport instead of forcing a long sideways pan. */
  .standings-scroll .standings-table[data-league-view="short"]{
    min-width:100%!important;
    width:100%!important;
    table-layout:fixed;
    font-size:.72rem;
  }
  .standings-scroll .standings-table[data-league-view="short"] th,
  .standings-scroll .standings-table[data-league-view="short"] td{
    padding:.58rem .22rem;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .standings-scroll .standings-table[data-league-view="short"] th:first-child,
  .standings-scroll .standings-table[data-league-view="short"] td:first-child{width:9%;min-width:0!important}
  .standings-scroll .standings-table[data-league-view="short"] th:nth-child(2),
  .standings-scroll .standings-table[data-league-view="short"] td:nth-child(2){width:43%;min-width:0!important;white-space:normal}
  .standings-scroll .standings-table[data-league-view="short"] th:nth-child(n+3),
  .standings-scroll .standings-table[data-league-view="short"] td:nth-child(n+3){width:8%;min-width:0!important;text-align:center}
  .standings-scroll .standings-table[data-league-view="short"] .team-display-name{font-size:.76rem;line-height:1.05}
  .standings-scroll .standings-table[data-league-view="short"] .team-display-alias,
  .standings-scroll .standings-table[data-league-view="short"] .dbl-manager-name{font-size:.57rem;line-height:1.05;margin-top:.12rem}

  /* Form keeps the team column compact; only the extra form field may need a small pan. */
  .standings-scroll .standings-table[data-league-view="form"]{min-width:610px!important}
  .standings-scroll .standings-table[data-league-view="form"] th:nth-child(2),
  .standings-scroll .standings-table[data-league-view="form"] td:nth-child(2){min-width:128px!important;max-width:150px}

  /* Long remains scrollable by design, but no oversized team column. */
  .standings-scroll .standings-table[data-league-view="long"]{min-width:720px!important}
  .standings-scroll .standings-table[data-league-view="long"] th:nth-child(2),
  .standings-scroll .standings-table[data-league-view="long"] td:nth-child(2){min-width:132px!important;max-width:160px}

  /* Classic has only five columns, so fit the full table in the viewport. */
  .classic-table-wrap .classic-table{min-width:100%!important;width:100%!important;table-layout:fixed;font-size:.72rem}
  .classic-table-wrap .classic-table th,.classic-table-wrap .classic-table td{padding:.58rem .24rem;overflow:hidden;text-overflow:ellipsis}
  .classic-table-wrap .classic-table th:nth-child(1),.classic-table-wrap .classic-table td:nth-child(1){width:10%}
  .classic-table-wrap .classic-table th:nth-child(2),.classic-table-wrap .classic-table td:nth-child(2){width:8%}
  .classic-table-wrap .classic-table th:nth-child(3),.classic-table-wrap .classic-table td:nth-child(3){width:48%;min-width:0!important;white-space:normal}
  .classic-table-wrap .classic-table th:nth-child(4),.classic-table-wrap .classic-table td:nth-child(4){width:15%}
  .classic-table-wrap .classic-table th:nth-child(5),.classic-table-wrap .classic-table td:nth-child(5){width:19%}
  .classic-table-wrap .classic-table th:nth-child(3) a{min-width:0}
  .classic-table-wrap .classic-team-stack,.classic-table-wrap th:nth-child(3) span:last-child{min-width:0;max-width:100%}
  .classic-table-wrap .team-display-name{font-size:.75rem;line-height:1.05}
  .classic-table-wrap .team-display-alias,.classic-table-wrap .classic-table small{font-size:.56rem;line-height:1.05}
}
@media(max-width:760px){
  #olympics-groups .standings-table[data-league-view="short"]{min-width:100%!important;width:100%!important}
  #olympics-groups .standings-table[data-league-view="short"] th:nth-child(2),
  #olympics-groups .standings-table[data-league-view="short"] td:nth-child(2){min-width:0!important;width:43%!important}
}

/* v1.63: short H2H standings fit five columns without tiny type */
@media(max-width:760px){.standings-scroll .standings-table[data-league-view="short"]{font-size:.82rem}.standings-scroll .standings-table[data-league-view="short"] th:first-child,.standings-scroll .standings-table[data-league-view="short"] td:first-child{width:10%}.standings-scroll .standings-table[data-league-view="short"] th:nth-child(2),.standings-scroll .standings-table[data-league-view="short"] td:nth-child(2){width:50%}.standings-scroll .standings-table[data-league-view="short"] th:nth-child(n+3),.standings-scroll .standings-table[data-league-view="short"] td:nth-child(n+3){width:13.33%}.standings-scroll .standings-table[data-league-view="short"] .team-display-name{font-size:.85rem}.standings-scroll .standings-table[data-league-view="short"] .team-display-alias,.standings-scroll .standings-table[data-league-view="short"] .dbl-manager-name{font-size:.72rem}}
@media(max-width:760px){.standings-scroll .standings-table[data-league-view="short"] th:nth-child(2),.standings-scroll .standings-table[data-league-view="short"] td:nth-child(2){left:10%}}
