/* Last-pass schedule polish: preserve a stable broadcast layout while making
   the dense operational controls comfortable at normal desktop scale. */
.draw-action-row { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.draw-machine-row.ghost { grid-template-columns:58px minmax(0,1fr); }
.draw-machine-row.ghost .draw-reel-crest { opacity:.78; transform:scale(.78); }
.draw-reel-crest,
.draw-team-slot > i,
.standing-team em,
.knockout-team-row em,
.playoff-qualification-slot em { border-radius:4px !important; }
.draw-reel-crest img,
.draw-team-slot > i img,
.standing-team em img,
.knockout-team-row em img,
.playoff-qualification-slot em img { width:100%; height:100%; object-fit:contain !important; }

/* Team marks must read as crests, rather than as cropped flag thumbnails.
   Keep every schedule surface on a square canvas and leave a little breathing
   room around round or shield-shaped source art. */
.schedule-centre-page .draw-reel-crest,
.schedule-centre-page .draw-team-slot > i,
.schedule-centre-page .standing-team em,
.schedule-centre-page .round-match-teams em,
.schedule-centre-page .fixture-queue-teams em,
.schedule-centre-page .knockout-team-row em,
.schedule-centre-page .champion-callout em,
.schedule-centre-page .playoff-qualification-slot em {
  box-sizing:border-box;
  aspect-ratio:1;
  border-radius:4px !important;
}
.schedule-centre-page .draw-reel-crest { width:54px !important; height:54px !important; }
.schedule-centre-page .draw-team-slot { grid-template-columns:36px minmax(0,1fr); }
.schedule-centre-page .draw-team-slot > i { width:32px !important; height:32px !important; }
.schedule-centre-page .standing-team em,
.schedule-centre-page .fixture-queue-teams em { width:28px !important; height:28px !important; }
.schedule-centre-page .round-match-teams em,
.schedule-centre-page .knockout-team-row em { width:26px !important; height:26px !important; }
.schedule-centre-page .draw-reel-crest img,
.schedule-centre-page .draw-team-slot > i img,
.schedule-centre-page .standing-team em img,
.schedule-centre-page .round-match-teams em img,
.schedule-centre-page .fixture-queue-teams em img,
.schedule-centre-page .knockout-team-row em img,
.schedule-centre-page .champion-callout em img,
.schedule-centre-page .playoff-qualification-slot em img { box-sizing:border-box; object-fit:contain !important; padding:2px; }
.schedule-centre-page .draw-reel-crest.team-flag,
.schedule-centre-page .draw-team-slot > i.team-flag {
  border-color:color-mix(in srgb,var(--flag-color),#fff 42%);
  background:linear-gradient(135deg,color-mix(in srgb,var(--flag-color),#fff 20%),var(--flag-color) 62%,color-mix(in srgb,var(--flag-color),#06111d 42%));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 5px 14px rgba(0,0,0,.24);
}

/* The header uses the exact same 4-column rhythm as a standing row. */
.compact-standings-grid article > header.group-standing-head {
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 112px 58px;
  align-items:center;
  gap:8px;
}
.compact-standings-grid article > header.group-standing-head > div { grid-column:1 / 3; }
.standing-record-heading { display:grid; grid-template-columns:repeat(5,1fr); gap:2px; text-align:center; }
.standing-record-heading span,
.standing-record-heading b,
.qualification-heading { color:#a9c0cb; font-size:12px; font-variant-numeric:tabular-nums; font-weight:850; }
.standing-record-heading b { color:#d8ff99; }
.qualification-heading { text-align:center; }

/* Score recording deliberately has no chronological goals: a concise side by
   side ledger is generated directly from the entered score. */
.compact-goals-panel .goal-stats-toggle { display:inline-flex; align-items:center; gap:8px; color:#dff5fb; font-size:15px; font-weight:850; cursor:pointer; }
.compact-goals-panel .goal-stats-toggle input { accent-color:#b8f83d; width:17px; height:17px; }
.goal-stats-hint { margin:0 0 14px; color:#9eb7c3; font-size:14px; line-height:1.45; }
.team-goal-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.goal-side { min-width:0; border:1px solid rgba(150,200,220,.18); background:rgba(2,15,26,.38); }
.goal-side > header { display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding:10px 12px; border-bottom:1px solid rgba(150,200,220,.14); }
.goal-side > header b { overflow:hidden; color:#ecf8fb; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.goal-side > header small { color:#91aab6; font-size:12px; white-space:nowrap; }
.goal-side-list { display:grid; gap:8px; padding:10px; }
.compact-goal-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; min-width:0; margin:0; padding:8px; border:1px solid rgba(150,200,220,.18); background:#081c2b; }
.compact-goal-row legend { padding:0 4px; color:#bbf871; font-size:12px; font-weight:900; }
.compact-goal-row label { display:grid; gap:4px; min-width:0; color:#9bb2bd; font-size:12px; }
.compact-goal-row select { min-width:0; min-height:34px; border:1px solid rgba(150,200,220,.25); background:#102a3b; color:#eff8fc; font-size:14px; }
.compact-goals-panel.is-player-tracking-off .goal-stats-hint { color:#f0d28a; }
.leaderboard-data-warning { margin:16px 18px 0; padding:10px 12px; border-left:3px solid #e5b94c; background:rgba(229,185,76,.1); color:#ead8a6; font-size:14px; line-height:1.5; }

/* The playoff follows the same left-to-centre-to-right language as the main
   knockout bracket. Each route is independent: PO1/2 and PO3/4 each produce
   one of the last two eight-final places. */
.schedule-centre-page .playoff-workspace { width:100%; min-width:0; max-width:none; margin:0; overflow:visible; }
.schedule-centre-page .playoff-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 {
  outline:2px solid var(--lime);
  outline-offset:-2px;
}
.schedule-centre-page .bracket-scroll-hint {
  display:none;
  align-items:center;
  gap:8px;
  margin:0;
  padding:9px 14px;
  border-bottom:1px solid rgba(150,200,220,.14);
  background:rgba(4,18,29,.68);
  color:#a9bfca;
  font-size:13px;
  line-height:1.4;
}
.schedule-centre-page .bracket-scroll-hint>i {
  color:var(--lime);
  font-size:17px;
  font-style:normal;
  font-weight:900;
}
.playoff-bracket { --playoff-route-height:640px; --playoff-card-height:148px; --playoff-card-half:74px; --playoff-stage-heading:40px; --playoff-stage-gap:13px; grid-template-columns:repeat(5,minmax(0,1fr)); column-gap:48px; min-width:1420px; min-height:716px; padding:28px 32px 34px; }
.playoff-bracket::before { inset:72px 32px 34px; }
.playoff-bracket .playoff-route-lines { top:calc(28px + var(--playoff-stage-heading) + var(--playoff-stage-gap)); right:32px; bottom:auto; left:32px; width:calc(100% - 64px); height:var(--playoff-route-height); }
.playoff-bracket .playoff-bracket-stage { grid-template-rows:var(--playoff-stage-heading) var(--playoff-route-height); gap:var(--playoff-stage-gap); }
.playoff-bracket .playoff-bracket-stage h3 { box-sizing:border-box; height:var(--playoff-stage-heading); color:#d6ff91; font-size:18px; font-weight:900; text-align:center; text-shadow:0 0 16px rgba(183,255,74,.2); }
.playoff-bracket .playoff-bracket-stage h3::after { display:block; width:28px; height:2px; margin:8px auto 0; background:linear-gradient(90deg,transparent,#caff75,transparent); content:""; }
.playoff-bracket .playoff-bracket-matches { position:relative; display:block; min-height:var(--playoff-route-height); height:var(--playoff-route-height); }
.playoff-bracket .knockout-match { position:absolute; z-index:2; right:0; left:0; display:block; box-sizing:border-box; height:var(--playoff-card-height); min-height:var(--playoff-card-height) !important; max-height:var(--playoff-card-height); margin:0; padding:10px 12px !important; overflow:hidden; border-color:rgba(148,195,206,.3); background:linear-gradient(145deg,rgba(11,35,52,.98),rgba(3,16,28,.96)); box-shadow:0 12px 24px rgba(0,0,0,.2); }
.playoff-bracket .knockout-match.complete { border-color:rgba(192,255,109,.62); background:linear-gradient(145deg,rgba(24,63,52,.94),rgba(4,19,30,.98)); }
.playoff-bracket .knockout-match>header { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:5px; }
.playoff-bracket .knockout-match>header span { color:#d5e5ec; font-size:14px !important; font-weight:900; }
.playoff-bracket .knockout-match>header b { color:#9fb7c3; font-size:12px; }
.playoff-bracket .knockout-team-row { grid-template-columns:28px minmax(0,1fr) auto; min-height:30px !important; }
.playoff-bracket .knockout-team-row>b { font-size:16px !important; }
.playoff-bracket .knockout-team-row>strong { font-size:19px !important; }
.playoff-bracket .knockout-match footer { display:none; }
.playoff-bracket .match-record-link { display:flex !important; align-items:center; justify-content:center; min-height:31px; margin-top:8px !important; font-size:13px; }
.playoff-bracket .fixture-time-control { margin-top:8px; padding-top:7px; border-top:1px solid rgba(142,181,200,.15); }
.playoff-bracket .fixture-time-control>summary { color:#c9dce5; font-size:12px; font-weight:850; }
.playoff-bracket .playoff-cross-left .knockout-match:first-child { top:calc(15.46875% - var(--playoff-card-half)); }
.playoff-bracket .playoff-cross-left .knockout-match:last-child { top:calc(43.125% - var(--playoff-card-half)); }
.playoff-bracket .playoff-final-left .knockout-match { top:calc(29.296875% - var(--playoff-card-half)); }
.playoff-bracket .playoff-cross-right .knockout-match:first-child { top:calc(68.4375% - var(--playoff-card-half)); }
.playoff-bracket .playoff-cross-right .knockout-match:last-child { top:calc(96.09375% - var(--playoff-card-half)); }
.playoff-bracket .playoff-final-right .knockout-match { top:calc(82.265625% - var(--playoff-card-half)); }
.playoff-bracket .playoff-qualifier-stage { padding:0; }
.playoff-bracket .playoff-qualification-slots { position:relative; display:block; min-height:var(--playoff-route-height); height:var(--playoff-route-height); }
.playoff-bracket .playoff-qualification-slot { position:absolute; right:0; left:0; box-sizing:border-box; height:var(--playoff-card-height); min-height:var(--playoff-card-height); max-height:var(--playoff-card-height); padding:15px; overflow:hidden; }
.playoff-bracket .playoff-qualification-slot:first-child { top:calc(29.296875% - var(--playoff-card-half)); }
.playoff-bracket .playoff-qualification-slot:last-child { top:calc(82.265625% - var(--playoff-card-half)); }
.playoff-bracket .playoff-qualification-slot>span { font-size:12px; }
.playoff-bracket .playoff-qualification-slot b { font-size:16px; }
.playoff-bracket.is-preview .knockout-match { border-style:dashed; border-color:rgba(183,255,74,.34); background:linear-gradient(145deg,rgba(17,45,49,.64),rgba(5,18,28,.9)); }
.playoff-preview-note { margin-top:14px; }

@media (min-width:2400px) {
  .compact-standings-grid article > header.group-standing-head { grid-template-columns:28px minmax(0,1fr) 144px 70px; }
  .standing-record-heading span,.standing-record-heading b,.qualification-heading { font-size:15px; }
  .team-goal-columns { gap:18px; }
  .compact-goal-row select { min-height:40px; font-size:17px; }
  .schedule-centre-page .draw-reel-crest { width:68px !important; height:68px !important; }
  .schedule-centre-page .draw-team-slot { grid-template-columns:46px minmax(0,1fr); }
  .schedule-centre-page .draw-team-slot > i { width:42px !important; height:42px !important; }
  .schedule-centre-page .standing-team em,
  .schedule-centre-page .fixture-queue-teams em { width:34px !important; height:34px !important; }
  .schedule-centre-page .round-match-teams em,
  .schedule-centre-page .knockout-team-row em { width:31px !important; height:31px !important; }
}
@media (max-width:1380px) {
  .team-goal-columns { min-width:760px; }
}
@media(min-width:2400px){.playoff-bracket{--playoff-route-height:740px;--playoff-card-height:174px;--playoff-card-half:87px;--playoff-stage-heading:40px;--playoff-stage-gap:16px;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:66px;min-width:1840px;min-height:842px;padding:38px 46px 42px}.playoff-bracket::before{inset:98px 46px 42px}.playoff-bracket .playoff-route-lines{top:calc(38px + var(--playoff-stage-heading) + var(--playoff-stage-gap));right:46px;left:46px;width:calc(100% - 92px);height:var(--playoff-route-height)}.playoff-bracket .playoff-bracket-stage{grid-template-rows:var(--playoff-stage-heading) var(--playoff-route-height);gap:var(--playoff-stage-gap)}.playoff-bracket .playoff-bracket-stage h3{font-size:22px}.playoff-bracket .playoff-bracket-matches,.playoff-bracket .playoff-qualification-slots{min-height:var(--playoff-route-height);height:var(--playoff-route-height)}.playoff-bracket .knockout-match{height:var(--playoff-card-height);min-height:var(--playoff-card-height)!important;max-height:var(--playoff-card-height);padding:14px!important}.playoff-bracket .knockout-team-row>b{font-size:20px!important}.playoff-bracket .playoff-qualification-slot b{font-size:21px}.playoff-bracket .knockout-match.with-actions .fixture-card-action{min-height:34px;font-size:14px}}
@media(max-width:1380px){.playoff-bracket{min-width:1420px}}

/* Bracket canvases should feel like a cup-night surface without competing
   with the route lines, team names, scores, or organizer controls. */
.schedule-centre-page .playoff-bracket,
.schedule-centre-page .football-knockout-bracket{
  border:1px solid rgba(139,190,211,.2);
  background:
    radial-gradient(ellipse at 50% -12%,rgba(117,190,222,.12),transparent 43%),
    radial-gradient(ellipse at 50% 112%,rgba(183,255,74,.075),transparent 46%),
    linear-gradient(135deg,rgba(12,40,57,.96),rgba(4,18,30,.985) 54%,rgba(8,32,45,.97))!important;
  box-shadow:
    inset 0 1px 0 rgba(230,250,255,.055),
    inset 0 -42px 80px rgba(0,7,14,.2),
    0 18px 38px rgba(0,0,0,.18);
}
.schedule-centre-page .playoff-bracket::before,
.schedule-centre-page .football-knockout-bracket::before{
  z-index:0;
  border:1px solid rgba(182,224,220,.075);
  background:
    radial-gradient(circle at 50% 50%,transparent 0 92px,rgba(190,233,221,.052) 93px 94px,transparent 95px),
    linear-gradient(90deg,transparent calc(50% - .5px),rgba(190,233,221,.05) calc(50% - .5px),rgba(190,233,221,.05) calc(50% + .5px),transparent calc(50% + .5px)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 46px);
  box-shadow:inset 0 0 70px rgba(44,126,151,.035);
  pointer-events:none;
}
.schedule-centre-page .playoff-bracket .knockout-match,
.schedule-centre-page .football-knockout-bracket .knockout-match{
  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{
  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 .football-knockout-bracket .bracket-final .knockout-match{
  background:
    radial-gradient(circle at 50% -12%,rgba(213,255,135,.16),transparent 49%),
    linear-gradient(145deg,rgba(29,67,56,.97),rgba(5,22,32,.99));
}
.schedule-centre-page .playoff-qualification-slot{
  background:
    radial-gradient(circle at 15% -15%,rgba(92,170,207,.11),transparent 48%),
    linear-gradient(145deg,rgba(9,31,46,.94),rgba(4,17,28,.97));
}
.schedule-centre-page .playoff-qualification-slot.resolved{
  background:
    radial-gradient(circle at 15% -15%,rgba(183,255,74,.13),transparent 48%),
    linear-gradient(145deg,rgba(23,58,48,.94),rgba(4,18,28,.98));
}

/* Once a route is live, keep its cards as competition cards.  Scheduling and
   result entry stay one click away in overlays instead of expanding the tree. */
.schedule-centre-page .bracket-fixture-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
.schedule-centre-page .fixture-card-action{display:flex;grid-column:auto!important;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:32px;margin:0;padding:0 8px;border:1px solid rgba(142,181,200,.38);background:#102a3b;color:#dceaf0;font-size:13px;font-weight:850;line-height:1;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer}
.schedule-centre-page .fixture-card-action:hover,.schedule-centre-page .fixture-card-action:focus-visible{border-color:rgba(183,255,74,.7);background:rgba(183,255,74,.12);color:#efffcf;outline:0}
.schedule-centre-page .fixture-card-time{border-color:rgba(87,168,255,.52);background:linear-gradient(135deg,rgba(87,168,255,.16),rgba(17,47,72,.9));color:#d8edff}
.schedule-centre-page .fixture-card-record{border-color:rgba(183,255,74,.52);background:linear-gradient(135deg,rgba(183,255,74,.13),rgba(15,53,49,.92));color:#e0ffac}
.schedule-centre-page .playoff-bracket .bracket-fixture-actions{margin-top:9px}
.schedule-centre-page .football-knockout-bracket .bracket-fixture-actions{margin-top:11px}
.schedule-centre-page .playoff-bracket .knockout-match.with-actions .bracket-fixture-actions{gap:6px;margin-top:7px}
.schedule-centre-page .playoff-bracket .knockout-match.with-actions .fixture-card-action{min-height:29px;padding:0 7px;font-size:12px}
.schedule-centre-page .football-knockout-bracket .knockout-match{height:178px!important;min-height:178px!important;max-height:178px;overflow:hidden}
.schedule-centre-page .football-knockout-bracket .knockout-match.with-actions{height:178px!important;min-height:178px!important}
.schedule-centre-page .football-knockout-bracket .knockout-match>header span,.schedule-centre-page .playoff-bracket .knockout-match>header span{display:inline-flex;align-items:center;gap:6px}
.fixture-decision{display:inline-flex;align-items:center;min-height:17px;padding:0 5px;border:1px solid rgba(229,185,76,.5);background:rgba(229,185,76,.12);color:#f5d67f;font-size:10px!important;font-style:normal;font-weight:900;letter-spacing:.04em;line-height:1}
.schedule-centre-page .public-report-action{margin-top:9px}
.schedule-centre-page .public-report-action .group-match-public-report{display:flex;grid-column:1 / -1;align-items:center;justify-content:center;box-sizing:border-box;min-height:32px;margin:0;padding:0 8px;border:1px solid rgba(183,255,74,.45);background:rgba(183,255,74,.1);color:#e0ffac;font-size:13px;font-weight:850;text-decoration:none}
.schedule-centre-page .playoff-bracket .public-report-action{margin-top:7px}
.schedule-centre-page .playoff-bracket .public-report-action .group-match-public-report{min-height:29px;padding:0 7px;font-size:12px}
.fixture-kickoff-dialog{width:min(500px,calc(100vw - 36px));padding:0;border:1px solid rgba(87,168,255,.48);background:linear-gradient(145deg,#102b3d,#071522);color:#edf8fc;box-shadow:0 30px 90px rgba(0,0,0,.62)}
.fixture-kickoff-dialog::backdrop{background:rgba(1,8,14,.72);backdrop-filter:blur(6px)}
.fixture-kickoff-dialog .dialog-close{position:absolute;z-index:2;top:12px;right:12px;width:35px;height:35px;border:1px solid rgba(164,208,230,.25);background:#102a3c;color:#fff;font-size:22px;cursor:pointer}
.fixture-kickoff-dialog-body{padding:22px}
.fixture-kickoff-form{display:grid;gap:16px}
.fixture-kickoff-form header{padding:0 46px 16px 0;border-bottom:1px solid rgba(164,208,230,.18)}
.fixture-kickoff-form header span{color:#8ec7ff;font-size:12px;font-weight:900;letter-spacing:.12em}
.fixture-kickoff-form h3{margin:6px 0 0;color:#f2f9fc;font-size:21px;line-height:1.25}
.fixture-kickoff-form h3 i{color:#98adba;font-style:normal}
.fixture-kickoff-form label{display:grid;gap:7px;color:#b8cbd5;font-size:14px;font-weight:850}
.fixture-kickoff-form input{box-sizing:border-box;min-height:42px;width:100%;border:1px solid var(--line-strong);background:#071825;color:#f6fbff;padding:0 10px;font-size:16px}
.fixture-kickoff-form footer{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.fixture-kickoff-form .button-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin:0;padding:0 10px;font-size:14px}
.fixture-kickoff-form .time-tbd-button{border:1px solid rgba(142,181,200,.46);background:rgba(142,181,200,.08);color:#cadbe4}
@media(min-width:2400px){.schedule-centre-page .fixture-card-action{min-height:38px;font-size:16px}.schedule-centre-page .football-knockout-bracket .knockout-match,.schedule-centre-page .football-knockout-bracket .knockout-match.with-actions{height:196px!important;min-height:196px!important;max-height:196px}.fixture-kickoff-dialog{width:620px}.fixture-kickoff-dialog-body{padding:28px}.fixture-kickoff-form h3{font-size:26px}.fixture-kickoff-form label{font-size:17px}.fixture-kickoff-form input{min-height:50px;font-size:19px}}

/* Group fixtures share the phase navigation's content width. Public report
   access lives inside the score column so published rows keep one rhythm. */
.mobile-group-round-filter,
.mobile-fixture-context,
.fixture-progress-group{display:none}
.schedule-centre-page .fixture-queue-row.is-public{
  grid-template-columns:minmax(136px,.62fr) minmax(0,2.3fr)!important;
}
.schedule-centre-page .group-fixture-workbench .fixture-queue-row{
  box-sizing:border-box;
  height:92px;
  min-height:92px;
}
.schedule-centre-page .fixture-queue-teams{
  grid-template-columns:minmax(0,1fr) clamp(112px,6vw,128px) minmax(0,1fr);
}
.schedule-centre-page .fixture-score{
  display:grid;
  align-content:center;
  justify-items:center;
  gap:2px;
  min-width:0;
  color:#f5fbff;
  font-size:36px!important;
  font-variant-numeric:tabular-nums;
  line-height:1;
}
.schedule-centre-page .fixture-score>small{
  color:#f0d477;
  font-size:21px;
  font-weight:900;
  line-height:1.1;
  white-space:nowrap;
}
.schedule-centre-page .fixture-score>.group-match-public-report{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  margin:2px 0 0;
  padding:0;
  border:0;
  color:#bffb5d;
  font-size:11px;
  font-weight:850;
  line-height:1.1;
  text-decoration:underline;
  text-decoration-color:rgba(183,255,74,.36);
  text-underline-offset:3px;
  white-space:nowrap;
}
.schedule-centre-page .fixture-score>.group-match-public-report:hover,
.schedule-centre-page .fixture-score>.group-match-public-report:focus-visible{
  color:#efffcf;
  text-decoration-color:#b7ff4a;
  outline:2px solid rgba(183,255,74,.58);
  outline-offset:3px;
}
@media(min-width:2400px){
  .schedule-centre-page .fixture-queue-teams{grid-template-columns:minmax(0,1fr) 152px minmax(0,1fr)}
  .schedule-centre-page .fixture-score{font-size:44px!important}
  .schedule-centre-page .fixture-score>small{font-size:25px}
  .schedule-centre-page .fixture-score>.group-match-public-report{font-size:14px}
  .schedule-centre-page .group-fixture-workbench .fixture-queue-row{height:106px;min-height:106px}
}
@media(min-width:761px){
  .schedule-centre-page .group-fixture-workbench .fixture-queue-row{
    padding-block:10px;
  }
}
@media(min-width:761px) and (max-width:1380px){
  .schedule-centre-page .group-match-centre{
    box-sizing:border-box;
    width:100%;
    min-width:0;
    grid-template-columns:minmax(500px,.82fr) minmax(0,1.18fr);
  }
  .schedule-centre-page .group-overview-column,
  .schedule-centre-page .group-fixture-workbench,
  .schedule-centre-page .fixture-queue-list{min-width:0}
  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-row{
    grid-template-columns:20px 105px minmax(250px,1fr) auto;
    gap:8px;
    padding:10px;
  }
  .schedule-centre-page .fixture-queue-actions{gap:5px}
  .schedule-centre-page .fixture-queue-actions summary,
  .schedule-centre-page .fixture-queue-actions .button-link{
    min-height:32px;
    padding:0 8px;
    font-size:13px;
    line-height:30px;
  }
}
@media(min-width:761px) and (max-width:1200px){
  .schedule-centre-page .group-match-centre{
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }
  .schedule-centre-page .group-overview-column,
  .schedule-centre-page .group-fixture-workbench{
    width:100%;
    min-width:0;
  }
}
@media(max-width:1380px){
  .schedule-centre-page .bracket-scroll-hint{display:flex}
}

/* Mobile match recording must stay inside the viewport. The desktop ledger is
   intentionally side by side; phones use one team per row instead of creating
   a page- or dialog-level horizontal scroller. */
@media(max-width:760px){
  body.match-report-page{overflow-x:hidden}
  .match-report-page .site-main{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
    padding-right:12px;
    padding-left:12px;
    overflow-x:hidden;
  }
  .match-report-page .report-workspace,
  .match-report-page .compact-report-editor,
  .match-record-dialog,
  .match-record-dialog-body,
  .match-record-dialog .compact-report-editor,
  .compact-report-editor .tournament-panel,
  .compact-score-grid,
  .shootout-control,
  .compact-goals-panel,
  .team-goal-columns,
  .goal-side,
  .goal-side-list,
  .compact-goal-row,
  .report-editor-actions{
    box-sizing:border-box;
    width:auto;
    max-width:100%;
    min-width:0;
  }
  .match-report-page .report-workspace{width:100%}
  .match-report-page .team-goal-columns,
  .match-record-dialog .team-goal-columns{
    width:100%;
    min-width:0;
    grid-template-columns:minmax(0,1fr);
  }
  .match-record-dialog{
    width:calc(100vw - 18px);
    overflow-x:hidden;
    overflow-y:auto;
  }
  .compact-report-editor .tournament-panel>header>div,
  .compact-report-editor h3,
  .compact-goal-row label,
  .compact-goal-row select,
  .compact-goal-row input{min-width:0}
  .compact-report-editor h3{overflow-wrap:anywhere}
  .compact-report-editor .report-editor-actions{flex-wrap:wrap}

  /* Reordering controls are direct-touch actions on phones. Keep the 40 px
     target in the grid rather than enlarging the visual glyph. */
  .schedule-centre-page .fixture-queue-list[data-reorder-url] .fixture-queue-row{
    grid-template-columns:40px 66px minmax(0,1fr) auto;
  }
  .schedule-centre-page .fixture-drag-handle{
    box-sizing:border-box;
    display:grid;
    width:40px;
    min-width:40px;
    height:40px;
    min-height:40px;
    padding:0;
    place-items:center;
  }
  .schedule-centre-page .group-tiebreak-panel li{
    grid-template-columns:22px minmax(0,1fr) 40px 40px;
    min-height:46px;
  }
  .schedule-centre-page .group-tiebreak-panel li button{
    width:40px;
    min-width:40px;
    height:40px;
    min-height:40px;
  }
}
