/* Schedule-only repairs. Explicit sizing isolates these controls from legacy
   generic button and nested .league-list span rules. */
body.site-shell.schedule-page .schedule-date-row {
  position:relative;
  grid-template-columns:44px minmax(0,1fr) 44px minmax(160px,184px);
  align-items:center;
  gap:10px;
  padding:10px;
}
body.site-shell.schedule-page .date-arrow {
  display:grid;
  place-items:center;
  width:44px;
  height:48px;
  min-height:44px;
  padding:0;
  border:1px solid var(--ui-line);
  border-radius:12px;
  color:var(--ui-sub);
  background:#fff;
  box-shadow:0 2px 6px #17203405;
  cursor:pointer;
}
body.site-shell.schedule-page .date-arrow svg {
  display:block;
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.site-shell.schedule-page .date-arrow:disabled { opacity:.35; cursor:default; box-shadow:none }
body.site-shell.schedule-page .schedule-days { min-width:0 }
body.site-shell.schedule-page .schedule-date-picker {
  min-width:0;
  width:100%;
  max-width:100%;
  grid-column:auto;
  justify-self:stretch;
}
body.site-shell.schedule-page .schedule-date-trigger {
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 18px;
  width:100%;
  min-width:0;
  min-height:64px;
  padding:10px;
  gap:8px;
  border-radius:12px;
}
body.site-shell.schedule-page .schedule-date-trigger .schedule-filter-copy { min-width:0; flex:1 }
body.site-shell.schedule-page .schedule-date-trigger .schedule-filter-copy small { white-space:nowrap; font-size:12px; line-height:1.5; letter-spacing:normal; font-weight:500; color:var(--ui-sub) }
body.site-shell.schedule-page .schedule-date-trigger .schedule-filter-copy b { font-size:14px; line-height:1.5 }
body.site-shell.schedule-page .schedule-date-trigger .schedule-filter-mark { flex:0 0 28px; width:28px; height:28px }
body.site-shell.schedule-page .schedule-date-trigger .schedule-filter-chevron { flex-shrink:0 }
body.site-shell.schedule-page :is(.date-arrow,.schedule-filter-trigger,[data-league-shortcut],.focus-detail-link):focus-visible {
  outline:2px solid var(--red);
  outline-offset:3px;
}

/* One useful title row, rather than repeating "赛事分组" for every league. */
body.site-shell.schedule-page .schedule-league-head { gap:12px; min-height:64px; padding:10px 16px }
body.site-shell.schedule-page .schedule-league-head>span:first-child { flex:1; min-width:0 }
body.site-shell.schedule-page .schedule-league-head em { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px }
body.site-shell.schedule-page .schedule-league-head em strong { white-space:normal; line-height:1.5 }
body.site-shell.schedule-page .schedule-league-head em small { margin:0; white-space:nowrap }
body.site-shell.schedule-page .schedule-league-head .league-live-count { color:var(--red); font-weight:500 }
body.site-shell.schedule-page .schedule-league-head :is(img,.league-mark-fallback) { flex:0 0 30px; width:30px; height:30px; object-fit:contain }
body.site-shell.schedule-page .league-head-actions { flex-shrink:0; gap:8px; white-space:nowrap }
body.site-shell.schedule-page [data-league-toggle] { min-width:36px; min-height:36px }
body.site-shell.schedule-page .schedule-league-card .league-list {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-auto-flow:row;
  gap:8px;
}
body.site-shell.schedule-page .schedule-league-card .league-list>button {
  min-width:0;
  width:100%;
  min-height:68px;
  grid-template-columns:38px minmax(0,1fr) 26px;
  align-items:center;
  gap:10px;
  padding:10px;
  background:#fff;
}
body.site-shell.schedule-page .league-list :is(.league-nav-mark,.league-nav-copy,.league-mark-fallback) {
  padding:0;
  margin:0;
  border:0;
}
body.site-shell.schedule-page .league-nav-mark {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  line-height:1;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 8px #17203408;
}
body.site-shell.schedule-page .league-nav-mark :is(img,.league-mark-fallback) {
  display:block;
  width:28px;
  height:28px;
  object-fit:contain;
  object-position:center;
}
body.site-shell.schedule-page .league-nav-mark .league-mark-fallback { display:grid; place-items:center }
body.site-shell.schedule-page .league-nav-copy { display:block; align-self:center; min-width:0 }
body.site-shell.schedule-page .league-nav-copy b { font-size:14px; line-height:1.5; white-space:normal; overflow-wrap:anywhere }
body.site-shell.schedule-page .league-nav-copy small { margin-top:2px; font-size:12px; line-height:1.5 }
body.site-shell.schedule-page .schedule-league-card .league-list>button>strong {
  display:grid;
  width:26px;
  height:28px;
  font-size:12px;
  background:var(--ui-recess);
  color:var(--ui-sub);
}
body.site-shell.schedule-page .schedule-league-card .league-list>button.active { background:#fff; border-color:#dce0e6; box-shadow:var(--ui-shadow) }

/* Real fixture preview: symmetric teams, authoritative score and kickoff. */
body.site-shell.schedule-page .editorial-match-focus { padding:20px 16px; background:linear-gradient(150deg,#fff,#fdfdfe); overflow:hidden }
body.site-shell.schedule-page .editorial-match-focus>header { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; padding:0 }
body.site-shell.schedule-page .focus-status { margin-left:auto; font-size:12px; color:var(--ui-sub); font-weight:500 }
body.site-shell.schedule-page .focus-status.is-live { color:var(--red) }
body.site-shell.schedule-page .focus-status.is-live::before { content:''; display:inline-block; width:6px; height:6px; border-radius:50%; margin-right:6px; background:currentColor }
body.site-shell.schedule-page .focus-league { display:flex; align-items:center; gap:7px; margin:18px 0 0; font-size:13px; line-height:1.5; color:var(--ui-sub) }
body.site-shell.schedule-page .focus-league :is(img,.league-mark-fallback) { width:20px; height:20px; object-fit:contain; flex:0 0 20px }
body.site-shell.schedule-page .focus-fixture { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:8px; align-items:start; padding:20px 0 }
body.site-shell.schedule-page .focus-team { min-width:0; display:grid; justify-items:center; text-align:center; gap:8px }
body.site-shell.schedule-page .focus-team>small { font-size:12px; color:var(--ui-sub) }
body.site-shell.schedule-page .focus-team-mark { display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--ui-line); border-radius:14px; background:#fff; box-shadow:0 3px 10px #17203406 }
body.site-shell.schedule-page .focus-team-mark :is(img,.team-mark-fallback) { width:32px; height:32px; flex:0 0 32px; object-fit:contain; margin:0 }
body.site-shell.schedule-page .focus-team>b { font-size:14px; font-weight:650; line-height:1.5; overflow-wrap:anywhere }
body.site-shell.schedule-page .focus-rank { font-size:12px; line-height:1.5; color:var(--ui-sub) }
body.site-shell.schedule-page .focus-score { align-self:start; text-align:center; padding-top:37px }
body.site-shell.schedule-page .focus-score>div { display:flex; align-items:center; justify-content:center; gap:4px; font-size:22px; font-variant-numeric:tabular-nums; line-height:1.2 }
body.site-shell.schedule-page .focus-score i { font-style:normal; color:var(--ui-sub); font-size:16px }
body.site-shell.schedule-page .focus-score>strong { font-size:20px; font-weight:600; color:var(--ui-sub) }
body.site-shell.schedule-page .focus-score>small { display:block; font-size:12px; color:var(--ui-sub); margin-top:8px }
body.site-shell.schedule-page .focus-kickoff { display:grid; gap:5px; padding:14px 0; border-top:1px solid var(--ui-line) }
body.site-shell.schedule-page .focus-kickoff>span,body.site-shell.schedule-page .focus-kickoff>small { font-size:12px; color:var(--ui-sub) }
body.site-shell.schedule-page .focus-kickoff>time { font-size:14px; font-weight:600; font-variant-numeric:tabular-nums }
body.site-shell.schedule-page .editorial-match-focus>.focus-detail-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--ui-line);
  border-radius:10px;
  background:#fff;
  font-size:14px;
  color:var(--ui-text);
}
body.site-shell.schedule-page .focus-detail-link>span:last-child { color:var(--red); font-size:18px }
body.site-shell.schedule-page .schedule-compact-row.is-previewed { background:#fcfcfd; box-shadow:inset 3px 0 var(--red) }
@media(hover:hover) and (pointer:fine) {
  body.site-shell.schedule-page .date-arrow:not(:disabled):hover { color:var(--red); border-color:#dce0e6; box-shadow:0 3px 10px #1720340d }
  body.site-shell.schedule-page .schedule-league-card .league-list>button:hover { background:#fff; border-color:#dce0e6; transform:none }
  body.site-shell.schedule-page .focus-detail-link:hover { background:#fdfdfe; border-color:#dce0e6; box-shadow:var(--ui-shadow) }
}
@media(max-width:1000px) {
  body.site-shell.schedule-page .schedule-date-row { grid-template-columns:44px minmax(0,1fr) 44px }
  body.site-shell.schedule-page .schedule-date-picker { grid-column:1/-1; width:184px; justify-self:end }
}
@media(max-width:520px) {
  body.site-shell.schedule-page .schedule-date-row { grid-template-columns:44px minmax(0,1fr) 44px; padding:8px; gap:8px }
  body.site-shell.schedule-page [data-date-prev] { grid-area:1/1 }
  body.site-shell.schedule-page [data-date-next] { grid-area:1/3 }
  body.site-shell.schedule-page .schedule-days { grid-area:2/1/3/-1; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px }
  body.site-shell.schedule-page .schedule-day { min-height:62px; padding:10px 0 }
  body.site-shell.schedule-page .schedule-date-picker { position:static; grid-area:1/2; width:100% }
  body.site-shell.schedule-page .schedule-date-trigger { grid-template-columns:minmax(0,1fr) 18px; min-height:48px; padding:5px 8px; gap:5px }
  body.site-shell.schedule-page .schedule-date-trigger .schedule-filter-mark { display:none }
  body.site-shell.schedule-page .schedule-date-trigger .schedule-filter-copy small { font-size:12px }
  body.site-shell.schedule-page .schedule-date-picker .schedule-calendar { left:8px; right:8px; top:calc(100% + 8px); width:auto; min-width:0; max-width:none }
  body.site-shell.schedule-page .schedule-league-head { padding:8px 12px; gap:8px }
  body.site-shell.schedule-page .league-head-actions { gap:4px }
  body.site-shell.schedule-page [data-league-toggle] { min-width:44px; min-height:44px }
}
