/* FootyStats record book: paper, compact tables and complete club frames.
   This is the final shared design layer over legacy page layouts. */
body.app-body {
  --clean-paper:#20211f; --clean-ink:#f5f1e7; --clean-muted:#c1bfb4; --clean-rule:#494a44; --clean-accent:#ef8279;
}
body.app-body[data-theme="light"] {
  --clean-paper:#f5f1e7; --clean-ink:#171916; --clean-muted:#5c5d54; --clean-rule:#d9d3c6; --clean-accent:#a52e29;
}
body.app-body[data-page] {
  --fs-bg:var(--clean-paper); --fs-bg-1:var(--clean-paper); --fs-bg-2:color-mix(in srgb,var(--clean-paper) 94%,var(--clean-ink));
  --fs-ink:var(--clean-ink); --fs-ink-2:var(--clean-muted); --fs-line:var(--clean-rule); --fs-line-med:var(--clean-rule);
  --trophy-paper:var(--clean-paper); --trophy-ink:var(--clean-ink); --trophy-muted:var(--clean-muted); --trophy-line:var(--clean-rule); --trophy-line-soft:var(--clean-rule);
  background:var(--clean-paper)!important; color:var(--clean-ink); font:16px/1.45 var(--fs-font-body);
}
body.app-body[data-page] [hidden] { display:none!important; }
body.app-body[data-page] .app-shell { background:transparent!important; }
body.app-body[data-page] .app-topbar {
  position:relative; top:auto; display:flex; align-items:center; flex-wrap:wrap; gap:14px; width:calc(100% - 48px); max-width:1380px;
  margin:0 auto; padding:14px 0; min-height:68px; border:0; border-bottom:2px solid var(--clean-ink)!important; box-shadow:none; background:var(--clean-paper)!important; color:var(--clean-ink);
}
body.app-body[data-page] .app-brand { font-size:28px; color:var(--clean-ink)!important; flex-shrink:0; }
body.app-body[data-page] .app-brand-mark { display:none; }
body.app-body[data-page] .app-brand::after { content:'/'; color:var(--clean-accent); margin-left:2px; }
body.app-body[data-page] .app-nav { margin-left:auto!important; gap:2px; }
body.app-body[data-page] .app-nav-link { padding:8px; font:500 14px var(--fs-font-body)!important; text-transform:none!important; border:0; border-radius:0!important; background:transparent!important; color:var(--clean-ink)!important; }
body.app-body[data-page] .app-nav-link.is-active { color:var(--clean-accent)!important; border-bottom:2px solid currentColor!important; box-shadow:none!important; }
body.app-body[data-page] .app-nav-link svg { display:none; }
body.app-body[data-page] .app-main { padding:24px 24px 64px!important; }
body.app-body[data-page] .app-main > div { max-width:1380px; margin-inline:auto; padding:0!important; }
body.app-body[data-page] .app-page-flow { gap:24px; }
body.app-body[data-page] :is(.app-hero,.clean-round-header) {
  width:calc(100% - 48px); max-width:1380px; margin:0 auto; padding:22px 0 0!important; min-height:0!important;
  background:transparent!important; border:0!important; box-shadow:none!important; color:var(--clean-ink)!important;
}
body.app-body[data-page] .app-hero > div { padding:0!important; max-width:none; min-height:0; }
body.app-body[data-page] .app-hero-copy { min-height:0!important; padding:0!important; background:transparent!important; border:0!important; }
body.app-body[data-page] :is(.app-hero h1,.clean-page-heading h1,.record-page h1) { font:800 clamp(36px,3.5vw,48px)/1 var(--fs-font-display)!important; margin:0 0 10px!important; text-transform:uppercase; border:0!important; padding:0!important; color:inherit; }
body.app-body[data-page] .app-hero-copy p { max-width:68ch; margin:0; color:var(--clean-muted)!important; font-size:16px; line-height:1.5; }
body.app-body[data-page] :is(.app-hero,.app-hero-copy)::before,body.app-body[data-page] :is(.app-hero,.app-hero-copy)::after { display:none!important; }
body.app-body[data-page] :is(.clubs-hero-field,.trophy-hero-field,.match-bauhaus-hero,.app-hero-actions) { display:none!important; }
body.app-body[data-page] :is(.clubs-hero-grid,.trophy-hero-grid) { display:block!important; }
body.app-body[data-page] :is(.fs-section,.teams-shell-card,.years-shell-card,.trophy-shell-card,.home-panel,.live-centre-day-strip) { background:transparent!important; border:0!important; box-shadow:none!important; padding:0!important; }
body.app-body[data-page] :is(.fs-section-head,.teams-section-head,.years-section-head) { border:0!important; padding:0 0 12px!important; margin:0; align-items:baseline; text-align:left!important; }
body.app-body[data-page] :is(.fs-section h2,.teams-section-head h2,.years-section-head h2,.teams-section-head h3,.years-section-head h3,.fs-leaderboard-title,.trophy-leader-head h3,.record-page h2) { font:600 22px/1.2 var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; text-align:left!important; }
.clean-page-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.clean-eyebrow { font:12px var(--fs-font-mono); text-transform:uppercase; letter-spacing:1px; color:var(--clean-muted); }
body.app-body[data-page] .clean-text-link { font-size:14px; color:var(--clean-accent); }
body.app-body[data-page] a:hover { text-decoration:underline; text-underline-offset:4px; }
body.app-body[data-page] :is(button,a,input,select):focus-visible { outline:2px solid var(--clean-accent); outline-offset:4px; }
body.app-body[data-page] :is(.teams-kicker,.years-kicker) { display:none; }

/* Search shares the masthead; its label remains available to assistive technology. */
.site-search { position:relative; z-index:25; flex:0 1 280px; margin-left:10px; }
.site-search label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
body.app-body[data-page] .site-search input { width:100%; min-height:42px; padding:10px 12px; border:1px solid var(--clean-rule)!important; border-radius:0!important; background:var(--clean-paper)!important; color:var(--clean-ink)!important; font:14px var(--fs-font-body); box-shadow:none!important; }
.site-search-results { position:absolute; top:100%; right:0; width:max(100%,340px); max-height:min(65vh,580px); overflow-y:auto; background:var(--clean-paper); border:1px solid var(--clean-ink); box-shadow:0 12px 28px #0002; }
.site-search-result { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 16px; border-bottom:1px solid var(--clean-rule); text-decoration:none; }
.site-search-result:hover,.site-search-result:focus { background:var(--fs-bg-2); }
.site-search-result strong { display:block; font-size:16px; }
.site-search-result small { display:block; font-size:12px; color:var(--clean-muted); }
.site-search-kind { flex-shrink:0; padding:6px 10px; font:12px var(--fs-font-mono); }
.site-search-kind[style] { background:var(--club-primary); color:var(--club-text); border:2px solid var(--club-secondary); box-shadow:inset 0 0 0 2px var(--club-tertiary); }
.site-search-message { padding:14px 16px; margin:0; font-size:14px; color:var(--clean-muted); }

/* Club colours always surround the whole surface. */
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row,.fs-h2h-team,.fs-record-cover-team,.fs-club-pill,.fs-stat-line,.club-frame) {
  background:var(--club-primary)!important; color:var(--club-text)!important; border:2px solid var(--club-secondary)!important;
  box-shadow:inset 0 0 0 2px var(--club-tertiary,transparent)!important; border-radius:0!important;
}
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row,.fs-h2h-team,.fs-record-cover-team)::before,
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row,.fs-h2h-team,.fs-record-cover-team)::after { display:none!important; }
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row) { min-height:60px!important; padding:8px 12px!important; margin-bottom:3px; }
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row) :is(a,strong,span,p,small,b) { color:inherit!important; opacity:1; }
body.app-body[data-page] .fs-leaderboard-player strong { font:600 16px var(--fs-font-body)!important; text-transform:none!important; }
body.app-body[data-page] .fs-leaderboard-player .fs-club-pill { border:0!important; box-shadow:none!important; background:transparent!important; padding:0!important; text-transform:none!important; font:13px var(--fs-font-body)!important; }
body.app-body[data-page] :is(.fs-rank,.fs-leaderboard-value strong,.fs-leaderboard-rank) { font:600 24px/1.1 var(--fs-font-display)!important; }
body.app-body[data-page] :is(.fs-leaderboard-panel,.fs-leaderboard-list) { border:0!important; background:transparent!important; box-shadow:none!important; }
body.app-body[data-page] :is(.fs-leaderboard-header,.fs-leaderboard-head) { background:transparent!important; border:0!important; padding:0 0 10px!important; }
body.app-body[data-page] tr.has-team-fill { background:var(--club-primary)!important; color:var(--club-text)!important; outline:2px solid var(--club-tertiary,transparent); outline-offset:-3px; }
body.app-body[data-page] tr.has-team-fill td { background:transparent!important; color:inherit!important; border-left:0!important; border-bottom:3px solid var(--clean-paper)!important; }
body.app-body[data-page] tr.has-team-fill td :is(a,span) { color:inherit!important; }

/* Home: compact fixtures, result strip, then current season leaders. */
body.app-body[data-page="home"] .home-round-list { display:grid; gap:12px; margin:12px 0; }
body.app-body[data-page="home"] .home-round-date { font:12px var(--fs-font-mono); color:var(--clean-muted); padding-bottom:6px; }
body.app-body[data-page="home"] .home-round-fixtures { display:grid; gap:8px; }
body.app-body[data-page="home"] .home-round-fixture { display:grid; grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr) 110px; padding:0; min-height:68px; border:1px solid var(--clean-rule); background:transparent; color:var(--clean-ink); text-decoration:none; }
body.app-body[data-page="home"] .clean-round-club { display:flex; align-items:center; align-self:stretch!important; margin:0!important; padding:14px 18px; background:var(--club-primary); color:var(--club-text); border:2px solid var(--club-secondary); box-shadow:inset 0 0 0 2px var(--club-tertiary); font:700 clamp(22px,2.5vw,28px)/1.05 var(--fs-font-display); text-transform:uppercase; }
body.app-body[data-page="home"] .home-round-time { align-self:center; padding:10px; color:var(--clean-ink); text-align:center; font:15px var(--fs-font-mono); }
.home-round-time small { display:block; font:12px var(--fs-font-body); margin-top:4px; color:var(--clean-muted); }
.clean-round-open { align-self:center; text-align:center; padding:10px; font-size:14px; color:var(--clean-accent); }
body.app-body[data-page="home"] .home-radar-shell { padding-top:22px!important; border-top:1px solid var(--clean-rule)!important; }
body.app-body[data-page="home"] .fs-section { margin:0!important; }
body.app-body[data-page="home"] .fs-section-head { display:flex!important; flex-direction:row!important; justify-content:space-between!important; align-items:baseline!important; }
body.app-body[data-page="home"] .fs-section-head > div { text-align:left!important; align-items:start!important; }
body.app-body[data-page="home"] #home-radar-controls { display:none!important; }
body.app-body[data-page="home"] :is(.fs-leaderboard-player em,.fs-leaderboard-value > span) { display:none; }
body.app-body[data-page="home"] :is(.fs-leaderboard-columns,.fs-leaderboard-row) { grid-template-columns:28px minmax(0,1fr) 75px; }
body.app-body[data-page="home"] .home-now-shell { display:grid; gap:24px; }
body.app-body[data-page="home"] .home-radar-leader-grid { gap:24px; }

/* Compact result rows shared by Home and club seasons. */
.record-fixture { display:grid; grid-template-columns:170px 1fr 1fr; gap:10px; align-items:center; border-bottom:1px solid var(--clean-rule); padding:8px 0; color:var(--clean-ink); text-decoration:none; }
.record-fixture-meta { font-size:13px; color:var(--clean-muted); }
.record-fixture-meta small { display:block; }
.record-fixture-team { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; min-height:52px; font:600 17px var(--fs-font-body); }
.record-fixture-team b { font:700 28px/1 var(--fs-font-display); }

body.app-body[data-page] .record-fixture { padding:8px 0!important; background:transparent!important; border:0!important; border-bottom:1px solid var(--clean-rule)!important; }
body.app-body[data-page] :is(.fs-leaderboard-row,.fs-leaderboard-columns) { grid-template-columns:28px minmax(0,1fr) 80px!important; }
body.app-body[data-page] .fs-leaderboard-row :is(.fs-rank,.fs-leaderboard-player,.fs-leaderboard-value) { padding:0!important; }
body.app-body[data-page] .fs-leaderboard-player > span { display:block!important; margin-top:3px!important; }
body.app-body[data-page] .fs-leaderboard-player :is(em,.fs-club-pill) { font:13px/1.35 var(--fs-font-body)!important; letter-spacing:0!important; }
body.app-body[data-page] .fs-leaderboard-value > span { font:12px var(--fs-font-body)!important; }
body.app-body[data-page] .fs-leaderboard-head h3 { font:600 16px/1.3 var(--fs-font-body)!important; letter-spacing:0!important; text-transform:none!important; }
body.app-body[data-page="home"] .fs-section-head > div { width:auto!important; margin:0!important; }
body.app-body[data-page="home"] .fs-section-head h2 { text-align:left!important; }
body.app-body[data-page="teams"] .teams-season-leaderboard-row .fs-leaderboard-player .fs-club-pill { display:none!important; }

.record-fixture-with-boxscore { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; }
body.app-body[data-page="years"] #matches-list > .record-fixture-with-boxscore { padding:0!important; background:transparent!important; border:0!important; }
@media (max-width:760px) { .record-fixture-with-boxscore { grid-template-columns:minmax(0,1fr); gap:0; margin-bottom:14px; } .record-fixture-with-boxscore > button { justify-self:start; } }

/* Club directory and profile. */
body.app-body[data-page="teams"] .teams-grid { grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); gap:12px; padding:0!important; margin-top:0!important; }
body.app-body[data-page="teams"] .teams-grid-card { display:flex; flex-direction:column; text-decoration:none; padding:22px 20px; min-height:242px; border:3px solid var(--team-secondary)!important; background:var(--team-primary)!important; color:var(--team-text)!important; box-shadow:inset 0 0 0 3px var(--team-tertiary,transparent)!important; }
body.app-body[data-page="teams"] .teams-grid-card::before,body.app-body[data-page="teams"] .teams-grid-card::after { display:none!important; }
body.app-body[data-page="teams"] .teams-grid-card h3 { font-size:30px; line-height:1.05; overflow-wrap:normal; word-break:normal; }
body.app-body[data-page="teams"] .teams-grid-dot { display:none; }
body.app-body[data-page="teams"] .teams-grid-stats { margin:20px 0; }
body.app-body[data-page="teams"] .teams-grid-foot { align-self:start; margin-top:auto; padding:9px 12px; border:1px solid currentColor; }
body.app-body[data-page="teams"].is-team-detail-open .clubs-bauhaus-hero { display:none!important; }
body.app-body[data-page="teams"] #team-details { border:0!important; }
body.app-body[data-page="teams"] #team-details .teams-detail-head { display:flex!important; flex-direction:row!important; align-items:center!important; justify-content:space-between!important; gap:22px; min-height:0!important; padding:20px 24px!important; text-align:left!important; background:var(--team-primary)!important; color:var(--team-text)!important; border:3px solid var(--team-secondary)!important; box-shadow:inset 0 0 0 3px var(--team-tertiary,transparent); }
body.app-body[data-page="teams"] .teams-detail-head > div { justify-items:start!important; gap:0!important; }
body.app-body[data-page="teams"] .teams-detail-head :is(h2,p,button) { color:inherit!important; }
body.app-body[data-page="teams"] #team-name { font:800 clamp(36px,4vw,48px)/1 var(--fs-font-display)!important; margin:0 0 10px!important; text-align:left!important; }
body.app-body[data-page="teams"] .teams-detail-head::before,body.app-body[data-page="teams"] .teams-detail-head::after { display:none!important; }
body.app-body[data-page="teams"] .teams-summary-grid { margin-block:20px; }
body.app-body[data-page="teams"] .teams-leaders-grid { gap:24px; }
body.app-body[data-page="teams"] .teams-matches-shell { margin:0; padding:0; border:0; }
body.app-body[data-page="teams"] .teams-season-controller { margin:0 0 18px!important; padding:0!important; background:transparent!important; border:0!important; gap:0!important; }
body.app-body[data-page="teams"] #team-career-meta { margin:0; font-size:14px; }
body.app-body[data-page="teams"] .teams-season-dashboard-shell { background:transparent!important; border:0!important; padding:0!important; }
body.app-body[data-page="teams"] .teams-season-dashboard-shell::before,body.app-body[data-page="teams"] .teams-season-dashboard-shell::after { display:none!important; }
body.app-body[data-page="teams"] .teams-season-summary-grid { display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr))!important; gap:16px!important; background:transparent!important; border:0!important; margin:0 0 18px; }
body.app-body[data-page="teams"] :is(.teams-summary-card,.teams-season-summary-card) { padding:12px 0!important; min-height:0!important; background:transparent!important; border:0!important; border-bottom:1px solid var(--clean-rule)!important; box-shadow:none!important; color:var(--clean-ink)!important; }
body.app-body[data-page="teams"] :is(.teams-summary-card,.teams-season-summary-card) :is(p,span) { color:var(--clean-muted)!important; font:13px var(--fs-font-body)!important; text-transform:none!important; }
body.app-body[data-page="teams"] :is(.teams-summary-card h4,.teams-season-summary-card h5) { color:var(--clean-ink)!important; font:700 30px/1.15 var(--fs-font-display)!important; }
.club-season-people { display:flex; flex-wrap:wrap; gap:12px 28px; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--clean-rule); font-size:14px; }
.club-season-people p { margin:0; }
.club-season-people span { color:var(--clean-muted); margin-right:5px; }
body.app-body[data-page="teams"] .club-season-content { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr); gap:28px; align-items:start; }
body.app-body[data-page="teams"] .club-season-content > * { min-width:0; }
body.app-body[data-page="teams"] .teams-season-leaders-grid { display:block; }
body.app-body[data-page="teams"] .record-fixture { grid-template-columns:110px 1fr 1fr; gap:6px; }
body.app-body[data-page="teams"] .record-fixture-team { font-size:15px; padding:10px; }
body.app-body[data-page="teams"] .club-leader-selector { display:flex; gap:12px; align-items:center; margin:0 0 16px; font-size:14px; }
body.app-body[data-page="teams"] .club-leader-selector select { min-height:42px; padding:8px 12px; font:15px var(--fs-font-body); background:var(--clean-paper)!important; color:var(--clean-ink)!important; border:1px solid var(--clean-rule); border-radius:0!important; }
body.app-body[data-page="teams"] .teams-season-leaderboard-head { padding:22px 0 14px!important; margin:0!important; border:0!important; min-height:0!important; text-align:left!important; justify-items:start!important; }
body.app-body[data-page="teams"] :is(.teams-season-leaderboard-head h3,.club-season-content h3) { font:600 20px/1.2 var(--fs-font-body)!important; margin:0; text-transform:none; }
body.app-body[data-page="teams"] .teams-season-leader-tabs { display:flex; flex-wrap:wrap; gap:6px; }
body.app-body[data-page="teams"] .teams-season-leader-tabs button { font:14px var(--fs-font-body); padding:8px 10px; }

.club-season-mobile-tabs.clean-section-nav { display:none; }

/* One compact year selector; archive decade browsing is optional. */
.archive-picker { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.archive-picker > label { font-size:15px; font-weight:600; }
body.app-body[data-page] :is(.teams-season-fallback,.years-controller-fallback) { display:flex!important; position:static!important; opacity:1!important; width:auto!important; height:auto!important; overflow:visible!important; clip:auto!important; clip-path:none!important; gap:8px; align-items:center; }
body.app-body[data-page] :is(.teams-season-fallback,.years-controller-fallback) input { display:none; }
body.app-body[data-page] :is(.teams-season-fallback,.years-controller-fallback) :is(button,select) { padding:8px 12px; min-height:42px; width:auto; background:var(--clean-paper)!important; border:1px solid var(--clean-rule); color:var(--clean-ink)!important; font:15px var(--fs-font-body); border-radius:0; }
.archive-decades { margin-top:12px; }
.archive-decades summary { font-size:13px; color:var(--clean-muted); cursor:pointer; }
body.app-body[data-page] :is(.years-decade-bar,.years-bubble-bar,.teams-decade-bar,.teams-year-bubble-bar) { justify-content:flex-start!important; gap:6px!important; margin:8px 0!important; padding:0!important; }
body.app-body[data-page] :is(.years-decade-bar,.years-bubble-bar,.teams-decade-bar,.teams-year-bubble-bar) button { border-radius:0!important; min-height:38px; padding:8px 12px!important; font-size:13px!important; }
.clean-section-nav,.record-tabs { display:flex; flex-wrap:wrap; gap:22px; padding:0; margin:10px 0 22px; border-bottom:1px solid var(--clean-rule); }
body.app-body[data-page] :is(.clean-section-nav,.record-tabs) button { padding:12px 0; min-height:44px; border:0; border-bottom:2px solid transparent; border-radius:0; color:var(--clean-muted); background:transparent; font:15px var(--fs-font-body); cursor:pointer; }
body.app-body[data-page] :is(.clean-section-nav,.record-tabs) button[aria-pressed="true"] { color:var(--clean-accent); border-bottom-color:currentColor; }
#team-details[data-profile-view="season"] > :is(#team-summary,#top-performers),#team-details[data-profile-view="history"] > #all-matches { display:none!important; }
#season-sections:not([data-profile-view="ladder"]) > .years-ladder-layout,#season-sections:not([data-profile-view="leaders"]) > .years-leaders-card,#season-sections:not([data-profile-view="fixtures"]) > .years-round-card { display:none!important; }
body.app-body[data-page="years"] .years-ladder-layout { display:block; }
body.app-body[data-page="years"] .years-round-head { padding:0 0 12px!important; background:transparent!important; border:0!important; }

/* Player record: deliberately separate from the retired dossier/card layout. */
.record-page { min-width:0; }
.record-page p { margin:0; }
.record-page-heading { margin-bottom:24px; }
.record-page-heading p { color:var(--clean-muted); }
.record-toolbar { display:flex; align-items:end; gap:20px; margin-bottom:16px; }
.record-search { flex:1; }
.record-page label { display:grid; gap:6px; font-size:13px; color:var(--clean-muted); }
body.app-body[data-page] .record-page :is(input,select) { display:block; width:100%; min-height:44px; padding:10px 12px; font:16px var(--fs-font-body); border:1px solid var(--clean-rule)!important; border-radius:0!important; background:var(--clean-paper)!important; color:var(--clean-ink)!important; box-shadow:none!important; }
.record-alphabet { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:14px; }
.record-alphabet button { flex:1; min-width:36px; min-height:40px; border:1px solid var(--clean-rule); background:transparent; color:var(--clean-ink); font:500 15px var(--fs-font-body); cursor:pointer; }
.record-alphabet button[aria-pressed="true"] { background:var(--clean-ink); color:var(--clean-paper); }
.record-directory { display:grid; gap:5px; margin:12px 0 20px; }
.record-person { display:grid; grid-template-columns:minmax(0,1fr) 90px 90px 145px; gap:16px; align-items:center; padding:12px 18px; text-decoration:none; }
.record-person strong { font-size:18px; font-weight:600; }
.record-person small { display:block; font-size:13px; margin-top:3px; }
.record-person-number { text-align:right; }
.record-person-number b { font:700 28px/1 var(--fs-font-display); }
.record-button { padding:9px 14px; min-height:42px; border:1px solid var(--clean-rule); border-radius:0; color:var(--clean-ink); background:var(--clean-paper); font:15px var(--fs-font-body); cursor:pointer; }
.record-button:disabled { opacity:.4; cursor:default; }
.record-back { display:inline-block; margin-bottom:18px; color:var(--clean-accent); font-size:14px; }
.record-banner { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px; }
.record-banner p { font-size:15px; }
.record-banner h1 { margin:8px 0 12px!important; }
.record-banner a { color:inherit; }
.record-headline { display:flex; gap:32px; margin:0; }
.record-headline dt { font-size:13px; }
.record-headline dd { font:700 42px/1.1 var(--fs-font-display); margin:4px 0 0; }
.record-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:22px 0 14px; }
.record-section-heading h2 { margin:0 0 4px; }
.record-section-heading p { font-size:14px; color:var(--clean-muted); }
.record-section-heading select { min-width:140px; }
.record-stints { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.record-stint { display:grid; grid-template-columns:auto auto; gap:4px 20px; padding:14px 18px; text-decoration:none; }
.record-stint strong { font-weight:600; }
.record-stint span { font-size:14px; }
.record-stint small { grid-column:1/-1; font-size:13px; }
.record-table-wrap { overflow-x:auto; max-width:100%; overscroll-behavior-x:contain; }
.record-table { width:100%; border-collapse:collapse; font-size:15px; font-variant-numeric:tabular-nums; }
.record-table th,.record-table td { padding:12px 14px!important; text-align:right; white-space:nowrap; border-bottom:1px solid var(--clean-rule); }
.record-table th:first-child,.record-table td.record-text { text-align:left; }
.record-table thead th { font:500 13px var(--fs-font-body)!important; color:var(--clean-muted)!important; text-align:right; text-transform:none!important; letter-spacing:0!important; }
.record-table thead th:first-child { text-align:left; }
.record-table th button { background:transparent; color:inherit; border:0; font:inherit; padding:8px 0; cursor:pointer; }
.record-table th[aria-sort="ascending"],.record-table th[aria-sort="descending"] { color:var(--clean-accent); }
.record-table tbody th { font:600 15px var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; color:inherit!important; }
.record-table small { display:block; font:12px/1.4 var(--fs-font-body); margin-top:4px; }
.record-table a { color:inherit; text-decoration:underline; text-decoration-color:color-mix(in srgb,currentColor 40%,transparent); text-underline-offset:4px; }
.record-colour-table { border-collapse:separate; border-spacing:0 4px; }
.record-colour-table tbody tr { background:var(--club-primary); color:var(--club-text); }
.record-colour-table tbody :is(td,th) { background:transparent!important; color:var(--club-text)!important; border-block:2px solid var(--club-secondary)!important; box-shadow:inset 0 2px var(--club-tertiary),inset 0 -2px var(--club-tertiary); }
.record-colour-table tbody :is(a,small) { color:inherit!important; }
.record-colour-table tbody th:first-child { border-left:2px solid var(--club-secondary); box-shadow:inset 2px 0 var(--club-tertiary),inset 0 2px var(--club-tertiary),inset 0 -2px var(--club-tertiary); }
.record-colour-table tbody td:last-child { border-right:2px solid var(--club-secondary); box-shadow:inset -2px 0 var(--club-tertiary),inset 0 2px var(--club-tertiary),inset 0 -2px var(--club-tertiary); }
.record-note { color:var(--clean-muted); font-size:13px; line-height:1.5; }
.record-table-wrap + .record-note { margin-top:14px; }
.record-pagination { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-top:16px; }
.record-pagination > div { display:flex; gap:8px; }
.record-empty { padding:28px 0; color:var(--clean-muted); }
#profile-status:not(:empty) { padding:16px 0; }

/* Live, trophies and match centre retain their data tools with quieter framing. */
body.app-body[data-page="live"] .live-centre-day-strip { padding-bottom:18px!important; border-bottom:1px solid var(--clean-rule)!important; }
body.app-body[data-page="live"] .live-centre-day-title { font-size:36px; }
body.app-body[data-page="live"] .live-centre-day-stat { background:transparent!important; border:0!important; padding:8px 0!important; }
body.app-body[data-page="trophy"] :is(.trophy-landing-shell,.trophy-tabs-shell) { padding-bottom:22px!important; border-bottom:1px solid var(--clean-rule)!important; }
body.app-body[data-page="trophy"] .trophy-landing-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:24px!important; background:transparent!important; }
body.app-body[data-page="trophy"] .trophy-leader-card { grid-column:auto!important; background:transparent!important; padding:0!important; border:0!important; }
body.app-body[data-page="trophy"] .trophy-leader-head { justify-content:flex-start!important; text-align:left!important; margin:0 0 14px!important; border:0!important; background:transparent!important; padding:0!important; }
body.app-body[data-page="trophy"] .trophy-leader-head svg { display:none; }
body.app-body[data-page="trophy"] :is(.fs-leaderboard-row,.trophy-record-row) { grid-template-columns:28px minmax(0,1fr) 64px!important; gap:12px!important; }
body.app-body[data-page="trophy"] .trophy-record-player { padding:0!important; }
body.app-body[data-page="trophy"] .trophy-team-pills { margin-top:4px; }
body.app-body[data-page="trophy"] .trophy-club-pill { border:0!important; box-shadow:none!important; background:transparent!important; padding:0!important; font:13px var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page="trophy"] .trophy-record-career { display:none!important; }
body.app-body[data-page="trophy"] :is(.trophy-rank-pill,.trophy-total-cell > span) { font-size:26px!important; }
body.app-body[data-page="trophy"] .trophy-record-player > a { font:600 16px var(--fs-font-body)!important; text-transform:none!important; }
body.app-body[data-page="match-centre"] { --mc-paper:var(--clean-paper); --mc-card:var(--clean-paper); --mc-panel:var(--fs-bg-2); --mc-ink:var(--clean-ink); --mc-muted:var(--clean-muted); --mc-rule:var(--clean-ink); --mc-rule-soft:var(--clean-rule); --mc-red:var(--clean-accent); }
body.app-body[data-page="match-centre"] .match-centre-page { padding:0!important; }
body.app-body[data-page="match-centre"] :is(.match-centre-surface,.match-centre-story-section,.match-centre-hero-shell,.match-centre-hero-meta,.match-centre-hero-centre,.match-centre-storyline,.match-centre-rail-section) { background:var(--clean-paper)!important; color:var(--clean-ink)!important; box-shadow:none!important; }
body.app-body[data-page="match-centre"] .match-centre-hero-team-side { min-height:120px!important; align-content:center!important; padding:18px!important; background:var(--match-home)!important; color:var(--match-home-text)!important; border:3px solid var(--match-home-secondary)!important; box-shadow:inset 0 0 0 3px var(--match-home-tertiary,transparent)!important; }
body.app-body[data-page="match-centre"] .match-centre-hero-team-side.is-away { background:var(--match-away)!important; color:var(--match-away-text)!important; border-color:var(--match-away-secondary)!important; box-shadow:inset 0 0 0 3px var(--match-away-tertiary,transparent)!important; }
body.app-body[data-page="match-centre"] .match-centre-hero-team { font-size:clamp(26px,3.5vw,42px)!important; line-height:1.05!important; }
body.app-body[data-page="match-centre"] .match-centre-hero-team-side :is(a,p,span,strong) { color:inherit!important; }
body.app-body[data-page="match-centre"] .match-centre-hero-score { font-size:36px!important; }
body.app-body[data-page="match-centre"] .match-centre-storyline { border:1px solid var(--clean-rule)!important; }
body.app-body[data-page="match-centre"] [style*="--team-fill"] { border:2px solid var(--team-secondary)!important; box-shadow:inset 0 0 0 2px var(--team-tertiary,transparent)!important; }

body.app-body[data-page="match-centre"] .match-centre-hero-centre { min-height:120px!important; padding:14px!important; }
body.app-body[data-page="match-centre"] .match-centre-hero-actions { display:none; }
body.app-body[data-page="match-centre"] .match-centre-hero-meta { font:13px var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page="match-centre"] .match-centre-analysis-layout { grid-template-columns:minmax(0,1fr)!important; }
body.app-body[data-page="match-centre"] .match-record-heading { font:600 22px var(--fs-font-body)!important; text-transform:none!important; margin:20px 0 10px; }
body.app-body[data-page="match-centre"] .match-centre-section-head h2 { font:600 22px var(--fs-font-body)!important; text-transform:none!important; }
body.app-body[data-page="match-centre"] .match-centre-hero-team-side p { margin:0!important; }
body.app-body[data-page="match-centre"] .match-centre-score-total { font-size:36px!important; }
body.app-body[data-page="match-centre"] .match-centre-score-breakdown { font:13px var(--fs-font-body)!important; }

body.app-body[data-page="match-centre"] .match-centre-hero-matchup { background:var(--clean-paper)!important; }
body.app-body[data-page="match-centre"] .match-centre-hero-team-side { align-self:stretch!important; }
body.app-body[data-page="match-centre"] .match-centre-team-head { background:var(--team-fill)!important; min-height:0!important; padding:14px 16px!important; }
body.app-body[data-page="match-centre"] .match-centre-team-head h3 { font-size:28px!important; margin:0!important; }
body.app-body[data-page="match-centre"] .match-centre-team-score-meta { font:13px var(--fs-font-body)!important; text-transform:none!important; }
body.app-body[data-page="match-centre"] .match-centre-team-leaders { padding:12px 16px!important; background:var(--clean-paper)!important; color:var(--clean-ink)!important; }
body.app-body[data-page="match-centre"] .match-centre-team-leaders summary { cursor:pointer; font:14px var(--fs-font-body); }
body.app-body[data-page="match-centre"] .match-centre-team-leaders .match-centre-mini-list { margin-top:12px; }
body.app-body[data-page="match-centre"] .match-centre-modebar { padding:0 0 14px!important; margin:0!important; justify-content:flex-start!important; }
body.app-body[data-page="match-centre"] .match-centre-pill-row { justify-content:flex-start!important; }
body.app-body[data-page="match-centre"] .match-centre-pill-btn { font:14px var(--fs-font-body)!important; text-transform:none!important; min-height:40px; }

/* Match status stays distinct from team identity and optional form details. */
body.app-body[data-page="live"] .live-centre-day-strip { display:flex!important; justify-content:space-between; align-items:center; gap:24px; min-height:0!important; }
body.app-body[data-page="live"] .live-centre-day-copy { text-align:left!important; padding:0!important; }
body.app-body[data-page="live"] .live-centre-day-copy .app-hero-kicker { display:none; }
body.app-body[data-page="live"] #live-centre-day-title { font:800 40px/1.1 var(--fs-font-display)!important; margin:0 0 10px; }
body.app-body[data-page="live"] #live-centre-day-meta { margin:0!important; padding:0!important; text-align:left!important; font:15px var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page="live"] .live-centre-day-stats { display:flex!important; gap:30px; background:transparent!important; border:0!important; padding:0!important; }
body.app-body[data-page="live"] .live-centre-day-stat strong { font-size:28px!important; color:var(--clean-ink)!important; }
body.app-body[data-page="live"] .live-centre-section { border:0!important; background:transparent!important; box-shadow:none!important; }
body.app-body[data-page="live"] .live-centre-section-head > div { width:auto!important; text-align:left!important; }
body.app-body[data-page="live"] .live-centre-section-head { padding:18px 0 12px!important; background:transparent!important; border:0!important; text-align:left!important; display:block!important; }
body.app-body[data-page="live"] .live-centre-section-head h3 { font:600 22px var(--fs-font-body)!important; text-transform:none!important; text-align:left!important; }
.record-live-card { padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid var(--clean-rule); }
.record-live-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:14px; margin-bottom:12px; color:var(--clean-muted); }
.record-live-scoreboard { display:grid; grid-template-columns:1fr 40px 1fr; align-items:center; }
.record-live-team { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:18px 20px; font:700 32px/1.1 var(--fs-font-display); text-transform:uppercase; text-decoration:none; }
.record-live-versus { text-align:center; color:var(--clean-muted); }
.record-live-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:14px 0; }
.record-live-actions small { margin-left:auto; color:var(--clean-muted); }
.record-live-form summary { font-size:14px; cursor:pointer; }
.record-live-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:14px; }
body.app-body[data-page="live"] .record-live-form .upcoming-edge-panel { padding:18px!important; min-height:0!important; }
body.app-body[data-page="live"] .record-live-form .upcoming-edge-team { font-size:28px!important; }
body.app-body[data-page="live"] .record-live-form .upcoming-edge-player-name { font:600 15px var(--fs-font-body)!important; text-transform:none!important; }
body.app-body[data-page] :is(.years-round-bar,.years-ladder-mode-tabs) { background:transparent!important; border:0!important; padding:8px 0!important; gap:6px!important; }
body.app-body[data-page] :is(.years-round-chip,.years-ladder-mode-tab,.fs-tab) { border-radius:0!important; font:14px var(--fs-font-body)!important; letter-spacing:0!important; text-transform:none!important; min-height:40px; }
body.app-body[data-page] :is(.years-ladder-table-home-style,.years-boxscore-table,.trophy-modal-table,.match-centre-history-table) th { font:500 13px var(--fs-font-body)!important; letter-spacing:0!important; text-transform:none!important; }
body.app-body[data-page] :is(.years-ladder-table-home-style,.years-boxscore-table,.trophy-modal-table,.match-centre-history-table) td { font:15px var(--fs-font-body)!important; }
@media (max-width:760px) {
  body.app-body[data-page="live"] .live-centre-day-strip { display:block!important; }
  body.app-body[data-page="live"] .live-centre-day-stats { margin-top:16px; }
  .record-live-team { font-size:25px; padding:16px 12px; }
  .record-live-scoreboard { grid-template-columns:1fr 24px 1fr; }
  .record-live-form-grid { grid-template-columns:1fr; }
}

@media (max-width:1150px) {
  .site-search { order:4; flex-basis:100%; margin:0; }
  .site-search-results { width:100%; }
  body.app-body[data-page="teams"] .club-season-content { grid-template-columns:1fr; }
  .club-season-mobile-tabs.clean-section-nav { display:flex; }
  #club-season-content[data-club-view="matches"] > #club-season-leaders,#club-season-content[data-club-view="players"] > section:first-child { display:none; }
}
@media (max-width:760px) {
  body.app-body[data-page] :is(.app-topbar,.app-hero,.clean-round-header) { width:calc(100% - 32px); }
  body.app-body[data-page] .app-topbar { gap:10px; }
  body.app-body[data-page] .app-main { padding:20px 16px 90px!important; }
  body.app-body[data-page="home"] .home-round-fixture { grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr); }
  body.app-body[data-page="home"] .clean-round-club { font-size:20px!important; padding:12px 8px; }
  .clean-round-open { grid-column:1/-1; padding:8px; border-top:1px solid var(--clean-rule); }
  body.app-body[data-page="home"] .home-round-time { font-size:13px; padding:6px; }
  body.app-body[data-page="home"] .home-radar-leader-grid { grid-template-columns:1fr; }
  body.app-body[data-page="teams"] #team-details .teams-detail-head { padding:18px!important; flex-wrap:nowrap; gap:12px; }
  body.app-body[data-page="teams"] .teams-season-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:10px!important; }
  body.app-body[data-page="teams"] .teams-detail-head > div { min-width:0; }
  body.app-body[data-page="teams"] .teams-back-btn { padding:8px!important; }
  body.app-body[data-page="teams"] .teams-back-btn span { display:none; }
  body.app-body[data-page="teams"] .teams-season-summary-card h5 { font-size:26px!important; }
  .clean-section-nav,.record-tabs { gap:18px; }
  body.app-body[data-page="trophy"] .trophy-landing-grid { grid-template-columns:1fr!important; }
  .record-banner { display:block; padding:20px; }
  .record-headline { margin-top:20px; gap:28px; }
  .record-headline dd { font-size:36px; }
  .record-toolbar { align-items:stretch; flex-direction:column; gap:12px; }
  .record-person { grid-template-columns:minmax(0,1fr) 48px 48px; gap:10px; padding:12px; }
  .record-person-number b { font-size:24px; }
  .record-person small { font-size:12px; }
  .record-directory-disposals { display:none; }
  .record-section-heading { align-items:start; flex-wrap:wrap; }
  .record-stint { flex:1 0 100%; box-sizing:border-box; }
  .record-table :is(th,td) { padding:10px 12px!important; }
  .record-fixture,body.app-body[data-page="teams"] .record-fixture { grid-template-columns:1fr 1fr; }
  .record-fixture-meta { grid-column:1/-1; display:flex; gap:8px; }
  .record-fixture-team { padding:10px; font-size:15px; }
  .site-search-kind { padding:6px; font-size:11px; }
}
@media (max-width:760px) {
  body.app-body[data-page="match-centre"] .match-centre-hero-matchup { grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr)!important; }
  body.app-body[data-page="match-centre"] .match-centre-hero-team-side { padding:12px 8px!important; min-height:120px!important; }
  body.app-body[data-page="match-centre"] .match-centre-hero-team { font-size:20px!important; max-width:none!important; }
  body.app-body[data-page="match-centre"] .match-centre-hero-centre { padding:10px 6px!important; }
  body.app-body[data-page="match-centre"] .match-centre-hero-score { font-size:22px!important; }
  body.app-body[data-page="match-centre"] .match-centre-score-total { font-size:28px!important; }
  body.app-body[data-page="match-centre"] .match-centre-hero-sub { font-size:12px!important; }
}
/* Tables use the same alignment for a column's heading, values and sort control. */
body.app-body[data-page] table :is(th,td) { text-align:left!important; vertical-align:middle; }
body.app-body[data-page] :is(table.record-table,table.live-detail-player-table) :is(th,td),
body.app-body[data-page] table :is(th,td):is(.is-center,.is-right,.is-numeric,.is-num,.is-rank,.is-jersey) { text-align:center!important; }
body.app-body[data-page] table :is(th,td):is(.record-text,.is-left,.is-player,.is-team) { text-align:left!important; }
body.app-body[data-page] table th button { text-align:inherit!important; justify-content:center!important; padding-inline:0!important; }
body.app-body[data-page] table th:is(.record-text,.is-left,.is-player,.is-team) button { justify-content:flex-start!important; }
body.app-body[data-page] table :is(th,td) { padding-inline:12px!important; }
body.app-body[data-page] .trophy-modal-table tbody tr.has-team-fill td { padding-inline:12px!important; }
body.app-body[data-page] table :is(th,td,span,strong,b,small,button) { font-weight:400!important; }
body.app-body[data-page] table tbody :is(th,td,span,strong,b) { font-family:var(--fs-font-body)!important; }
body.app-body[data-page] table .trophy-total-cell { justify-content:center!important; }
body.app-body[data-page] table .trophy-team-pills { justify-content:flex-start!important; }

/* Text weight identifies destinations without adding an arrow to each link. */
body.app-body[data-page] main a,
body.app-body[data-page] .clean-text-link,
body.app-body[data-page] .home-round-fixture,
body.app-body[data-page] main a :is(span,small,strong,b),
body.app-body[data-page] table a,
body.app-body[data-page] :is(table,.fs-leaderboard-row,.trophy-record-row) a[class],
body.app-body[data-page] table a :is(span,strong,b,small),
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row) a,
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row) a :is(span,strong,small) { font-weight:700!important; }
body.app-body[data-page] .record-table a { text-decoration:none; }
body.app-body[data-page] .record-table a:is(:hover,:focus-visible) { text-decoration:underline; }
body.app-body[data-page] :is(.fs-leaderboard-columns,.fs-leaderboard-row) { column-gap:12px!important; }
body.app-body[data-page] .fs-leaderboard-columns { padding-inline:12px!important; border:2px solid transparent!important; }
body.app-body[data-page="trophy"] .fs-leaderboard-columns { grid-template-columns:28px minmax(0,1fr) 64px!important; }
body.app-body[data-page] .fs-leaderboard-columns > span { text-align:left!important; }
body.app-body[data-page] .fs-leaderboard-columns > span:is(:first-child,:last-child),
body.app-body[data-page] :is(.fs-rank,.fs-leaderboard-value) { text-align:center!important; justify-items:center; }
body.app-body[data-page] :is(.fs-rank,.fs-leaderboard-value strong,.trophy-rank-pill,.trophy-total-cell > span) { font-family:var(--fs-font-body)!important; font-weight:400!important; }

@media (prefers-reduced-motion:reduce) { body.app-body[data-page] * { scroll-behavior:auto!important; } }
