@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:600; font-display:swap; src:url('/fonts/barlow-condensed-600-latin.woff2?v=20260907-1') format('woff2'); }
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:700; font-display:swap; src:url('/fonts/barlow-condensed-700-latin.woff2?v=20260907-1') format('woff2'); }
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:800; font-display:swap; src:url('/fonts/barlow-condensed-800-latin.woff2?v=20260907-1') format('woff2'); }
@font-face { font-family:Inter; font-style:normal; font-weight:400 700; font-display:swap; src:url('/fonts/inter-400-700-latin.woff2?v=20260907-1') format('woff2'); }
:root { --orange:#f47b20; --orange-dark:#d85c0a; --ink:#171717; --muted:#69645e; --line:#ded9d2; --paper:#f6f3ee; --white:#fffdf9; --green:#12805c; --radius:18px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { position:relative; margin:0; min-width:320px; color:var(--ink); background:radial-gradient(circle at 94% 4%,rgba(244,123,32,.12),transparent 25rem),var(--paper); font-family:Inter,system-ui,sans-serif; }
body>:not(.jersey-watermark) { position:relative; z-index:1; }
.jersey-watermark { position:fixed; z-index:0; top:108px; left:50%; width:min(1120px,100vw); height:1210px; transform:translateX(-50%); opacity:.052; filter:saturate(.82); pointer-events:none; }
.jersey-watermark>span { position:absolute; display:block; width:min(64vw,700px); }
.jersey-watermark-orange { top:0; right:0; aspect-ratio:1; background:url('/jersey-watermark-v9.webp') center/contain no-repeat; }
.jersey-watermark-green { top:320px; left:0; aspect-ratio:700/906; background:url('/jersey-watermark-green-v2.webp') center/contain no-repeat; }
button,select { font:inherit; }
button,a,select { -webkit-tap-highlight-color:transparent; }
.top-line { height:6px; background:var(--orange); }
.shell { width:min(1160px,calc(100% - 40px)); margin:0 auto; }
.site-header { min-height:96px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.crest-wrap { width:58px; height:64px; padding:4px; display:grid; place-items:center; border-radius:12px; background:var(--white); box-shadow:0 8px 28px rgba(25,21,17,.08); }
.crest { max-width:100%; max-height:100%; object-fit:contain; }
.brand strong,.brand small { display:block; }
.brand strong { font:800 25px/.85 'Barlow Condensed',sans-serif; letter-spacing:.055em; }
.brand small { margin-top:7px; color:var(--orange-dark); font:700 10px/1 Inter,sans-serif; letter-spacing:.24em; }
.header-actions { display:flex; align-items:center; gap:18px; }
.header-meta { padding-top:4px; display:grid; justify-items:end; gap:8px; }
.other-clubs { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.other-clubs>span { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.other-club-list { width:108px; height:38px; display:flex; align-items:center; gap:6px; overflow:hidden; flex:0 0 108px; }
.other-club-link { width:32px; height:38px; padding:3px; display:grid; place-items:center; overflow:hidden; flex:0 0 32px; border:1px solid var(--line); border-radius:8px; background:rgba(255,253,249,.78); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.other-club-link:hover { transform:translateY(-1px); border-color:rgba(22,79,134,.35); box-shadow:0 5px 14px rgba(23,79,134,.1); }
.other-club-link:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }
.other-club-link img { max-width:100%; max-height:100%; display:block; object-fit:contain; }
.team-switch { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.team-switch[hidden] { display:none; }
.team-switch select { width:128px; height:34px; padding:0 28px 0 10px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:rgba(255,253,249,.78); font-size:11px; font-weight:700; cursor:pointer; }
.live-status { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:13px; font-weight:600; }
.live-status span { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(18,128,92,.12); }
.update-status { display:grid; justify-items:end; gap:4px; }
.next-update { color:var(--muted); font-size:11px; font-weight:600; line-height:1.25; white-space:nowrap; }
.header-status-row { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.site-help-link { min-height:24px; padding:0 0 0 12px; display:flex; align-items:center; gap:5px; border:0; border-left:1px solid var(--line); border-radius:0; color:var(--muted); background:transparent; font-size:9px; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.site-help-link span { color:var(--orange-dark); font-size:12px; font-weight:900; }
.site-help-link strong { font-weight:800; }
.site-help-link:hover,.site-help-link:focus-visible { color:var(--orange-dark); outline:none; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.team-heading { padding:54px 0 30px; }
.team-copy { min-width:0; width:100%; display:grid; grid-template-columns:minmax(300px,1fr) 340px auto; align-items:end; column-gap:20px; }
.team-copy>.eyebrow { grid-column:1/-1; }
.team-title-line,.team-context-line { display:contents; }
.team-title-line h1 { grid-column:1; min-width:0; }
.training-schedule { grid-column:2; width:100%; min-width:300px; margin:0; padding:8px 11px 9px; display:grid; gap:5px; border-left:3px solid var(--orange); background:rgba(255,253,249,.72); }
.training-schedule[hidden] { display:none; }
.training-schedule>span { color:var(--orange-dark); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.training-schedule>div { display:grid; grid-template-columns:61px 84px 1fr; align-items:baseline; gap:8px; color:var(--muted); font-size:11px; line-height:1.3; }
.training-schedule strong { color:var(--ink); font-size:11px; }
.training-schedule b { color:var(--ink); font-size:11px; font-weight:700; }
.training-schedule b small { margin-top:2px; display:block; color:var(--orange-dark); font-size:9px; font-weight:800; white-space:nowrap; }
.training-schedule em { overflow:hidden; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.eyebrow { margin:0 0 7px; color:var(--orange-dark); font-size:12px; font-weight:800; letter-spacing:.18em; }
h1 { margin:0; font:800 clamp(44px,7vw,76px)/.88 'Barlow Condensed',sans-serif; letter-spacing:-.025em; text-transform:uppercase; }
h1.compact { font-size:clamp(42px,4vw,60px); }
#category { grid-column:1; min-width:0; margin:12px 0 0; color:var(--muted); font-size:15px; }
.previous-season-note { grid-column:2/4; min-width:0; width:100%; margin:12px 0 0; padding:5px 8px; overflow:hidden; border-left:3px solid var(--orange); color:var(--muted); background:rgba(255,253,249,.55); font-size:10px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.previous-season-note[hidden] { display:none; }
.season-control { min-width:190px; }
.selector-stack { grid-column:3; display:flex; align-items:end; gap:10px; }
.selector-stack[hidden] { display:none; }
.season-control[hidden] { display:none; }
.season-control span { display:block; margin-bottom:8px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.season-control select { width:100%; height:46px; padding:0 42px 0 15px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--white); font-weight:700; cursor:pointer; }
.calendar-subscribe-trigger { min-height:46px; padding:0 15px; border:1px solid var(--ink); border-radius:12px; color:#fff; background:var(--ink); font-size:11px; font-weight:800; white-space:nowrap; cursor:pointer; }
.calendar-subscribe-trigger:hover,.calendar-subscribe-trigger:focus-visible { border-color:var(--orange-dark); background:var(--orange-dark); outline:none; }
.tabs { display:flex; gap:4px; overflow-x:auto; padding:5px; border:1px solid var(--line); border-radius:14px; background:rgba(255,253,249,.62); scrollbar-width:none; }
.tabs::-webkit-scrollbar { display:none; }
.tabs button { min-height:40px; padding:0 17px; border:0; border-radius:10px; color:var(--muted); background:transparent; font-size:13px; font-weight:700; white-space:nowrap; cursor:pointer; }
.tabs button.active { color:#fff; background:var(--ink); }
.tabs button:focus-visible { outline:3px solid rgba(244,123,32,.4); outline-offset:2px; }
.mobile-view-control { display:none; }
.mobile-view-control span { display:block; margin-bottom:8px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.mobile-view-control select { width:100%; height:48px; padding:0 42px 0 15px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--white); font-weight:700; cursor:pointer; }
#app { min-height:450px; padding:24px 0 56px; }
.loading-card,.empty-state { padding:60px 24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); text-align:center; color:var(--muted); }
.notice { margin-bottom:18px; padding:17px 19px; display:flex; gap:12px; align-items:flex-start; border:1px solid rgba(244,123,32,.28); border-radius:14px; background:rgba(244,123,32,.08); color:#754119; font-size:14px; line-height:1.5; }
.notice-icon { flex:0 0 auto; width:23px; height:23px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--orange); font-weight:800; }
.stats-grid { margin-top:14px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.stat-card { min-height:136px; padding:21px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.stat-card.highlight { border-color:var(--ink); color:#fff; background:var(--ink); }
.stat-link,.position-panel { cursor:pointer; transition:border-color .18s,box-shadow .18s,transform .18s; }
.stat-link:hover,.position-panel:hover { border-color:rgba(244,123,32,.7); box-shadow:0 10px 30px rgba(39,29,20,.08); transform:translateY(-1px); }
.stat-link:focus-visible,.position-panel:focus-visible { outline:3px solid rgba(244,123,32,.28); outline-offset:3px; }
.stat-link .stat-foot { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.stat-link .stat-foot span { color:var(--orange-dark); font-size:16px; font-weight:800; }
.stat-label { color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.highlight .stat-label { color:#aaa6a1; }
.stat-value { margin-top:13px; font:800 46px/.9 'Barlow Condensed',sans-serif; }
.stat-foot { margin-top:12px; color:var(--muted); font-size:12px; }
.highlight .stat-foot { color:#c8c5c1; }
.previous-card-value { display:block; margin-top:7px; padding-top:6px; border-top:1px solid #ece7e0; color:var(--muted); font-size:9px; font-weight:600; line-height:1.35; }
.highlight .previous-card-value { color:#d6d2cc; border-color:#3d3d3d; }
.panel { padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.balance-panel { padding:0; overflow:hidden; }
.balance-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(340px,.85fr); }
.balance-main { padding:0; display:grid; grid-template-columns:minmax(220px,.9fr) minmax(270px,1.1fr); grid-template-rows:auto 1fr; }
.balance-heading { display:contents; }
.balance-heading>div:first-child { min-width:0; min-height:82px; padding:20px 24px 14px; display:flex; flex-direction:column; justify-content:center; }
.panel-kicker { margin:0 0 7px; color:var(--orange-dark); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.panel h2 { margin:0; font:800 27px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.competition-line { width:auto; min-height:82px; max-width:none; margin:0; padding:14px 20px; display:flex; flex-direction:column; justify-content:center; border-left:3px solid var(--orange); background:#f4f0ea; }
.competition-line span,.competition-line strong { display:block; }
.competition-line span { margin-bottom:4px; color:var(--muted); font-size:7px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.competition-line strong { font-size:9px; line-height:1.4; text-transform:uppercase; }
.competition-line .previous-card-value { margin-top:6px; padding-top:5px; border-color:#ded7cf; font-size:8px; text-transform:none; }
.record { grid-column:1; grid-row:2; margin:0; padding:14px 24px 18px; display:flex; gap:18px; align-items:center; border-top:1px solid #eeeae4; }
.record-item strong { display:block; font:800 31px/1 'Barlow Condensed',sans-serif; }
.record-item span { color:var(--muted); font-size:11px; }
.record-item .previous-card-value { margin-top:5px; padding:0; border:0; font-size:8px; }
.record-separator { height:34px; width:1px; background:var(--line); }
.position-ring { width:76px; height:76px; margin:10px auto 0; display:grid; place-items:center; border:6px solid #f1ede7; border-top-color:var(--orange); border-right-color:var(--orange); border-radius:50%; text-align:center; }
.position-ring strong { font:800 31px/.7 'Barlow Condensed',sans-serif; }
.position-ring span { color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.position-link-hint { margin-top:11px; display:flex; align-items:center; justify-content:center; gap:7px; color:var(--orange-dark); font-size:8px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.position-previous { margin:8px auto 0; padding:0; border:0; text-align:center; }
.stats-grid>.position-panel { min-height:136px; padding:17px 19px; display:grid; grid-template-columns:minmax(0,1fr) 60px; grid-template-rows:auto auto 1fr auto; column-gap:8px; }
.stats-grid>.position-panel .panel-kicker { grid-column:1; grid-row:1; margin:0 0 5px; font-size:10px; }
.stats-grid>.position-panel h2 { grid-column:1; grid-row:2; font-size:23px; }
.stats-grid>.position-panel .position-ring { grid-column:2; grid-row:1/4; align-self:center; width:58px; height:58px; margin:0; border-width:5px; }
.stats-grid>.position-panel .position-ring strong { font-size:25px; }
.stats-grid>.position-panel .position-ring span { font-size:8px; }
.stats-grid>.position-panel .position-previous { grid-column:1/-1; grid-row:3; align-self:end; margin:8px 0 0; text-align:left; }
.stats-grid>.position-panel .position-link-hint { grid-column:1/-1; grid-row:4; margin-top:9px; justify-content:flex-start; }
.panel-title-row,.section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.form-block { grid-column:2; grid-row:2; margin:0; padding:14px 20px 18px; display:flex; align-items:center; gap:12px; border-top:1px solid #eeeae4; border-left:1px solid #eeeae4; }
.form-block>span { color:var(--muted); font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.form-pending { grid-column:2; grid-row:2; max-width:none; margin:0; padding:14px 20px 18px; color:var(--muted); border-top:1px solid #eeeae4; border-left:1px solid #eeeae4; font-size:11px; line-height:1.5; }
.form-strip { display:flex; gap:5px; }
.form-pill { width:27px; height:27px; display:grid; place-items:center; border-radius:50%; color:#fff; font-size:10px; font-weight:800; }
.form-pill.G,.result-label.G,.result-badge.G { background:#12805c; }
.form-pill.E,.result-label.E,.result-badge.E { background:#c58a18; }
.form-pill.P,.result-label.P,.result-badge.P { background:#b44137; }
.summary-staff { padding:16px 18px; display:flex; flex-direction:column; color:var(--ink); background:#f2eee8; border-left:3px solid var(--orange); }
.summary-staff-heading { padding-bottom:8px; border-bottom:1px solid #d9d2ca; }
.summary-staff-heading p { margin:0 0 5px; color:var(--orange-dark); font-size:8px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.summary-staff-heading h3 { margin:0; font:800 21px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.summary-coach-list { padding:8px 0 5px; display:grid; gap:5px; }
.summary-coach-list.presented-coach-list { grid-template-columns:minmax(0,1fr); gap:0; padding:6px 0 9px; }
.summary-coach { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:10px; }
.summary-coach-mark { width:30px; height:30px; display:grid; place-items:center; border:1px solid rgba(219,88,0,.35); border-radius:8px; color:var(--orange-dark); background:#fffaf5; font:800 11px/1 'Barlow Condensed',sans-serif; }
.summary-coach.presented-coach { grid-template-columns:52px minmax(0,1fr); gap:14px; min-height:68px; padding:8px 0; }
.summary-coach.presented-coach + .summary-coach.presented-coach { border-top:1px solid #ded7cf; }
.summary-coach.presented-coach > div { min-width:0; display:flex; flex-direction:column; align-items:flex-start; }
.presented-coach-photo-button,.club-coach-photo-button { appearance:none; width:52px; height:52px; padding:0; display:block; border:0; border-radius:50%; background:transparent; box-shadow:none; cursor:pointer; }
.presented-coach-photo-button:hover .coach-face-thumb,.presented-coach-photo-button:focus-visible .coach-face-thumb,.club-coach-photo-button:hover .coach-face-thumb,.club-coach-photo-button:focus-visible .coach-face-thumb { border-color:var(--orange); box-shadow:0 0 0 3px rgba(244,123,32,.16); }
.presented-coach-photo-button:focus-visible,.club-coach-photo-button:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
.presented-coach-name { appearance:none; padding:0; border:0; border-radius:0; color:var(--ink); background:transparent; box-shadow:none; font:800 14px/1.35 Inter,sans-serif; text-align:left; cursor:pointer; text-decoration:underline; text-decoration-color:rgba(219,88,0,.38); text-underline-offset:3px; }
.presented-coach-name:hover,.presented-coach-name:focus-visible { color:var(--orange-dark); outline:none; text-decoration-color:currentColor; }
.presented-coach-name:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
.coach-face-thumb { position:relative; width:52px; height:52px; flex:none; display:block; overflow:hidden; border:2px solid rgba(244,123,32,.5); border-radius:50%; background:#211725; }
.coach-face-thumb img { position:absolute; top:50%; left:50%; width:var(--face-width,230%); height:auto; max-width:none; display:block; transform:translate(var(--face-shift-x,-50%),var(--face-shift-y,-48%)); }
.summary-coach strong,.summary-coach span { display:block; }
.summary-coach .summary-coach-mark { display:grid; place-items:center; }
.summary-coach strong { color:var(--ink); font-size:10px; line-height:1.35; }
.summary-coach div>span { margin-top:3px; color:var(--muted); font-size:8px; }
.summary-coach.presented-coach .presented-coach-name { max-width:100%; font:800 20px/1.1 'Barlow Condensed',sans-serif; letter-spacing:.01em; text-transform:uppercase; }
.summary-coach.presented-coach > div > span { margin-top:5px; font-size:11px; line-height:1.3; }
.summary-staff-empty { padding:13px 0 8px; }
.summary-staff-empty strong,.summary-staff-empty span { display:block; }
.summary-staff-empty strong { font:800 19px/1.05 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.summary-staff-empty span { margin-top:7px; color:var(--muted); font-size:9px; line-height:1.5; }
.summary-staff-note { margin:0 0 9px; color:var(--muted); font-size:8px; line-height:1.45; }
.summary-staff-link { width:100%; margin-top:auto; padding:8px 0 1px; display:flex; align-items:center; justify-content:space-between; border:0; border-top:1px solid #d9d2ca; color:var(--ink); background:transparent; font-size:8px; font-weight:800; letter-spacing:.08em; text-align:left; text-transform:uppercase; cursor:pointer; }
.summary-staff-link:hover { color:var(--orange); }
.match-highlights { margin-top:14px; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.match-feature { display:flex; flex-direction:column; }
.match-feature h2 { margin-bottom:24px; }
.match-feature .scoreboard { min-height:54px; }
.match-feature .friendly-team-copy small { display:none; }
.summary-tournament-event { min-height:54px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; text-align:center; }
.summary-tournament-event strong { font:800 23px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.summary-tournament-event span { color:var(--muted); font-size:11px; font-weight:700; }
.scoreboard { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; }
.score-team { min-width:0; display:flex; align-items:center; gap:9px; font-size:13px; font-weight:700; line-height:1.35; }
.score-team.home { justify-content:flex-end; text-align:right; }
.score-team.away { justify-content:flex-start; text-align:left; }
.score-team img { flex:0 0 34px; width:34px; height:34px; object-fit:contain; }
.score-team span { min-width:0; flex:1 1 auto; overflow-wrap:anywhere; }
.score-team .score-team-copy { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.score-team.home .score-team-copy { align-items:flex-end; }
.score-team .score-team-name { min-width:0; display:block; flex:none; }
.score-team .match-mini-form { display:flex; flex:none; align-items:center; gap:4px; }
.match-form-dot { width:9px; height:9px; display:block; border-radius:50%; background:#a8a29e; }
.match-form-dot.G { background:#12805c; }
.match-form-dot.E { background:#c58a18; }
.match-form-dot.P { background:#b44137; }
.match-feature .score-team span { min-height:2.7em; display:flex; align-items:center; }
.match-feature .score-team.home span { justify-content:flex-end; }
.match-feature .score-team.away span { justify-content:flex-start; }
.match-feature .score-team.home .friendly-team-copy,.match-feature .score-team.away .friendly-team-copy { justify-content:center; }
.score-value { min-width:84px; display:flex; align-items:center; justify-content:center; gap:9px; }
.score-value strong { font:800 34px/1 'Barlow Condensed',sans-serif; }
.score-value i { color:var(--muted); font-style:normal; }
.score-value span { color:var(--muted); font-size:12px; font-weight:700; }
.result-label { width:max-content; margin:22px auto 0; padding:6px 11px; display:block; border-radius:999px; color:#fff; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.venue-line { margin:auto auto 0; padding-top:22px; display:block; color:var(--muted); font-size:11px; text-align:center; }
.section-heading { margin:7px 0 20px; align-items:end; }
.section-heading h2,.empty-state h2 { margin:0; font:800 clamp(32px,5vw,52px)/.95 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.section-heading>span { max-width:320px; color:var(--muted); font-size:12px; text-align:right; }
.section-note { max-width:720px; margin:-8px 0 22px; color:var(--muted); font-size:12px; line-height:1.55; }
.empty-state .empty-ball { margin:0 auto 15px; width:34px; height:34px; display:grid; place-items:center; border:2px solid var(--orange); border-radius:50%; color:var(--orange); font-size:9px; }
.empty-state p { max-width:520px; margin:12px auto 0; line-height:1.55; }
.match-list { display:grid; gap:9px; }
.friendly-note { margin:-8px 0 20px; padding:13px 16px; border-left:3px solid var(--orange); color:var(--muted); background:rgba(244,123,32,.07); font-size:11px; line-height:1.55; }
.friendly-note strong { color:var(--ink); }
.friendly-list { display:grid; gap:9px; }
.friendly-card { min-height:96px; padding:15px 18px; display:grid; grid-template-columns:110px minmax(0,1fr) 210px 92px; align-items:center; gap:16px; border:1px solid var(--line); border-radius:15px; background:var(--white); }
.friendly-date { padding-right:16px; border-right:1px solid var(--line); }
.friendly-date strong,.friendly-date span,.friendly-venue span,.friendly-venue strong { display:block; }
.friendly-date strong { font-size:12px; text-transform:capitalize; }
.friendly-date span { margin-top:6px; color:var(--orange-dark); font-size:11px; font-weight:800; }
.friendly-main { min-width:0; }
.friendly-scoreboard { grid-template-columns:minmax(100px,1fr) 76px minmax(100px,1fr); gap:9px; }
.friendly-scoreboard .score-value { min-width:76px; }
.friendly-scoreboard .score-value strong { font-size:28px; }
.friendly-score-team { align-self:stretch; }
.friendly-team-copy { min-width:0; display:flex; flex:1 1 auto; flex-direction:column; justify-content:center; gap:3px; }
.friendly-score-team.home .friendly-team-copy { align-items:flex-end; }
.friendly-score-team.away .friendly-team-copy { align-items:flex-start; }
.friendly-team-copy strong { overflow-wrap:anywhere; font-size:12px; line-height:1.2; }
.friendly-team-copy small { color:#6f6963; font-size:10px; font-weight:600; line-height:1.3; }
.friendly-venue { min-width:0; padding-left:16px; border-left:1px solid var(--line); }
.friendly-venue span { margin-bottom:6px; color:var(--muted); font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.friendly-venue strong { overflow-wrap:anywhere; font-size:10px; line-height:1.4; }
.venue-map-link { color:inherit; font-weight:700; text-decoration-color:rgba(219,88,0,.42); text-underline-offset:3px; }
.venue-map-link:hover,.venue-map-link:focus-visible { color:var(--orange-dark); outline:none; text-decoration-color:currentColor; }
.friendly-venue .venue-map-link { display:block; overflow-wrap:anywhere; font-size:10px; line-height:1.4; }
.training-schedule .venue-map-link { font-weight:inherit; }
.friendly-status { padding:7px 9px; border-radius:8px; color:var(--muted); background:#efebe5; font-size:9px; font-weight:800; text-align:center; text-transform:uppercase; }
.friendly-status.played { color:#fff; background:var(--ink); }
.friendly-status.tournament { color:#fff; background:var(--orange-dark); }
.tournament-poster-trigger { cursor:zoom-in; }
a.friendly-status.tournament-poster-trigger { text-decoration:none; }
.tournament-poster-trigger:hover,.tournament-poster-trigger:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }
.friendly-tournament-card { display:block; padding:0; overflow:hidden; }
.tournament-summary { min-height:96px; padding:15px 18px; display:grid; grid-template-columns:110px minmax(0,1fr) 210px 92px 18px; align-items:center; gap:16px; cursor:pointer; list-style:none; }
.tournament-summary::-webkit-details-marker { display:none; }
.tournament-main { min-width:0; }
.tournament-main strong,.tournament-main span { display:block; }
.tournament-main strong { font-size:14px; line-height:1.3; }
.tournament-main span { margin-top:5px; color:var(--muted); font-size:10px; font-weight:700; }
.tournament-disclosure { color:var(--orange-dark); font-size:24px; font-weight:800; line-height:1; transition:transform .18s; }
.friendly-tournament-card[open] .tournament-disclosure { transform:rotate(90deg); }
.tournament-details { padding:22px; display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,360px); align-items:stretch; gap:24px; border-top:1px solid var(--line); background:#f8f5f0; }
.tournament-details.without-poster { grid-template-columns:1fr; }
.tournament-details h3 { margin:0 0 10px; font:800 22px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.tournament-details p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; white-space:pre-line; }
.tournament-info,.tournament-participants-section { min-width:0; display:flex; flex-direction:column; }
.tournament-participants-section { flex:1; }
.tournament-section-heading { margin-bottom:10px; display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.tournament-section-heading h3 { margin:0; }
.tournament-section-heading>span { color:var(--orange-dark); font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.tournament-participants { margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 18px; list-style:none; }
.tournament-participants li { min-height:66px; padding:9px 11px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:10px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.tournament-participants.featured { flex:1; grid-template-rows:repeat(2,minmax(150px,1fr)); gap:12px; }
.tournament-participants.featured.count-1 { grid-template-columns:1fr; grid-template-rows:minmax(300px,1fr); }
.tournament-participants.featured.count-2 { grid-template-rows:minmax(300px,1fr); }
.tournament-participants.featured li { min-height:150px; padding:20px; grid-template-columns:1fr; align-content:center; justify-items:center; gap:14px; overflow:hidden; border-top:3px solid rgba(219,88,0,.58); background:linear-gradient(145deg,#fff 38%,#faf5ee); text-align:center; }
.tournament-participant-crest { width:42px; height:42px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#f7f4ef; }
.tournament-participant-crest img { width:34px; height:34px; display:block; object-fit:contain; }
.tournament-participant-crest>span { color:var(--orange-dark); font-size:10px; font-weight:900; }
.tournament-participants.featured .tournament-participant-crest { width:74px; height:74px; border-radius:16px; box-shadow:0 8px 18px rgba(39,29,20,.08); }
.tournament-participants.featured .tournament-participant-crest img { width:58px; height:58px; }
.tournament-participants.featured .tournament-participant-crest>span { font-size:15px; }
.tournament-participant-copy,.tournament-participant-copy strong,.tournament-participant-copy small { min-width:0; display:block; }
.tournament-participant-copy strong { overflow-wrap:anywhere; font-size:11px; line-height:1.25; }
.tournament-participant-copy small { margin-top:4px; color:var(--muted); font-size:9px; font-weight:600; line-height:1.25; }
.tournament-participants.featured .tournament-participant-copy strong { font-size:14px; }
.tournament-participants.featured .tournament-participant-copy small { margin-top:6px; font-size:10px; }
.tournament-notes { margin-top:20px; }
.tournament-fixtures-section { margin-top:20px; }
.tournament-fixtures { margin:0; padding:0; display:grid; gap:7px; list-style:none; }
.tournament-fixtures li { min-width:0; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.tournament-fixtures time { display:block; margin-bottom:6px; color:var(--muted); font-size:11px; font-weight:700; }
.tournament-fixture-matchup { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:10px; font-size:13px; font-weight:700; }
.tournament-fixture-matchup span { min-width:0; overflow-wrap:anywhere; }
.tournament-fixture-matchup span:last-child { text-align:right; }
.tournament-fixture-matchup strong { color:var(--muted); font-size:12px; white-space:nowrap; }
.tournament-fixture-matchup strong.played { color:var(--orange-dark); font-size:17px; }
.tournament-fixture-result { display:grid; justify-items:center; gap:2px; white-space:nowrap; }
.tournament-fixture-result small { color:var(--muted); font-size:10px; font-weight:700; }
.tournament-poster { align-self:start; display:block; color:inherit; text-decoration:none; }
.tournament-images { min-width:0; align-self:start; }
.tournament-poster img { width:100%; max-height:520px; display:block; border-radius:10px; object-fit:contain; background:#fff; box-shadow:0 12px 30px rgba(39,29,20,.12); }
.tournament-poster span { margin-top:8px; display:block; color:var(--orange-dark); font-size:10px; font-weight:800; text-align:center; text-transform:uppercase; }
.tournament-image-thumbs { margin-top:12px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.tournament-image-thumbs a { min-width:0; display:block; border:1px solid var(--line); border-radius:9px; overflow:hidden; background:#fff; }
.tournament-image-thumbs img { width:100%; aspect-ratio:1; display:block; object-fit:cover; }
.match-card { overflow:hidden; border:1px solid var(--line); border-radius:15px; background:var(--white); }
.match-card summary { min-height:94px; padding:14px 18px; display:grid; grid-template-columns:72px minmax(0,1fr) 78px 20px; align-items:center; gap:15px; list-style:none; cursor:pointer; }
.match-card summary::-webkit-details-marker { display:none; }
.match-meta { height:54px; display:grid; grid-template-columns:35px 1fr; grid-template-rows:1fr 1fr; align-items:center; border-right:1px solid var(--line); }
.match-meta strong { grid-row:1/3; color:var(--orange-dark); font:800 23px/1 'Barlow Condensed',sans-serif; }
.match-meta span { color:var(--ink); font-size:11px; font-weight:700; text-transform:capitalize; }
.match-meta small { color:var(--muted); font-size:10px; }
.match-main { min-width:0; }
.scoreboard.compact { grid-template-columns:minmax(90px,1fr) 72px minmax(90px,1fr); gap:9px; }
.scoreboard.compact .score-value { min-width:0; }
.scoreboard.compact .score-value strong { font-size:28px; }
.scoreboard.compact .score-team img { flex-basis:30px; width:30px; height:30px; }
.match-venue { margin-top:7px; display:block; overflow:hidden; color:var(--muted); font-size:10px; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.result-badge { width:78px; padding:6px 8px; border-radius:8px; color:#fff; font-size:10px; font-weight:800; text-align:center; }
.result-badge.pending { color:var(--muted); background:#efebe5; }
.details-arrow { color:var(--muted); font-size:19px; transition:transform .2s; }
.match-card[open] .details-arrow { transform:rotate(180deg); }
.match-details { padding:22px; display:grid; grid-template-columns:.7fr 1.3fr; gap:28px; border-top:1px solid var(--line); background:#faf8f4; }
.match-facts { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.match-facts>div { min-height:67px; padding:13px 15px; border:1px solid var(--line); border-radius:11px; background:var(--white); }
.match-facts>div>span { display:block; margin-bottom:7px; color:var(--muted); font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.match-facts strong,.match-facts a { color:var(--ink); font-size:11px; font-weight:700; line-height:1.4; text-decoration:none; }
.match-fact-date { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; align-items:center; column-gap:16px; }
.match-fact-date>span { grid-column:1; grid-row:1; }
.match-fact-date>strong { grid-column:1; grid-row:2; display:block; }
.match-facts a:hover { color:var(--orange-dark); }
.match-facts .match-week-link { min-height:32px; width:max-content; max-width:100%; margin:0; padding:0 10px; display:inline-flex; align-items:center; gap:9px; border:1px solid rgba(232,91,0,.34); border-radius:8px; color:var(--orange-dark); background:rgba(232,91,0,.055); font:900 9px/1 Inter,sans-serif; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; transition:border-color .18s,background .18s,color .18s; }
.match-fact-date>.match-week-link { grid-column:2; grid-row:1/3; }
.match-facts .match-week-link span { margin:0; display:inline; color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; }
.match-facts .match-week-link i { color:var(--orange-dark); font:900 14px/1 Inter,sans-serif; }
.match-facts .match-week-link:hover { border-color:var(--orange-dark); background:rgba(232,91,0,.1); }
.match-facts .match-week-link:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }
.detail-wide { grid-column:1/-1; }
.detail-section>h4,.lineup-columns h4 { margin:0 0 12px; color:var(--muted); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.goal-list,.lineup-columns ul { margin:0; padding:0; list-style:none; }
.goal-list li { padding:8px 0; display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--line); font-size:12px; }
.goal-list li span { width:34px; color:var(--orange-dark); font-weight:800; }
.detail-note { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.lineup-columns { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.lineup-columns.single { grid-template-columns:1fr; }
.lineup-columns li { padding:5px 0; display:flex; align-items:center; gap:8px; font-size:11px; }
.lineup-player { min-width:0; display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.lineup-player-name { line-height:1.4; }
.player-position-chip,.player-role { width:max-content; display:inline-flex; align-items:center; padding:3px 7px; border-radius:999px; color:#fff; background:#267a5a; font-size:10px; font-weight:800; line-height:1.2; text-transform:uppercase; }
.player-history-trigger-inline,.player-history-trigger-table { padding:0; border:0; color:inherit; background:transparent; font:inherit; text-align:left; cursor:pointer; }
.player-history-trigger-inline { text-decoration:underline; text-decoration-color:transparent; text-underline-offset:3px; }
.player-history-trigger-inline:hover,.player-history-trigger-inline:focus-visible { color:var(--orange-dark); outline:none; text-decoration-color:currentColor; }
.match-team-reports { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.match-team-report { min-width:0; padding:18px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:13px; background:var(--white); }
.match-team-report.own { border-top:3px solid var(--orange); }
.match-team-report>header { min-height:48px; margin-bottom:18px; padding-bottom:14px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); }
.match-team-report>header>.score-team { flex:1; justify-content:flex-start; text-align:left; }
.match-team-report>header>span { color:var(--orange-dark); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.match-team-report .detail-section+.detail-section { margin-top:20px; }
.match-report-lineup { margin-bottom:18px; }
.team-report-coach { margin:auto 0 0; padding-top:13px; border-top:1px solid var(--line); }
.team-report-coach span,.team-report-coach strong { display:block; }
.team-report-coach span { margin-bottom:5px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.team-report-coach strong { font-size:12px; }
.shirt-number { width:23px; height:23px; display:grid; place-items:center; border-radius:6px; color:var(--orange-dark); background:rgba(244,123,32,.1); font-size:10px; font-weight:800; }
.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.data-table { width:100%; border-collapse:collapse; font-size:12px; }
.data-table th { padding:13px 16px; color:var(--muted); background:#f1ede7; font-size:9px; letter-spacing:.1em; text-align:left; text-transform:uppercase; }
.data-table td { padding:13px 16px; border-top:1px solid var(--line); }
.data-table th:not(:nth-child(2)),.data-table td:not(:nth-child(2)) { text-align:center; }
.data-table .rank { width:58px; color:var(--muted); font:800 18px/1 'Barlow Condensed',sans-serif; }
.player-name,.standing-team { display:flex; align-items:center; gap:12px; }
.player-history-trigger-table { width:100%; }
.player-history-trigger-table:hover strong,.player-history-trigger-table:focus-visible strong { color:var(--orange-dark); }
.player-history-trigger-table:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
.avatar { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--ink); font-size:9px; font-weight:800; }
.avatar.large { width:46px; height:46px; background:var(--orange); }
.goals-total { color:var(--orange-dark); font:800 23px/1 'Barlow Condensed',sans-serif; }
.round-control span { display:block; margin-bottom:6px; color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.round-control select { min-width:160px; height:42px; padding:0 12px; border:1px solid var(--line); border-radius:10px; background:var(--white); font-weight:700; }
.standing-team { min-width:245px; text-align:left; }
.standing-team img { width:30px; height:30px; object-fit:contain; }
.standings-table tr.own-team td { color:#fff; background:var(--ink); border-color:#303030; }
.standings-table tr.own-team .rank { color:var(--orange); }
.player-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.staff-section { margin-bottom:24px; padding:20px; border:1px solid var(--line); border-radius:var(--radius); background:rgba(255,253,249,.62); }
.subsection-heading { margin-bottom:14px; display:flex; align-items:end; justify-content:space-between; gap:18px; }
.subsection-heading .eyebrow { margin-bottom:4px; font-size:9px; }
.subsection-heading h3 { margin:0; font:800 25px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.subsection-heading>span { color:var(--muted); font-size:10px; }
.player-heading { margin-top:28px; }
.staff-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.club-coach-strip { padding:17px 20px 13px; display:grid; grid-template-columns:minmax(180px,1fr) minmax(0,3fr); align-items:center; gap:9px 20px; }
.club-coach-strip .subsection-heading { margin:0; }
.club-coach-photo-grid { min-width:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:10px; }
.club-coach-photo-card { min-width:0; min-height:86px; padding:5px; display:grid; grid-template-columns:58px minmax(0,1fr); align-items:center; gap:10px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--white); text-align:left; transition:border-color .18s,box-shadow .18s,transform .18s; }
.club-coach-photo-card:only-child { max-width:350px; }
.club-coach-photo-card:hover,.club-coach-photo-card:focus-within { border-color:var(--orange); box-shadow:0 8px 22px rgba(61,38,24,.1); transform:translateY(-1px); }
.club-coach-photo-button { width:58px; height:58px; }
.club-coach-photo-card .coach-face-thumb { width:58px; height:58px; }
.club-coach-photo-label { min-width:0; display:grid; gap:5px; }
.club-coach-photo-label .presented-coach-name { font:800 21px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.club-coach-photo-label small { color:var(--muted); font-size:10px; line-height:1.3; }
.club-coach-photo-note { grid-column:2; margin:0; }
@media(max-width:700px){.club-coach-strip{display:block}.club-coach-strip .subsection-heading{margin-bottom:14px}.club-coach-photo-note{margin-top:9px}}
.club-coach-rffm-pending { margin:-13px 0 24px; }
body>.club-coach-photo-dialog { position:fixed; inset:0; width:min(600px,calc(100% - 28px)); max-height:calc(100dvh - 28px); margin:auto; padding:0; overflow:hidden; border:1px solid #4a423c; border-radius:17px; color:#fff; background:#211725; box-shadow:0 30px 90px rgba(0,0,0,.42); }
.club-coach-photo-dialog::backdrop { background:rgba(17,12,9,.82); backdrop-filter:blur(5px); }
.club-coach-dialog-content { position:relative; max-height:calc(100dvh - 28px); display:grid; justify-items:center; grid-template-rows:minmax(0,1fr) auto; }
.club-coach-dialog-content>img { display:block; max-width:100%; max-height:calc(100dvh - 92px); object-fit:contain; }
.club-coach-dialog-close { position:absolute; z-index:1; top:10px; right:10px; width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; color:#fff; background:rgba(20,15,24,.82); font-size:25px; line-height:1; cursor:pointer; }
.club-coach-dialog-close:hover,.club-coach-dialog-close:focus-visible { border-color:var(--orange); outline:2px solid var(--orange); }
.club-coach-dialog-caption { width:100%; min-height:60px; padding:10px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.club-coach-dialog-caption strong { font:800 25px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.club-coach-dialog-caption span { color:#ddd0c8; font-size:10px; text-align:right; }
@media(max-width:520px){body>.club-coach-photo-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.club-coach-dialog-content{max-height:calc(100dvh - 16px)}.club-coach-dialog-content>img{max-height:calc(100dvh - 80px)}.club-coach-dialog-caption{min-height:54px;padding:9px 12px}.club-coach-dialog-caption strong{font-size:21px}}
.staff-card { padding:14px; display:flex; align-items:center; gap:12px; border:1px solid var(--line); border-radius:12px; background:var(--white); }
.coach-history-trigger { color:inherit; text-align:left; cursor:pointer; transition:border-color .18s,transform .18s,box-shadow .18s; }
.coach-history-trigger:hover,.coach-history-trigger:focus-visible { border-color:rgba(219,88,0,.55); outline:none; box-shadow:0 9px 24px rgba(61,38,24,.08); transform:translateY(-1px); }
.coach-history-trigger-inline { padding:0; border:0; color:inherit; background:transparent; font:inherit; font-weight:700; text-align:left; cursor:pointer; text-decoration:underline; text-decoration-color:transparent; text-underline-offset:3px; }
.coach-history-trigger-inline:hover,.coach-history-trigger-inline:focus-visible { color:var(--orange-dark); outline:none; text-decoration-color:currentColor; }
.staff-mark { width:38px; height:38px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; color:#fff; background:var(--ink); font:800 14px/1 'Barlow Condensed',sans-serif; }
.staff-card h4 { margin:0 0 5px; font-size:12px; }
.staff-card p { margin:0; color:var(--muted); font-size:9px; line-height:1.45; }
.player-card { min-height:104px; padding:17px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; border:1px solid var(--line); border-radius:15px; color:inherit; background:var(--white); text-align:left; cursor:pointer; transition:border-color .18s,transform .18s,box-shadow .18s; }
.player-card:hover,.player-card:focus-visible { border-color:rgba(219,88,0,.55); outline:none; box-shadow:0 9px 24px rgba(61,38,24,.08); transform:translateY(-1px); }
.squad-number { width:46px; height:52px; display:grid; place-items:center; border:2px solid rgba(244,123,32,.35); border-radius:9px 9px 13px 13px; color:var(--orange-dark); background:rgba(244,123,32,.08); font:800 26px/1 'Barlow Condensed',sans-serif; }
.player-card h3 { margin:0 0 6px; font-size:13px; line-height:1.3; }
.player-card h3 .player-position-chip { margin-left:7px; vertical-align:2px; }
.player-card p { margin:0; color:var(--muted); font-size:10px; }
.player-card dl { margin:0; display:flex; gap:13px; }
.player-card dl div { text-align:center; }
.player-card dt { color:var(--muted); font-size:8px; text-transform:uppercase; }
.player-card dd { margin:4px 0 0; font:800 21px/1 'Barlow Condensed',sans-serif; }
body>.player-history-dialog { position:fixed; inset:0; width:min(760px,calc(100% - 28px)); max-height:min(84vh,820px); margin:auto; padding:28px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--line); border-radius:20px; color:var(--ink); background:var(--paper); box-shadow:0 28px 90px rgba(20,12,8,.32); -webkit-overflow-scrolling:touch; }
.player-history-dialog::backdrop { background:rgba(17,12,9,.66); backdrop-filter:blur(4px); }
.player-history-close { position:sticky; top:0; z-index:2; height:0; display:flex; justify-content:flex-end; }
.player-history-close button { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:var(--white); font-size:25px; line-height:1; cursor:pointer; }
.player-history-close button:hover,.player-history-close button:focus-visible { border-color:var(--orange); outline:2px solid rgba(244,123,32,.24); }
.player-history-header,.player-history-loading { display:flex; align-items:center; gap:15px; }
.player-history-header { padding-right:46px; }
.player-history-header .eyebrow,.player-history-loading .eyebrow { margin:0 0 5px; }
.player-history-header h2,.player-history-loading h2 { margin:0; font:800 clamp(30px,6vw,48px)/.95 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.player-history-header .player-role { margin-top:9px; }
.player-history-loading { min-height:220px; }
.player-history-loading p:last-child { margin:10px 0 0; color:var(--muted); }
.player-history-totals { margin:24px 0; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:14px; background:var(--white); }
.player-history-totals div { padding:16px 12px; text-align:center; }
.player-history-totals div+div { border-left:1px solid var(--line); }
.player-history-totals.coach-history-totals { grid-template-columns:repeat(3,1fr); }
.player-history-totals strong,.player-history-totals span { display:block; }
.player-history-totals strong { font:800 28px/1 'Barlow Condensed',sans-serif; }
.player-history-totals span { margin-top:6px; color:var(--muted); font-size:10px; line-height:1.25; text-transform:uppercase; }
.player-history-list h3 { margin:0 0 11px; font:800 22px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.player-history-list ul { margin:0; padding:0; display:grid; gap:7px; list-style:none; }
.player-history-list li { padding:12px; display:grid; grid-template-columns:66px minmax(0,1fr) auto; align-items:center; gap:12px; border:1px solid var(--line); border-radius:11px; background:var(--white); }
.player-history-season { font-weight:800; }
.player-history-team { min-width:0; display:flex; align-items:center; gap:9px; }
.player-history-team img { width:30px; height:30px; flex:0 0 auto; object-fit:contain; }
.player-history-team strong,.player-history-team small,.player-history-numbers strong,.player-history-numbers small { display:block; }
.player-history-team strong { font-size:12px; line-height:1.35; }
.player-history-team small,.player-history-numbers small { margin-top:4px; color:var(--muted); font-size:10px; line-height:1.35; }
.player-history-team .player-history-callup { color:var(--orange-dark); font-weight:700; }
.player-history-numbers { text-align:right; }
.player-history-numbers strong { font-size:12px; }
.player-history-note { margin:15px 0 9px; color:var(--muted); font-size:11px; line-height:1.5; }
.player-history-source { color:var(--orange-dark); font-size:11px; font-weight:800; text-decoration:none; }
.player-history-source:hover { text-decoration:underline; }
.player-history-source.muted { color:var(--muted); font-weight:600; }
.player-history-subsection { margin-top:22px; padding-top:20px; border-top:1px solid var(--line); }
.player-history-subsection h3 { margin-bottom:10px; }
.player-history-player-summary { margin-bottom:10px; display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:11px; }
.player-history-player-summary strong,.player-history-player-summary span { padding:5px 8px; border-radius:7px; background:rgba(244,123,32,.09); }
.presented-coach-history-header .coach-face-thumb { width:64px; height:64px; border-width:3px; }
.presented-coach-current-team { margin:22px 0 0; padding:13px 15px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 18px; border:1px solid var(--line); border-radius:11px; background:var(--white); font-size:14px; }
.presented-coach-current-team strong { color:var(--orange-dark); text-transform:uppercase; }
.presented-coach-official-name { margin:17px 0 0; color:var(--muted); font-size:12px; }
.presented-coach-rffm-section { margin-top:22px; padding-top:20px; border-top:1px solid var(--line); }
.presented-coach-rffm-section .player-history-totals { margin:12px 0 15px; }
.presented-coach-history-status { margin:22px 0 4px; color:var(--muted); font-size:13px; line-height:1.5; }
.history-list { display:grid; gap:10px; }
.match-card,.history-card,.player-card,.staff-card { content-visibility:auto; contain-intrinsic-size:auto 120px; }
.directory-card { content-visibility:auto; contain-intrinsic-size:auto 348px; }
.history-card { min-height:112px; padding:18px 20px; display:grid; grid-template-columns:150px minmax(190px,1fr) 290px auto; align-items:center; gap:22px; border:1px solid var(--line); border-radius:15px; background:var(--white); }
.history-card.current { border-left:5px solid var(--orange); }
.history-season strong { display:block; font:800 27px/1 'Barlow Condensed',sans-serif; }
.history-season span { display:block; margin-top:7px; color:var(--muted); font-size:9px; text-transform:uppercase; }
.history-category h3 { margin:0; font-size:13px; }
.history-category p { margin:7px 0 0; color:var(--muted); font-size:9px; line-height:1.4; }
.history-category p span { display:block; margin-bottom:2px; color:var(--orange-dark); font-size:7px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.archive-label { margin-top:7px; display:inline-block; padding:4px 7px; border-radius:6px; color:#754119; background:rgba(244,123,32,.11); font-size:8px; font-weight:800; text-transform:uppercase; }
.history-numbers { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.history-numbers div { text-align:center; }
.history-numbers strong { display:block; font:800 21px/1 'Barlow Condensed',sans-serif; }
.history-numbers span { color:var(--muted); font-size:8px; text-transform:uppercase; }
.history-tournament-results { grid-column:1/-1; min-width:0; padding-top:14px; border-top:1px solid var(--line); }
.history-tournament-results h4 { margin:0 0 10px; color:var(--orange-dark); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.history-tournament-event + .history-tournament-event { margin-top:13px; }
.history-tournament-event > strong { display:block; margin-bottom:7px; font-size:12px; }
.history-tournament-event ul { display:grid; gap:5px; margin:0; padding:0; list-style:none; }
.history-tournament-event li { min-width:0; display:grid; grid-template-columns:60px minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:8px; padding:8px 10px; border-radius:8px; background:#f7f4ef; font-size:11px; font-weight:700; }
.history-tournament-event li time { color:var(--muted); white-space:nowrap; }
.history-tournament-event li > span:not(.tournament-fixture-result) { min-width:0; overflow-wrap:anywhere; }
.history-tournament-event li > span:last-child { text-align:right; }
.history-tournament-event .tournament-fixture-result strong { color:var(--orange-dark); font-size:14px; }
.season-link { min-height:34px; padding:9px 12px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:#f7f4ef; font-size:10px; font-weight:800; white-space:nowrap; cursor:pointer; }
.season-link:hover { border-color:var(--orange); color:var(--orange-dark); }
.footer { min-height:112px; padding:24px 0; display:grid; grid-template-columns:1fr; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.footer p { margin:0; }
.footer-primary { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.footer-disclaimer-link { color:inherit; text-decoration-color:rgba(105,100,94,.45); text-decoration-thickness:1px; text-underline-offset:3px; }
.footer-disclaimer-link:hover { color:var(--orange-dark); text-decoration-color:currentColor; }
.footer-disclaimer-link:focus-visible { border-radius:3px; outline:2px solid var(--orange); outline-offset:3px; }
.footer-credit { text-align:right; }
.footer-credit a { color:var(--ink); font-weight:700; text-decoration:none; }
.footer-credit a:hover { color:var(--orange-dark); }
.footer-status-line { width:100%; margin-top:15px; padding-top:12px; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; border-top:1px solid rgba(105,100,94,.18); line-height:1.45; text-align:center; }
.footer-status-line>strong { color:var(--ink); font-size:10px; letter-spacing:.08em; }
.footer-status-line>span { display:inline; }
.footer-status-line>span::before { margin:0 8px; color:rgba(105,100,94,.55); content:'·'; }
#footer-next-update-at { margin-top:0; }
.footer-sync-warning { margin-top:0; color:#9a5b42; font-size:10px; font-weight:600; line-height:1.35; }
.footer-sync-warning[hidden] { display:none; }
.legal-main { padding:70px 0 82px; }
.legal-hero { max-width:960px; }
.legal-hero h1 { max-width:900px; font-size:clamp(50px,8vw,92px); }
.legal-hero>p:last-child { max-width:720px; margin:24px 0 0; color:var(--muted); font-size:17px; line-height:1.65; }
.legal-card { max-width:960px; margin:42px 0 0; padding:clamp(28px,5vw,58px); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 52px; border:1px solid var(--line); border-radius:var(--radius); background:rgba(255,253,249,.9); box-shadow:0 24px 70px rgba(39,29,20,.07); }
.legal-card section { min-width:0; }
.legal-card h2 { margin:0 0 12px; font:800 24px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.legal-card p { margin:0; color:var(--muted); font-size:15px; line-height:1.72; }
.legal-card a { color:var(--orange-dark); font-weight:700; text-underline-offset:3px; }
.legal-card code { padding:2px 5px; border-radius:5px; color:var(--ink); background:rgba(23,23,23,.06); font:600 .9em/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; }
.legal-privacy { grid-column:1/-1; padding-top:36px; border-top:1px solid var(--line); }
.legal-privacy>.legal-privacy-intro { max-width:720px; margin-bottom:28px; }
.privacy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 44px; }
.privacy-grid section { padding-top:16px; border-top:2px solid rgba(244,123,32,.55); }
.legal-card .privacy-grid h3 { margin:0 0 9px; color:var(--ink); font:800 18px/1.1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.privacy-grid p+p { margin-top:11px; }
.legal-note { grid-column:1/-1; padding-top:25px; display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); }
.legal-note strong { color:var(--ink); }
.overview-page { color:#fff; background:radial-gradient(circle at 84% 2%,rgba(244,123,32,.24),transparent 34rem),#17120f; }
.overview-page .jersey-watermark { top:80px; opacity:.07; filter:saturate(.75); }
.overview-page .site-header { min-height:112px; border-color:rgba(255,255,255,.16); }
.overview-page .brand { color:#fff; }
.overview-page .brand small { color:var(--orange); }
.overview-page .other-clubs>span { color:#c8bbb2; }
.overview-page .other-club-link { border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.94); }
.overview-page .other-club-link:hover,.overview-page .other-club-link:focus-visible { border-color:var(--orange); }
.overview-page .live-status { color:#c8bbb2; }
.overview-page .site-help-link { border-color:rgba(255,255,255,.18); color:#c8bbb2; background:transparent; }
.overview-page .site-help-link:hover,.overview-page .site-help-link:focus-visible,.overview-page .site-help-link[aria-current="page"] { color:#fff; background:transparent; }
.help-main { padding:64px 0 82px; }
.help-hero { max-width:1000px; }
.help-hero h1 { color:#fff; font-size:clamp(68px,10vw,118px); }
.help-hero>p:not(.eyebrow) { max-width:720px; margin:24px 0 0; color:#c8bbb2; font-size:18px; line-height:1.65; }
.help-jump-links { margin-top:30px; display:flex; flex-wrap:wrap; gap:9px; }
.help-jump-links a { min-height:42px; padding:0 15px; display:flex; align-items:center; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:#f4ece7; font-size:11px; font-weight:800; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.help-jump-links a:hover,.help-jump-links a:focus-visible { border-color:var(--orange); color:#17120f; background:var(--orange); outline:none; }
.help-section { margin-top:70px; scroll-margin-top:24px; }
.help-section-heading { max-width:760px; }
.help-section-heading h2,.help-contact h2 { margin:0; color:#fff; font:800 clamp(38px,5vw,58px)/.95 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.help-section-heading>p:last-child { margin:16px 0 0; color:#b4a49a; font-size:16px; line-height:1.65; }
.help-steps { margin:28px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; list-style:none; }
.help-steps li { min-width:0; padding:22px; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:start; gap:13px; border:1px solid rgba(255,255,255,.12); border-radius:15px; background:rgba(255,255,255,.04); }
.help-step-number { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; color:#17120f; background:var(--orange); font:800 20px/1 'Barlow Condensed',sans-serif; }
.help-steps strong { color:#fff; font:800 21px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.help-steps p { margin:9px 0 0; color:#b4a49a; font-size:14px; line-height:1.6; }
.help-basic-note { margin-top:12px; padding:18px 21px; display:flex; align-items:baseline; gap:16px; border-left:3px solid var(--orange); background:rgba(244,123,32,.08); }
.help-basic-note strong { color:#fff; white-space:nowrap; }
.help-basic-note p { margin:0; color:#c8bbb2; font-size:14px; line-height:1.6; }
.help-feature-grid { margin-top:28px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.help-feature-card { position:relative; min-width:0; min-height:265px; padding:27px 30px; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.04); }
.help-feature-card::before { position:absolute; inset:0 auto 0 0; width:3px; background:var(--orange); content:''; }
.help-feature-mark { position:absolute; top:17px; right:20px; color:rgba(244,123,32,.28); font:800 46px/1 'Barlow Condensed',sans-serif; }
.help-feature-card h3 { max-width:80%; margin:0 0 20px; color:#fff; font:800 27px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.help-feature-card ul { margin:0; padding-left:19px; display:grid; gap:9px; color:#b9aaa1; font-size:14px; line-height:1.55; }
.help-feature-card li::marker { color:var(--orange); }
.help-detail-grid { margin-top:28px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.help-detail-item { min-width:0; min-height:224px; padding:22px; display:flex; align-items:flex-start; flex-direction:column; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:rgba(255,255,255,.028); }
.help-detail-item>span { height:34px; min-height:34px; display:flex; align-items:center; }
.help-detail-item>div { margin-top:22px; }
.help-detail-item strong { color:#fff; font:800 21px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.help-detail-item p { margin:9px 0 0; color:#ad9d93; font-size:13px; line-height:1.55; }
.help-demo-victory { display:flex; align-items:flex-start; gap:5px; color:#e8c477; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.help-demo-victory i { width:22px; height:22px; display:grid; place-items:center; border:1px solid rgba(232,196,119,.42); border-radius:50%; background:rgba(232,196,119,.08); font-size:10px; font-style:normal; }
.help-demo-victory>span { display:grid; grid-template-rows:22px 22px; justify-items:stretch; gap:4px; }
.help-demo-victory b,.help-demo-victory em { height:22px; display:flex; align-items:center; justify-content:center; white-space:nowrap; }
.help-demo-victory em { width:100%; padding:0 5px; border:1px solid rgba(255,255,255,.22); border-radius:6px; color:#f7eee8; background:rgba(17,10,7,.3); font-size:11px; font-style:normal; letter-spacing:.02em; }
.help-demo-status { gap:8px; color:#e4d8d0; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.help-demo-status i { width:8px; height:8px; border-radius:50%; background:#24b47e; box-shadow:0 0 0 4px rgba(36,180,126,.12); }
.help-demo-form { gap:5px; }
.help-demo-form i { width:27px; height:27px; display:grid; place-items:center; border-radius:50%; color:#fff; font-size:10px; font-style:normal; font-weight:800; }
.help-demo-form .win { background:#12805c; }
.help-demo-form .draw { background:#c58a18; }
.help-demo-form .loss { background:#b44137; }
.help-demo-types { flex-wrap:wrap; gap:5px; }
.help-demo-types i { padding:5px 7px; border-radius:999px; color:#fff; font-size:8px; font-style:normal; font-weight:900; text-transform:uppercase; }
.help-demo-types .league { background:var(--green); }
.help-demo-types .friendly { background:#2776a8; }
.help-demo-types .tournament { background:var(--orange-dark); }
.help-demo-arrow { color:var(--orange); font-size:27px; font-weight:900; }
.help-demo-history { padding:5px 8px; border-left:3px solid var(--orange); color:#c8bbb2; background:rgba(255,255,255,.04); font-size:10px; font-weight:700; }
.help-demo-person { width:32px; justify-content:center; border:1px solid rgba(244,123,32,.5); border-radius:9px; color:var(--orange); font-size:10px; font-weight:900; }
.help-demo-position { min-height:22px !important; padding:3px 7px; border-radius:999px; color:#fff; background:#267a5a; font-size:9px; font-weight:800; text-transform:uppercase; }
.help-demo-back { color:var(--orange); font-size:26px; font-weight:900; }
.help-calendar-guide { margin-top:28px; padding:clamp(24px,4vw,42px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; border:1px solid rgba(244,123,32,.4); border-radius:18px; background:linear-gradient(135deg,rgba(244,123,32,.12),rgba(255,255,255,.025)); }
.help-calendar-guide>div { min-width:0; }
.help-calendar-guide strong { display:block; margin-bottom:10px; color:#fff; font:800 22px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.help-calendar-guide p { margin:0; color:#c8bbb2; font-size:14px; line-height:1.6; }
.help-calendar-note { grid-column:1/-1; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); }
.help-faq-list { margin-top:28px; border-top:1px solid rgba(255,255,255,.16); }
.help-faq-list details { border-bottom:1px solid rgba(255,255,255,.16); }
.help-faq-list summary { min-height:70px; padding:18px 48px 18px 0; display:flex; align-items:center; position:relative; color:#fff; font:800 22px/1.15 'Barlow Condensed',sans-serif; text-transform:uppercase; cursor:pointer; list-style:none; }
.help-faq-list summary::-webkit-details-marker { display:none; }
.help-faq-list summary::after { position:absolute; right:4px; width:30px; height:30px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; color:var(--orange); content:'+'; font:700 20px/1 Inter,sans-serif; }
.help-faq-list details[open] summary::after { content:'−'; }
.help-faq-list details>p { max-width:860px; margin:0; padding:0 48px 18px 0; color:#b9aaa1; font-size:15px; line-height:1.72; }
.help-faq-list details>p+p { padding-top:0; }
.help-faq-list a { color:#ff9a4f; font-weight:700; text-underline-offset:3px; }
.help-faq-list code { padding:2px 5px; border-radius:5px; color:#eee4de; background:rgba(255,255,255,.08); font:600 .88em/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; }
.help-contact { margin-top:70px; padding:30px; display:flex; align-items:center; justify-content:space-between; gap:28px; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(255,255,255,.04); }
.help-contact p:not(.eyebrow) { max-width:620px; margin:12px 0 0; color:#b4a49a; font-size:14px; line-height:1.6; }
.help-contact>a { min-height:48px; padding:0 20px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; border-radius:11px; color:#17120f; background:var(--orange); font-size:13px; font-weight:800; text-decoration:none; }
.help-contact>a:hover,.help-contact>a:focus-visible { background:#ff9140; outline:none; }
.overview-main { padding-bottom:76px; }
.overview-hero { min-height:260px; padding:40px 0 38px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(260px,.55fr); align-items:end; gap:56px; }
.overview-hero h1 { color:#fff; font-size:clamp(72px,12vw,138px); }
.overview-hero>p { max-width:440px; margin:0 0 12px; color:#c8bbb2; font-size:17px; line-height:1.65; }
.overview-trainers-link { width:max-content; min-height:41px; margin-top:24px; padding:0 15px; display:inline-flex; align-items:center; gap:22px; border:1px solid rgba(244,123,32,.62); border-radius:999px; color:#fff; font-size:11px; font-weight:800; letter-spacing:.04em; text-decoration:none; }
.overview-trainers-link span { color:var(--orange); font-size:17px; }
.overview-trainers-link:hover,.overview-trainers-link:focus-visible { border-color:var(--orange); color:#17120f; background:var(--orange); outline:none; }
.overview-trainers-link:hover span,.overview-trainers-link:focus-visible span { color:#17120f; }
.trainer-back-link { padding:10px 0; color:#e8ddd5; font-size:12px; font-weight:700; text-decoration:none; }
.trainer-back-link:hover,.trainer-back-link:focus-visible { color:var(--orange); outline:none; text-decoration:underline; text-underline-offset:5px; }
.trainer-main { padding:46px 0 90px; }
.trainer-hero { padding-bottom:38px; border-bottom:1px solid rgba(255,255,255,.2); }
.trainer-hero h1 { margin:0; color:#fff; font:800 clamp(42px,11vw,132px)/.95 'Barlow Condensed',sans-serif; text-transform:uppercase; overflow-wrap:anywhere; }
.trainer-hero-footer { margin-top:25px; display:flex; justify-content:space-between; align-items:end; gap:25px; }
.trainer-hero-footer p { max-width:570px; margin:0; color:#c8bbb2; font-size:15px; line-height:1.6; }
.trainer-hero-footer .trainer-hero-count { color:var(--orange); font-size:12px; font-weight:800; white-space:nowrap; }
.trainer-roster-section { margin-top:48px; }
.trainer-roster-heading { margin-bottom:22px; display:flex; justify-content:space-between; align-items:end; gap:20px; }
.trainer-roster-heading h2 { margin:0; color:#fff; font:800 clamp(32px,5vw,50px)/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.trainer-roster-heading span { color:#a9998f; font-size:11px; font-weight:700; white-space:nowrap; }
.trainer-status { color:#c8bbb2; font-size:13px; }
.trainer-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 42px; }
.trainer-row { min-width:0; min-height:165px; padding:24px 0; display:grid; grid-template-columns:108px minmax(0,1fr); align-items:center; gap:23px; border-top:1px solid rgba(255,255,255,.14); }
.trainer-portrait-button { width:108px; height:108px; padding:0; border:0; border-radius:50%; background:transparent; cursor:pointer; }
.trainer-portrait-button .coach-face-thumb { width:108px; height:108px; border-width:3px; }
.trainer-portrait-button:hover .coach-face-thumb,.trainer-portrait-button:focus-visible .coach-face-thumb { border-color:var(--orange); box-shadow:0 0 0 5px rgba(244,123,32,.15); }
.trainer-portrait-button:focus-visible { outline:2px solid var(--orange); outline-offset:5px; }
.trainer-row-details { min-width:0; }
.trainer-row-label { margin:0 0 4px; color:var(--orange); font-size:9px; font-weight:800; letter-spacing:.11em; }
.trainer-name { padding:0; border:0; color:#fff; background:transparent; font:800 35px/1 'Barlow Condensed',sans-serif; text-align:left; text-transform:uppercase; cursor:pointer; }
.trainer-name::after { margin-left:8px; color:var(--orange); content:'↗'; font:700 17px/1 Inter,sans-serif; vertical-align:7px; }
.trainer-name:hover,.trainer-name:focus-visible { color:var(--orange); outline:none; text-decoration:underline; text-underline-offset:5px; }
.trainer-team-list { margin:11px 0 0; padding:0; display:grid; gap:7px; list-style:none; }
.trainer-team-list li { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 10px; }
.trainer-team-list a { color:#f4ece7; font-size:12px; font-weight:700; line-height:1.4; text-decoration-color:rgba(244,123,32,.7); text-underline-offset:3px; }
.trainer-team-list li>span { color:#f4ece7; font-size:12px; font-weight:700; line-height:1.4; }
.trainer-team-list a:hover,.trainer-team-list a:focus-visible { color:var(--orange); outline:none; text-decoration-color:currentColor; }
.trainer-team-list small { color:#a9998f; font-size:10px; line-height:1.4; }
body>.trainer-history-dialog { position:fixed; inset:0; width:min(690px,calc(100% - 28px)); max-height:calc(100dvh - 28px); margin:auto; padding:0; overflow:auto; border:1px solid #56463c; border-radius:18px; color:#fff; background:#211a16; box-shadow:0 30px 90px rgba(0,0,0,.45); }
.trainer-history-dialog::backdrop { background:rgba(17,12,9,.8); backdrop-filter:blur(5px); }
.trainer-history-shell { position:relative; padding:32px; }
.trainer-history-close { position:absolute; top:17px; right:17px; width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#fff; background:transparent; font-size:26px; line-height:1; cursor:pointer; }
.trainer-history-close:hover,.trainer-history-close:focus-visible { border-color:var(--orange); outline:2px solid var(--orange); }
.trainer-history-heading { padding-right:35px; display:flex; align-items:center; gap:22px; }
.trainer-history-heading .coach-face-thumb { width:88px; height:88px; border-width:3px; }
.trainer-history-heading h2 { margin:0; color:#fff; font:800 54px/.95 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.trainer-current-teams,.trainer-rffm-history { margin-top:31px; padding-top:22px; border-top:1px solid rgba(255,255,255,.17); }
.trainer-current-teams h3,.trainer-rffm-history h3 { margin:0; color:#fff; font:800 25px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.trainer-current-teams .trainer-team-list { margin-top:16px; gap:12px; }
.trainer-history-loading,.trainer-history-unavailable,.trainer-history-source { color:#bcaca2; font-size:13px; line-height:1.6; }
.trainer-history-unavailable { margin:14px 0 0; }
.trainer-rffm-total { color:var(--orange); font-size:12px; font-weight:800; }
.trainer-rffm-identity { margin:12px 0 0; color:#d8c8be; font-size:12px; }
.trainer-rffm-list { margin:15px 0 0; padding:0; display:grid; gap:9px; list-style:none; }
.trainer-rffm-list li { padding:12px 0; display:grid; grid-template-columns:95px minmax(0,1fr) auto; gap:12px; border-top:1px solid rgba(255,255,255,.1); font-size:12px; }
.trainer-rffm-team { min-width:0; display:flex; align-items:center; gap:9px; }
.trainer-rffm-team img { width:30px; height:30px; flex:none; object-fit:contain; }
.trainer-rffm-team-copy { min-width:0; display:grid; gap:3px; }
.trainer-rffm-team b { font-weight:700; }
.trainer-rffm-team em { color:#bcaca2; font-size:10px; font-style:normal; }
.trainer-rffm-list small { color:#bcaca2; text-align:right; }
@media(max-width:780px){.trainer-main{padding:36px 0 60px}.trainer-directory{grid-template-columns:1fr}.trainer-hero-footer{align-items:start;flex-direction:column;gap:15px}.trainer-roster-heading{align-items:start;flex-direction:column;gap:7px}}
@media(max-width:520px){.trainer-row{min-height:134px;padding:18px 0;grid-template-columns:82px minmax(0,1fr);gap:16px}.trainer-portrait-button,.trainer-portrait-button .coach-face-thumb{width:82px;height:82px}.trainer-name{font-size:30px}.trainer-history-shell{padding:24px 19px}.trainer-history-heading{gap:13px}.trainer-history-heading .coach-face-thumb{width:69px;height:69px}.trainer-history-heading h2{font-size:38px}.trainer-rffm-list li{grid-template-columns:1fr 1fr}.trainer-rffm-list li>.trainer-rffm-team{grid-column:1/-1;grid-row:2}.trainer-rffm-list li small{text-align:right}}
.week-overview-card { width:100%; min-height:86px; padding:14px 15px; display:grid; grid-template-columns:minmax(0,1fr) minmax(70px,auto) 18px; align-items:center; gap:10px; border:1px solid rgba(244,123,32,.28); border-radius:14px; color:inherit; background:rgba(255,255,255,.035); text-align:left; cursor:pointer; transition:border-color .2s,background .2s; }
.week-overview-card:hover,.week-overview-card:focus-visible { border-color:var(--orange); background:rgba(244,123,32,.09); outline:none; }
.week-overview-copy { min-width:0; display:grid; gap:3px; }
.week-overview-copy small { color:var(--orange); font-size:8px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.week-overview-copy>strong { color:#fff; font:800 23px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.week-overview-copy>span { overflow:hidden; color:#a9998f; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.week-overview-count { min-width:0; padding-left:11px; display:grid; grid-template-columns:1fr; align-items:center; gap:3px; border-left:1px solid rgba(255,255,255,.11); }
.week-overview-count>strong { color:#fff; font:800 35px/1 'Barlow Condensed',sans-serif; }
.week-overview-count>span { max-width:94px; color:#a9998f; font-size:7px; line-height:1.3; }
.week-overview-arrow { color:var(--orange); font-size:19px; font-weight:800; text-align:right; }
.directory-categories { display:flex; flex-wrap:wrap; gap:10px; overflow:visible; padding-bottom:14px; scrollbar-width:none; }
.directory-categories::-webkit-scrollbar { display:none; }
.directory-categories a { min-height:42px; padding:0 15px; display:flex; align-items:center; gap:18px; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:#f4ece7; font-size:11px; font-weight:800; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.directory-categories a:hover,.directory-categories a:focus-visible { border-color:var(--orange); color:#17120f; background:var(--orange); outline:0; }
.directory-categories span { min-width:22px; color:var(--orange); text-align:center; }
.directory-categories a:hover span,.directory-categories a:focus-visible span { color:#17120f; }
.directory-snapshot { margin-top:18px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.directory-data-status { min-height:86px; padding:14px 17px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid rgba(255,255,255,.07); border-radius:14px; background:rgba(255,255,255,.018); }
.directory-status-title { color:#8e7e74; font-size:8px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.directory-data-counts { display:flex; align-items:center; }
.directory-data-counts p { min-width:92px; margin:0; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:8px; }
.directory-data-counts p+p { margin-left:15px; padding-left:15px; border-left:1px solid rgba(255,255,255,.11); }
.directory-data-counts strong { color:#d0c2b9; font:800 28px/1 'Barlow Condensed',sans-serif; }
.directory-data-counts span { max-width:62px; color:#817168; font-size:8px; font-weight:800; line-height:1.25; letter-spacing:.07em; text-transform:uppercase; }
.directory-note { margin:16px 0 0; color:#9f8f84; font-size:11px; }
.directory-group { scroll-margin-top:30px; margin-top:68px; padding-top:32px; border-top:1px solid rgba(255,255,255,.16); }
.directory-group>header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; column-gap:28px; }
.directory-group>header>span { grid-column:1/-1; color:var(--orange); font-size:9px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.directory-group h2 { min-width:0; margin:8px 0 10px; color:#fff; font:800 clamp(42px,5.1vw,64px)/.9 'Barlow Condensed',sans-serif; overflow-wrap:anywhere; text-transform:uppercase; }
.directory-group>header>p { margin:0 0 10px; color:#8e7e74; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.directory-grid { margin-top:24px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.directory-card { position:relative; min-height:300px; padding:22px; display:grid; grid-template-rows:38px 68px 54px 34px 104px 22px; gap:13px; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:18px; color:#fff; background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(55,34,23,.38)); text-decoration:none; transition:transform .2s,border-color .2s,background .2s; }
.directory-card::before { position:absolute; inset:0 auto 0 0; width:4px; background:var(--orange); content:''; }
.directory-card:hover,.directory-card:focus-visible { border-color:rgba(244,123,32,.72); background:linear-gradient(145deg,rgba(244,123,32,.2),rgba(55,34,23,.7)); transform:translateY(-2px); outline:0; }
.directory-card-top { min-width:0; display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.directory-status { min-width:0; display:flex; align-items:center; gap:8px; color:#e4d8d0; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.directory-status b { white-space:nowrap; }
.directory-status i { width:7px; height:7px; border-radius:50%; background:#24b47e; box-shadow:0 0 0 4px rgba(36,180,126,.12); }
.directory-status.pending i { background:var(--orange); box-shadow:0 0 0 4px rgba(244,123,32,.12); }
.directory-card-result { flex:none; display:flex; align-items:flex-start; justify-content:flex-end; gap:5px; color:#b9aaa0; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.directory-card-result>i { width:17px; height:17px; flex:0 0 17px; display:grid; place-items:center; border:1px solid rgba(232,196,119,.42); border-radius:50%; color:#e8c477; background:rgba(232,196,119,.08); font-size:9px; font-style:normal; }
.directory-card-result-copy { display:grid; grid-template-rows:17px 17px; justify-items:stretch; gap:3px; }
.directory-card-result-copy b,.directory-card-score { height:17px; display:flex; align-items:center; justify-content:center; white-space:nowrap; }
.directory-card-result-copy b { color:#b9aaa0; }
.directory-victory .directory-card-result-copy b { color:#e8c477; }
.directory-card-score { width:100%; padding:0 3px; border:1px solid rgba(255,255,255,.22); border-radius:5px; color:#f7eee8; background:rgba(17,10,7,.3); font-size:9px; letter-spacing:.02em; }
.directory-event { min-height:37px; align-items:center; }
.directory-event .directory-card-result-copy { display:flex; align-items:center; }
.directory-event .directory-card-result-copy b { height:25px; padding:0 8px; border:1px solid rgba(244,123,32,.45); border-radius:5px; color:var(--orange); background:rgba(244,123,32,.09); font-size:10px; }
.directory-rest .directory-card-result-copy b { border-color:rgba(255,255,255,.22); color:#b9aaa0; background:rgba(255,255,255,.04); }
.directory-card-result.directory-pending-event .directory-card-result-copy { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.directory-pending-event .directory-card-result-copy b { height:18px; font-size:9px; }
.directory-pending-date { color:#b9aaa0; font-size:8px; font-weight:700; letter-spacing:0; text-transform:none; white-space:nowrap; }
.directory-card h3 { min-height:0; margin:0; font:800 clamp(32px,3.2vw,46px)/.9 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.directory-card h3.compact { font-size:clamp(22px,2.1vw,30px); line-height:.95; overflow-wrap:anywhere; word-break:normal; }
.directory-card>p { min-height:4.5em; margin:0; color:#b9aaa0; font-size:12px; line-height:1.5; overflow-wrap:anywhere; text-transform:uppercase; }
.directory-next-match { min-width:0; padding-top:10px; display:flex; align-items:baseline; justify-content:space-between; gap:10px; border-top:1px solid rgba(255,255,255,.09); }
.directory-next-match span { color:#938278; font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.directory-next-match strong { min-width:0; max-width:62%; color:#f1e7e1; font-size:10px; line-height:1.3; overflow-wrap:anywhere; text-align:right; text-transform:capitalize; }
.directory-next-match.pending strong { color:#85746a; font-weight:600; }
.directory-card dl { margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:10px; align-content:stretch; }
.directory-card dl div { min-width:0; padding:12px; border:1px solid rgba(255,255,255,.1); border-radius:11px; background:rgba(17,10,7,.25); }
.directory-card dt { color:#938278; font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.directory-card dd { margin:6px 0 0; color:#f1e7e1; font-size:10px; font-weight:700; line-height:1.4; overflow-wrap:anywhere; }
.directory-history-count { display:block; margin-top:7px; color:var(--orange); font-size:9px; letter-spacing:.04em; }
.directory-card>strong { display:flex; justify-content:space-between; align-items:center; color:var(--orange); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.directory-card>strong i { font-size:22px; font-style:normal; transition:transform .2s; }
.directory-card:hover>strong i { transform:translateX(5px); }
.directory-loading { margin:42px 0 0; padding:28px; border:1px solid rgba(255,255,255,.14); border-radius:16px; color:#b9aaa0; background:rgba(255,255,255,.04); }
.weekly-dialog-open { overflow:hidden; }
.calendar-subscribe-open { overflow:hidden; }
body>.calendar-subscribe-dialog { position:fixed; inset:0; width:min(calc(100% - 28px),560px); max-height:calc(100dvh - 28px); margin:auto; padding:0; overflow:auto; overscroll-behavior:contain; border:1px solid #4a423c; border-radius:20px; color:#f8f3ee; background:#28231f; box-shadow:0 30px 90px rgba(0,0,0,.48); -webkit-overflow-scrolling:touch; }
.calendar-subscribe-dialog::backdrop { background:rgba(17,12,9,.8); backdrop-filter:blur(5px); }
.calendar-subscribe-shell { padding:23px; }
.calendar-subscribe-shell>header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.calendar-subscribe-shell>header p { margin:0 0 8px; color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.calendar-subscribe-shell>header h2 { margin:0; font:700 29px/1.05 'Barlow Condensed',sans-serif; }
.calendar-subscribe-shell>header span { margin-top:6px; display:block; color:#c3b9b1; font-size:14px; font-weight:600; }
.calendar-subscribe-close { width:42px; height:42px; display:grid; place-items:center; flex:none; border:1px solid #504741; border-radius:50%; color:#f8f3ee; background:#28231f; font-size:24px; line-height:1; cursor:pointer; }
.calendar-subscribe-close:hover,.calendar-subscribe-close:focus-visible { border-color:var(--orange); color:var(--orange); outline:none; }
.calendar-subscribe-explanation { margin:17px 0 0; color:#c3b9b1; font-size:13px; line-height:1.5; }
.calendar-subscribe-options { margin-top:17px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.calendar-subscribe-options>label { min-height:62px; padding:10px 12px; display:flex; align-items:center; gap:10px; border:1px solid #4d453f; border-radius:11px; background:#211d1a; cursor:pointer; }
.calendar-subscribe-options>label:has(input:checked) { border-color:rgba(244,123,32,.84); background:rgba(244,123,32,.1); }
.calendar-subscribe-options>label:has(input:disabled) { cursor:default; }
.calendar-subscribe-options input,.calendar-team-list input { width:17px; height:17px; flex:none; accent-color:var(--orange); }
.calendar-subscribe-options strong,.calendar-subscribe-options small { display:block; }
.calendar-subscribe-options strong { font-size:12px; }
.calendar-subscribe-options small { margin-top:3px; color:#a99f98; font-size:9px; line-height:1.3; }
.calendar-team-picker { margin-top:12px; padding:13px; border:1px solid #4d453f; border-radius:11px; background:#211d1a; }
.calendar-team-picker[hidden] { display:none; }
.calendar-team-picker>header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.calendar-team-picker>header>strong { font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.calendar-team-picker>header>span { display:flex; gap:5px; }
.calendar-team-picker button { min-height:29px; padding:0 9px; border:1px solid #554d47; border-radius:7px; color:#f8f3ee; background:#302a26; font-size:9px; font-weight:800; cursor:pointer; }
.calendar-team-picker button:hover,.calendar-team-picker button:focus-visible { border-color:var(--orange); color:var(--orange); outline:none; }
.calendar-team-list { max-height:190px; margin-top:11px; padding-right:5px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:11px; overflow:auto; overscroll-behavior:contain; }
.calendar-team-list fieldset { min-width:0; margin:0; padding:0; display:grid; gap:6px; border:0; }
.calendar-team-list legend { margin-bottom:5px; color:var(--orange); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.calendar-team-list label { min-width:0; display:flex; align-items:center; gap:7px; cursor:pointer; }
.calendar-team-list label span { overflow:hidden; font-size:10px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.calendar-team-picker>small { margin-top:10px; display:block; color:#9f958e; font-size:9px; text-align:right; }
.calendar-subscribe-platforms { margin-top:17px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.calendar-subscribe-platforms a { min-height:44px; padding:0 9px; display:flex; align-items:center; justify-content:center; border:1px solid #554d47; border-radius:10px; color:#f8f3ee; background:#1d1917; font-size:11px; font-weight:700; text-align:center; text-decoration:none; }
.calendar-subscribe-platforms .calendar-platform-apple { border-color:var(--orange); color:#17120f; background:var(--orange); }
.calendar-subscribe-platforms .calendar-platform-android { border-color:#6f665f; background:#332d29; }
.calendar-subscribe-platforms a:hover,.calendar-subscribe-platforms a:focus-visible { border-color:var(--orange); outline:none; }
.calendar-subscribe-platforms a.disabled { opacity:.38; pointer-events:none; }
.calendar-subscribe-url-row { margin-top:10px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.calendar-subscribe-url { min-width:0; display:block; }
.calendar-subscribe-url span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.calendar-subscribe-url input { width:100%; height:44px; padding:0 12px; border:1px solid #4d453f; border-radius:10px; color:#b8aea7; background:#1d1917; font-size:10px; text-overflow:ellipsis; }
.calendar-subscribe-url-row>button { min-height:44px; padding:0 15px; border:0; border-radius:10px; color:#2b2521; background:#f4f0ec; font-size:10px; font-weight:800; cursor:pointer; }
.calendar-subscribe-url-row>button:hover,.calendar-subscribe-url-row>button:focus-visible { background:#fff; outline:2px solid var(--orange); outline-offset:2px; }
.calendar-subscribe-url-row>button:disabled { opacity:.4; cursor:not-allowed; }
.calendar-subscribe-paste { margin:8px 0 0; color:#938983; font-size:9px; line-height:1.45; }
.calendar-subscribe-next { margin-top:15px; padding-top:14px; display:grid; gap:7px; border-top:1px solid #4a423c; }
.calendar-subscribe-next[hidden] { display:none; }
.calendar-subscribe-next strong { color:#f8f3ee; font-size:12px; }
.calendar-subscribe-next span { color:#b9afa8; font-size:11px; line-height:1.45; }
.calendar-subscribe-privacy { margin:12px 0 0; color:#8f857e; font-size:9px; line-height:1.45; }
body>.weekly-overview-dialog { position:fixed; inset:0; width:min(calc(100% - 28px),980px); max-height:calc(100dvh - 28px); margin:auto; padding:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; border:0; border-radius:20px; color:var(--ink); background:#f8f5f0; box-shadow:0 30px 90px rgba(0,0,0,.38); -webkit-overflow-scrolling:touch; }
.weekly-overview-dialog::backdrop { background:rgba(17,12,9,.78); backdrop-filter:blur(5px); }
.weekly-dialog-shell { position:relative; padding:28px; isolation:isolate; }
.weekly-dialog-shell::before { display:none; }
.weekly-print-report { display:none; }
.weekly-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; }
.weekly-dialog-header p { margin:0 0 8px; color:var(--orange-dark); font-size:10px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.weekly-dialog-header h2 { margin:0; font:800 clamp(42px,6vw,66px)/.9 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.weekly-dialog-close { width:42px; height:42px; display:grid; place-items:center; flex:none; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:#fff; font-size:25px; line-height:1; cursor:pointer; }
.weekly-dialog-close:hover,.weekly-dialog-close:focus-visible { border-color:var(--orange); color:var(--orange-dark); outline:none; }
.weekly-dialog-controls { margin-top:22px; padding:11px 0; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; border-top:1px solid rgba(23,18,15,.16); border-bottom:1px solid rgba(23,18,15,.16); }
.weekly-dialog-controls>button,.weekly-dialog-controls div button { min-height:36px; padding:0 12px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#f8f5f0; font-size:10px; font-weight:800; cursor:pointer; }
.weekly-dialog-controls>button:hover,.weekly-dialog-controls>button:focus-visible,.weekly-dialog-controls div button:hover,.weekly-dialog-controls div button:focus-visible { border-color:var(--orange); color:var(--orange-dark); outline:none; }
.weekly-dialog-controls>button:disabled,.weekly-dialog-controls>button:disabled:hover,.weekly-dialog-controls>button:disabled:focus-visible { border-color:#ded9d3; color:#aaa39d; background:#efedea; opacity:.68; outline:none; cursor:not-allowed; }
.weekly-dialog-controls>div { display:flex; align-items:center; justify-content:center; gap:12px; text-align:center; }
.weekly-dialog-controls strong { font-size:14px; }
.weekly-dialog-controls div button { min-height:28px; color:var(--orange-dark); background:rgba(248,245,240,.75); }
.weekly-dialog-controls div button[hidden] { display:none; }
.weekly-dialog-summary { margin-top:8px; display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid rgba(23,18,15,.16); }
.weekly-dialog-summary div { min-height:40px; padding:4px; display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center; }
.weekly-dialog-summary div+div { border-left:1px solid rgba(23,18,15,.12); }
.weekly-dialog-summary strong { font:800 21px/1 'Barlow Condensed',sans-serif; }
.weekly-dialog-summary span { margin-top:2px; color:var(--muted); font-size:7px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.weekly-classification-legend { margin:8px 0 -10px; color:#817a74; font-size:8px; line-height:1.4; text-align:right; }
.weekly-classification-legend[hidden] { display:none; }
.weekly-match-days { margin-top:26px; display:grid; gap:24px; }
.weekly-format-group { position:relative; display:grid; gap:18px; isolation:isolate; }
.weekly-format-group>:not(.weekly-report-watermark) { position:relative; z-index:1; }
.weekly-report-watermark { position:absolute; top:40px; left:12%; z-index:0; width:76%; height:auto; display:block; opacity:.055; object-fit:contain; transform:translateY(-1.747%); pointer-events:none; }
.weekly-format-group:not(:first-child) .weekly-report-watermark { display:none; }
.weekly-format-group+.weekly-format-group { padding-top:25px; border-top:1px solid rgba(23,18,15,.42); }
.weekly-format-group>header { padding-bottom:9px; display:flex; align-items:flex-end; justify-content:space-between; gap:15px; border-bottom:1px solid rgba(23,18,15,.42); }
.weekly-format-group>header h3 { margin:0; font:800 30px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.weekly-format-group>header span { color:var(--muted); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.weekly-day h4 { margin:0 0 10px; font:800 22px/1 'Barlow Condensed',sans-serif; text-transform:capitalize; }
.weekly-day-matches { display:grid; }
.weekly-match { min-height:68px; padding:9px 2px 9px 12px; display:grid; grid-template-columns:76px minmax(0,1fr) 82px; align-items:center; gap:14px; border-bottom:1px solid rgba(23,18,15,.14); border-left:3px solid var(--ink); border-radius:8px 0 0 8px; background:transparent; }
.weekly-match-league { border-left-color:var(--green); }
.weekly-match-friendly { border-left-color:#2776a8; }
.weekly-match-tournament { border-left-color:var(--orange-dark); }
.weekly-match-rest { border-left-color:#8d867f; }
.weekly-match-meta { display:grid; justify-items:start; gap:8px; }
.weekly-match-meta strong { font-size:11px; }
.weekly-type { min-width:62px; padding:5px 7px; border-radius:999px; color:#fff; background:var(--ink); font-size:8px; font-weight:900; text-align:center; text-transform:uppercase; }
.weekly-type-league { background:var(--green); }
.weekly-type-friendly { background:#2776a8; }
.weekly-type-tournament { background:var(--orange-dark); }
.weekly-type-rest { background:#8d867f; }
a.weekly-type.tournament-poster-trigger { display:inline-block; color:#fff; text-decoration:none; }
.weekly-match-fixture { min-width:0; display:grid; grid-template-columns:110px minmax(0,1fr); align-items:baseline; column-gap:6px; overflow:hidden; }
.weekly-match-category { min-width:0; margin:0; overflow:hidden; color:var(--orange-dark); font-size:8px; font-weight:900; letter-spacing:.04em; line-height:1.15; text-align:left; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.weekly-match-fixture .weekly-matchup { min-width:0; max-width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:baseline; column-gap:7px; overflow:hidden; color:var(--ink); font-size:13px; font-weight:700; line-height:1.3; text-align:left; text-decoration:none; }
.weekly-match-fixture a.weekly-matchup:hover,.weekly-match-fixture a.weekly-matchup:focus-visible { text-decoration:underline; outline:none; }
.weekly-match-team { min-width:0; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.weekly-match-separator { color:#817a74; }
.weekly-match-position { margin-left:4px; color:#817a74; font-size:9px; font-weight:600; white-space:nowrap; }
.weekly-match-score { color:var(--muted); font-size:10px; font-weight:800; text-align:center; text-transform:uppercase; }
.weekly-match-score.played { color:var(--ink); font:800 25px/1 'Barlow Condensed',sans-serif; }
.weekly-match.weekly-match-schedule { grid-template-columns:76px minmax(0,1fr) 160px; }
.weekly-match-logistics { min-width:0; width:100%; max-width:100%; display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:2px; overflow:hidden; }
.weekly-match-time { color:var(--ink); font-size:11px; font-weight:900; line-height:1.15; text-align:right; }
.weekly-match-venue { min-width:0; width:100%; max-width:100%; display:-webkit-box; overflow:hidden; color:var(--muted); font-size:9px; font-weight:700; line-height:1.3; overflow-wrap:anywhere; text-align:right; text-decoration-color:var(--orange-dark); text-overflow:ellipsis; white-space:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
a.weekly-match-venue:hover,a.weekly-match-venue:focus-visible { color:var(--orange-dark); outline:none; text-decoration-thickness:2px; }
body>.tournament-poster-hover { position:fixed; z-index:120; width:180px; padding:7px; border:1px solid rgba(255,255,255,.3); border-radius:12px; background:#211c18; box-shadow:0 16px 42px rgba(17,12,9,.38); pointer-events:none; }
body>.tournament-poster-hover[hidden] { display:none; }
.tournament-poster-hover img { width:100%; max-height:230px; display:block; border-radius:7px; object-fit:contain; background:#fff; }
.tournament-poster-open { overflow:hidden; }
body>.tournament-poster-dialog { position:fixed; inset:0; width:min(calc(100% - 28px),760px); max-height:calc(100dvh - 28px); margin:auto; padding:0; overflow:hidden; border:1px solid #4a423c; border-radius:20px; color:#f8f3ee; background:#28231f; box-shadow:0 30px 90px rgba(0,0,0,.48); }
.tournament-poster-dialog::backdrop { background:rgba(17,12,9,.82); backdrop-filter:blur(5px); }
.tournament-poster-dialog-shell { max-height:calc(100dvh - 28px); display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.tournament-poster-dialog header { padding:18px 20px; display:flex; align-items:flex-start; justify-content:space-between; gap:18px; border-bottom:1px solid #4a423c; }
.tournament-poster-dialog header p { margin:0 0 5px; color:var(--orange); font-size:9px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.tournament-poster-dialog header h2 { margin:0; font:800 28px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.tournament-poster-dialog-close { width:40px; height:40px; display:grid; place-items:center; flex:none; border:1px solid #554b43; border-radius:50%; color:#f8f3ee; background:#211c18; font-size:24px; line-height:1; cursor:pointer; }
.tournament-poster-dialog-close:hover,.tournament-poster-dialog-close:focus-visible { border-color:var(--orange); color:var(--orange); outline:none; }
.tournament-poster-dialog figure { min-height:0; margin:0; padding:18px; display:grid; place-items:center; overflow:auto; }
.tournament-poster-dialog figure img { max-width:100%; max-height:calc(100dvh - 180px); display:block; border-radius:10px; object-fit:contain; background:#fff; }
.tournament-poster-navigation { min-height:56px; padding:8px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #4a423c; }
.tournament-poster-navigation button { min-height:38px; padding:7px 11px; border:1px solid #554b43; border-radius:8px; color:#f8f3ee; background:#211c18; font-family:inherit; font-size:12px; font-weight:700; line-height:1; cursor:pointer; }
.tournament-poster-navigation button:hover,.tournament-poster-navigation button:focus-visible { border-color:var(--orange); color:var(--orange); outline:none; }
.tournament-poster-navigation span { color:#f8f3ee; font-size:12px; font-weight:800; }
.tournament-poster-navigation[hidden] { display:none; }
@media(max-width:520px){body>.tournament-poster-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);margin:auto;border-radius:15px}.tournament-poster-dialog-shell{max-height:calc(100dvh - 16px)}.tournament-poster-dialog header{padding:14px 15px}.tournament-poster-dialog header h2{font-size:23px}.tournament-poster-dialog-close{width:38px;height:38px}.tournament-poster-dialog figure{padding:10px}.tournament-poster-dialog figure img{max-height:calc(100dvh - 92px)}}
.weekly-schedule-report .weekly-dialog-summary { grid-template-columns:repeat(3,1fr); }
.weekly-schedule-report .weekly-dialog-summary div { border-top:0 !important; }
.weekly-schedule-report .weekly-dialog-summary div+div,.weekly-schedule-report .weekly-dialog-summary div:nth-child(3) { border-left:1px solid rgba(23,18,15,.12) !important; }
.weekly-loading,.weekly-empty { margin:0; padding:34px; border-top:1px solid rgba(23,18,15,.16); border-bottom:1px solid rgba(23,18,15,.16); color:var(--muted); text-align:center; }
.weekly-dialog-actions { margin-top:28px; padding-top:20px; display:flex; align-items:center; justify-content:space-between; gap:22px; border-top:1px solid var(--line); }
.weekly-dialog-actions p { max-width:470px; margin:0; color:var(--muted); font-size:10px; line-height:1.5; }
.weekly-dialog-actions>div { display:flex; gap:8px; }
.weekly-dialog-actions button { min-height:42px; padding:0 13px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:#fff; font-size:10px; font-weight:800; cursor:pointer; }
.weekly-dialog-actions button.primary { border-color:var(--ink); color:#fff; background:var(--ink); }
.weekly-dialog-actions button:hover,.weekly-dialog-actions button:focus-visible { border-color:var(--orange); color:var(--orange-dark); outline:none; }
.weekly-dialog-actions button.primary:hover,.weekly-dialog-actions button.primary:focus-visible { color:#fff; background:var(--orange-dark); }
.weekly-generated { width:max-content; max-width:100%; margin:8px 0 0 auto; color:#9a938d; font-size:8px; letter-spacing:.04em; text-align:right; }
.weekly-generated a { color:inherit; text-underline-offset:2px; }
.previous-card-value,.competition-line .previous-card-value,.record-item .previous-card-value { font-size:11px; line-height:1.4; }
.competition-line span,.summary-staff-heading p { font-size:10px; }
.competition-line strong,.form-block>span,.position-link-hint,.summary-coach div>span,.summary-staff-empty span,.summary-staff-note,.summary-staff-link { font-size:11px; }
.summary-coach strong { font-size:12px; }
.friendly-venue span,.friendly-status,.match-facts span,.detail-section>h4,.lineup-columns h4,.data-table th,.round-control span,.subsection-heading .eyebrow,.subsection-heading>span,.staff-card p,.player-card p,.player-card dt,.history-season span,.history-category p,.archive-label,.history-numbers span,.season-link { font-size:11px; }
.friendly-venue strong { font-size:12px; }
.match-meta small,.match-venue,.result-badge { font-size:11px; }
.history-category p span { font-size:10px; }
.directory-card { min-height:348px; grid-template-rows:40px 78px 62px 44px 116px 24px; }
.directory-status,.directory-card-result,.directory-card>strong { font-size:11px; }
.directory-next-match span,.directory-card dt { color:#a9998f; font-size:10px; }
.directory-next-match strong,.directory-card dd { font-size:12px; }

.admin-page { background:var(--paper); }
.admin-account { display:flex; align-items:center; gap:9px; }
.admin-private-label { padding:8px 11px; border:1px solid rgba(244,123,32,.35); border-radius:999px; color:var(--orange-dark); background:rgba(244,123,32,.08); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.admin-logout { min-height:34px; padding:0 12px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:rgba(255,255,255,.72); font-size:11px; font-weight:800; cursor:pointer; }
.admin-logout:hover,.admin-logout:focus-visible { border-color:var(--orange); color:var(--ink); outline:2px solid rgba(244,123,32,.2); outline-offset:2px; }
.admin-logout:disabled { cursor:wait; opacity:.65; }
.admin-main { padding:58px 0 72px; }
.admin-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.45fr); align-items:end; gap:42px; }
.admin-hero h1 { font-size:clamp(52px,8vw,88px); }
.admin-hero>p { margin:0 0 8px; color:var(--muted); font-size:15px; line-height:1.6; }
.admin-panel { margin-top:30px; padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:rgba(255,253,249,.92); box-shadow:0 18px 50px rgba(39,29,20,.06); }
.admin-panel-heading { margin-bottom:22px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.admin-panel h2 { margin:0; font:800 30px/1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.admin-panel form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.admin-panel label { min-width:0; display:grid; gap:7px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.admin-panel label.wide,.admin-form-actions.wide { grid-column:span 2; }
.admin-panel .wide-all { grid-column:1/-1; }
.admin-panel input,.admin-panel select,.admin-panel textarea { width:100%; min-height:46px; padding:0 13px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:#fff; font:600 14px/1.45 Inter,sans-serif; }
.admin-panel select { padding-right:36px; cursor:pointer; }
.admin-panel select:disabled { cursor:wait; opacity:.68; }
.admin-panel textarea { padding-top:11px; resize:vertical; }
.admin-panel input:focus,.admin-panel select:focus,.admin-panel textarea:focus { border-color:var(--orange); outline:3px solid rgba(244,123,32,.15); }
.admin-friendly-match-fields { grid-column:span 2; display:grid; align-content:start; gap:17px; }
.admin-friendly-score-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
#friendly-home-field[hidden],#friendly-away-field[hidden],#friendly-score-fields[hidden] { display:none; }
.admin-friendly-coordinate-fields { display:grid; align-content:start; gap:17px; }
.admin-tournament-toggle { min-height:58px; padding:11px 14px; display:flex !important; align-items:center; gap:12px !important; border:1px solid var(--line); border-radius:11px; background:#f7f4ef; cursor:pointer; text-transform:none !important; }
.admin-tournament-toggle input { width:20px; min-height:20px; flex:0 0 20px; accent-color:var(--orange-dark); }
.admin-tournament-toggle span,.admin-tournament-toggle strong,.admin-tournament-toggle small { display:block; }
.admin-tournament-toggle strong { color:var(--ink); font-size:13px; letter-spacing:0; }
.admin-tournament-toggle small { margin-top:3px; color:var(--muted); font-size:11px; font-weight:600; letter-spacing:0; line-height:1.4; }
.admin-tournament-fields { padding:18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; border:1px solid rgba(244,123,32,.35); border-radius:12px; background:rgba(244,123,32,.055); }
.admin-tournament-fields[hidden] { display:none; }
.admin-tournament-fields label.wide { grid-column:1/-1; }
.admin-tournament-fields>.wide { grid-column:1/-1; }
.admin-participants-editor { display:grid; gap:11px; }
.admin-tournament-fixtures-editor { display:grid; gap:11px; }
.admin-tournament-fixtures-editor[hidden] { display:none; }
.admin-tournament-fixtures-list { display:grid; gap:9px; }
.admin-tournament-fixture-row { padding:11px; display:grid; gap:10px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.admin-fixture-main { display:grid; grid-template-columns:130px 105px repeat(2,minmax(0,1fr)); gap:9px; }
.admin-fixture-score-row { display:flex; flex-wrap:wrap; align-items:end; gap:9px; padding-top:9px; border-top:1px solid var(--line); }
.admin-fixture-score-row label { width:115px; }
.admin-fixture-score-row .admin-fixture-remove { margin-left:auto; }
.admin-tournament-fixture-row input { min-width:0; }
.admin-tournament-fixture-row .admin-fixture-remove { min-height:46px; }
.admin-participants-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.admin-participants-heading span,.admin-participants-heading small { display:block; }
.admin-participants-heading span { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.admin-participants-heading small { margin-top:3px; color:var(--muted); font-size:10px; }
.admin-participant-list { display:grid; gap:9px; }
.admin-participant-row { padding:11px; display:grid; grid-template-columns:52px minmax(160px,1.2fr) minmax(140px,1fr) minmax(150px,.8fr) auto; align-items:end; gap:10px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.admin-participant-crest { width:48px; height:48px; align-self:end; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#f7f4ef; }
.admin-participant-crest img { width:40px; height:40px; display:block; object-fit:contain; }
.admin-participant-crest span { color:var(--orange-dark); font-size:11px; font-weight:900; }
.admin-participant-crest img[hidden],.admin-participant-crest span[hidden] { display:none; }
.admin-participant-upload input { min-height:48px; padding:8px; font-size:10px; }
.admin-participant-remove { min-height:48px; }
.admin-poster-field { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:17px; }
.admin-poster-field input[type="file"] { padding:9px 11px; }
.admin-poster-preview { display:flex; align-items:flex-start; gap:10px; }
.admin-poster-preview[hidden] { display:none; }
.admin-poster-preview img { width:92px; max-height:122px; border:1px solid var(--line); border-radius:8px; object-fit:cover; background:#fff; }
.admin-gallery-editor { display:grid; gap:11px; }
.admin-gallery-editor[hidden] { display:none; }
.admin-gallery-editor>label small { display:block; margin:3px 0 8px; color:var(--muted); font-size:10px; font-weight:600; letter-spacing:0; text-transform:none; }
.admin-gallery-editor input[type="file"] { width:100%; padding:9px 11px; }
.admin-gallery-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:9px; }
.admin-gallery-image { min-width:0; padding:8px; display:grid; gap:8px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.admin-gallery-image img { width:100%; height:125px; display:block; border-radius:6px; object-fit:contain; background:#f7f4ef; }
.admin-gallery-image>div { min-width:0; display:grid; gap:5px; }
.admin-gallery-image>div span { overflow-wrap:anywhere; color:var(--muted); font-size:10px; }
.admin-gallery-image button { width:100%; min-height:32px; padding:5px 7px; font-size:10px; }
.admin-form-actions { min-height:46px; display:flex; align-items:center; gap:16px; }
.admin-button { min-height:42px; padding:0 16px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:#f6f2ed; font-size:12px; font-weight:800; cursor:pointer; }
.admin-button.primary { border-color:var(--ink); color:#fff; background:var(--ink); }
.admin-button:hover,.admin-button:focus-visible { border-color:var(--orange); outline:2px solid rgba(244,123,32,.24); outline-offset:2px; }
#admin-status { color:var(--muted); font-size:12px; font-weight:600; }
#admin-status.success { color:var(--green); }
#admin-status.error { color:#9b3028; }
.admin-tools { display:flex; gap:8px; }
.file-button { position:relative; display:inline-flex !important; align-items:center; }
.file-button input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.admin-friendly-filters { margin-bottom:12px; padding:14px; display:grid; grid-template-columns:minmax(230px,1.45fr) repeat(2,minmax(160px,.72fr)); gap:12px; border:1px solid var(--line); border-radius:12px; background:#f7f4ef; }
.admin-friendly-month-nav { margin-bottom:14px; display:grid; grid-template-columns:auto minmax(220px,320px) auto; align-items:end; justify-content:start; gap:9px; }
.admin-friendly-month-nav .admin-button { min-height:46px; }
.admin-friendly-list-summary { min-height:28px; display:flex; align-items:flex-start; justify-content:space-between; color:var(--muted); font-size:12px; font-weight:700; }
.admin-friendly-list { display:grid; gap:20px; }
.admin-friendly-date-group { min-width:0; }
.admin-friendly-date-heading { min-height:62px; padding:9px 14px; display:grid; grid-template-columns:44px minmax(0,1fr) auto 24px; align-items:center; gap:12px; border:1px solid var(--line); border-left:4px solid var(--orange); border-radius:12px; background:#f7f4ef; cursor:pointer; list-style:none; transition:border-color .18s,background .18s; }
.admin-friendly-date-heading::-webkit-details-marker { display:none; }
.admin-friendly-date-heading:hover,.admin-friendly-date-heading:focus-visible { border-color:var(--orange); background:#fff; outline:3px solid rgba(244,123,32,.13); outline-offset:2px; }
.admin-friendly-date-group[open] .admin-friendly-date-heading { border-color:rgba(244,123,32,.45); background:#fff; }
.admin-friendly-date-badge { width:44px; height:44px; display:grid; align-content:center; justify-items:center; border-radius:9px; color:#fff; background:var(--ink); text-transform:uppercase; }
.admin-friendly-date-badge strong { font:800 22px/.8 'Barlow Condensed',sans-serif; }
.admin-friendly-date-badge span { margin-top:4px; font-size:9px; font-weight:800; letter-spacing:.08em; }
.admin-friendly-date-title strong,.admin-friendly-date-title span { display:block; }
.admin-friendly-date-title strong { font-size:14px; }
.admin-friendly-date-title span { margin-top:3px; color:var(--muted); font-size:11px; text-transform:capitalize; }
.admin-friendly-date-count { color:var(--muted); font-size:11px; font-weight:800; }
.admin-friendly-date-disclosure { color:var(--orange-dark); font-size:28px; font-weight:700; line-height:1; text-align:center; transition:transform .18s; }
.admin-friendly-date-group[open] .admin-friendly-date-disclosure { transform:rotate(90deg); }
.admin-friendly-date-matches { margin-top:7px; display:grid; gap:7px; }
.admin-friendly-row { min-height:72px; padding:11px 14px; display:grid; grid-template-columns:160px minmax(0,1fr) auto; align-items:center; gap:18px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.admin-friendly-meta strong,.admin-friendly-meta span,.admin-friendly-fixture strong,.admin-friendly-fixture span { display:block; }
.admin-friendly-meta strong,.admin-friendly-fixture strong { font-size:13px; }
.admin-friendly-meta span,.admin-friendly-fixture span { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.4; }
.admin-row-actions { display:flex; gap:7px; }
.admin-row-action { min-height:36px; padding:0 11px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#f7f4ef; font-size:11px; font-weight:800; cursor:pointer; }
.admin-row-action.delete { color:#8a2f28; }
.admin-row-action:hover,.admin-row-action:focus-visible { border-color:var(--orange); outline:2px solid rgba(244,123,32,.2); outline-offset:1px; }
.admin-friendly-month-nav .admin-button:disabled { cursor:default; opacity:.42; }
.admin-empty { margin:0; padding:28px; border:1px dashed var(--line); border-radius:12px; color:var(--muted); text-align:center; }
.admin-empty.error { color:#8a2f28; }
.admin-load-error { display:grid; justify-items:center; gap:12px; }
.admin-page .footer a { color:var(--ink); font-weight:700; }
.admin-page .footer { align-items:center; }
.admin-nav { margin:0 0 34px; padding:5px; display:flex; width:max-content; max-width:100%; gap:4px; overflow-x:auto; border:1px solid var(--line); border-radius:13px; background:rgba(255,253,249,.78); }
.admin-nav a { min-height:40px; padding:0 16px; display:flex; align-items:center; border-radius:9px; color:var(--muted); font-size:13px; font-weight:800; text-decoration:none; white-space:nowrap; }
.admin-nav a:hover,.admin-nav a:focus-visible { color:var(--ink); outline:2px solid rgba(244,123,32,.25); outline-offset:-2px; }
.admin-nav a[aria-current="page"] { color:#fff; background:var(--ink); }
.admin-sync-hero h1 { font-size:clamp(48px,7vw,78px); }
.admin-sync-grid { margin-top:30px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.admin-sync-card { min-height:124px; padding:20px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); border-radius:14px; background:rgba(255,253,249,.92); }
.admin-sync-card>span { color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.admin-sync-card>strong { margin-top:18px; font-size:14px; line-height:1.45; }
.admin-sync-state { width:max-content; padding:7px 10px; border-radius:999px; color:#6a625b; background:#ece7e0; }
.admin-sync-state.ok { color:#fff; background:var(--green); }
.admin-sync-state.partial { color:#fff; background:#a54835; }
.admin-sync-state.running { color:#fff; background:var(--orange-dark); }
.admin-sync-control { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.admin-sync-control>div { min-width:0; }
.admin-sync-progress { margin:12px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.admin-sync-progress.error { color:#9b3028; }
.admin-sync-button { min-width:170px; min-height:48px; }
.admin-sync-button:disabled { cursor:wait; opacity:.62; }
.admin-panel-count { color:var(--muted); font-size:12px; font-weight:700; }
.admin-sync-errors,.admin-team-list { display:grid; gap:8px; }
.admin-sync-error { padding:14px 16px; display:grid; gap:6px; border-left:3px solid #a54835; border-radius:9px; background:#fff5f1; }
.admin-sync-error strong { font-size:13px; }
.admin-sync-error span { color:#7b4035; font-size:13px; line-height:1.45; overflow-wrap:anywhere; }
.admin-empty.success { color:var(--green); border-color:rgba(18,128,92,.35); }
.admin-team-row { min-height:58px; padding:10px 13px; display:grid; grid-template-columns:minmax(0,1fr) auto 170px; align-items:center; gap:16px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.admin-team-row>div { min-width:0; }
.admin-team-row strong,.admin-team-row>div span { display:block; }
.admin-team-row strong { font-size:13px; }
.admin-team-row>div span { margin-top:4px; color:var(--muted); font-size:12px; }
.admin-team-row time { color:var(--muted); font-size:12px; text-align:right; }
.admin-team-status { min-width:78px; padding:6px 8px; border-radius:999px; color:#776f68; background:#ece8e2; font-size:11px; font-weight:800; text-align:center; }
.admin-team-status.ready { color:#fff; background:var(--green); }
.admin-team-status.error { color:#fff; background:#a54835; }
.admin-note-field { grid-column:1/-1 !important; }
.admin-roster-section { grid-column:1/-1 !important; min-width:0; padding-top:8px; }
.admin-roster-section+.admin-roster-section { margin-top:6px; padding-top:22px; border-top:1px solid var(--line); }
.admin-roster-heading { margin-bottom:12px; display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.admin-roster-heading>div { display:grid; gap:5px; }
.admin-roster-heading span { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.admin-roster-heading small { color:var(--muted); font-size:12px; line-height:1.45; }
.admin-coach-list,.admin-player-list { display:grid; gap:9px; }
.admin-coach-row { padding:13px; display:grid; grid-template-columns:minmax(180px,1.2fr) minmax(150px,.8fr) minmax(130px,.65fr) auto auto; align-items:end; gap:11px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.admin-player-row { padding:13px; display:grid; grid-template-columns:minmax(190px,1.6fr) repeat(4,minmax(68px,.42fr)) minmax(125px,.7fr) auto auto; align-items:end; gap:10px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.admin-training-list,.admin-venue-list,.admin-history-list { display:grid; gap:9px; }
.admin-training-row { padding:13px; display:grid; grid-template-columns:130px 105px 105px minmax(190px,1fr) auto auto; align-items:end; gap:10px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.admin-training-row>.admin-row-action,.admin-venue-row>.admin-row-action { min-height:46px; }
.admin-venue-row { padding:13px; display:grid; grid-template-columns:minmax(220px,1fr) minmax(150px,.45fr) minmax(150px,.45fr) auto; align-items:end; gap:10px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.admin-history-row { min-height:72px; padding:13px 15px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.admin-history-row>div { min-width:0; display:grid; gap:4px; }
.admin-history-row span,.admin-history-row time { color:var(--muted); font-size:11px; }
.admin-history-row>div>span { color:var(--orange-dark); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.admin-history-row strong { font-size:14px; }
.admin-history-undone { padding:6px 9px; border-radius:999px; background:#ece8e2; font-weight:800; }
.admin-inline-status { margin:14px 0 0; color:var(--muted); font-size:12px; font-weight:700; }
.admin-inline-status.success,#venue-directory-status.success,#change-password-status.success { color:var(--green); }
.admin-inline-status.error,#venue-directory-status.error,#change-password-status.error,#revoke-sessions-status.error { color:#9b3028; }
.admin-security-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
.admin-danger-panel { border-color:rgba(155,48,40,.25); }
.admin-danger-panel>p { margin:-5px 0 20px; color:var(--muted); font-size:14px; line-height:1.55; }
.admin-button.danger { border-color:#8a2f28; color:#fff; background:#8a2f28; }
.admin-player-row label span { white-space:nowrap; }
.admin-player-row>.admin-row-action { min-height:46px; }
.admin-sync-choice { min-height:46px; display:flex !important; grid-template-columns:none !important; align-items:center; flex-direction:row; gap:8px !important; color:var(--ink) !important; letter-spacing:0 !important; text-transform:none !important; white-space:nowrap; }
.admin-panel .admin-sync-choice input { width:18px; height:18px; min-height:0; padding:0; accent-color:var(--orange-dark); }
.admin-panel .admin-sync-choice span { font-size:12px; font-weight:700; }
.admin-coach-row>.admin-row-action { min-height:46px; }
#team-details-status.success { color:var(--green); }
#team-details-status.error { color:#9b3028; }
.admin-person-search { display:grid; gap:12px; }
.admin-person-search>label { display:grid; gap:7px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.admin-person-search input { width:100%; min-height:48px; padding:0 13px; border:1px solid var(--line); border-radius:10px; background:#fff; font-size:15px; }
.admin-person-search input:focus { border-color:var(--orange); outline:3px solid rgba(244,123,32,.15); }
.admin-person-results { display:grid; gap:6px; }
.admin-person-result { width:100%; padding:11px 13px; display:grid; gap:9px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:#fff; text-align:left; }
button.admin-person-result { display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; }
button.admin-person-result:hover,button.admin-person-result:focus-visible { border-color:var(--orange); outline:none; }
.admin-person-result-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.admin-person-result strong { font-size:13px; }
.admin-person-result-heading>span,button.admin-person-result>span { color:var(--muted); font-size:11px; text-align:right; }
.admin-person-records { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.admin-person-record { min-height:29px; padding:6px 9px; display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:#f7f4ef; font-family:inherit; font-size:11px; font-weight:700; line-height:1.35; text-align:left; }
button.admin-person-record { cursor:pointer; }
button.admin-person-record:hover,button.admin-person-record:focus-visible { border-color:var(--orange); color:var(--ink); outline:none; background:#fff7f0; }
.admin-person-history { min-height:29px; padding:6px 10px; border:1px solid var(--ink); border-radius:7px; color:#fff; background:var(--ink); font-size:11px; font-weight:800; cursor:pointer; }
.admin-person-history:hover,.admin-person-history:focus-visible { border-color:var(--orange-dark); outline:none; background:var(--orange-dark); }
.team-admin-note { padding:13px 15px; border-left:3px solid var(--orange); background:rgba(244,123,32,.07); }
.admin-login-main { min-height:calc(100vh - 220px); padding:70px 0; display:grid; place-items:center; }
.admin-login-card { width:min(100%,440px); padding:34px; border:1px solid var(--line); border-radius:20px; background:rgba(255,253,249,.94); box-shadow:0 24px 70px rgba(39,29,20,.1); }
.admin-login-card h1 { margin:6px 0 10px; font:800 clamp(46px,8vw,68px)/.9 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.admin-login-card>p:not(.eyebrow) { margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
.admin-login-card form { margin-top:25px; display:grid; gap:15px; }
.admin-login-card label { display:grid; gap:7px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.admin-login-card input { width:100%; min-height:48px; padding:0 13px; border:1px solid var(--line); border-radius:10px; font-size:16px; }
.admin-login-card input:focus { border-color:var(--orange); outline:3px solid rgba(244,123,32,.15); }
.admin-login-card .admin-button { min-height:48px; }
#admin-login-status { min-height:18px; color:#9b3028; font-size:12px; font-weight:700; }
.overview-page .footer { border-color:rgba(255,255,255,.15); color:#9f8f84; }
.overview-page .footer-status-line { border-color:rgba(255,255,255,.1); }
.overview-page .footer-status-line>strong { color:#d9cbc3; }
.overview-page .footer-status-line>span::before { color:rgba(159,143,132,.6); }
.overview-page .footer-disclaimer-link { text-decoration-color:rgba(159,143,132,.5); }
.overview-page .footer-credit a { color:#eee4de; }
.overview-page .footer-sync-warning { color:#c4978f; }
@media(max-width:980px){.history-card{grid-template-columns:110px 1fr auto}.history-numbers{display:none}.player-grid{grid-template-columns:1fr}}
@media(max-width:880px){.balance-layout{grid-template-columns:1fr}.summary-staff{border-top:3px solid var(--orange);border-left:0}}
@media(max-width:1040px) and (min-width:781px){.team-copy{grid-template-columns:minmax(250px,auto) minmax(270px,1fr);column-gap:16px}.training-schedule{width:100%;min-width:270px}.training-schedule>div{grid-template-columns:52px 76px 1fr;gap:6px}.selector-stack{grid-column:1/-1;width:100%;margin-top:15px}.season-control{width:100%;min-width:0;flex:1}.previous-season-note{grid-column:2}}
@media(max-width:780px){.jersey-watermark{top:112px;width:700px;height:900px;opacity:.04}.jersey-watermark>span{width:430px}.jersey-watermark-orange{top:0;right:0}.jersey-watermark-green{top:280px;left:0}.shell{width:min(100% - 24px,1160px)}.site-header{min-height:96px;padding:9px 0}.header-actions{flex-direction:column;align-items:flex-end;gap:7px}.header-meta{padding-top:0;gap:6px}.other-clubs>span{font-size:8px}.other-club-link{width:28px;height:34px;flex-basis:28px}.team-switch>span{display:none}.team-switch select{width:116px}.live-status{font-size:0}.team-heading{padding:40px 0 24px}.team-copy{display:flex;flex-direction:column}.training-schedule{width:100%;min-width:0;margin:15px 0 0}.selector-stack{width:100%;margin-top:15px;flex-direction:column;align-items:stretch}.season-control{width:100%}#category{margin-top:12px}.previous-season-note{width:100%;margin-top:8px;white-space:normal}.tabs{display:none}.mobile-view-control{display:block}.stats-grid{grid-template-columns:repeat(2,1fr)}.match-highlights{grid-template-columns:1fr}.footer{flex-direction:column;align-items:center;text-align:center}.legal-main{padding:46px 0 60px}.legal-hero h1{font-size:clamp(46px,14vw,70px)}.legal-hero>p:last-child{font-size:16px}.legal-card{margin-top:30px;padding:26px;grid-template-columns:1fr;gap:30px}.legal-card h2{font-size:22px}.legal-card p{font-size:15px}.legal-note{grid-column:1;align-items:center;flex-direction:column;text-align:center}.friendly-card{grid-template-columns:90px minmax(0,1fr);gap:12px}.friendly-date{padding-right:12px}.friendly-venue{grid-column:2;padding:10px 0 0;border-top:1px solid var(--line);border-left:0}.friendly-status{grid-column:1;grid-row:2}.tournament-summary{grid-template-columns:90px minmax(0,1fr) 32px}.tournament-summary .friendly-venue{grid-column:2}.tournament-summary .friendly-status{grid-column:1;grid-row:2}.tournament-disclosure{grid-column:3;grid-row:1/3}.tournament-details{grid-template-columns:1fr minmax(180px,260px)}.match-card summary{grid-template-columns:62px 1fr auto}.details-arrow{display:none}.match-details{grid-template-columns:1fr}.match-facts{grid-template-columns:1fr 1fr}.match-team-reports{grid-template-columns:1fr;grid-template-rows:none;row-gap:14px}.match-team-report{grid-row:auto;display:block}.history-card{grid-template-columns:96px 1fr auto}.section-heading>span{display:none}.staff-grid{grid-template-columns:1fr}}
@media(max-width:980px){.help-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.privacy-grid{grid-template-columns:1fr}.help-main{padding:46px 0 60px}.help-hero h1{font-size:clamp(60px,18vw,90px)}.help-hero>p:not(.eyebrow){font-size:16px}.help-section{margin-top:52px}.help-steps,.help-feature-grid,.help-calendar-guide{grid-template-columns:1fr}.help-feature-card{min-height:0}.help-calendar-note{grid-column:1}.help-contact{align-items:stretch;flex-direction:column}.help-contact>a{align-self:flex-start}}
@media(max-width:650px){.balance-layout{grid-template-columns:1fr}.balance-main{min-height:238px;padding:26px;display:flex;flex-direction:column}.balance-heading{display:flex;align-items:stretch;flex-direction:column;gap:15px}.balance-heading>div:first-child{min-height:0;padding:0;display:block}.competition-line{width:100%;min-height:0;max-width:100%;margin:0}.form-block{margin-top:24px;padding:0;border:0}.form-pending{max-width:330px;margin:25px 0 0;padding:0;border:0}.record{margin-top:auto;padding:24px 0 0;border:0}.summary-staff{padding:21px;border-top:3px solid var(--orange);border-left:0}.summary-staff-heading{padding-bottom:12px}.summary-coach-list{padding:13px 0 8px;gap:9px}.summary-coach-mark{width:34px;height:34px}.summary-staff-empty{padding:20px 0 12px}.summary-staff-link{padding:10px 0 2px}}
@media(max-width:560px){.friendly-card{padding:14px;grid-template-columns:1fr}.friendly-date{padding:0 0 10px;display:flex;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line)}.friendly-date span{margin:0}.friendly-main,.friendly-venue,.friendly-status{grid-column:1}.friendly-venue{padding:10px 0 0}.friendly-status{grid-row:auto;width:max-content}.friendly-scoreboard{grid-template-columns:minmax(78px,1fr) 62px minmax(78px,1fr)}.tournament-summary{padding:14px;grid-template-columns:1fr 26px}.tournament-summary .friendly-date,.tournament-summary .tournament-main,.tournament-summary .friendly-venue,.tournament-summary .friendly-status{grid-column:1}.tournament-summary .friendly-status{grid-row:auto}.tournament-disclosure{grid-column:2;grid-row:1/5}.tournament-details{padding:17px;grid-template-columns:1fr}.tournament-participants{grid-template-columns:1fr}.tournament-participants.featured{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:8px}.tournament-participants.featured li{min-height:128px;padding:13px 8px;gap:9px}.tournament-participants.featured .tournament-participant-crest{width:56px;height:56px;border-radius:12px}.tournament-participants.featured .tournament-participant-crest img{width:44px;height:44px}.tournament-participants.featured .tournament-participant-copy strong{font-size:11px}.tournament-participants.featured .tournament-participant-copy small{font-size:9px}.match-card summary{padding:12px;grid-template-columns:48px 1fr auto;gap:8px}.match-meta{grid-template-columns:1fr;border-right:0}.match-meta strong{grid-row:auto}.match-meta span,.match-meta small,.match-venue{display:none}.scoreboard.compact{grid-template-columns:minmax(70px,1fr) 58px minmax(70px,1fr)}.score-team{gap:5px;font-size:10px}.score-team img,.scoreboard.compact .score-team img{flex-basis:25px;width:25px;height:25px}.score-value{min-width:58px}.lineup-columns,.match-facts{grid-template-columns:1fr}.player-card{grid-template-columns:auto 1fr}.player-card dl{grid-column:1/3;justify-content:flex-end;border-top:1px solid var(--line);padding-top:10px}.subsection-heading{align-items:flex-start;flex-direction:column}.history-card{grid-template-columns:78px 1fr}.history-card .season-link{grid-column:1/3}.history-tournament-event li{grid-template-columns:1fr auto 1fr;gap:5px}.history-tournament-event li time{grid-column:1/-1}.standings-heading{align-items:stretch;flex-direction:column}.round-control select{width:100%}.player-history-dialog{padding:20px}.player-history-totals{grid-template-columns:repeat(2,1fr)}.player-history-totals div+div{border-left:0}.player-history-totals div:nth-child(even){border-left:1px solid var(--line)}.player-history-totals div:nth-child(n+3){border-top:1px solid var(--line)}.player-history-list li{grid-template-columns:58px minmax(0,1fr)}.player-history-numbers{grid-column:2;text-align:left}body>.player-history-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}}
@media(max-width:430px){.live-status{display:none}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{min-height:122px;padding:17px}.stat-value{font-size:39px}.panel-title-row{flex-direction:column}.record{gap:11px}.section-heading{align-items:flex-start}.data-table th,.data-table td{padding:11px 10px}}
@media(max-width:520px){.summary-coach-list.presented-coach-list{grid-template-columns:1fr}.stats-grid>.position-panel{padding:15px;grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr auto}.stats-grid>.position-panel .panel-kicker{grid-column:1;grid-row:1}.stats-grid>.position-panel h2{grid-column:1;grid-row:2;font-size:22px}.stats-grid>.position-panel .position-ring{grid-column:1;grid-row:3;justify-self:start;width:54px;height:54px;margin:8px 0 0}.stats-grid>.position-panel .position-previous{grid-column:1;grid-row:4}.stats-grid>.position-panel .position-link-hint{grid-column:1;grid-row:5;gap:4px;font-size:11px;letter-spacing:0;white-space:nowrap}}
@media(max-width:980px) and (min-width:781px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-card{min-height:0;grid-template-rows:auto minmax(96px,auto) minmax(62px,auto) minmax(44px,auto) minmax(116px,auto) auto}}
@media(max-width:780px){.overview-page .jersey-watermark{top:100px}.overview-page .site-header{min-height:108px}.overview-hero{min-height:0;padding:36px 0 30px;grid-template-columns:1fr;gap:22px}.overview-hero h1{font-size:clamp(68px,24vw,110px)}.overview-hero>p{font-size:14px}.directory-categories{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding-inline:12px;scroll-snap-type:x proximity}.directory-categories a{scroll-snap-align:start}.directory-snapshot{grid-template-columns:1fr}.directory-snapshot>#week-schedule-open{order:1}.directory-snapshot>#week-overview-open{order:2}.directory-snapshot>.directory-data-status{order:3}.directory-data-status,.week-overview-card{min-height:76px}.directory-data-status{padding:12px 14px}.directory-data-counts strong{font-size:32px}.directory-group{margin-top:50px;padding-top:28px}.directory-group>header{column-gap:16px}.directory-grid{grid-template-columns:1fr}.directory-card{min-height:290px;grid-template-rows:auto auto auto auto 1fr auto}.directory-card h3,.directory-card>p{min-height:0}.directory-card dl{align-content:end}.overview-page .brand strong{font-size:19px}.overview-page .crest-wrap{width:48px;height:54px}}
@media(max-width:780px){.brand strong{font-size:19px}}
@media(max-width:780px){.other-club-list{width:96px;height:34px;flex-basis:96px}}
@media(max-width:780px){#updated-at{max-width:none;text-align:center}}
@media(max-width:780px){.next-update{display:none}}
@media(max-width:780px){.other-clubs>span{font-size:10px}.directory-card{min-height:320px}.admin-main{padding:42px 0 58px}.admin-hero{grid-template-columns:1fr;gap:18px}.admin-panel{padding:20px}.admin-panel form{grid-template-columns:1fr 1fr}.admin-panel label.wide,.admin-form-actions.wide,.admin-friendly-match-fields,.admin-friendly-coordinate-fields{grid-column:1/-1}.admin-friendly-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-friendly-search{grid-column:1/-1}.admin-friendly-row{grid-template-columns:1fr}.admin-row-actions{justify-content:flex-start}.admin-poster-field{grid-template-columns:1fr}.admin-participant-row{grid-template-columns:48px 1fr 1fr}.admin-participant-upload{grid-column:2}.admin-participant-remove{grid-column:3;grid-row:2}.admin-page .site-header{gap:16px}.admin-private-label{font-size:10px}.admin-page .brand strong{font-size:18px}.admin-coach-row{grid-template-columns:1fr 1fr}.admin-player-row{grid-template-columns:2fr repeat(2,1fr)}.admin-player-row>label:first-child{grid-column:span 2}.admin-player-row .admin-sync-choice{grid-column:span 2}.admin-training-row{grid-template-columns:1fr 1fr}.admin-training-row>label:nth-child(4){grid-column:1/-1}.admin-training-row .admin-sync-choice{grid-column:1}.admin-venue-row{grid-template-columns:1fr 1fr}.admin-venue-row>label:first-child{grid-column:1/-1}.admin-security-summary{grid-template-columns:1fr}.admin-sync-choice{justify-self:start}.admin-login-main{min-height:calc(100vh - 190px);padding:46px 0}}
@media(max-width:520px){.admin-panel form,.admin-friendly-score-fields,.admin-friendly-filters,.admin-tournament-fields{grid-template-columns:1fr}.admin-panel label.wide,.admin-form-actions.wide,.admin-friendly-search,.admin-tournament-fields label.wide{grid-column:1}.admin-panel-heading,.admin-roster-heading{align-items:flex-start;flex-direction:column}.admin-tools{width:100%;flex-wrap:wrap}.admin-form-actions{align-items:flex-start;flex-direction:column}.admin-friendly-month-nav{grid-template-columns:1fr 1fr}.admin-friendly-month-nav label{grid-column:1/-1;grid-row:1}.admin-friendly-date-heading{grid-template-columns:44px minmax(0,1fr) 22px}.admin-friendly-date-count{grid-column:2}.admin-friendly-date-disclosure{grid-column:3;grid-row:1/3}.admin-poster-preview{flex-direction:column}.admin-participants-heading{align-items:flex-start;flex-direction:column}.admin-participants-heading .admin-button{width:100%}.admin-participant-row{grid-template-columns:48px minmax(0,1fr)}.admin-participant-row>label{grid-column:2}.admin-participant-crest{grid-column:1;grid-row:1}.admin-participant-upload,.admin-participant-remove{grid-column:2;grid-row:auto}.admin-page .site-header{align-items:flex-start;flex-direction:column;padding:16px 0}.admin-account{width:100%;justify-content:space-between}.admin-coach-row,.admin-player-row,.admin-training-row,.admin-venue-row{grid-template-columns:1fr}.admin-player-row>label:first-child,.admin-player-row .admin-sync-choice,.admin-training-row>label:nth-child(4),.admin-training-row .admin-sync-choice,.admin-venue-row>label:first-child{grid-column:1}.admin-history-row{align-items:flex-start;flex-direction:column}.admin-login-page .site-header{align-items:center}.admin-login-card{padding:26px}}
@media(max-width:520px){body:not(.admin-page):not(.admin-login-page) .other-clubs>span{display:none}}
@media(max-width:520px){body:not(.admin-page):not(.admin-login-page) .header-status-row{gap:7px}.site-help-link{width:auto;padding:0 0 0 9px;justify-content:center}.help-jump-links{display:grid;grid-template-columns:1fr 1fr}.help-jump-links a{padding:0 12px;font-size:9px}.help-basic-note{align-items:flex-start;flex-direction:column;gap:7px}.help-steps li,.help-feature-card{padding:20px}.help-detail-grid{grid-template-columns:1fr}.help-detail-item{min-height:190px}.help-faq-list summary{min-height:64px;padding-right:40px;font-size:19px}.help-faq-list details>p{padding-right:0;font-size:14px}.help-contact{padding:23px}.help-contact>a{width:100%}}
@media(max-width:780px){.admin-nav{margin-bottom:25px;width:100%}.admin-sync-grid{grid-template-columns:1fr 1fr}.admin-sync-control{align-items:flex-start;flex-direction:column}.admin-sync-button{width:100%}.admin-team-row{grid-template-columns:minmax(0,1fr) auto}.admin-team-row time{grid-column:1/-1;text-align:left}}
@media(max-width:520px){.admin-sync-grid{grid-template-columns:1fr}.admin-sync-card{min-height:104px}.admin-team-row{grid-template-columns:1fr}.admin-team-status{width:max-content}.admin-team-row time{grid-column:1}}
@media(max-width:780px){.footer-primary,.footer-status-line{width:100%}.footer-primary{flex-direction:column;gap:10px}.footer-credit{text-align:center}.footer-status-line{justify-content:center}}
@media(max-width:560px){.friendly-tournament-card{padding:0}}
@media(max-width:560px){.footer-status-line{align-items:center;flex-direction:column;gap:3px}.footer-status-line>span::before{display:none}}
@media(max-width:1050px) and (min-width:781px){.directory-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-snapshot>#week-schedule-open{order:1}.directory-snapshot>#week-overview-open{order:2}.directory-snapshot>.directory-data-status{order:3;grid-column:1/-1;min-height:0;padding:8px 4px 0;border:0;border-top:1px solid rgba(255,255,255,.08);border-radius:0;background:transparent}.directory-data-counts p{min-width:76px}.directory-data-counts strong{font-size:24px}.directory-data-counts span{font-size:7px}}
@media(max-width:780px){.week-overview-card{grid-template-columns:minmax(0,1fr) minmax(118px,auto) 22px;gap:13px}.weekly-dialog-shell{padding:20px}.weekly-dialog-controls>button span{display:none}.weekly-dialog-controls>div{flex-direction:column;gap:6px}.weekly-dialog-summary{grid-template-columns:repeat(2,1fr)}.weekly-dialog-summary div:nth-child(3){border-left:0}.weekly-dialog-summary div:nth-child(n+3){border-top:1px solid rgba(23,18,15,.12)}.weekly-match{grid-template-columns:76px minmax(0,1fr) 68px;gap:10px}.weekly-dialog-actions{align-items:stretch;flex-direction:column}.weekly-dialog-actions>div{display:grid;grid-template-columns:1fr 1fr}.weekly-dialog-actions button{width:100%}}
@media(max-width:520px){.directory-data-status{align-items:flex-start;flex-direction:column;gap:10px}.directory-data-counts{width:100%}.directory-data-counts p{flex:1}.week-overview-card{padding:13px 14px;grid-template-columns:minmax(0,1fr) auto 18px}.week-overview-copy>strong{font-size:20px}.week-overview-count{padding-left:11px;grid-template-columns:1fr}.week-overview-count>strong{font-size:31px}.week-overview-count>span{display:none}body>.weekly-overview-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:15px}.weekly-dialog-shell{padding:17px}.weekly-dialog-shell::before{inset:110px 3% 42px;opacity:.05}.weekly-dialog-header h2{font-size:40px}.weekly-dialog-controls{padding:9px 0;grid-template-columns:38px 1fr 38px;gap:7px}.weekly-dialog-controls>button{padding:0}.weekly-dialog-controls strong{font-size:11px}.weekly-dialog-controls div button{font-size:8px}.weekly-match{padding:11px 0 11px 8px;grid-template-columns:62px minmax(0,1fr) 56px;gap:8px}.weekly-type{min-width:54px;font-size:7px}.weekly-match-fixture>strong{font-size:11px}.weekly-match-fixture small{font-size:9px}.weekly-match-score.played{font-size:21px}.weekly-dialog-actions>div{grid-template-columns:1fr}}
@media(max-width:520px){body>.calendar-subscribe-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);margin:auto;border-radius:15px}.calendar-subscribe-shell{padding:18px}.calendar-subscribe-shell>header{gap:12px}.calendar-subscribe-shell>header h2{font-size:25px}.calendar-subscribe-close{width:38px;height:38px}.calendar-subscribe-explanation{font-size:12px}.calendar-subscribe-options{gap:7px}.calendar-subscribe-options>label{min-height:58px;padding:9px}.calendar-subscribe-options strong{font-size:11px}.calendar-team-list{max-height:180px;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-subscribe-platforms{gap:6px}.calendar-subscribe-platforms a{min-height:42px;padding:0 5px;font-size:10px}.calendar-subscribe-url input{font-size:8px}.calendar-subscribe-url-row>button{padding:0 11px}}
@media(max-width:780px){.weekly-match{grid-template-columns:64px minmax(0,1fr) 68px;gap:10px}}
@media(max-width:520px){.weekly-match{grid-template-columns:54px minmax(0,1fr) 56px}.weekly-type{min-width:46px;font-size:6px}.weekly-match-fixture .weekly-matchup{font-size:11px}.weekly-match-position{font-size:8px}}
@media(max-width:520px){.weekly-match-fixture{grid-template-columns:68px minmax(0,1fr);column-gap:6px}.weekly-match-fixture .weekly-match-category{font-size:7px}}
@media(max-width:860px) and (min-width:621px){.weekly-match-schedule .weekly-match-fixture{grid-template-columns:96px minmax(0,1fr)}.weekly-match-schedule .weekly-match-fixture .weekly-matchup{align-items:start}.weekly-match-schedule .weekly-match-team{display:-webkit-box;line-height:1.15;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}}
@media(max-width:780px){.weekly-match.weekly-match-schedule{grid-template-columns:64px minmax(0,1fr) 135px}}
@media(max-width:620px){.weekly-match.weekly-match-schedule{grid-template-columns:54px minmax(0,1fr)}.weekly-match-schedule .weekly-match-logistics{grid-column:2;align-items:flex-start}.weekly-match-time{font-size:9px}.weekly-match-time,.weekly-match-venue{text-align:left}.weekly-match-venue{font-size:8px}}
@media(max-width:520px){.weekly-match{grid-template-columns:48px minmax(0,1fr) 44px;align-items:start;gap:6px}.weekly-match.weekly-match-schedule{grid-template-columns:48px minmax(0,1fr)}.weekly-type{min-width:42px;padding:4px 3px}.weekly-match-fixture .weekly-matchup{grid-template-columns:minmax(0,1fr);row-gap:1px;overflow:visible;line-height:1.22}.weekly-match-team{display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.weekly-match-separator{display:none}.weekly-match-schedule .weekly-match-logistics{grid-column:2}.weekly-match-time,.weekly-match-score{padding-top:2px}}
@media(max-width:780px){
  body{min-height:100dvh;display:flex;flex-direction:column}
  body>main{flex:1 0 auto}
  body>.footer{flex:0 0 auto}
  .jersey-watermark{inset:112px 0 0;width:auto;height:auto;transform:none;overflow:hidden;contain:paint}
  .jersey-watermark-orange{right:calc((100vw - 700px)/2)}
  .jersey-watermark-green{left:calc((100vw - 700px)/2)}
  .overview-page .jersey-watermark{inset:100px 0 0;width:auto;height:auto;transform:none}
}
@media print {
  @page {
    size:A4 portrait;
    margin:12mm 12mm 17mm;
    @bottom-right { color:#6f6964; font:7pt Inter,sans-serif; letter-spacing:.04em; content:'Generado en https://arroyo.nidschelm.com'; }
  }
  body.weekly-printing { display:block; min-height:0; color:#17120f; background:#fff !important; }
  body.weekly-printing>*:not(.weekly-print-report) { display:none !important; }
  body.weekly-printing>.weekly-print-report { position:static; width:100%; min-height:0; margin:0; display:block !important; background:transparent; isolation:isolate; }
  body.weekly-printing .weekly-print-content { position:relative; z-index:1; }
  body.weekly-printing .weekly-print-page+.weekly-print-page { break-before:page; page-break-before:always; }
  body.weekly-printing .weekly-dialog-shell { padding:0; }
  body.weekly-printing .weekly-dialog-shell::before { display:none; }
  body.weekly-printing .weekly-dialog-shell>:not(.weekly-generated) { position:relative; z-index:1; }
  body.weekly-printing .weekly-format-group .weekly-report-watermark { top:30px; display:block; opacity:.045; }
  body.weekly-printing .weekly-dialog-close,
  body.weekly-printing .weekly-dialog-actions { display:none !important; }
  body.weekly-printing .weekly-dialog-header p { margin-bottom:4px; font-size:8px; }
  body.weekly-printing .weekly-dialog-header h2 { font-size:46px; }
  body.weekly-printing .weekly-dialog-controls { margin-top:6px; padding:0 0 6px; display:block; border-top:0; }
  body.weekly-printing .weekly-dialog-controls>button,
  body.weekly-printing .weekly-dialog-controls div button { display:none !important; }
  body.weekly-printing .weekly-dialog-controls>div { display:block; text-align:left; }
  body.weekly-printing .weekly-dialog-controls strong { font-size:8.5pt; }
  body.weekly-printing .weekly-dialog-summary { grid-template-columns:repeat(4,1fr); break-inside:avoid; }
  body.weekly-printing .weekly-dialog-summary div { min-height:42px; padding:5px; border-top:0 !important; }
  body.weekly-printing .weekly-dialog-summary div+div { border-left:1px solid rgba(23,18,15,.12) !important; }
  body.weekly-printing .weekly-dialog-summary strong { font-size:24px; }
  body.weekly-printing .weekly-dialog-summary span { margin-top:3px; font-size:7px; }
  body.weekly-printing .weekly-schedule-report .weekly-dialog-summary { grid-template-columns:repeat(3,1fr); }
  body.weekly-printing .weekly-schedule-report .weekly-dialog-summary div { min-height:36px; padding:3px; }
  body.weekly-printing .weekly-classification-legend { margin:3px 0 -3px; font-size:6.5px; }
  body.weekly-printing .weekly-match-days,
  body.weekly-printing .weekly-format-group,
  body.weekly-printing .weekly-day-matches { display:block; }
  body.weekly-printing .weekly-match-days { margin-top:14px; }
  body.weekly-printing .weekly-format-group { box-sizing:border-box; break-inside:avoid-page; page-break-inside:avoid; }
  body.weekly-printing .weekly-format-group>header { margin-bottom:6px; padding-bottom:5px; }
  body.weekly-printing .weekly-format-group>header h3 { font-size:24px; }
  body.weekly-printing .weekly-format-group>header span { font-size:7px; }
  body.weekly-printing .weekly-day { margin-bottom:0; break-inside:avoid-page; page-break-inside:avoid; }
  body.weekly-printing .weekly-day+.weekly-day { margin-top:14px; }
  body.weekly-printing .weekly-day h4 { margin-bottom:6px; font-size:18px; }
  body.weekly-printing .weekly-match { break-inside:avoid; }
  body.weekly-printing .weekly-format-group>header,
  body.weekly-printing .weekly-day h4 { break-after:avoid; }
  body.weekly-printing .weekly-format-group+.weekly-format-group { padding-top:0; border-top:0; break-before:page; page-break-before:always; }
  body.weekly-printing .weekly-match { min-height:46px; padding:3px 2px 3px 7px; grid-template-columns:54px minmax(0,1fr) 58px; gap:6px; }
  body.weekly-printing .weekly-match-meta { gap:2px; }
  body.weekly-printing .weekly-type { min-width:48px; padding:3px 5px; font-size:6px; }
  body.weekly-printing .weekly-match-fixture { grid-template-columns:80px minmax(0,1fr); column-gap:4px; }
  body.weekly-printing .weekly-match-fixture .weekly-matchup { column-gap:4px; }
  body.weekly-printing .weekly-match-category { margin-bottom:1px; font-size:6px; }
  body.weekly-printing .weekly-match-fixture .weekly-matchup { font-size:7.5px; }
  body.weekly-printing .weekly-match-position { font-size:6px; }
  body.weekly-printing .weekly-match-score { font-size:7px; }
  body.weekly-printing .weekly-match-score.played { font-size:19px; }
  body.weekly-printing .weekly-match.weekly-match-schedule { grid-template-columns:54px minmax(0,1fr) 150px; }
  body.weekly-printing .weekly-match-logistics { gap:5px; }
  body.weekly-printing .weekly-match-time { font-size:6.5px; }
  body.weekly-printing .weekly-match-venue { font-size:6px; }
  body.weekly-printing .weekly-print-extra-dense .weekly-match { min-height:40px; padding-top:2px; padding-bottom:2px; }
  body.weekly-printing .weekly-print-extra-dense .weekly-match-fixture { grid-template-columns:74px minmax(0,1fr); }
  body.weekly-printing .weekly-print-extra-dense .weekly-match-category { font-size:5.5px; }
  body.weekly-printing .weekly-print-extra-dense .weekly-match-fixture .weekly-matchup { font-size:7px; }
  body.weekly-printing .weekly-print-extra-dense .weekly-match-position { font-size:5.5px; }
}
@media (max-width:1050px) {
  .admin-fixture-main { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .admin-fixture-main { grid-template-columns:1fr; }
  .admin-fixture-score-row label { width:calc(50% - 5px); }
  .admin-fixture-score-row .admin-fixture-remove { margin-left:0; }
  .tournament-fixture-matchup { gap:6px; font-size:11px; }
}
@media (max-width:780px) {
  .match-card summary { grid-template-columns:62px minmax(0,1fr) 78px; }
}
@media (max-width:560px) {
  .match-card summary { grid-template-columns:48px minmax(0,1fr); }
  .match-card .scoreboard.compact { grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr); }
  .match-card .match-main { grid-column:2; grid-row:1; }
  .match-card .result-badge { grid-column:2; grid-row:2; justify-self:center; }
}
/* Live source mount verified without a container restart. */
.person-career { margin-top:28px; padding-top:22px; border-top:1px solid var(--line); }
.person-career h3 { margin:0 0 16px; font:800 26px/1.1 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.person-career-totals { display:flex; flex-wrap:wrap; gap:10px 24px; margin-bottom:18px; }
.person-career-totals>div { display:grid; gap:5px; font-size:12px; }
.person-career-totals>div>strong { font-size:11px; text-transform:uppercase; color:var(--orange-dark); }
.person-career ul { margin:0; padding:0; list-style:none; }
.person-career li { padding:13px 0; display:grid; grid-template-columns:68px minmax(0,1fr) minmax(100px,.48fr); gap:12px; align-items:center; border-top:1px solid var(--line); }
.person-career-season { font-size:14px; font-weight:800; }
.person-career-team { min-width:0; display:flex; align-items:center; gap:9px; }
.person-career-team>span { min-width:0; }
.person-career-team strong { display:block; overflow-wrap:anywhere; font-size:12px; }
.person-career-team a { color:inherit; text-underline-offset:3px; }
.person-career-team img,.person-career-crest-placeholder { flex:none; width:30px; height:34px; object-fit:contain; }
.person-career-crest-placeholder { display:grid; place-items:center; opacity:.4; }
.person-career small { display:block; margin-top:4px; font-size:11px; line-height:1.45; }
.person-career-stats { text-align:right; }
.person-career-stats b { font-size:11px; color:var(--orange-dark); }
.trainer-history-dialog .person-career { --line:rgba(255,255,255,.17); --orange-dark:#ff9a47; }
.trainer-history-dialog .player-history-note { color:#c8bbb2; }
.trainer-history-heading>div { min-width:0; }
.trainer-history-heading .eyebrow { overflow-wrap:anywhere; }
.presented-coach-current-team a { color:inherit; text-underline-offset:3px; }
@media(max-width:780px) {
  .match-card summary { grid-template-columns:62px minmax(0,1fr) 78px 16px; gap:9px; }
  .match-card .details-arrow { display:block; }
}
@media(max-width:560px) {
  .match-card summary { grid-template-columns:minmax(0,1fr) auto 16px; gap:10px 8px; }
  .match-card .match-meta { display:flex; align-items:center; flex-wrap:wrap; height:auto; min-height:0; grid-column:1; grid-row:1; gap:6px; }
  .match-card .match-meta span,.match-card .match-meta small { display:block; font-size:10px; }
  .match-card .match-main { grid-column:1/-1; grid-row:2; }
  .match-card .match-venue { display:block; font-size:10px; white-space:normal; }
  .match-card .result-badge { grid-column:2; grid-row:1; }
  .match-card .details-arrow { grid-column:3; grid-row:1; }
  .match-card .score-team { font-size:11px; }
  .match-card .scoreboard.compact { grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr); gap:7px; }
  .person-career li { grid-template-columns:60px minmax(0,1fr); gap:7px; }
  .person-career-stats { grid-column:2; text-align:left; }
  .trainer-history-heading { padding-top:35px; padding-right:0; gap:13px; }
  .trainer-history-heading h2 { font-size:40px; overflow-wrap:anywhere; }
  .player-history-header { padding-top:30px; padding-right:0; }
  .player-history-header>div { min-width:0; }
}
