/* Final bracket layer.
   The schedule has accumulated several legacy bracket implementations; keep
   this file last so playoff and knockout share one readable state language. */

.schedule-centre-page .playoff-workspace,
.schedule-centre-page .knockout-workspace {
  min-width:0;
  overflow:visible;
}

.schedule-centre-page .playoff-bracket-scroll,
.schedule-centre-page .knockout-bracket-scroll {
  box-sizing:border-box;
  width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scrollbar-color:rgba(183,255,74,.58) rgba(4,16,25,.72);
  scrollbar-gutter:stable;
}

.schedule-centre-page .playoff-bracket-scroll:focus-visible,
.schedule-centre-page .knockout-bracket-scroll:focus-visible {
  outline:2px solid var(--lime);
  outline-offset:-2px;
}

/* One route grammar: pending is neutral grey, a decided upstream match is
   green. The visible 晋级/冠军 chip on the card repeats that state in text. */
.schedule-centre-page .bracket-route-segment {
  fill:none;
  stroke:#607581;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:2.2;
  vector-effect:non-scaling-stroke;
}

.schedule-centre-page .bracket-route-segment.is-complete {
  stroke:#bde96a;
  filter:drop-shadow(0 0 4px rgba(183,255,74,.44));
}

.schedule-centre-page .bracket-route-node {
  fill:#71858f;
  stroke:#0b2634;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
}

.schedule-centre-page .bracket-route-node.is-complete {
  fill:#d6ff91;
  filter:drop-shadow(0 0 4px rgba(183,255,74,.5));
}

.schedule-centre-page .playoff-route-lines,
.schedule-centre-page .football-knockout-bracket .bracket-route-lines {
  pointer-events:none;
}

.schedule-centre-page .playoff-route-lines .bracket-route-segment,
.schedule-centre-page .playoff-route-lines .bracket-route-node,
.schedule-centre-page .football-knockout-bracket .bracket-route-segment,
.schedule-centre-page .football-knockout-bracket .bracket-route-node {
  transition:stroke .2s ease,fill .2s ease,filter .2s ease;
}

/* Match cards deliberately keep a stable height. That keeps every route
   centred while long team names and three organizer actions stay contained. */
.schedule-centre-page .playoff-bracket .knockout-match,
.schedule-centre-page .football-knockout-bracket .knockout-match {
  display:block;
  box-sizing:border-box;
  overflow:hidden;
  border:1px solid rgba(148,195,206,.34);
  background:
    radial-gradient(circle at 12% -18%,rgba(93,173,211,.13),transparent 46%),
    linear-gradient(145deg,rgba(11,36,53,.985),rgba(3,16,28,.97));
  box-shadow:inset 0 1px 0 rgba(222,246,255,.045),0 12px 25px rgba(0,0,0,.24);
}

.schedule-centre-page .playoff-bracket .knockout-match.complete,
.schedule-centre-page .football-knockout-bracket .knockout-match.complete {
  border-color:rgba(192,255,109,.62);
  background:
    radial-gradient(circle at 12% -18%,rgba(183,255,74,.14),transparent 47%),
    linear-gradient(145deg,rgba(23,61,51,.96),rgba(4,19,30,.985));
}

.schedule-centre-page .knockout-match[data-state="live"] {
  border-color:rgba(87,168,255,.68);
  box-shadow:inset 0 1px 0 rgba(222,246,255,.055),0 12px 25px rgba(0,0,0,.24),0 0 20px rgba(87,168,255,.1);
}

.schedule-centre-page .knockout-match>header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  min-width:0;
  margin-bottom:6px;
}

.schedule-centre-page .knockout-match>header span {
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:6px;
  color:#d9e8ee;
  font-weight:900;
}

.schedule-centre-page .knockout-match>header b {
  min-width:0;
  overflow:hidden;
  color:#9fb7c3;
  font-variant-numeric:tabular-nums;
  text-align:right;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.schedule-centre-page .playoff-bracket .knockout-team-row,
.schedule-centre-page .football-knockout-bracket .knockout-team-row {
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 38px minmax(32px,auto)!important;
  align-items:center;
  gap:6px;
  min-width:0;
  min-height:32px!important;
}

.schedule-centre-page .knockout-team-row>em {
  width:25px!important;
  height:25px!important;
}

.schedule-centre-page .knockout-team-row>b {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.schedule-centre-page .knockout-team-row>strong {
  min-width:0;
  color:#eff9fc;
  font-variant-numeric:tabular-nums;
  text-align:right;
  white-space:nowrap;
}

.schedule-centre-page .knockout-team-row>strong small {
  white-space:nowrap;
}

.schedule-centre-page .knockout-result-mark {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-width:38px;
  min-height:20px;
  padding:0 5px;
  border:1px solid transparent;
  color:transparent;
  font-size:11px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}

.schedule-centre-page .knockout-team-row.winner .knockout-result-mark {
  border-color:rgba(183,255,74,.52);
  background:rgba(183,255,74,.12);
  color:#dcffa1;
}

.schedule-centre-page .knockout-team-row.winner>b,
.schedule-centre-page .knockout-team-row.winner>strong {
  color:#d8ff95;
}

.schedule-centre-page .bracket-final .knockout-team-row.winner .knockout-result-mark {
  border-color:rgba(241,198,92,.62);
  background:rgba(241,198,92,.14);
  color:#ffe5a0;
}

/* The report and organizer controls now occupy one consistent row. */
.schedule-centre-page .bracket-fixture-actions,
.schedule-centre-page .playoff-bracket .knockout-match.with-actions .bracket-fixture-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  min-width:0;
  margin-top:8px;
}

.schedule-centre-page .bracket-fixture-actions.has-report {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.schedule-centre-page .playoff-bracket .knockout-match.with-actions .bracket-fixture-actions.has-report,
.schedule-centre-page .football-knockout-bracket .knockout-match.with-actions .bracket-fixture-actions.has-report {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.schedule-centre-page .bracket-fixture-actions.public-only {
  grid-template-columns:minmax(0,1fr);
}

.schedule-centre-page .fixture-card-action,
.schedule-centre-page .playoff-bracket .knockout-match.with-actions .fixture-card-action,
.schedule-centre-page .bracket-fixture-actions .group-match-public-report {
  display:flex;
  grid-column:auto!important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-width:0;
  min-height:36px!important;
  margin:0;
  padding:0 7px;
  overflow:hidden;
  border-radius:3px;
  color:#dceaf0;
  font-size:13px!important;
  font-weight:850;
  line-height:1;
  text-align:center;
  text-decoration:none;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer;
}

.schedule-centre-page .fixture-card-report {
  border-color:rgba(229,185,76,.48);
  background:linear-gradient(135deg,rgba(229,185,76,.14),rgba(64,49,22,.86));
  color:#ffe4a0!important;
}

.schedule-centre-page .fixture-card-action:hover,
.schedule-centre-page .fixture-card-action:focus-visible {
  border-color:rgba(183,255,74,.76);
  background:rgba(183,255,74,.15);
  color:#f1ffd8!important;
  outline:2px solid rgba(210,255,137,.42);
  outline-offset:1px;
}

/* Playoff geometry: four first-round cards fit without colliding or being
   clipped; the qualification finals and slots share their exact centre line. */
.schedule-centre-page .playoff-bracket {
  --playoff-route-height:820px;
  --playoff-card-height:186px;
  --playoff-card-half:93px;
  --playoff-stage-heading:40px;
  --playoff-stage-gap:14px;
  grid-template-columns:repeat(5,minmax(0,1fr));
  column-gap:50px;
  box-sizing:border-box;
  min-width:1540px;
  min-height:940px;
  padding:28px 34px 38px;
  overflow:hidden;
}

.schedule-centre-page .playoff-bracket .playoff-route-lines {
  top:calc(28px + var(--playoff-stage-heading) + var(--playoff-stage-gap));
  right:34px;
  bottom:auto;
  left:34px;
  width:calc(100% - 68px);
  height:var(--playoff-route-height);
}

.schedule-centre-page .playoff-bracket .playoff-bracket-stage {
  grid-template-rows:var(--playoff-stage-heading) var(--playoff-route-height);
  gap:var(--playoff-stage-gap);
}

.schedule-centre-page .playoff-bracket .playoff-bracket-matches,
.schedule-centre-page .playoff-bracket .playoff-qualification-slots {
  min-height:var(--playoff-route-height);
  height:var(--playoff-route-height);
}

.schedule-centre-page .playoff-bracket .knockout-match,
.schedule-centre-page .playoff-bracket .playoff-qualification-slot {
  height:var(--playoff-card-height);
  min-height:var(--playoff-card-height)!important;
  max-height:var(--playoff-card-height);
}

.schedule-centre-page .playoff-bracket .knockout-match {
  padding:12px 13px!important;
}

.schedule-centre-page .playoff-bracket .playoff-cross-left .knockout-match:first-child { top:calc(14% - var(--playoff-card-half)); }
.schedule-centre-page .playoff-bracket .playoff-cross-left .knockout-match:last-child { top:calc(38.5% - var(--playoff-card-half)); }
.schedule-centre-page .playoff-bracket .playoff-final-left .knockout-match { top:calc(26.25% - var(--playoff-card-half)); }
.schedule-centre-page .playoff-bracket .playoff-cross-right .knockout-match:first-child { top:calc(62% - var(--playoff-card-half)); }
.schedule-centre-page .playoff-bracket .playoff-cross-right .knockout-match:last-child { top:calc(86.5% - var(--playoff-card-half)); }
.schedule-centre-page .playoff-bracket .playoff-final-right .knockout-match { top:calc(74.25% - var(--playoff-card-half)); }
.schedule-centre-page .playoff-bracket .playoff-qualification-slot:first-child { top:calc(26.25% - var(--playoff-card-half)); }
.schedule-centre-page .playoff-bracket .playoff-qualification-slot:last-child { top:calc(74.25% - var(--playoff-card-half)); }

/* Main knockout geometry stays compact, but gets enough room for the unified
   controls. Stage centres match the SVG's 119/280/441 coordinate system. */
.schedule-centre-page .football-knockout-bracket {
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:54px!important;
  box-sizing:border-box;
  min-width:1540px!important;
  padding:30px 34px 28px!important;
}

.schedule-centre-page .football-knockout-bracket .bracket-route-lines {
  top:83px;
  right:34px;
  left:34px;
  width:calc(100% - 68px);
  height:560px;
}

.schedule-centre-page .football-knockout-bracket>.bracket-stage {
  grid-template-rows:40px 560px!important;
  gap:13px!important;
}

.schedule-centre-page .football-knockout-bracket .bracket-stage>h3,
.schedule-centre-page .playoff-bracket .playoff-bracket-stage>h3 {
  display:block;
  box-sizing:border-box;
  height:40px;
  margin:0!important;
  color:#d6ff91!important;
  font-size:18px!important;
  font-weight:900;
  line-height:22px;
  letter-spacing:.06em;
  text-align:center!important;
}

.schedule-centre-page .football-knockout-bracket .bracket-stage>h3::after,
.schedule-centre-page .playoff-bracket .playoff-bracket-stage>h3::after {
  display:block;
  width:30px;
  height:2px;
  margin:8px auto 0;
  background:linear-gradient(90deg,transparent,#caff75,transparent);
  content:"";
}

.schedule-centre-page .football-knockout-bracket .bracket-stage-matches {
  min-height:560px!important;
  height:560px!important;
}

.schedule-centre-page .football-knockout-bracket .knockout-match,
.schedule-centre-page .football-knockout-bracket .knockout-match.with-actions {
  height:186px!important;
  min-height:186px!important;
  max-height:186px;
  padding:14px 16px!important;
}

.schedule-centre-page .football-knockout-bracket .bracket-qf-left .knockout-match:first-child,
.schedule-centre-page .football-knockout-bracket .bracket-qf-right .knockout-match:first-child { top:26px; }

.schedule-centre-page .football-knockout-bracket .bracket-qf-left .knockout-match:last-child,
.schedule-centre-page .football-knockout-bracket .bracket-qf-right .knockout-match:last-child { bottom:26px; }

.schedule-centre-page .football-knockout-bracket .bracket-sf-left .knockout-match,
.schedule-centre-page .football-knockout-bracket .bracket-sf-right .knockout-match,
.schedule-centre-page .football-knockout-bracket .bracket-final .knockout-match {
  top:50%;
  transform:translateY(-50%);
}

/* The competition winner is an achievement state, distinct from the green
   progression state used throughout the route. */
.schedule-centre-page .champion-callout.is-confirmed {
  display:grid;
  grid-template-columns:auto auto minmax(0,auto) auto;
  align-items:center;
  justify-content:center;
  gap:11px;
  margin:16px 16px 0;
  padding:15px 18px;
  overflow:hidden;
  border:1px solid rgba(242,201,101,.72);
  background:
    radial-gradient(circle at 50% -35%,rgba(255,220,125,.3),transparent 58%),
    linear-gradient(105deg,rgba(65,47,16,.92),rgba(23,27,29,.96) 48%,rgba(66,48,16,.9));
  box-shadow:inset 0 1px 0 rgba(255,242,196,.18),0 10px 28px rgba(0,0,0,.24),0 0 24px rgba(230,180,63,.12);
}

.schedule-centre-page .champion-callout.is-confirmed>i {
  color:#ffd86e;
  font-size:20px;
  font-style:normal;
  text-shadow:0 0 14px rgba(255,205,81,.48);
}

.schedule-centre-page .champion-callout.is-confirmed>span {
  color:#f0c965;
}

.schedule-centre-page .champion-callout.is-confirmed>em {
  border-color:rgba(246,205,102,.64);
  background:rgba(42,31,13,.78);
  box-shadow:0 0 0 2px rgba(246,205,102,.08),0 5px 14px rgba(0,0,0,.24);
}

.schedule-centre-page .champion-callout.is-confirmed>b {
  min-width:0;
  overflow:hidden;
  color:#ffe8a5;
  text-overflow:ellipsis;
  text-shadow:0 1px 10px rgba(243,197,85,.2);
  white-space:nowrap;
}

@media (max-width:1380px) {
  .schedule-centre-page .bracket-scroll-hint { display:flex; }
}

@media (max-width:760px) {
  .schedule-centre-page .playoff-workspace,
  .schedule-centre-page .knockout-workspace { overflow:visible; }
  .schedule-centre-page .playoff-bracket { min-width:1540px; }
  .schedule-centre-page .football-knockout-bracket { min-width:1540px!important; }
  .schedule-centre-page .champion-callout.is-confirmed {
    grid-template-columns:auto auto minmax(0,1fr);
    justify-content:stretch;
    margin:10px 10px 0;
    padding:12px;
  }
  .schedule-centre-page .champion-callout.is-confirmed>span {
    grid-column:1 / -1;
    grid-row:1;
    text-align:center;
  }
  .schedule-centre-page .champion-callout.is-confirmed>i { grid-column:1; grid-row:2; }
  .schedule-centre-page .champion-callout.is-confirmed>em { grid-column:2; grid-row:2; }
  .schedule-centre-page .champion-callout.is-confirmed>b { grid-column:3; grid-row:2; }
}

@media (min-width:2400px) {
  .schedule-centre-page .playoff-bracket {
    --playoff-route-height:980px;
    --playoff-card-height:222px;
    --playoff-card-half:111px;
    --playoff-stage-heading:48px;
    --playoff-stage-gap:17px;
    column-gap:68px;
    min-width:1900px;
    min-height:1115px;
    padding:38px 48px 42px;
  }
  .schedule-centre-page .playoff-bracket .playoff-route-lines {
    top:calc(38px + var(--playoff-stage-heading) + var(--playoff-stage-gap));
    right:48px;
    left:48px;
    width:calc(100% - 96px);
  }
  .schedule-centre-page .football-knockout-bracket {
    gap:68px!important;
    min-width:1900px!important;
    padding:42px 48px 34px!important;
  }
  .schedule-centre-page .football-knockout-bracket>.bracket-stage {
    grid-template-rows:48px 660px!important;
    gap:16px!important;
  }
  .schedule-centre-page .football-knockout-bracket .bracket-stage-matches {
    min-height:660px!important;
    height:660px!important;
  }
  .schedule-centre-page .football-knockout-bracket .knockout-match,
  .schedule-centre-page .football-knockout-bracket .knockout-match.with-actions {
    height:220px!important;
    min-height:220px!important;
    max-height:220px;
    padding:18px 20px!important;
  }
  .schedule-centre-page .football-knockout-bracket .bracket-qf-left .knockout-match:first-child,
  .schedule-centre-page .football-knockout-bracket .bracket-qf-right .knockout-match:first-child { top:30px; }
  .schedule-centre-page .football-knockout-bracket .bracket-qf-left .knockout-match:last-child,
  .schedule-centre-page .football-knockout-bracket .bracket-qf-right .knockout-match:last-child { bottom:30px; }
  .schedule-centre-page .football-knockout-bracket .bracket-route-lines {
    top:106px;
    right:48px;
    left:48px;
    width:calc(100% - 96px);
    height:660px;
  }
  .schedule-centre-page .football-knockout-bracket .bracket-stage>h3,
  .schedule-centre-page .playoff-bracket .playoff-bracket-stage>h3 {
    height:48px;
    font-size:22px!important;
    line-height:28px;
  }
  .schedule-centre-page .playoff-bracket .knockout-team-row,
  .schedule-centre-page .football-knockout-bracket .knockout-team-row {
    grid-template-columns:33px minmax(0,1fr) 46px minmax(38px,auto)!important;
    min-height:39px!important;
  }
  .schedule-centre-page .knockout-result-mark {
    min-width:46px;
    min-height:24px;
    font-size:13px;
  }
  .schedule-centre-page .fixture-card-action,
  .schedule-centre-page .playoff-bracket .knockout-match.with-actions .fixture-card-action,
  .schedule-centre-page .bracket-fixture-actions .group-match-public-report {
    min-height:42px!important;
    padding:0 10px;
    font-size:16px!important;
  }
  .schedule-centre-page .champion-callout.is-confirmed { padding:19px 24px; }
  .schedule-centre-page .champion-callout.is-confirmed>b { font-size:25px; }
}

/* A two-leg tie remains one route node and one report entry.  Both round
   scores use one canonical team order; the physical Fixture home/away order
   remains an implementation detail and is never used as the visual label. */
.schedule-centre-page .postseason-tie {
  display:block;
  overflow:hidden;
}
.schedule-centre-page .postseason-tie .postseason-team-name {
  width:min(100%,8em);
  max-width:8em;
}
.schedule-centre-page .postseason-tie-penalty {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:5px;
  padding:5px 8px;
  border:1px solid rgba(234,197,101,.3);
  background:rgba(234,197,101,.07);
  color:#efd68c;
}
.schedule-centre-page .postseason-tie-penalty>span {
  font-size:12px;
  font-weight:900;
}
.schedule-centre-page .postseason-tie-penalty>strong {
  font-size:15px;
  font-variant-numeric:tabular-nums;
}
.schedule-centre-page .postseason-tie-penalty i {
  padding:0 3px;
  color:#fff1be;
  font-style:normal;
}
.schedule-centre-page .postseason-tie-rounds {
  display:grid;
  gap:7px;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(142,181,200,.16);
}
.schedule-centre-page .postseason-leg {
  min-width:0;
  padding:7px 8px 8px;
  border:1px solid rgba(142,181,200,.17);
  background:linear-gradient(135deg,rgba(8,30,45,.76),rgba(3,17,29,.7));
}
.schedule-centre-page .postseason-leg>header {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  min-width:0;
  margin:0 0 6px;
}
.schedule-centre-page .postseason-leg>header span {
  color:#c9ff75;
  font-size:12px;
  font-weight:900;
}
.schedule-centre-page .postseason-leg>header b {
  overflow:hidden;
  color:#91a9b6;
  font-size:12px;
  font-weight:800;
  text-align:right;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.schedule-centre-page .postseason-round-time {
  min-width:48px;
  min-height:38px;
  padding:0 8px;
  border:1px solid rgba(142,181,200,.28);
  border-radius:3px;
  background:rgba(15,43,59,.86);
  color:#c8dbe4;
  font:inherit;
  font-size:15px;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
}
.schedule-centre-page .postseason-round-time:hover,
.schedule-centre-page .postseason-round-time:focus-visible {
  border-color:rgba(183,255,74,.76);
  color:#efffd5;
  outline:2px solid rgba(210,255,137,.42);
  outline-offset:1px;
}
.schedule-centre-page .postseason-round-score {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:28px;
}
.schedule-centre-page .postseason-round-team {
  display:block;
  width:min(100%,8em);
  max-width:8em;
  overflow:hidden;
  color:#dce9ef;
  font-size:13px;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.schedule-centre-page .postseason-round-team.is-opponent {
  justify-self:end;
  text-align:right;
}
.schedule-centre-page .postseason-round-score>strong {
  color:#fff;
  font-size:14px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.schedule-centre-page .postseason-round-score>strong i {
  padding:0 2px;
  color:var(--lime);
  font-style:normal;
}
.schedule-centre-page .postseason-round-score>small {
  display:block;
  grid-column:1/-1;
  padding-top:3px;
  color:#e9ca79;
  font-size:12px;
  font-weight:850;
  text-align:center;
}
.schedule-centre-page .postseason-tie-actions {
  grid-template-columns:minmax(0,1fr);
  margin-top:8px;
}
.schedule-centre-page .postseason-tie-actions.is-organizer:has(.fixture-card-report) {
  grid-template-columns:minmax(0,1.35fr) minmax(72px,.65fr);
}
.schedule-centre-page .postseason-report-links {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(0,1fr));
  gap:4px;
  min-width:0;
}
.schedule-centre-page .postseason-tie-actions .fixture-card-action,
.schedule-centre-page .postseason-tie-actions .group-match-public-report {
  min-height:38px!important;
  padding:0 8px!important;
  font-size:15px!important;
}
.schedule-centre-page .playoff-bracket.is-double-leg {
  --playoff-route-height:1760px;
  --playoff-card-height:430px;
  --playoff-card-half:215px;
  min-height:1890px;
}
.schedule-centre-page .playoff-bracket.is-double-leg .playoff-qualification-slot {
  height:186px;
  min-height:186px!important;
  max-height:186px;
}
.schedule-centre-page .playoff-bracket.is-double-leg .playoff-qualification-slot:first-child { top:calc(26.25% - 93px); }
.schedule-centre-page .playoff-bracket.is-double-leg .playoff-qualification-slot:last-child { top:calc(74.25% - 93px); }
.schedule-centre-page .football-knockout-bracket.is-double-leg>.bracket-stage {
  grid-template-rows:40px 1020px!important;
}
.schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-stage-matches {
  height:1020px!important;
  min-height:1020px!important;
}
.schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-route-lines { height:1020px; }
.schedule-centre-page .football-knockout-bracket.is-double-leg .postseason-tie,
.schedule-centre-page .football-knockout-bracket.is-double-leg .postseason-tie.with-actions {
  height:430px!important;
  min-height:430px!important;
  max-height:430px;
  padding:12px 13px!important;
}

@media (min-width:2400px) {
  .schedule-centre-page .postseason-leg>header span,
  .schedule-centre-page .postseason-leg>header b { font-size:14px; }
  .schedule-centre-page .postseason-tie .postseason-team-name,
  .schedule-centre-page .postseason-round-team {
    width:min(100%,10em);
    max-width:10em;
  }
  .schedule-centre-page .postseason-round-team { font-size:16px; }
  .schedule-centre-page .postseason-round-score>strong { font-size:17px; }
  .schedule-centre-page .postseason-round-score>small { font-size:13px; }
  .schedule-centre-page .postseason-tie-penalty>span { font-size:14px; }
  .schedule-centre-page .postseason-tie-penalty>strong { font-size:18px; }
  .schedule-centre-page .postseason-round-time {
    min-width:58px;
    min-height:36px;
    font-size:15px;
  }
  .schedule-centre-page .playoff-bracket.is-double-leg {
    --playoff-route-height:1960px;
    --playoff-card-height:476px;
    --playoff-card-half:238px;
    min-height:2130px;
  }
  .schedule-centre-page .football-knockout-bracket.is-double-leg>.bracket-stage {
    grid-template-rows:48px 1220px!important;
  }
  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-stage-matches {
    height:1220px!important;
    min-height:1220px!important;
  }
  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-route-lines { height:1220px; }
  .schedule-centre-page .football-knockout-bracket.is-double-leg .postseason-tie,
  .schedule-centre-page .football-knockout-bracket.is-double-leg .postseason-tie.with-actions {
    height:476px!important;
    min-height:476px!important;
    max-height:476px;
  }
  .schedule-centre-page .postseason-tie-actions .fixture-card-action,
  .schedule-centre-page .postseason-tie-actions .group-match-public-report {
    min-height:42px!important;
    font-size:16px!important;
  }
}

/* Keep every team label on the schedule canvas predictable. Wide broadcast
   screens reserve about ten CJK glyphs; narrower screens surrender name width
   before they squeeze scores, qualification marks, or actions. */
.schedule-centre-page .standing-team>b,
.schedule-centre-page .fixture-queue-teams>div>b,
.schedule-centre-page .knockout-team-row>b {
  display:block;
  width:min(100%,10em);
  max-width:10em;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width:1380px) {
  .schedule-centre-page .standing-team>b,
  .schedule-centre-page .fixture-queue-teams>div>b,
  .schedule-centre-page .knockout-team-row>b {
    width:min(100%,8em);
    max-width:8em;
  }
}

@media (max-width:760px) {
  .schedule-centre-page .standing-team>b,
  .schedule-centre-page .fixture-queue-teams>div>b,
  .schedule-centre-page .knockout-team-row>b {
    width:min(100%,6em);
    max-width:6em;
  }

  /* Read-only group fixtures use the full card width for the matchup. Keeping
   * round/time beside it left only a few pixels for each team name on phones. */
  .schedule-centre-page .fixture-queue-row.is-public {
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:17px minmax(0,1fr);
    height:90px;
    min-height:90px!important;
    gap:4px;
    padding:7px 8px;
  }

  .schedule-centre-page .fixture-queue-row.is-public .fixture-queue-meta {
    display:flex;
    grid-column:1;
    grid-row:1;
    align-items:center;
    justify-content:center;
    min-width:0;
    gap:8px;
    overflow:hidden;
  }

  .schedule-centre-page .fixture-queue-row.is-public .fixture-queue-meta b,
  .schedule-centre-page .fixture-queue-row.is-public .fixture-queue-meta span {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .schedule-centre-page .fixture-queue-row.is-public .fixture-queue-teams {
    grid-column:1;
    grid-row:2;
    grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);
    gap:4px;
  }

  .schedule-centre-page .fixture-queue-row.is-public .fixture-queue-teams>div>b {
    display:-webkit-box;
    flex:1 1 auto;
    width:100%;
    max-width:none;
    min-width:0;
    min-height:0;
    overflow:hidden;
    line-height:1.15;
    text-overflow:ellipsis;
    white-space:normal;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
  }
}

@media (max-width:1380px) {
  .schedule-centre-page .postseason-tie .postseason-team-name,
  .schedule-centre-page .postseason-round-team {
    width:min(100%,8em);
    max-width:8em;
  }

  .schedule-centre-page .postseason-tie-actions .fixture-card-action,
  .schedule-centre-page .postseason-tie-actions .group-match-public-report {
    padding-right:3px!important;
    padding-left:3px!important;
  }
}

@media (max-width:760px) {
  .schedule-centre-page .postseason-tie .postseason-team-name,
  .schedule-centre-page .postseason-round-team {
    width:min(100%,6em);
    max-width:6em;
  }
}

/* The legacy tall two-leg canvas has a slightly different card anchor from
 * the desktop compact canvas.  Pin the QF endpoints to the SVG centres here
 * as well, so horizontal scrolling on laptop/mobile widths never shows a
 * route entering above or below its card. */
@media (max-width:1380px) {
  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-qf-left .knockout-match:first-child,
  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-qf-right .knockout-match:first-child { top:2px; }

  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-qf-left .knockout-match:last-child,
  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-qf-right .knockout-match:last-child { bottom:2px; }
}

/*
 * Dense-screen route pass
 * -----------------------
 * A double-leg tie is still one route node.  Showing each round underneath
 * the other made the four first-round cards taller than a 1080p screen, even
 * though the bracket had plenty of horizontal room.  The stable team rows at
 * the top establish the A/B order; the two round summaries can therefore sit
 * side by side without repeating those long names.  This keeps the complete
 * playoff and knockout routes visible at normal desktop sizes, while the
 * fixed SVG coordinate systems remain centred on every card.
 */
@media (min-width:1381px) {
  .schedule-centre-page .compact-standing-row {
    gap:6px;
    padding-right:8px;
    padding-left:8px;
  }

  .schedule-centre-page .standing-team { gap:6px; }
  .schedule-centre-page .standing-team em { width:24px; height:22px; }
  .schedule-centre-page .standing-team>b { font-size:16px; }
  .schedule-centre-page .compact-standing-row small { font-size:14px; }
  .schedule-centre-page .compact-standing-row small b { font-size:16px; }

  .schedule-centre-page .playoff-bracket.is-double-leg .postseason-tie,
  .schedule-centre-page .football-knockout-bracket.is-double-leg .postseason-tie {
    padding:8px 10px!important;
  }

  .schedule-centre-page .postseason-tie>header {
    margin-bottom:3px;
  }

  .schedule-centre-page .postseason-tie>header span,
  .schedule-centre-page .postseason-tie>header b {
    font-size:12px;
  }

  .schedule-centre-page .postseason-tie .knockout-team-row {
    min-height:25px!important;
  }

  .schedule-centre-page .postseason-tie .knockout-team-row>em {
    width:21px!important;
    height:21px!important;
  }

  .schedule-centre-page .postseason-tie .knockout-team-row>b {
    font-size:14px;
  }

  .schedule-centre-page .postseason-tie-penalty {
    min-height:25px;
    margin-top:3px;
    padding:3px 6px;
  }

  .schedule-centre-page .postseason-tie-penalty>span { font-size:12px; }
  .schedule-centre-page .postseason-tie-penalty>strong { font-size:13px; }

  .schedule-centre-page .postseason-tie-rounds {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;
    margin-top:5px;
    padding-top:5px;
  }

  .schedule-centre-page .postseason-leg {
    padding:4px 5px 5px;
  }

  .schedule-centre-page .postseason-leg>header {
    grid-template-columns:minmax(0,1fr) auto;
    gap:4px;
    margin-bottom:2px;
  }

  .schedule-centre-page .postseason-leg>header span,
  .schedule-centre-page .postseason-leg>header b {
    font-size:12px;
    line-height:1.2;
  }

  .schedule-centre-page .postseason-leg>header b { display:none; }

  .schedule-centre-page .postseason-round-time {
    min-width:44px;
    min-height:38px;
    padding:0 5px;
    font-size:15px;
  }

  .schedule-centre-page .postseason-round-score {
    grid-template-columns:1fr;
    gap:0;
    min-height:19px;
  }

  .schedule-centre-page .postseason-round-team { display:none; }

  .schedule-centre-page .postseason-round-score>strong {
    font-size:13px;
    text-align:center;
  }

  .schedule-centre-page .postseason-round-score>small {
    padding-top:1px;
    font-size:12px;
  }

  .schedule-centre-page .playoff-bracket.is-double-leg .postseason-tie-actions,
  .schedule-centre-page .football-knockout-bracket.is-double-leg .postseason-tie-actions {
    gap:4px;
    margin-top:4px;
  }

  .schedule-centre-page .postseason-tie-actions .fixture-card-action,
  .schedule-centre-page .postseason-tie-actions .group-match-public-report {
    min-height:38px!important;
    padding:0 3px!important;
    font-size:15px!important;
  }

  /* Keep the complete route compact without squeezing adjacent cards into
   * each other after restoring readable control sizes. */
  .schedule-centre-page .playoff-bracket.is-double-leg {
    --playoff-route-height:1080px;
    --playoff-card-height:260px;
    --playoff-card-half:130px;
    min-height:1198px;
  }

  .schedule-centre-page .playoff-bracket.is-double-leg .playoff-qualification-slot {
    height:154px;
    min-height:154px!important;
    max-height:154px;
  }

  .schedule-centre-page .playoff-bracket.is-double-leg .playoff-qualification-slot:first-child { top:calc(26.25% - 77px); }
  .schedule-centre-page .playoff-bracket.is-double-leg .playoff-qualification-slot:last-child { top:calc(74.25% - 77px); }

  .schedule-centre-page .football-knockout-bracket.is-double-leg>.bracket-stage {
    grid-template-rows:40px 640px!important;
  }

  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-stage-matches {
    height:640px!important;
    min-height:640px!important;
  }

  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-route-lines { height:640px; }

  .schedule-centre-page .football-knockout-bracket.is-double-leg .postseason-tie,
  .schedule-centre-page .football-knockout-bracket.is-double-leg .postseason-tie.with-actions {
    height:260px!important;
    min-height:260px!important;
    max-height:260px;
  }

  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-qf-left .knockout-match:first-child,
  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-qf-right .knockout-match:first-child { top:6px; }

  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-qf-left .knockout-match:last-child,
  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-qf-right .knockout-match:last-child { bottom:6px; }
}

/* Let a 2K/4K canvas use its extra height for breathing room, but never
 * revert to the former multi-screen double-leg route. */
@media (min-width:2400px) {
  .schedule-centre-page .standing-team>b { font-size:19px; }
  .schedule-centre-page .compact-standing-row small { font-size:16px; }
  .schedule-centre-page .compact-standing-row small b { font-size:18px; }

  .schedule-centre-page .playoff-bracket.is-double-leg {
    --playoff-route-height:1140px;
    --playoff-card-height:276px;
    --playoff-card-half:138px;
    min-height:1264px;
  }

  .schedule-centre-page .playoff-bracket.is-double-leg .playoff-qualification-slot {
    height:190px;
    min-height:190px!important;
    max-height:190px;
  }

  .schedule-centre-page .playoff-bracket.is-double-leg .playoff-qualification-slot:first-child { top:calc(26.25% - 95px); }
  .schedule-centre-page .playoff-bracket.is-double-leg .playoff-qualification-slot:last-child { top:calc(74.25% - 95px); }

  .schedule-centre-page .football-knockout-bracket.is-double-leg>.bracket-stage {
    grid-template-rows:48px 820px!important;
  }

  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-stage-matches {
    height:820px!important;
    min-height:820px!important;
  }

  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-route-lines { height:820px; }

  .schedule-centre-page .football-knockout-bracket.is-double-leg .postseason-tie,
  .schedule-centre-page .football-knockout-bracket.is-double-leg .postseason-tie.with-actions {
    height:276px!important;
    min-height:276px!important;
    max-height:276px;
  }

  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-qf-left .knockout-match:first-child,
  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-qf-right .knockout-match:first-child { top:36px; }

  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-qf-left .knockout-match:last-child,
  .schedule-centre-page .football-knockout-bracket.is-double-leg .bracket-qf-right .knockout-match:last-child { bottom:36px; }

  .schedule-centre-page .postseason-tie>header span,
  .schedule-centre-page .postseason-tie>header b,
  .schedule-centre-page .postseason-leg>header span,
  .schedule-centre-page .postseason-leg>header b,
  .schedule-centre-page .postseason-tie-penalty>span { font-size:14px; }

  .schedule-centre-page .postseason-round-score>small { font-size:13px; }

  .schedule-centre-page .postseason-round-time {
    min-width:58px;
    min-height:42px;
    padding:0 7px;
    font-size:16px;
  }

  .schedule-centre-page .postseason-tie-actions .fixture-card-action,
  .schedule-centre-page .postseason-tie-actions .group-match-public-report {
    min-height:42px!important;
    padding:0 6px!important;
    font-size:16px!important;
  }
}

/*
 * Real-event compact pass
 * -----------------------
 * A launched event can show the future knockout route before its physical
 * fixtures exist.  Those preview nodes are ordinary 186px placeholder cards,
 * even when the event is configured for double-leg ties.  Do not give them
 * the much taller live two-leg canvas: doing so moves the QF cards away from
 * the SVG endpoints and creates a page of empty vertical space.
 */
.schedule-centre-page .football-knockout-bracket.is-double-leg:has(.bracket-placeholder)>.bracket-stage {
  grid-template-rows:40px 480px!important;
}

.schedule-centre-page .football-knockout-bracket.is-double-leg:has(.bracket-placeholder) .bracket-stage-matches {
  height:480px!important;
  min-height:480px!important;
}

.schedule-centre-page .football-knockout-bracket.is-double-leg:has(.bracket-placeholder) .bracket-route-lines {
  height:480px;
}

.schedule-centre-page .football-knockout-bracket.is-double-leg:has(.bracket-placeholder) .bracket-placeholder {
  height:186px!important;
  min-height:186px!important;
  max-height:186px!important;
}

.schedule-centre-page .football-knockout-bracket.is-double-leg:has(.bracket-placeholder) .bracket-qf-left .knockout-match:first-child,
.schedule-centre-page .football-knockout-bracket.is-double-leg:has(.bracket-placeholder) .bracket-qf-right .knockout-match:first-child {
  top:9px;
}

.schedule-centre-page .football-knockout-bracket.is-double-leg:has(.bracket-placeholder) .bracket-qf-left .knockout-match:last-child,
.schedule-centre-page .football-knockout-bracket.is-double-leg:has(.bracket-placeholder) .bracket-qf-right .knockout-match:last-child {
  bottom:9px;
}

/* Single-leg playoff cards do not need the two-leg route's tall empty bands.
 * Public cards can be very compact; organizer cards reserve one extra action
 * row so time/report controls remain readable and never clip. */
@media (min-width:1381px) and (max-width:2399px) {
  .schedule-centre-page .group-match-centre {
    grid-template-columns:minmax(760px,1.05fr) minmax(840px,.95fr);
  }

  .schedule-centre-page .compact-standing-row {
    grid-template-columns:20px minmax(0,1fr) 92px 52px!important;
    gap:4px;
    padding-right:6px;
    padding-left:6px;
  }

  .schedule-centre-page .standing-team {
    gap:5px;
  }

  .schedule-centre-page .standing-team em {
    width:22px;
    height:21px;
  }

  .schedule-centre-page .standing-team>b {
    font-size:14px;
  }

  .schedule-centre-page .playoff-bracket:not(.is-double-leg) .knockout-team-row>b,
  .schedule-centre-page .football-knockout-bracket .knockout-team-row>b,
  .schedule-centre-page .postseason-tie .knockout-team-row>b {
    font-size:14px!important;
  }

  .schedule-centre-page .postseason-tie .postseason-team-name {
    width:min(100%,10em);
    max-width:10em;
  }

  .schedule-centre-page .qualification-marker {
    min-width:52px;
    padding-right:4px;
    padding-left:4px;
  }
}

/* Organizer fixtures keep the original reading order on one line:
 * drag handle -> round -> teams/score -> actions.  The action column stays
 * to the right of the score at every viewport; only team names ellipsize on
 * narrow screens. */
.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-row {
  grid-template-rows:auto!important;
  align-items:center;
}

.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-drag-handle,
.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-meta,
.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-teams,
.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions {
  grid-row:1!important;
}

.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-drag-handle { grid-column:1!important; }
.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-meta { grid-column:2!important; }
.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-teams { grid-column:3!important; }
.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions {
  display:flex!important;
  grid-column:4!important;
  align-items:center;
  justify-self:end;
  width:auto!important;
  min-width:0;
  gap:5px;
}

.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions>details,
.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions>.match-record-link,
.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions>details>summary {
  box-sizing:border-box;
  width:auto!important;
}

.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions>details>summary,
.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions>.match-record-link {
  min-height:40px!important;
  padding:0 7px!important;
  font-size:15px!important;
  line-height:1!important;
}

.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions>details>summary {
  min-width:88px!important;
}

.schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions>.match-record-link {
  min-width:92px!important;
}

@media (max-width:760px) {
  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-row {
    grid-template-columns:40px 48px minmax(0,1fr) 144px!important;
    gap:2px!important;
    min-height:90px!important;
    height:90px!important;
    padding:6px!important;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-drag-handle {
    width:40px;
    min-width:40px;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-teams {
    grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);
    gap:2px;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-teams>div {
    gap:2px;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-teams em {
    display:none!important;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions {
    gap:4px;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions>details>summary,
  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions>.match-record-link {
    width:70px!important;
    min-width:70px!important;
    padding:0 4px!important;
  }
}

@media (min-width:761px) and (max-width:1380px) {
  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-row {
    grid-template-columns:20px 105px minmax(0,1fr) auto!important;
    gap:6px!important;
  }
}

@media (min-width:1381px) and (max-width:2399px) {
  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-row {
    grid-template-columns:24px 100px minmax(0,1fr) auto!important;
    gap:6px!important;
    min-height:92px!important;
    height:92px!important;
    padding:10px!important;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-meta b {
    font-size:14px;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-meta span {
    font-size:12px;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-teams {
    grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);
    gap:6px;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-teams>div {
    gap:5px;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-teams em {
    width:22px;
    height:21px;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-teams b {
    width:min(100%,10em);
    max-width:10em;
    font-size:14px;
  }
}

@media (min-width:2400px) {
  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-row {
    grid-template-columns:24px 116px minmax(0,1fr) auto!important;
    gap:10px!important;
    min-height:106px!important;
    height:106px!important;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions {
    gap:9px;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions>details>summary,
  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions>.match-record-link {
    padding:0 10px!important;
    font-size:16px!important;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions>details>summary {
    min-width:96px!important;
  }

  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-actions>.match-record-link {
    min-width:100px!important;
  }
}

@media (max-width:2399px) {
  .schedule-centre-page .playoff-bracket:not(.is-double-leg) {
    --playoff-route-height:600px;
    --playoff-card-height:132px;
    --playoff-card-half:66px;
    min-height:720px;
  }

  /* A confirmed public result and an organizer card both add an action row.
   * Compress the surrounding chrome instead of growing the route beyond a
   * 1080p canvas; the 580px route still leaves a visible gap between the two
   * crossing matches in each outside column. */
  .schedule-centre-page .playoff-bracket:not(.is-double-leg):has(.bracket-fixture-actions) {
    --playoff-route-height:580px;
    --playoff-card-height:138px;
    --playoff-card-half:69px;
    min-height:700px;
  }

  .schedule-centre-page .playoff-bracket:not(.is-double-leg):has(.bracket-fixture-actions) .knockout-match {
    padding:6px 10px!important;
  }

  .schedule-centre-page .playoff-bracket:not(.is-double-leg):has(.bracket-fixture-actions) .knockout-match>header {
    margin-bottom:3px;
  }

  .schedule-centre-page .playoff-bracket:not(.is-double-leg):has(.bracket-fixture-actions) .knockout-team-row {
    grid-template-columns:24px minmax(0,1fr) 34px minmax(30px,auto)!important;
    gap:4px;
    min-height:25px!important;
  }

  .schedule-centre-page .playoff-bracket:not(.is-double-leg):has(.bracket-fixture-actions) .knockout-team-row>em {
    width:21px!important;
    height:21px!important;
  }

  .schedule-centre-page .playoff-bracket:not(.is-double-leg):has(.bracket-fixture-actions) .bracket-fixture-actions {
    gap:4px;
    margin-top:4px;
  }

  .schedule-centre-page .playoff-bracket:not(.is-double-leg):has(.bracket-fixture-actions) .fixture-card-action,
  .schedule-centre-page .playoff-bracket:not(.is-double-leg):has(.bracket-fixture-actions) .group-match-public-report {
    min-height:36px!important;
    padding-right:3px;
    padding-left:3px;
    font-size:15px!important;
  }
}

@media (min-width:1381px) and (max-width:2399px) {
  .schedule-centre-page .playoff-bracket:not(.is-double-leg):has(.bracket-fixture-actions) {
    --playoff-stage-gap:10px;
    min-height:670px;
    padding:20px 34px;
  }

  .schedule-centre-page .playoff-bracket:not(.is-double-leg):has(.bracket-fixture-actions) .playoff-route-lines {
    top:calc(20px + var(--playoff-stage-heading) + var(--playoff-stage-gap));
  }
}

@media (min-width:2400px) {
  .schedule-centre-page .group-match-centre {
    grid-template-columns:minmax(860px,1.05fr) minmax(980px,.95fr);
  }

  .schedule-centre-page .standing-team>b {
    font-size:17px;
  }

  .schedule-centre-page .football-knockout-bracket.is-double-leg:has(.bracket-placeholder)>.bracket-stage {
    grid-template-rows:48px 480px!important;
  }

  .schedule-centre-page .playoff-bracket:not(.is-double-leg) {
    --playoff-route-height:820px;
    --playoff-card-height:198px;
    --playoff-card-half:99px;
    min-height:965px;
  }
}
