.bracket-round-browser[hidden],
[data-bracket-desktop][hidden],
[data-bracket-desktop-hint][hidden],
.bracket-round-browser [hidden] { display:none!important; }
.schedule-centre-page .schedule-phase-nav .bracket-phase-desktop { display:inline; }
.schedule-centre-page .schedule-phase-nav .bracket-phase-mobile { display:none; }
/* Each single-leg card stacks its header, two team rows, support and actions.
   This must follow the card when it leaves the legacy desktop bracket. */
.schedule-centre-page [data-bracket-browser] .knockout-match[data-leg-mode="single"] { display:block; }
.schedule-centre-page [data-bracket-browser] .knockout-match.bracket-placeholder { display:block; }

.league-schedule-summary { margin-bottom:14px;padding:14px 18px;border:1px solid var(--line);background:var(--surface-inset); }
.league-schedule-summary p { display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;color:var(--text-2);font-size:15px;line-height:1.5; }
.league-schedule-summary p+p { margin-top:8px; }
.league-schedule-summary b { color:var(--text-1); }
[data-knockout-candidates] { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start;min-width:0; }
[data-knockout-candidates]>article { min-width:0; }
[data-knockout-candidates]>article>div>span { white-space:normal;overflow-wrap:anywhere; }
.playoff-draw-candidates>div>span>strong { font:inherit;font-weight:800; }
.playoff-draw-candidates>div>span>small { display:block;margin-top:4px;color:var(--text-2);font-size:14px; }

@media (max-width:760px) and (orientation:portrait) {
  .schedule-centre-page .schedule-phase-nav .bracket-phase-desktop { display:none; }
  .schedule-centre-page .schedule-phase-nav .bracket-phase-mobile { display:inline;white-space:nowrap; }
  .schedule-centre-page .playoff-workspace>header { flex-wrap:wrap;gap:12px; }
  .schedule-centre-page .playoff-workspace>header>div { flex:1 1 100%;min-width:0; }
  .schedule-centre-page .playoff-workspace>header>b { white-space:nowrap; }
  .schedule-centre-page .bracket-round-browser { padding:14px 12px 20px;min-width:0; }
  .schedule-centre-page .bracket-round-tabs { display:flex;flex-wrap:wrap;gap:7px; }
  .schedule-centre-page .bracket-round-tabs button {
    flex:1 1 78px;min-height:44px;padding:8px;border:1px solid var(--line-strong);border-radius:4px;
    background:var(--panel-3);color:var(--text-2);font:inherit;font-size:15px;font-weight:850;cursor:pointer;
  }
  .schedule-centre-page .bracket-round-tabs button[aria-selected="true"] { border-color:var(--lime);background:var(--lime-wash);color:var(--lime); }
  .schedule-centre-page .bracket-round-tabs button[data-bracket-round="final"] { border-color:color-mix(in srgb,var(--gold) 60%,transparent);color:var(--gold); }
  .schedule-centre-page .bracket-round-tabs button[data-bracket-round="final"][aria-selected="true"] { background:color-mix(in srgb,var(--gold) 12%,var(--panel-3));border-color:var(--gold); }
  .schedule-centre-page .bracket-placement-label { flex:1 1 100%;margin-top:5px;padding-top:10px;border-top:1px solid var(--line);color:var(--text-2);font-size:12px; }
  .schedule-centre-page .bracket-round-tabs .is-placement-round { flex:0 1 110px; }
  .schedule-centre-page .bracket-round-tabs button:focus-visible,
  .schedule-centre-page .bracket-round-panel:focus-visible { outline:2px solid var(--lime);outline-offset:2px; }
  .schedule-centre-page .bracket-round-status { margin:12px 0;color:var(--text-2);font-size:14px; }
  .schedule-centre-page .bracket-round-panel { display:grid;gap:12px;min-width:0; }
  .schedule-centre-page .bracket-round-panel>h3 { margin:0;color:var(--text-1);font-size:20px; }
  .schedule-centre-page .bracket-round-panel[data-bracket-round="final"]>h3 { color:var(--gold); }
  .schedule-centre-page .bracket-round-panel[data-bracket-round="third_place"]>h3 { color:var(--text-2);font-size:18px; }
  .schedule-centre-page .bracket-round-panel :is(.knockout-match,.playoff-qualification-slot) {
    position:static!important;transform:none!important;inset:auto!important;box-sizing:border-box;width:100%!important;
    height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:14px!important;
    overflow:visible;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface-1);
  }
  .schedule-centre-page .bracket-round-panel .knockout-match { display:block; }
  .schedule-centre-page .bracket-round-panel .knockout-match.complete { border-color:var(--lime);background:var(--surface-success); }
  .schedule-centre-page .bracket-round-panel .knockout-match>header { align-items:flex-start;flex-wrap:wrap;gap:5px;margin-bottom:10px; }
  .schedule-centre-page .bracket-round-panel .knockout-match>header :is(span,b) { font-size:13px!important;white-space:normal; }
  .schedule-centre-page .bracket-round-panel .knockout-match>header b { text-align:left; }
  .schedule-centre-page .bracket-round-panel .knockout-team-row { grid-template-columns:26px minmax(0,1fr) 38px auto!important;min-height:38px!important;gap:6px; }
  .schedule-centre-page .bracket-round-panel .knockout-team-row>b { width:auto;max-width:none;font-size:16px!important;line-height:1.4;white-space:normal;overflow-wrap:anywhere; }
  .schedule-centre-page .bracket-round-panel .knockout-team-row>strong { font-size:19px!important; }
  .schedule-centre-page .bracket-round-panel .postseason-team-name { width:auto;max-width:none; }
  .schedule-centre-page .bracket-round-panel .postseason-leg { padding:10px; }
  .schedule-centre-page .bracket-round-panel .postseason-leg>header { display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px; }
  .schedule-centre-page .bracket-round-panel .postseason-leg-meta { display:flex;flex-wrap:wrap;gap:4px 10px;min-width:0; }
  .schedule-centre-page .bracket-round-panel .postseason-leg-meta :is(span,b) { font-size:13px;white-space:normal; }
  .schedule-centre-page .bracket-round-panel .postseason-leg-actions { display:flex;flex-wrap:wrap;gap:6px; }
  .schedule-centre-page .bracket-round-panel .postseason-round-score { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
  .schedule-centre-page .bracket-round-panel .postseason-round-team { width:auto;max-width:none;font-size:14px;white-space:normal;overflow-wrap:anywhere; }
  .schedule-centre-page .bracket-round-panel .postseason-round-score>strong { font-size:16px; }
  .schedule-centre-page .bracket-round-panel :is(.fixture-card-action,.postseason-round-options,.postseason-leg-state) { min-height:44px!important;font-size:14px!important; }
  .schedule-centre-page .bracket-round-panel .fixture-card-action:focus-visible { color:var(--text-1)!important;outline-color:var(--lime); }
  .schedule-centre-page .bracket-round-panel .fixture-card-report { background:var(--surface-inset);color:var(--gold)!important; }
  .schedule-centre-page .bracket-round-panel .playoff-qualification-slot>span { font-size:14px; }
  .schedule-centre-page .bracket-round-panel .playoff-qualification-slot b { font-size:16px;white-space:normal;overflow-wrap:anywhere; }
  .schedule-centre-page .league-schedule-summary { padding:12px; }
  .schedule-centre-page [data-knockout-candidates] { grid-template-columns:minmax(0,1fr); }

  /* Without scripting the complete route remains a readable vertical list. */
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) [data-bracket-desktop] { overflow:visible;padding:12px; }
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) :is(.football-knockout-bracket,.playoff-bracket,.flexible-bracket-rounds) {
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important;min-width:0!important;
    height:auto!important;min-height:0!important;padding:0!important;overflow:visible;
  }
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) :is(.bracket-stage,.playoff-bracket-stage,.flexible-bracket-round) {
    min-width:0;max-width:none;grid-template-rows:auto auto!important;gap:12px!important;
  }
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) :is(.bracket-stage-matches,.playoff-bracket-matches,.playoff-qualification-slots) {
    display:grid!important;gap:12px;height:auto!important;min-height:0!important;
  }
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) :is(.knockout-match,.playoff-qualification-slot,.placement-match) {
    position:static!important;inset:auto!important;transform:none!important;width:100%!important;
    height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;
  }
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) :is(.bracket-route-lines,.playoff-route-lines),
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) .football-knockout-bracket::before,
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) .playoff-bracket::before { display:none; }
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) :is(.placement-match-heading,.placement-tie-shell) {
    position:static;inset:auto;transform:none;height:auto;min-height:0;margin-block:8px;
  }
}
