@font-face{font-family:'Golos Text';font-weight:400;font-style:normal;font-display:swap;src:url('/assets/golos-400.ttf') format('truetype')}
@font-face{font-family:'Golos Text';font-weight:500;font-style:normal;font-display:swap;src:url('/assets/golos-500.ttf') format('truetype')}
@font-face{font-family:'Golos Text';font-weight:600;font-style:normal;font-display:swap;src:url('/assets/golos-600.ttf') format('truetype')}
@font-face{font-family:'Golos Text';font-weight:700;font-style:normal;font-display:swap;src:url('/assets/golos-700.ttf') format('truetype')}
@font-face{font-family:'Golos Text';font-weight:800;font-style:normal;font-display:swap;src:url('/assets/golos-800.ttf') format('truetype')}
/* Euromanager design v1: a clear match centre, calm data surfaces, Marseille blue. */
:root{--ink:#18263c;--muted:#4e5f76;--canvas:#f3f5f9;--surface:#fff;--line:#e0e6ef;--blue:#1646c2;--blue-soft:#eaf0ff;--navy:#132e5a;--cyan:#1ca9dd;--radius:14px;font-family:'Golos Text',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--canvas);font-size:100%;line-height:1.5;font-synthesis:none}
body{color:var(--ink);background:var(--canvas)}a{color:var(--blue);text-underline-offset:3px}button,input,select{font-family:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #4277ec;outline-offset:3px}button,input,select{min-height:44px}input,select{border:1px solid #bac6d8;border-radius:8px;padding:10px 12px;background:white;color:var(--ink);max-width:100%}button{transition:background-color .15s,border-color .15s}button:disabled{cursor:not-allowed;opacity:.55}svg{display:block}.nav svg,.top-actions svg,.search-field svg,.archive-entry svg,.mobile-nav svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{color:var(--ink);letter-spacing:-.025em}h1{font-size:2.125rem;font-weight:700;line-height:1.2}h2{font-size:1.375rem}small{line-height:1.4}::selection{background:#d5e2ff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:14px;border:2px solid var(--blue);border-radius:8px}.skip-link:focus{top:12px}
.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30;padding:28px 16px 16px;overflow-y:auto}.sidebar .brand{display:flex;align-items:center;gap:9px;padding:0 6px 30px;color:var(--ink);font-size:1rem;font-weight:800;letter-spacing:-.04em}.brand-mark{width:34px;height:40px;flex:none;background:var(--blue);display:grid;place-items:center;border-radius:9px;color:#fff}.brand-mark svg{width:28px;height:28px;stroke:none}.brand small{display:block;font-size:0.875rem;font-weight:500;letter-spacing:0;margin-top:3px;color:var(--muted)}.sidebar .nav{display:flex;flex-direction:column;gap:5px;border:0}.nav a{display:flex;gap:12px;align-items:center;padding:12px;border:0;border-radius:8px;font-size:0.9375rem;font-weight:500;color:#536179;min-height:46px;white-space:normal;line-height:1.35}.nav a svg{width:19px;height:19px;flex:none}.nav a:hover{color:var(--blue);background:#f3f6fb}.nav a.active{background:var(--blue-soft);color:var(--blue);font-weight:700;border:0;box-shadow:inset 3px 0 0 var(--blue)}.nav-caption{font-size:0.875rem;color:#6c798b;margin:23px 12px 6px}.sidebar-bottom{margin-top:auto;padding-top:26px}.my-club{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--ink);text-decoration:none}.my-club img{width:30px;height:35px;object-fit:contain}.my-club>span:nth-child(2){flex:1;font-size:0.875rem;color:var(--muted)}.my-club strong{display:block;color:var(--ink);font-size:0.9375rem}.version-note{display:flex;align-items:center;gap:6px;font-size:0.875rem;color:var(--muted);padding:18px 10px 6px}.version-note>span:last-child{margin-left:auto;border:1px solid var(--line);padding:0 5px;border-radius:4px}.version-dot{width:6px;height:6px;border-radius:50%;background:var(--blue)}.original-link{font-size:0.875rem;display:block;padding:3px 10px 0;text-decoration:none;color:var(--muted)}.workspace{margin-left:232px;min-width:0}.topbar{height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 36px}.breadcrumb{display:flex;gap:14px;align-items:center;font-size:0.875rem;color:#69758a}.breadcrumb strong{color:var(--ink);font-weight:500}.top-actions{display:flex;align-items:center;gap:14px}.search-open{display:flex;gap:10px;align-items:center;background:#f7f9fc;color:#69758a;border:1px solid var(--line);padding:8px 12px;border-radius:8px;font-size:0.875rem}.search-open svg{width:17px;height:17px}.search-open kbd{font-family:inherit;background:#fff;border:1px solid var(--line);padding:0 5px;border-radius:4px;margin-left:35px}.icon-button{width:40px;min-height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:#586980;font-size:1.562rem}.icon-button:hover{background:var(--blue-soft);color:var(--blue)}.icon-button[aria-pressed=true]{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.avatar{display:grid;place-items:center;width:34px;height:34px;flex:none;background:#e7edf8;border-radius:50%;color:#4b6181;font-size:0.875rem;font-weight:700}.shell{max-width:1600px;margin:auto;padding:0 36px;min-width:0}.preview-notice{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:0.875rem;color:var(--muted)}.preview-notice>span{color:var(--blue);font-weight:600}.preview-notice p{margin:0;flex:1}.preview-notice a{text-decoration:none}.roundbar{padding:22px 0 18px;gap:12px;min-height:70px;font-size:0.875rem;color:var(--muted)}.roundbar label{font-size:0.9375rem;font-weight:600;color:var(--ink)}.roundbar select{min-width:70px;padding:7px 10px;border-color:var(--line);color:var(--ink);font-size:0.9375rem}.data-status{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:0.875rem;color:var(--muted)}.data-status:before{content:'';width:5px;height:5px;border-radius:50%;background:#188268}.roundbar.table-mode{padding:10px 0;min-height:42px}body[data-view=overview] .roundbar>label,body[data-view=overview] #roundDate{display:none}body[data-view=overview] .roundbar{min-height:42px;padding:10px 0}#content{outline:0;min-width:0}.section-heading{margin:0 0 22px}.section-heading h1{font-size:2rem;letter-spacing:-.035em;color:var(--ink);font-weight:700}.section-heading p{color:var(--muted);font-size:0.9375rem;max-width:80ch}.overview-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.overview-title h1{margin:0 0 5px}.overview-title p{color:var(--muted);font-size:0.9375rem;margin:0}.season-chip{border:1px solid #d3dce9;border-radius:6px;background:white;font-size:0.875rem;font-weight:600;color:#405577;padding:7px 12px}.overview-layout{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:24px}.overview-main,.overview-aside{min-width:0}.featured-fixture{background:var(--navy);border-radius:14px;color:white;padding:22px 25px 20px;position:relative;overflow:hidden}.featured-fixture:after{content:'';position:absolute;border:1px solid #ffffff0d;width:210px;height:210px;border-radius:50%;left:calc(50% - 105px);top:8px;pointer-events:none}.featured-top{display:flex;justify-content:space-between;gap:16px;font-size:0.875rem;color:#c7d6ef}.featured-top>span:first-child{color:white;font-weight:600}.featured-teams{display:flex;align-items:center;justify-content:center;gap:45px;padding:25px 0 22px}.featured-teams a{color:white;text-decoration:none;display:grid;justify-items:center;gap:8px;flex:1}.featured-teams strong{font-size:1.375rem;letter-spacing:-.035em}.featured-teams small{color:#bdcde4;font-size:0.875rem}.featured-vs{font-size:1.125rem;color:#b1c4e1;font-weight:500}.club-crest{box-shadow:none;border:0;background:transparent;border-radius:0;overflow:visible}.club-crest img{width:90%;height:90%;object-fit:contain}.featured-fixture .club-crest,.match-stage .club-crest{background:#fff;border-radius:50%;padding:10px;width:86px!important;height:86px!important}.featured-actions{border-top:1px solid #ffffff20;display:flex;align-items:center;gap:22px;padding-top:18px;position:relative;z-index:1}.featured-actions a{font-size:0.875rem;font-weight:500;color:white;text-decoration:none;min-height:44px;display:flex;align-items:center}.featured-actions .primary-action{background:white;color:var(--navy);border-radius:8px;padding:0 18px;gap:35px;font-weight:600}.featured-actions .primary-action:hover{background:#e3edff}.season-line{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:22px;padding:21px 0 26px;border-bottom:1px solid var(--line)}.season-line>div:first-child{display:flex;align-items:center;gap:14px;grid-row:1/3}.season-line span{font-size:0.875rem;color:var(--muted)}.season-line strong{font-size:1.5rem;font-weight:600}.season-line strong small{font-size:0.875rem;color:var(--muted);font-weight:400}.season-progress{display:flex;gap:3px}.season-progress i{height:6px;flex:1;background:#dde4ee;border-radius:2px}.season-progress i.done{background:var(--blue)}.season-progress i.next{background:#8eacef}.season-line>span{text-align:right;font-size:0.8125rem;margin-top:5px}.dashboard-section{margin-top:25px}.dashboard-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.dashboard-section-head h2{font-size:1.125rem;margin:0;font-weight:600}.dashboard-section-head>a{font-size:0.875rem;text-decoration:none;font-weight:500}.dashboard-fixtures{display:grid;gap:7px}.dashboard-fixture{display:grid;grid-template-columns:1fr 22px 1fr 15px;align-items:center;gap:12px;background:white;border:1px solid var(--line);border-radius:8px;padding:10px 14px;text-decoration:none;color:var(--ink);min-height:60px}.dashboard-fixture:hover{border-color:#91adea;background:#f9fbff}.dashboard-fixture.my-match{border-color:#b6c9f3;background:#edf3ff}.dashboard-fixture>span{display:flex;align-items:center;gap:10px;min-width:0}.dashboard-fixture b{font-size:0.9375rem;font-weight:600}.dashboard-fixture .club-crest{width:28px!important;height:28px!important}.dashboard-fixture>small{color:#7e8ba0;text-align:center}.dashboard-fixture .fixture-arrow{font-size:0.9375rem;color:#647995}.recent-scores{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.recent-scores a{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;color:#536078;font-size:0.875rem;text-decoration:none;padding:9px 0;border-bottom:1px solid var(--line)}.recent-scores a>span:last-child{text-align:right}.recent-scores b{display:flex;gap:8px;color:var(--ink);font-variant-numeric:tabular-nums;font-size:0.9375rem}.recent-scores i{color:#8b99aa;font-style:normal;font-weight:400}.my-team-summary{border:1px solid #c5d8f5;border-radius:12px;background:#e9f2ff;padding:17px 18px;margin-bottom:20px}.my-team-summary>div{display:flex;gap:10px;align-items:center}.my-team-summary>div>span:nth-child(2){font-weight:700;font-size:1rem}.my-team-summary small{display:block;font-size:0.8125rem;font-weight:400;color:#5b7393}.my-team-summary>div>a{margin-left:auto;text-decoration:none}.my-team-summary dl{display:grid;grid-template-columns:repeat(3,1fr);margin:16px 0 0;padding-top:13px;border-top:1px solid #cbdcf3;gap:15px}.my-team-summary dt{font-size:0.8125rem;color:#536b8b}.my-team-summary dd{margin:3px 0 0;font-size:1.5rem;font-weight:600;color:#1c3961}.my-team-summary dd small{display:inline;font-size:0.875rem}.mini-table{background:white;border:1px solid var(--line);border-radius:12px;padding:19px 16px 9px}.mini-table .dashboard-section-head{margin-bottom:17px}.mini-table-head,.mini-table-row{display:grid;grid-template-columns:19px minmax(0,1fr) 20px 24px;gap:7px;align-items:center}.mini-table-head{font-size:0.8125rem;color:#758197;padding:0 0 9px;border-bottom:1px solid var(--line)}.mini-table-row{min-height:42px;border-bottom:1px solid #edf0f6;text-decoration:none;color:var(--ink);font-size:0.875rem}.mini-table-row:last-child{border:0}.mini-table-row:hover{background:#f4f7ff}.mini-table-row.my-team{background:var(--blue-soft);margin:0 -8px;padding:0 8px;color:var(--blue);border-radius:5px}.mini-team{display:flex;align-items:center;gap:9px;min-width:0}.mini-team b{font-size:0.875rem;font-weight:500;overflow-wrap:anywhere}.mini-team .club-crest{width:24px!important;height:24px!important}.table-place{color:#748297;font-size:0.8125rem}.table-place.place-1{color:var(--blue);font-weight:700}.mini-table-row>strong{font-size:0.875rem}.archive-entry{display:flex;gap:12px;align-items:center;color:var(--ink);padding:22px 2px;text-decoration:none}.archive-entry>svg{width:25px;height:25px;color:#a27624}.archive-entry>span:nth-child(2){flex:1}.archive-entry b{font-size:0.875rem;font-weight:600}.archive-entry small{display:block;font-size:0.8125rem;color:var(--muted);margin-top:2px}.archive-entry>span:last-child{color:var(--muted)}
/* Match centre */
.match-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.match-card{display:block;min-height:0;padding:0;border:1px solid var(--line);border-radius:9px;color:var(--ink);box-shadow:none;background:#fff;overflow:hidden}.match-card:hover{border-color:#9aafe0;box-shadow:none}.match-card.selected{border:1px solid var(--blue);box-shadow:inset 0 3px 0 var(--blue);background:#eef3ff}.match-card-open{width:100%;min-height:125px;display:flex;flex-direction:column;gap:9px;padding:13px 10px;border:0;background:transparent;color:inherit;text-align:left;font-family:inherit}.match-card-open:hover{background:#f1f5ff}.fixture-state{font-size:0.8125rem;font-weight:500;color:#65758d;display:block;margin-bottom:3px}.fixture-state.finished{color:#147450}.fixture-team{display:flex;align-items:center;gap:5px;width:100%;font-size:0.8125rem;line-height:1.25}.fixture-team>span:nth-child(2){flex:1;overflow-wrap:anywhere}.fixture-team b{font-size:1rem;font-variant-numeric:tabular-nums}.fixture-team .club-crest{width:22px!important;height:22px!important}.match-detail{margin-top:22px}.match-overview{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:20px}.match-stage{background:var(--navy);border-radius:13px;color:white;display:flex;flex-direction:column;min-height:310px;overflow:hidden}.stage-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 22px;font-size:0.875rem;color:#ccdaed}.stage-status{padding:4px 9px;border-radius:5px;background:#ffffff14;color:#eef3ff;font-size:0.8125rem}.stage-status.complete{color:#c6f0db;background:#255941}.stage-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;padding:20px 22px 28px;flex:1}.stage-teams>a{display:grid;justify-items:center;text-align:center;gap:8px;text-decoration:none;color:white;min-width:0}.stage-teams h2{margin:3px 0 0;font-size:1.562rem;color:white;font-weight:600}.stage-teams small{font-size:0.875rem;color:#bfcee4}.stage-score{text-align:center;min-width:130px}.stage-score strong{font-size:3.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:16px;letter-spacing:-.04em;line-height:1.2;font-variant-numeric:tabular-nums}.stage-score strong span{font-size:1.875rem;color:#a3b9d9;font-weight:400}.stage-score>small{display:block;font-size:0.8125rem;margin-top:6px;color:#b5c8e2}.stage-history{padding:13px 20px;background:#ffffff09;border-top:1px solid #ffffff16;color:#dfebff;display:flex;justify-content:space-between;text-decoration:none;font-size:0.875rem}.stage-history:hover{background:#ffffff13}.match-insight{border:1px solid var(--line);background:white;border-radius:12px;padding:20px}.match-insight h2{font-size:1rem;margin:0 0 16px;font-weight:600}.squad-readiness{display:flex;align-items:center;justify-content:space-between;font-size:0.875rem;padding-bottom:14px;border-bottom:1px solid var(--line)}.squad-readiness>span{color:var(--muted)}.squad-readiness b{font-size:0.9375rem}.squad-readiness b span{padding:0 7px;color:#8794a7}.insight-stat{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:11px 0}.insight-stat>span{font-size:0.875rem;font-weight:600}.insight-stat .stat-metrics{gap:3px}.insight-stat .stat-metrics>span{min-width:0;gap:3px;padding:5px;border-radius:4px}.insight-stat .stat-metrics b{font-size:0.9375rem}.insight-stat .stat-metrics small{font-size:0.8125rem}.chance{border-top:1px solid var(--line);margin-top:14px;padding-top:11px}.chance h3{font-size:0.875rem;font-weight:500;color:var(--muted);margin:0 0 10px}.chance-bar{display:flex;height:6px;overflow:hidden;border-radius:3px;gap:3px}.chance-bar span:nth-child(1){background:var(--blue)}.chance-bar span:nth-child(2){background:#bbc7da}.chance-bar span:nth-child(3){background:#26a6c1}.chance-labels{display:flex;justify-content:space-between;gap:5px;margin-top:8px;font-size:0.8125rem;color:var(--muted)}.chance-labels b{display:block;font-size:0.9375rem;color:var(--ink);margin-top:2px}.forecast-empty{font-size:0.875rem;color:var(--muted);line-height:1.6;margin:0}.score-help{font-size:0.8125rem;color:var(--muted);margin-top:12px}.score-help summary{cursor:pointer;color:var(--blue);padding:5px 0}.rosters-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:29px}.rosters-heading h2{margin:0;font-size:1.25rem;font-weight:600}.rosters-heading>span{font-size:0.875rem;color:var(--muted)}.roster-grid{margin-top:14px;gap:20px}.panel,.result-team,.guide{border-color:var(--line);border-radius:12px;box-shadow:none}.team-panel{border-top:3px solid var(--club-bg,var(--blue))}.panel-head{padding:18px 16px;border-bottom-color:var(--line)}.team-panel .panel-head h2{font-size:1.188rem;margin:0;letter-spacing:-.035em;color:var(--ink)}.panel-head p{font-size:0.8125rem;color:var(--muted);line-height:1.6}.team-panel .panel-head .club-crest{width:30px!important;height:30px!important}.team-metrics>span{min-width:43px;padding:7px;gap:4px}.team-metrics b{font-size:1.25rem}.team-metrics small{font-size:0.8125rem}.lineup-mode{padding:10px 16px;background:#f7f9fc;color:#5c6b80;font-size:0.8125rem;border-bottom:1px solid var(--line)}.lineup-mode strong{font-size:0.875rem;font-weight:500}.lineup-mode p{font-size:0.8125rem;color:var(--muted);line-height:1.5}.lineup-key{background:#fff;padding:9px 16px;border-color:var(--line)}.lineup-key span,.lineup-badge{text-transform:none;letter-spacing:0;font-size:0.8125rem;font-weight:600;border-radius:4px}.player-row{padding:13px 12px;border-left-width:3px;border-bottom-color:#edf0f6}.player-row.slot-starter{background:#fff}.player-row.slot-bench{background:#f7f9fc}.player-row.status-starter{border-left-color:#c5d1e9}.player-row.status-in{background:#f0f7ff;border-left-color:#357bc4}.player-row.status-out{background:#fff8f5}.player-primary{gap:7px}.squad-number{background:#edf1f7;color:#657389;border-radius:5px;width:24px;height:24px;flex-basis:24px;font-size:0.8125rem;font-weight:600}.player-row.slot-bench .squad-number{background:#e4e9f1;color:#69768a}.readonly-lineup{font-size:0.9375rem;width:13px;flex-basis:13px;color:#3e826b}.player-name{font-size:0.9375rem;color:var(--ink)}.player-name strong{font-weight:600;color:var(--ink)}.player-name small,.player-meta,.real-match{color:var(--muted);font-size:0.8125rem}.player-outcome{font-size:0.8125rem;color:var(--muted);margin-left:47px}.player-metrics>span{min-width:35px;padding:6px;gap:3px;border-radius:5px}.player-metrics b{font-size:1rem}.player-metrics small{font-size:0.8125rem}.stat-metrics .metric-goals{background:#eef6ed;border-color:#d2e5cc;color:#3b662e}.stat-metrics .metric-saves{background:#edf3ff;border-color:#cfdcf6;color:#365e9d}.stat-metrics .metric-assists{background:#f5f0fa;border-color:#e1d6ed;color:#73508b}.squad-divider{padding:9px 16px;background:#edf1f7;border-top:1px solid #cfd8e6;border-bottom-color:var(--line);color:#596a80}.squad-divider span{font-size:0.8125rem;text-transform:none;letter-spacing:0}.squad-divider small{font-size:0.8125rem;color:var(--muted)}
/* Tables, profiles and directory share the same hierarchy */
.team-page-chooser{margin-bottom:16px}.team-page-chooser label{font-size:0.875rem;color:var(--muted)}.team-page-chooser select{border-color:var(--line);color:var(--ink)}.team-profile{background:var(--navy)!important;color:white;border-radius:12px;border-left:4px solid var(--club-bg,var(--cyan));padding:26px;box-shadow:none}.team-profile h1{color:white;font-size:2.25rem;letter-spacing:-.04em}.team-profile p{color:#c4d3e8;font-size:0.875rem}.team-profile>.club-crest{background:#fff;border-radius:50%;padding:9px}.team-profile .eyebrow{color:#c5d4e9;text-transform:none;letter-spacing:0;font-size:0.875rem}.team-profile label{font-size:0.875rem;font-weight:500}.team-subnav{gap:6px;margin-top:18px}.team-subnav a{font-size:0.875rem;border:1px solid #ffffff30;color:#e5eefc;background:transparent;border-radius:6px;padding:8px 12px;min-height:38px;display:inline-flex;align-items:center}.team-subnav a.active{background:white;color:var(--navy);border-color:white}.team-section{border-color:var(--line);border-radius:12px;padding:22px;margin-top:20px;box-shadow:none}.team-section h2{font-size:1.375rem;font-weight:600;letter-spacing:-.03em}.eyebrow{font-size:0.875rem;text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400}.team-section-head{gap:15px}.team-section-head>small,.team-period-caption{font-size:0.875rem;color:var(--muted)}.honor-grid,.team-stat-grid{gap:8px}.honor-grid article,.team-stat-grid article,.season-extremes article{background:#f7f9fc;border:1px solid var(--line);border-radius:8px;min-height:92px;padding:13px}.honor-grid article:first-child{background:#fbf6e9;border-color:#ece1c1}.honor-grid span,.team-stat-grid span,.season-extremes span{font-size:0.8125rem;text-transform:none;letter-spacing:0;color:var(--muted);font-weight:500}.honor-grid strong,.team-stat-grid strong,.season-extremes strong{font-size:1.688rem;color:var(--ink);font-weight:600}.honor-grid small,.team-stat-grid small{font-size:0.8125rem;color:var(--muted)}.summary-grid article:nth-child(2),.summary-grid article:nth-child(6){background:#f2f6ff;border-color:#d6e1f5}.result-team{padding:22px;margin:20px 0}.result-team h2{font-size:1.312rem;color:var(--ink)}.result-team>p{color:var(--muted);font-size:0.875rem;line-height:1.7}.table-wrap{border:1px solid var(--line);border-radius:8px;overflow:auto;max-width:100%;scrollbar-width:thin;scrollbar-color:#c1ccdd transparent}.table-wrap table{margin:0;border-collapse:collapse;width:100%}.table-wrap th,.league-table th,.league-table thead tr:nth-child(2) th,.player-stats-table th{background:#eaf0f9;color:#475c7b;border-color:#d8e2f0;font-size:0.875rem;font-weight:600;text-transform:none;letter-spacing:0}.table-wrap td,.league-table td,.player-stats-table td{font-size:0.875rem;border-color:#e8edf5;padding:12px 10px;color:var(--ink)}.table-wrap tr:nth-child(even){background:#f8fafd}.table-wrap tr:hover{background:#eef3fd}.league-table .rank-1{background:#f2f6ff}.league-table .rank-2,.league-table .rank-3{background:#fff}.league-table .rank-11,.league-table .rank-12{background:#fff5f2}.league-table .rank-row{border-left-width:3px}.league-table .rank-1 td:first-child{color:var(--blue);font-weight:700}.table-team-inner{gap:10px}.league-table .table-team{font-size:0.9375rem}.league-table .table-team a{color:var(--ink);text-decoration:none}.league-table .club-crest{width:28px!important;height:28px!important}.league-table td.points strong{color:var(--blue);font-size:1.062rem}.table-sort{min-height:36px}.player-stat-name strong{font-size:0.9375rem;color:var(--ink);font-weight:600}.player-stat-name small{font-size:0.8125rem;color:var(--muted)}.player-stats-table th:first-child,.player-stats-table th:last-child{background:#eaf0f9}.player-stats-table td:first-child,.player-stats-table td:last-child{background:#fff}.player-stats-table tbody tr:nth-child(even) td:first-child,.player-stats-table tbody tr:nth-child(even) td:last-child{background:#f8fafd}.player-stats-table tbody tr:hover td:first-child,.player-stats-table tbody tr:hover td:last-child{background:#eef3fd}.player-filters{background:#f8fafd;border:1px solid var(--line);border-radius:8px;padding:14px;gap:12px}.player-filters label{font-size:0.875rem;font-weight:500;color:var(--muted)}.player-filters select{font-size:0.875rem;color:var(--ink);border-color:#c9d3e3}.player-filters>span{font-size:0.875rem;color:var(--muted)}.player-team-tag{font-size:0.8125rem;border-radius:4px}.table-fixture{background:#f3f6fb;border:1px solid #e2e8f1;font-size:0.875rem;color:var(--ink);padding:13px}.table-fixture span,.table-fixture small{font-size:0.8125rem;color:var(--muted)}.roster-meta{font-size:0.875rem;color:var(--muted);margin:15px 0;gap:12px}.roster-legend{display:none}.squad-toolbar{margin:22px 0 16px}.status-tabs{display:flex;gap:4px;border-bottom:1px solid #d8e0ed;margin-bottom:16px;overflow-x:auto}.status-tabs button{display:flex;gap:8px;align-items:center;white-space:nowrap;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 14px;font-size:0.875rem;color:var(--muted);min-height:46px}.status-tabs button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.status-tabs button:hover{background:var(--blue-soft)}.status-tabs button span{background:#e7edf7;padding:0 6px;border-radius:4px;font-size:0.8125rem;color:#52678c}.status-tabs button.active span{background:#dce7ff;color:var(--blue)}.squad-search-row{display:flex;gap:12px}.design-search-label{flex:1}.design-search-label input{width:100%;font-size:0.875rem;min-height:44px}.squad-search-row select{font-size:0.875rem;min-width:150px}.roster-status{border-left:0!important;border-top:1px solid var(--line)!important}.roster-status .team-section-head strong{background:#eef2f8;color:#5d718d;border-radius:6px;font-size:0.9375rem;padding:4px 9px}.roster-status .team-section-head h2{font-size:1.25rem}.roster-status h3{font-size:0.9375rem;font-weight:600;margin:20px 0 10px}.squad-list{border-color:var(--line);border-radius:8px;scrollbar-width:thin}.squad-list-head{font-size:0.8125rem;text-transform:none;letter-spacing:0;background:#eaf0f9;color:#4d6382;font-weight:500;padding:11px 12px}.squad-list-row{font-size:0.875rem;padding:12px;border-color:#e8edf5;color:var(--ink);background:#fff;min-height:61px}.squad-list-row:nth-child(odd){background:#f8fafd}.squad-list-row:hover{background:#eef3fd}.squad-list-row strong{font-size:0.9375rem;color:var(--ink);font-weight:600}.squad-list-row .position-badge{font-size:0.8125rem;background:#edf1f7;color:#5c6f89;height:23px}.squad-list-row .sports-link{font-size:0.8125rem;text-decoration:none}.squad-list-row>span:nth-child(n+5){font-variant-numeric:tabular-nums}.squad-player-identity{min-width:0}.availability-toggle{min-height:28px;min-width:28px}.availability-details{grid-column:1/-1}.data-notes{border:1px solid var(--line);border-radius:8px;padding:13px 16px;background:#fff;margin:20px 0;color:var(--muted);font-size:0.875rem}.data-notes summary{cursor:pointer;font-weight:500;color:#536c93}.data-notes .us-panel{margin:12px 0 0;background:#f7f9fc;border-color:var(--line);font-size:0.875rem}.data-notes .us-panel span{font-size:0.875rem;line-height:1.7}.h2h-controls,.hall-controls{background:#fff;border-color:var(--line)}.h2h-controls label,.hall-controls label{font-size:0.875rem;color:var(--muted)}.h2h-controls select,.hall-controls select{color:var(--ink);border-color:var(--line)}.source-note,.hint{color:var(--muted);font-size:0.875rem;line-height:1.65}.empty{background:#f7f9fc;color:var(--muted);border-color:var(--line);font-size:0.9375rem;border-radius:8px}.notice{border-color:#c4d5ef;background:#eaf2ff;color:#314e7b;border-radius:8px;font-size:0.875rem;margin-bottom:18px}.notice:empty{display:none}.notice.error{background:#fff1ed;border-color:#edc7bc;color:#923f29}.upcoming-list a{background:#f6f8fc;border-color:var(--line);color:var(--ink)}.upcoming-list strong{font-size:0.875rem;color:var(--blue)}.upcoming-list small{font-size:0.8125rem;color:var(--muted)}.team-recent-list a{color:var(--ink)}.record-grid article{background:#f7f9fc;border-color:var(--line)}.record-grid strong{color:var(--ink)}.team-stat-grid{overflow-wrap:anywhere}.chart-container svg,.positions-chart svg{max-width:100%}.data-gap,.muted{background:#f2f5fa;border-color:#bbc8d9;color:var(--muted)}.secondary{background:#f1f5fc;border-color:#ccd7e8;color:var(--blue);font-size:0.875rem}footer{border-top:1px solid var(--line);padding:24px 0 32px;margin-top:30px;display:flex;gap:20px;align-items:center;font-size:0.8125rem;color:var(--muted);line-height:1.5}footer p{margin:0;flex:1}footer a{text-decoration:none}.mobile-nav{display:none}.loading-state{min-height:380px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--muted)}.loading-state h1{font-size:1.5rem;margin:20px 0 4px}.loading-state p{font-size:0.875rem}.loading-ring{width:28px;height:28px;border:3px solid #dde5f1;border-top-color:var(--blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{border:1px solid var(--line);border-radius:16px;width:min(580px,calc(100% - 32px));max-height:85dvh;padding:25px;box-shadow:0 25px 100px #142a5340;color:var(--ink)}dialog::backdrop{background:#14254177;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.dialog-head h2{font-size:1.25rem;margin:0}.dialog-head .icon-button{flex:none}.search-field{display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid #b8c8e1;border-radius:8px;background:#f8faff;color:#536d93}.search-field input{width:100%;border:0;background:transparent;font-size:0.9375rem;min-height:48px}.search-field svg{width:19px;height:19px;flex:none}.search-result{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.search-result a:first-child{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:0.9375rem;flex:1}.search-result a{text-decoration:none;font-size:0.875rem;min-height:44px;display:flex;align-items:center}.search-result b{font-weight:600}.search-result .club-crest{width:28px!important;height:28px!important}.dialog-links{display:flex;gap:15px;flex-wrap:wrap;padding-top:20px;font-size:0.875rem}.dialog-links a{min-height:32px;display:flex;align-items:center}.search-empty{padding:20px 0;color:var(--muted);font-size:0.9375rem}.compact .table-wrap td{padding:7px 9px}.compact .squad-list-row{min-height:46px;padding-top:8px;padding-bottom:8px}.compact .player-row{padding-top:8px;padding-bottom:8px}.compact .team-section{padding:18px}.compact .panel-head{padding:13px}.compact .mini-table-row{min-height:35px}
@media(min-width:1650px){.match-card-open{padding:14px}.fixture-team{font-size:0.875rem}.match-overview{grid-template-columns:minmax(0,1fr) 330px}.overview-layout{grid-template-columns:minmax(0,1fr) 340px;gap:28px}}
@media(max-width:1250px){.sidebar{width:204px;padding-left:12px;padding-right:12px}.sidebar .brand{font-size:0.9375rem;gap:7px}.brand-mark{width:30px;height:36px}.nav a{font-size:0.875rem;padding:11px 10px;gap:9px}.workspace{margin-left:204px}.shell{padding:0 24px}.topbar{padding:0 24px}.overview-layout{grid-template-columns:minmax(0,1fr) 280px;gap:18px}.featured-teams{gap:20px}.featured-top{font-size:0.8125rem}.featured-teams strong{font-size:1.25rem}.featured-actions{gap:15px}.featured-actions .primary-action{gap:16px}.season-line{grid-template-columns:1fr;gap:8px}.season-line>div:first-child{grid-row:auto;justify-content:space-between}.season-line>span{margin:0}.match-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.match-card-open{min-height:115px;padding:12px}.fixture-team{font-size:0.875rem}.match-overview{grid-template-columns:minmax(0,1fr) 255px;gap:15px}.stage-teams{padding:20px 15px;gap:10px}.stage-score{min-width:105px}.stage-score strong{font-size:3rem;gap:10px}.stage-teams h2{font-size:1.375rem}.stage-head{font-size:0.8125rem;padding:17px}.match-stage .club-crest{width:70px!important;height:70px!important}.roster-grid{grid-template-columns:1fr}.honor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.search-open kbd{margin-left:10px}.breadcrumb>span:first-child,.breadcrumb>span:nth-child(2){display:none}}
@media(max-width:1000px){.overview-layout{grid-template-columns:1fr}.overview-aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.mini-table{grid-column:2;grid-row:1/3}.archive-entry{grid-column:1;grid-row:2}.my-team-summary{margin:0}.featured-fixture{padding:22px 30px}.featured-top{font-size:0.875rem}.featured-teams{gap:45px}.featured-teams strong{font-size:1.5rem}.featured-actions .primary-action{gap:40px}.match-overview{grid-template-columns:1fr}.match-insight{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.match-insight>h2{grid-column:1/-1}.squad-readiness{grid-column:1/-1}.chance{grid-column:2;grid-row:3/5;margin:0;border:0}.score-help{grid-column:1/-1}.stage-score strong{font-size:3.875rem}.stage-teams{padding:20px 35px}.stage-teams h2{font-size:1.75rem}.match-stage .club-crest{width:86px!important;height:86px!important}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.top-actions{gap:10px}.search-open{padding:8px}.search-open span{display:none}.search-open kbd{display:none}.topbar{height:65px}.team-profile{flex-wrap:wrap}.team-profile>label{min-width:150px;flex:1 1 100%}.team-profile h1{font-size:2rem}.team-section h2{font-size:1.25rem}.team-section{padding:19px}.recent-scores{gap:8px 30px}}
@media(max-width:760px){:root{font-size:100%}.sidebar{display:none}.workspace{margin-left:0;padding-bottom:75px}.topbar{height:60px;padding:0 18px}.breadcrumb{font-size:0.9375rem}.breadcrumb strong{font-weight:600}.top-actions{gap:10px}.avatar{width:30px;height:30px;font-size:0.8125rem}.icon-button{min-height:38px;width:38px}.search-open{min-height:38px;width:38px;display:grid;place-items:center}.shell{padding:0 18px}.preview-notice{padding:9px 0;gap:7px;font-size:0.8125rem}.preview-notice p{font-size:0}.preview-notice p:after{content:'Только просмотр';font-size:0.8125rem}.roundbar{padding:16px 0;min-height:65px;flex-wrap:nowrap}.roundbar.table-mode{min-height:34px}.data-status{font-size:0.8125rem;gap:4px}.roundbar select{min-height:38px;min-width:62px;font-size:0.875rem}.roundbar label{font-size:0.875rem}.roundbar>#roundDate{font-size:0.8125rem}.overview-title{margin-bottom:20px}.overview-title h1,.section-heading h1{font-size:1.75rem}.overview-title p,.section-heading p{font-size:0.875rem}.season-chip{font-size:0.8125rem;padding:6px 9px}.featured-fixture{padding:18px}.featured-top{font-size:0.8125rem;gap:8px}.featured-teams{gap:20px;padding:23px 0}.featured-teams strong{font-size:1.312rem}.featured-fixture .club-crest{width:72px!important;height:72px!important}.featured-actions{justify-content:space-between;gap:10px;padding-top:15px}.featured-actions a{font-size:0.875rem}.featured-actions .primary-action{padding:0 14px;gap:22px}.season-line{grid-template-columns:1fr;margin:0;padding:18px 0 23px}.dashboard-section-head h2{font-size:1.125rem}.dashboard-fixture{padding:10px;gap:7px;grid-template-columns:1fr 14px 1fr 10px}.dashboard-fixture b{font-size:0.875rem}.dashboard-fixture>span{gap:7px}.dashboard-fixture .club-crest{width:25px!important;height:25px!important}.overview-aside{grid-template-columns:1fr}.mini-table{grid-column:auto;grid-row:auto}.archive-entry{grid-column:auto;grid-row:auto;margin-top:-15px}.mini-table-row{min-height:47px;font-size:0.875rem}.mini-team b{font-size:0.875rem}.mini-table{padding:20px}.recent-scores{grid-template-columns:1fr;gap:0}.recent-scores a{font-size:0.875rem;padding:12px 0}.recent-scores b{font-size:1rem;gap:12px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #d9e2ee;z-index:40;padding:7px 5px max(7px,env(safe-area-inset-bottom));box-shadow:0 -3px 18px #1c315407}.mobile-nav a,.mobile-nav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 0;color:#66748b;text-decoration:none;font-size:0.8125rem;font-weight:500;min-height:47px;border-radius:7px}.mobile-nav span{font-size:1.312rem;height:22px;line-height:22px}.mobile-nav .active{background:#edf3ff;color:var(--blue);font-weight:600}.mobile-nav svg{width:20px;height:20px}.section-heading{margin-bottom:18px}.match-grid{display:flex;gap:8px;overflow-x:auto;padding:0 0 8px;scroll-snap-type:x proximity;scrollbar-width:thin}.match-card{flex:0 0 152px;scroll-snap-align:start}.match-card-open{min-height:118px}.match-detail{margin-top:15px}.stage-head{padding:16px;font-size:0.8125rem;gap:8px}.stage-status{font-size:0.8125rem;padding:4px 7px}.stage-teams{padding:23px 14px;gap:9px}.stage-teams h2{font-size:1.25rem}.stage-teams small{font-size:0.8125rem}.stage-score{min-width:92px}.stage-score strong{font-size:2.688rem;gap:9px}.stage-score strong span{font-size:1.562rem}.stage-score>small{font-size:0.8125rem}.match-stage .club-crest{width:65px!important;height:65px!important;padding:7px}.match-stage{min-height:260px}.stage-history{font-size:0.8125rem;padding:12px 15px}.match-insight{padding:17px;gap:0 20px}.rosters-heading{align-items:flex-start;gap:8px;flex-direction:column;margin-top:25px}.rosters-heading h2{font-size:1.25rem}.rosters-heading>span{font-size:0.8125rem}.roster-grid{margin-top:13px;gap:18px}.panel-head{padding:15px 12px;flex-wrap:nowrap}.team-panel .panel-head h2{font-size:1.125rem}.team-metrics{width:auto;order:initial}.team-metrics>span{min-width:38px;flex:initial;padding:6px;gap:3px}.team-metrics b{font-size:1.062rem}.team-metrics small{font-size:0.8125rem}.player-row{padding:12px 10px}.player-primary{gap:6px}.player-name{font-size:0.9375rem;flex-basis:calc(100% - 79px)}.player-metrics{margin-left:auto;order:4}.lineup-badge{margin-left:43px;order:5;font-size:0.8125rem}.player-metrics>span{min-width:38px;padding:6px}.player-outcome{margin-left:43px;font-size:0.8125rem}.lineup-key{padding:9px 12px}.lineup-mode{padding:10px 12px}.squad-divider{padding:10px 12px}.team-profile{padding:20px 16px;gap:14px}.team-profile>.club-crest{width:62px!important;height:62px!important}.team-profile>div{min-width:0}.team-profile h1{font-size:1.875rem}.team-profile p{font-size:0.875rem}.team-profile .eyebrow{font-size:0.8125rem}.team-subnav a{font-size:0.8125rem;padding:8px 10px;min-height:40px}.team-page-chooser{margin-bottom:12px}.team-page-chooser select{min-width:160px}.team-section{padding:17px 14px;margin:16px 0;border-radius:10px}.team-section h2{font-size:1.188rem}.team-section-head{align-items:flex-start;gap:10px;margin-bottom:15px}.team-section-head>small{font-size:0.8125rem}.honor-grid,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.honor-grid article,.team-stat-grid article{min-height:88px;padding:12px}.honor-grid strong,.team-stat-grid strong{font-size:1.562rem}.team-section .eyebrow{font-size:0.8125rem}.result-team{padding:16px 12px}.table-wrap td{padding:11px 9px}.table-wrap th{font-size:0.8125rem}.league-table .table-team{position:sticky;left:0;background:#f7faff;z-index:1;min-width:150px}.league-table thead th:nth-child(2){position:sticky;left:0;z-index:2;background:#eaf0f9}.player-filters{padding:12px;display:grid;grid-template-columns:1fr 1fr;align-items:end}.player-filters .design-search-label{grid-column:1/-1}.player-filters label,.player-filters select{min-width:0;width:100%;font-size:0.875rem}.player-filters>span{grid-column:1/-1;font-size:0.8125rem;padding:0}.squad-toolbar{margin:18px 0 14px}.status-tabs button{font-size:0.875rem;padding:10px 9px;gap:5px}.status-tabs button span{font-size:0.8125rem;padding:0 4px}.squad-search-row{gap:8px}.squad-search-row select{min-width:100px;padding:8px;font-size:0.875rem}.design-search-label input{font-size:0.875rem;padding:10px}.squad-list{border:0;background:transparent;overflow:visible}.squad-list-head{display:none}.squad-list-row{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 7px;padding:14px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:9px;min-height:0;background:white}.squad-list-row:nth-child(odd){background:white}.squad-player-identity{grid-column:1/5}.squad-list-row>span:nth-child(2){grid-column:1/4;grid-row:2;font-size:0.875rem;color:var(--muted)}.squad-list-row>span:nth-child(3){grid-column:4/6;grid-row:2;text-align:right}.squad-list-row>span:nth-child(4){grid-column:5;grid-row:1;text-align:right}.squad-list-row>span:nth-child(n+5){grid-row:3;border-top:1px solid var(--line);padding-top:8px;font-size:0.9375rem;font-weight:500}.squad-list-row>span:nth-child(n+5):before{content:attr(data-label);display:block;font-size:0.8125rem;color:var(--muted);font-weight:400;margin-bottom:3px}.squad-list-row>span:nth-child(4) a{font-size:0.8125rem;min-height:28px;display:inline-flex;align-items:center}.squad-list-row .availability-row-details{grid-column:1/-1;grid-row:4;min-width:0}.squad-list-row strong{font-size:0.9375rem}.squad-list-row .position-badge{font-size:0.8125rem;height:23px;padding:0 6px}.roster-status .team-section-head{margin-bottom:10px}.roster-meta{font-size:0.8125rem;flex-wrap:wrap}.source-note{font-size:0.8125rem}.upcoming-list a{flex-wrap:wrap}.upcoming-list strong{font-size:0.8125rem}.upcoming-list b{font-size:0.9375rem}.record-grid{grid-template-columns:1fr}.roster-status h3{font-size:0.875rem;margin-top:18px}.status-tabs{scrollbar-width:none}.status-tabs::-webkit-scrollbar{display:none}.roster-status{background:transparent;border:0!important;padding:0}.roster-status .team-section-head{padding:0 2px}.roster-status .eyebrow{display:none}.data-notes{font-size:0.8125rem}footer{flex-wrap:wrap;gap:10px;padding:20px 0;font-size:0.8125rem;margin-top:20px}footer p{flex-basis:60%}dialog{padding:18px;max-height:80dvh}.dialog-head h2{font-size:1.125rem}.search-result a:first-child{font-size:0.9375rem}.compact .squad-list-row{padding:10px}.compact .team-section{padding:14px}.compact .roster-status{padding:0}}
@media(max-width:380px){.shell{padding:0 12px}.topbar{padding:0 12px}.featured-top{font-size:0.8125rem}.featured-teams strong{font-size:1.188rem}.featured-actions .primary-action{gap:14px;padding:0 12px}.stage-score{min-width:80px}.stage-score strong{font-size:2.375rem;gap:7px}.stage-teams h2{font-size:1.125rem}.match-stage .club-crest{width:58px!important;height:58px!important}.match-insight{gap:0 12px}.insight-stat>span{font-size:0.8125rem}.team-metrics>span{min-width:34px;padding:5px}.team-metrics b{font-size:1rem}.data-status{font-size:0.8125rem}.roundbar{gap:8px}.status-tabs button{padding:10px 7px;font-size:0.8125rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.preview-notice,.mobile-nav,footer{display:none}.workspace{margin:0;padding:0}.shell{padding:0}.team-section,.match-stage,.panel{break-inside:avoid}.table-wrap{overflow:visible}}
/* Personal workspace and explicit own-team / opponent markers. */
[hidden]{display:none!important}
.my-club{width:100%;background:white;text-align:left;display:grid;grid-template-columns:1fr auto;gap:3px 10px;cursor:pointer}
.my-club>span:first-child{font-size:0.875rem;color:var(--muted)}.my-club strong{grid-row:2;font-size:0.9375rem}.my-club>span:last-child{grid-column:2;grid-row:1/3}
.team-switcher{display:flex;align-items:center;gap:9px;border:1px solid #c9d6ed;background:#f4f7ff;color:#143a91;padding:8px 12px;border-radius:9px;min-height:42px;white-space:nowrap;font-size:0.875rem}.team-switcher-label{font-weight:400;color:#526681}
.change-team-button{border:1px solid var(--line);border-radius:8px;background:white;color:var(--blue);padding:10px 13px;font-size:0.875rem;min-height:44px}
.team-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0 10px}.team-choice-grid button{display:flex;align-items:center;gap:10px;min-height:68px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);padding:12px;text-align:left;font-size:0.9375rem}.team-choice-grid button[aria-pressed=true]{background:var(--blue-soft);border:2px solid var(--blue);padding:11px}.team-choice-grid button:hover{background:#f0f5ff;border-color:var(--blue)}.team-choice-grid .club-crest{width:30px;height:34px}.team-choice-grid button>span:last-child:not(:nth-child(2)){margin-left:auto;color:var(--blue)}
#teamChoiceDialog{width:min(640px,calc(100% - 32px));max-height:85dvh;overflow:auto}#teamChoiceHelp,#teamChoiceStatus{font-size:0.9375rem;color:var(--muted);line-height:1.6}#teamChoiceStatus{min-height:22px}#teamChoiceStatus:empty{margin:0}#teamChoiceOptions button:disabled{opacity:.6;cursor:wait}
.team-onboarding{max-width:730px;margin:35px auto 80px;background:white;border:1px solid var(--line);border-radius:16px;padding:48px}.team-onboarding h1{font-size:2.25rem;line-height:1.15;margin:14px 0}.team-onboarding p{color:var(--muted);font-size:1rem;line-height:1.7}.team-onboarding .primary-action{margin:16px 0;background:var(--blue);color:white;border:0;min-height:46px}.team-onboarding>a{display:block;font-size:0.9375rem;margin-top:12px}
.personal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:0.875rem;margin:4px 0 14px}.personal-legend .my-team{color:#1749ac}.personal-legend .next-opponent{color:#9a5700}.personal-legend button{color:var(--blue);background:transparent;border:0;padding:4px 0;font-size:0.875rem;text-decoration:underline;text-underline-offset:3px}.mini-table .personal-legend{padding:0 16px;margin:0 0 8px;gap:6px 10px}.mini-table .personal-legend button{display:none}
.mini-table-row.my-team,.league-table tr.my-team td{background:#eaf1ff!important}.mini-table-row.next-opponent,.league-table tr.next-opponent td{background:#fff4dd!important}.mini-table-row.my-team{box-shadow:inset 3px 0 #1e55ca}.mini-table-row.next-opponent{box-shadow:inset 3px 0 #b77913}.league-table tr.my-team td:first-child{box-shadow:inset 3px 0 #1e55ca}.league-table tr.next-opponent td:first-child{box-shadow:inset 3px 0 #b77913}
.team-role-badge{display:block;font-size:0.8125rem;font-weight:500;line-height:1.3;margin-top:3px;white-space:normal}.team-role-badge.my-team{color:#1c50b2}.team-role-badge.next-opponent{color:#94540b}.league-table .team-role-badge{font-size:0.8125rem;margin:2px 0 0}.league-table .table-team-focus{flex-wrap:wrap;gap:5px}.league-table .table-team-focus .team-role-badge{flex-basis:100%;text-align:left;padding-left:31px}.mini-table-row .mini-team>span{min-width:0}.mini-table-row .mini-team b{white-space:nowrap}.mini-table-row:has(.team-role-badge){min-height:57px}
.personal-results{display:grid;gap:0;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:white}.personal-results>a{display:block;text-decoration:none;color:var(--ink);padding:15px 18px}.personal-results>a+a{border-top:1px solid var(--line)}.personal-results>a:hover{background:#f5f8fd}.personal-results small{color:var(--muted);font-size:0.875rem}.personal-results>a>div{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:14px;margin-top:10px;font-size:0.9375rem}.personal-results span:last-child{text-align:right}.personal-results b{text-align:center;font-size:1.062rem}.personal-results .own-name{color:var(--blue);font-weight:700}
.opponent-preview{margin-top:24px;border:1px solid #e8d8b5;background:#fffaf0;border-radius:12px;padding:20px}.opponent-preview>div:first-child{display:flex;align-items:center;gap:13px}.opponent-preview small{font-size:0.875rem;color:#865818}.opponent-preview h2{margin:4px 0 0;font-size:1.25rem}.opponent-links{display:flex;gap:24px;margin-top:20px;font-size:0.875rem}.season-finished{padding:32px;min-height:220px}.season-finished p{color:#d2e0f4}.season-finished .primary-action{margin-top:18px}#adminLogin{position:fixed;bottom:10px;right:18px;padding:8px 12px;background:white;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:0.875rem;z-index:20}
@media(max-width:1100px){.team-switcher-label{display:none}.top-actions{gap:8px}.search-open kbd{margin-left:5px}}
@media(max-width:700px){.team-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.team-choice-grid button{font-size:0.875rem;padding:9px;min-height:60px}.team-choice-grid button[aria-pressed=true]{padding:8px}.team-switcher{max-width:175px;font-size:0.875rem;padding:8px}.team-switcher strong{overflow:hidden;text-overflow:ellipsis}.overview-title{align-items:flex-start;gap:10px}.overview-title h1{font-size:1.562rem}.overview-title .change-team-button{max-width:108px;font-size:0.875rem;padding:8px}.team-onboarding{padding:26px;margin:15px 0 40px}.team-onboarding h1{font-size:1.812rem}.personal-results>a{padding:13px}.personal-results>a>div{font-size:0.875rem;gap:8px;grid-template-columns:1fr 56px 1fr}.opponent-links{flex-wrap:wrap;gap:15px}.personal-legend{font-size:0.8125rem}#adminLogin{position:static;display:block;margin:0 16px 85px}.topbar .breadcrumb{display:none}.topbar .top-actions{width:100%;justify-content:space-between}.topbar .search-open{flex:1;max-width:170px}}
.overview-permalink{font-size:0.875rem;white-space:nowrap;color:var(--blue);text-underline-offset:3px;padding:10px 0}.sidebar .nav{padding-bottom:20px}
@media(max-width:700px){.overview-title{flex-wrap:wrap}.overview-permalink{font-size:0.875rem;padding:0}}

/* Participant workspace */
.pt-card{background:#fff;border:1px solid var(--border,#e5e9ef);border-radius:16px;padding:24px;margin:18px 0;min-width:0}.pt-card h1{font-size:1.75rem;margin:6px 0 16px}.pt-card h2{font-size:1.125rem;margin:0 0 16px}.pt-card p{line-height:1.6;margin:10px 0}.pt-card small,.pt-player small{display:block;color:#64748b;font-size:0.875rem;line-height:1.6}.pt-overview{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pt-clock{font-size:2rem;font-variant-numeric:tabular-nums;display:block;color:#2563eb;margin:14px 0}.pt-dates,.pt-freshness dl{margin:16px 0}.pt-dates>div,.pt-freshness dl>div{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:18px;padding:10px 0;border-bottom:1px solid #edf0f5}.pt-card dt{color:#64748b}.pt-card dd{margin:0;font-size:0.9375rem;line-height:1.6}.pt-warning{color:#92400e;background:#fff8e8;padding:12px;border-radius:9px}.pt-success{color:#16734a}.pt-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0 8px}.pt-actions button,.pt-login button,.pt-member-form button{border:1px solid #dce3eb;padding:10px 14px;border-radius:8px;cursor:pointer}.pt-actions .primary-action,.pt-login .primary-action,.pt-member-form .primary-action{background:#2563eb;color:#fff;border:0}.pt-actions button:disabled,.pt-login button:disabled{opacity:.45;cursor:not-allowed}.pt-alert{padding:12px 0;border-bottom:1px solid #edf0f5}.pt-alert strong{font-size:0.9375rem}.pt-alert p{font-size:0.9375rem}.pt-counts{display:flex;flex-wrap:wrap;gap:24px;font-size:1.125rem}.pt-validation li{line-height:1.8;color:#92400e}.pt-player{display:grid;grid-template-columns:1.2fr 1.3fr 1fr 140px;gap:16px;align-items:center;padding:16px 12px;border-bottom:1px solid #edf0f5;font-size:0.9375rem}.pt-player .availability-row-details{grid-column:1/-1}.pt-player.pt-selected{background:#f3f7ff}.pt-player>div{min-width:0}.pt-position{padding:20px 0 8px!important;margin:0!important}.pt-player select,.pt-member-form select,.pt-login input,.pt-member-form input{padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;width:100%;font:inherit}.pt-muted{color:#64748b;font-size:0.9375rem}.pt-card textarea{box-sizing:border-box;width:100%;padding:16px;border:1px solid #cbd5e1;border-radius:8px;font:14px/1.7 inherit;resize:vertical}.pt-calendar-player{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #edf0f5;font-size:0.9375rem}.pt-login{max-width:540px;margin:32px auto}.pt-login form{display:grid;gap:14px;margin:24px 0}.pt-login label,.pt-member-form label{display:grid;gap:8px;font-size:0.9375rem}.pt-auth-link{font-size:0.9375rem;white-space:nowrap;color:#2563eb}.pt-member-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:16px;align-items:end}.pt-freshness>p{font-size:0.875rem;color:#64748b}.pt-card a:focus-visible,.pt-card button:focus-visible,.pt-card select:focus-visible{outline:3px solid #60a5fa;outline-offset:3px}
@media(max-width:1100px){.pt-player{grid-template-columns:1.2fr 1.2fr 130px}.pt-projection{grid-column:2}.pt-player>label{grid-column:3;grid-row:1/3}.pt-member-form{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.pt-overview{grid-template-columns:1fr;gap:0}.pt-card{padding:18px;margin:12px 0}.pt-player{grid-template-columns:1fr 120px;padding:16px 8px;gap:10px}.pt-player>div:nth-child(2),.pt-projection{grid-column:1/-1}.pt-player>label{grid-column:2;grid-row:1}.pt-counts{gap:12px;font-size:1rem}.pt-calendar-player{grid-template-columns:1fr}.pt-dates>div,.pt-freshness dl>div{grid-template-columns:1fr;gap:6px}.pt-auth-link{font-size:0.875rem;max-width:65px;white-space:normal;line-height:1.3}.pt-member-form{grid-template-columns:1fr}.pt-card .pt-actions>*{flex:1 1 auto;text-align:center}.pt-clock{font-size:1.75rem}}
.pt-forecast-help{font-size:0.875rem;margin:6px 0}.pt-forecast-help summary{cursor:pointer;color:#2563eb}.pt-forecast-help p{font-size:0.875rem;line-height:1.5}
/* Selection totals remain visible throughout the whole planner, above mobile navigation. */
body[data-view="planner"] #content{padding-bottom:110px}.pt-selection-bar{position:fixed;left:268px;right:36px;bottom:20px;z-index:35;padding:18px 24px;border:1px solid #bfd1f7;border-radius:14px;background:#fff;box-shadow:0 6px 30px #172e5326}.pt-selection-bar .pt-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:center;max-width:760px;margin:auto}.pt-selection-bar .pt-counts>span{display:flex;align-items:center;justify-content:center;gap:12px;color:#475569;font-size:1rem;white-space:nowrap}.pt-selection-bar .pt-counts b{font-size:1.375rem;font-variant-numeric:tabular-nums;color:#1646c2}.pt-selection-bar .pt-complete b{color:#16734a}.pt-forecast-common{margin:0 0 18px;padding:14px 16px;background:#f5f8fd;border-radius:10px}.pt-forecast-common summary{font-size:0.9375rem;font-weight:600}.pt-forecast-common p{max-width:850px;font-size:0.9375rem}.pt-menu-link{display:inline-flex;align-items:center;gap:7px}.pt-menu-link svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1250px){.pt-selection-bar{left:228px;right:24px}}
@media(max-width:760px){.pt-selection-bar{left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));padding:14px 12px;border-radius:12px}.pt-selection-bar .pt-counts{gap:8px}.pt-selection-bar .pt-counts>span{flex-direction:column;gap:3px;font-size:0.875rem}.pt-selection-bar .pt-counts b{font-size:1.25rem}body[data-view="planner"] #content{padding-bottom:118px}}
@media print{.pt-selection-bar{position:static;margin:12px 0;box-shadow:none}body[data-view="planner"] #content{padding-bottom:0}}
/* Official applications and registration eligibility */
.pt-registration-inline{border-top:1px solid #e5e9ef;margin-top:22px;padding-top:22px}.pt-registration-inline h3{font-size:1rem;line-height:1.4;margin:8px 0}.pt-registration-inline .pt-clock{font-size:1.625rem}.pt-overview{align-items:start}
.pt-submission h3{font-size:0.9375rem;margin:20px 0 10px}.pt-line{display:grid;grid-template-columns:125px 1fr;gap:14px;padding:9px 0;border-bottom:1px solid #edf0f5;font-size:0.9375rem;line-height:1.6}.pt-line small{padding-top:2px}.pt-submission details,.pt-opponent-submission details{margin:16px 0}.pt-submission summary,.pt-opponent-submission summary{cursor:pointer;color:#2458bf;font-size:0.9375rem;font-weight:600}.pt-submission>a,.pt-registration>a{display:inline-block;margin-top:18px;font-size:0.9375rem}.pt-substitution-summary{font-size:0.9375rem;color:#475569}.pt-opponent-submission{padding:8px 0;font-size:0.9375rem}.pt-opponent-submission .pt-line{grid-template-columns:110px 1fr}.pt-registration .pt-clock{font-size:1.875rem;overflow-wrap:anywhere}.pt-registration h2{line-height:1.4}.pt-calendar-filter .pt-actions button[aria-pressed=true]{background:#2458bf;color:#fff;border-color:#2458bf}.pt-role-badge{color:#2458bf!important;font-weight:600}#registrationWindowForm{display:flex;flex-wrap:wrap;gap:14px;align-items:end}#registrationWindowForm label{display:grid;gap:8px;font-size:0.9375rem}#registrationWindowForm input{font:inherit;padding:11px;border:1px solid #cbd5e1;border-radius:8px;min-width:220px}#registrationWindowForm button{padding:12px 16px;border:0;border-radius:8px;background:#2458bf;color:#fff;cursor:pointer}#registrationWindowForm [role=status]{flex-basis:100%}#registrationWindowForm button:disabled{opacity:.5}.pt-overview .pt-card{margin-bottom:0}
@media(max-width:700px){.pt-line,.pt-opponent-submission .pt-line{grid-template-columns:1fr;gap:3px}.pt-line small{font-size:0.875rem}.pt-registration .pt-clock{font-size:1.688rem}#registrationWindowForm label,#registrationWindowForm button{width:100%}#registrationWindowForm input{min-width:0;width:100%;box-sizing:border-box}}
/* Participant actions, player detail and match explanation */
.next-actions{margin-bottom:20px}.next-actions>h2{font-size:1.2rem;margin:0 0 12px}.next-actions .pt-card{border-left:4px solid var(--accent,#1646c2)}
.pt-player-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;grid-column:1/-1}.pt-player-actions button{font:inherit;font-size:0.875rem;padding:5px 8px;background:#eef3ff;border:1px solid #cedaf5;border-radius:6px;color:#1646c2;cursor:pointer}
.text-button{background:none;border:0;padding:0;color:#1646c2;text-align:left;font:inherit;font-weight:600;cursor:pointer}.text-button:hover{text-decoration:underline}.text-button small{display:block;font-weight:400;color:#667085}
.freshness-inline{font-size:0.875rem;margin-top:8px}.freshness-inline summary{cursor:pointer}.freshness-inline.fresh summary{color:#14764c}.freshness-inline.stale summary{color:#936000}.freshness-inline.missing summary{color:#667085}
.player-explorer{width:min(960px,94vw);max-height:88dvh;padding:24px;overflow:auto}.player-profile-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.player-profile-metrics>div{border-bottom:1px solid #e5e9f2;padding:8px 0}.player-profile-metrics dt{font-size:0.875rem;color:#667085}.player-profile-metrics dd{margin:5px 0;font-weight:600}.player-form{display:grid;gap:8px}.player-form>div{display:flex;gap:12px;padding:8px;background:#f4f6fa}.player-form small{margin-left:auto}.season-search-link{display:inline-block;margin:5px 14px 5px 0}.story-teams{display:grid;grid-template-columns:1fr 1fr;gap:24px}.story-player{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e5e9f2;font-size:0.875rem}.story-player small{display:block;color:#667085}.story-player.not-counted{opacity:.72}
@media(max-width:700px){.player-profile-metrics,.story-teams{grid-template-columns:1fr}.player-form>div{flex-wrap:wrap}.player-form small{margin-left:0}.player-explorer{padding:16px}.next-actions .pt-card{padding:16px}.match-story{padding:16px}.search-open span{display:none}}
/* Owner-only historical research workspace */
.history-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0}.history-tabs button{border:1px solid #d1d9e8;border-radius:8px;padding:9px 12px;background:#fff;color:#26344b;cursor:pointer}.history-tabs [aria-pressed=true]{background:#1646c2;color:#fff;border-color:#1646c2}.history-warning{padding:16px;border-radius:10px;background:#fff6dd;color:#75540b}.history-filters{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin:20px 0}.history-filters label{display:grid;gap:5px;font-size:0.875rem}.history-filters input,.history-filters select{max-width:220px;padding:8px;border:1px solid #d1d9e8;border-radius:6px}.history-filters .history-toggle{display:flex;align-items:center}.history-records{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.history-record-value{font-size:2rem}.history-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.history-person{padding:16px;background:#f4f6fa;border-radius:8px}.history-person dd{margin:0 0 9px;font-weight:600}.history-person dt,.history-person small{font-size:0.875rem;color:#667085}.history-person small{display:block;overflow-wrap:anywhere}.history-person button{display:block;margin:10px 0}.history-dialog{width:min(1150px,96vw);max-height:92dvh;overflow:auto;padding:24px}.history-source-card{max-width:100%;height:auto;display:block;margin:16px auto}.history-dialog input[type=number]{width:65px}.history-dialog th small,.history-dialog td small,[data-view=historyLab] td small{display:block;font-weight:400;font-size:0.875rem;color:#667085}.history-dialog label{display:grid;gap:6px;margin:12px 0}.history-dialog form>label input,.history-dialog textarea{padding:10px;border:1px solid #c9d3e5;border-radius:7px;width:100%}.history-dialog textarea,[data-view=historyLab] textarea{min-height:70px;width:100%}.history-dialog table{width:100%}.history-dialog th,.history-dialog td{padding:8px;border-bottom:1px solid #e5e9f2;text-align:left}.history-dialog [data-history-error]{padding:12px;background:#fee2e2;color:#8e1e1e}.history-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:650px){.history-dialog{padding:14px}.history-filters label{flex:1;min-width:130px}.history-pair{grid-template-columns:1fr}.history-tabs{gap:4px}.history-tabs button{font-size:0.875rem}}

/* Career explorer: full-row membership status and a compact football profile. */
.history-careers-table tbody tr.history-row-active>th,.history-careers-table tbody tr.history-row-active>td{background:#e7f2e9!important;color:#193b2b;border-bottom-color:#cbded0}
.history-careers-table tbody tr.history-row-inactive>th,.history-careers-table tbody tr.history-row-inactive>td{background:#eef0f3!important;color:#3d4756;border-bottom-color:#dce0e6}
.history-careers-table tbody tr:hover>th,.history-careers-table tbody tr:hover>td{filter:brightness(.975)}
.history-careers-table .text-button{color:#163d2c;font-size:0.9375rem;font-weight:700}.history-careers-table .history-row-inactive .text-button{color:#364457}
.history-roster-status{display:block;margin-top:5px;font-size:0.875rem;font-weight:500;line-height:1.5;color:inherit;white-space:normal}
.history-list-caption{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 4px;font-size:0.9375rem;color:#526174}.history-row-key{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.history-row-key i{width:10px;height:10px;border:1px solid #bbc2cb;border-radius:3px;background:#eef0f3}.history-row-key i.is-active{background:#e7f2e9;border-color:#6eab7a}.history-row-key i:not(:first-child){margin-left:10px}
.history-metric-note{font-size:0.875rem!important;color:#6b7685!important;margin:10px 0 16px!important;line-height:1.5}.history-partial{position:relative;white-space:nowrap;cursor:help}.history-partial sup{font-size:0.8125rem;color:#6a7987;margin-left:2px;line-height:0}.history-partial:hover:after,.history-partial:focus:after{content:attr(data-tip);position:absolute;z-index:4;left:0;top:100%;margin-top:5px;white-space:normal;width:190px;padding:9px 11px;border-radius:7px;background:#20352c;color:white;font:12px/1.5 sans-serif;box-shadow:0 3px 12px #0002}.history-partial:focus-visible{outline:2px solid #318c5b;outline-offset:3px}
.history-dialog.history-career-dialog{padding:0;width:min(1060px,calc(100vw - 48px));max-width:1060px;max-height:90dvh;border:1px solid #d5dfda;border-radius:18px;background:#fff;color:#1c3027;box-shadow:0 24px 100px #10281e40}.history-career-dialog::backdrop{background:#172b3b80;backdrop-filter:blur(3px)}
.history-player-header{padding:20px 28px 0;background:#f2f7f3;border-bottom:1px solid #dce7de}.history-profile-topline{display:flex;align-items:center;justify-content:space-between;color:#5b7164;font-size:0.8125rem;font-weight:700;letter-spacing:.1em}.history-profile-topline button{display:grid;place-items:center;padding:0;width:36px;height:36px;min-height:36px;background:#fff;border:1px solid #d1ddd4;border-radius:50%;color:#2e4b39;font-size:1.438rem;cursor:pointer}.history-player-identity{display:flex;align-items:center;gap:20px;padding:14px 0 22px}.history-player-monogram{display:grid;place-items:center;width:76px;height:88px;border-radius:18px;background:#dcebe0;color:#3f7051;font-size:1.75rem;font-weight:700;flex:none}.history-player-identity h2{font-size:1.875rem;line-height:1.15;letter-spacing:-.035em;margin:0;color:#193a28}.history-player-identity p{font-size:0.9375rem;color:#647368;margin:8px 0}.history-profile-roster{color:#5c6673;font-size:0.9375rem}.history-profile-roster.is-active{color:#246a3c}.history-profile-roster .history-roster-status{font-size:0.9375rem;font-weight:600;margin:0}.history-profile-roster .history-roster-status:before{content:'○';margin-right:6px}.history-profile-roster.is-active .history-roster-status:before{content:'●'}
.history-career-meta{display:flex;gap:36px;margin:0;padding:16px 0;border-top:1px solid #dce7de}.history-career-meta>div{display:grid;gap:5px}.history-career-meta dt{font-size:0.8125rem;color:#697c6f}.history-career-meta dd{margin:0;font-size:0.9375rem;font-weight:700}.history-profile-content{padding:24px 28px}.history-profile-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:16px}.history-profile-section-heading h3,.history-profile-section h3{margin:0;font-size:1.062rem;letter-spacing:-.02em}.history-profile-section-heading>span{font-size:0.875rem;color:#768178}.history-profile-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.history-profile-metric{display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:100px;border:1px solid #e1e7e2;background:#fafcfb;border-radius:11px;padding:16px 12px}.history-profile-metric>strong{font-size:1.812rem;line-height:1;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#223e2d}.history-profile-metric>span{font-size:0.8125rem;color:#627569}.history-profile-metric.is-primary{background:#e6f1e8;border-color:#b9d4c1}.history-profile-section{margin-top:26px}.history-profile-section h3{margin-bottom:14px}.history-profile-table{font-variant-numeric:tabular-nums;min-width:700px}.history-profile-table thead th{background:#f3f6f4!important;color:#63766a!important;font-size:0.8125rem}.history-profile-table tbody th,.history-profile-table tbody td{padding:14px 12px!important;border-bottom:1px solid #e6ece8!important;background:#fff!important;font-size:0.875rem}.history-profile-table tbody th{font-weight:600;color:#25422e}.history-profile-table .history-gop-cell{font-weight:700;color:#24613a}.history-profile-table tbody tr:last-child>*{border-bottom:0!important}.history-profile-source{margin-top:28px;padding-top:18px;border-top:1px solid #e1e7e2;font-size:0.875rem;color:#607168}.history-profile-source>summary{cursor:pointer;font-weight:600;color:#56675c;padding:5px 0}.history-profile-source .history-pair{margin-top:18px}.history-profile-source .history-person{background:#f4f7f5}.history-profile-source p{font-size:0.875rem;line-height:1.6}.history-career-dialog .text-button:focus-visible,.history-profile-topline button:focus-visible{outline:2px solid #287947;outline-offset:3px}.history-profile-back{margin:0 0 15px}
@media(max-width:700px){.history-dialog.history-career-dialog{width:calc(100vw - 20px);max-height:94dvh;border-radius:14px}.history-player-header{padding:14px 18px 0}.history-player-identity{gap:13px;padding-top:16px}.history-player-monogram{width:56px;height:66px;border-radius:13px;font-size:1.438rem}.history-player-identity h2{font-size:1.5rem}.history-profile-content{padding:20px 16px}.history-profile-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.history-profile-metric{min-height:86px;padding:13px 10px}.history-profile-metric>strong{font-size:1.562rem}.history-career-meta{gap:25px}.history-career-meta dd{font-size:0.875rem}.history-profile-section-heading>span{font-size:0.8125rem}.history-profile-section .table-wrap{margin-right:0}.history-profile-table{min-width:660px}.history-profile-table tbody th{position:sticky;left:0;z-index:1;box-shadow:2px 0 4px #163d2c08}.history-list-caption{font-size:0.875rem}.history-profile-source .history-pair{grid-template-columns:1fr}}

/* Quality counts retain a visible link affordance even at zero. */
.history-quality-link{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.history-quality-row{padding:16px 0;border-bottom:1px solid var(--border,#d8dee8)}
.history-quality-row h3{font-size:1rem;margin:0 0 8px}
.history-quality-row p{margin:7px 0}

/* Readable squad rows: prioritize player identity and league statistics. */
.squad-list-head{font-size:0.9375rem;line-height:1.4;font-weight:600}
.squad-list-row{font-size:1rem;line-height:1.5}
.squad-list-row strong{font-size:1.125rem;line-height:1.4}
.squad-list-row .position-badge{font-size:0.9375rem;height:auto;min-height:28px;line-height:1.35;padding:4px 8px;white-space:normal}
.squad-list-row .sports-link{font-size:0.9375rem}
@media(max-width:760px){
 .squad-list-row{gap:12px 8px;padding:16px 12px}
 .squad-list-row strong{font-size:1.125rem}
 .squad-list-row>span:nth-child(2){font-size:1rem}
 .squad-list-row>span:nth-child(n+5){font-size:1.062rem}
 .squad-list-row>span:nth-child(n+5):before{font-size:0.875rem;line-height:1.4}
 .squad-list-row>span:nth-child(4) a{font-size:0.875rem;min-height:36px}
 .squad-list-row .position-badge{font-size:0.875rem;height:auto;min-height:28px}
}

/* Compact personal overview: layout follows the available content width. */
.overview-main{container-type:inline-size;container-name:overview-main}
.overview-main .pt-overview,.overview-main .pt-submissions{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;margin:0 0 16px}
.overview-main .pt-overview>.pt-card,.overview-main .pt-submissions>.pt-card{margin:0;padding:20px}
.overview-main .next-actions{margin-bottom:16px}
.overview-main .next-actions>h2{font-size:1rem;margin-bottom:10px}
.overview-main .pt-deadline{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:0;padding:20px}
.pt-round-deadline{min-width:0}
.overview-main .pt-deadline h2{font-size:1.062rem;line-height:1.4;margin:4px 0 6px}
.overview-main .pt-deadline h3{font-size:0.9375rem;line-height:1.4;margin:10px 0 4px}
.overview-main .pt-deadline p{font-size:0.9375rem;line-height:1.5;margin:6px 0}
.overview-main .pt-deadline .pt-clock{font-size:1.625rem;line-height:1.25;margin:8px 0;overflow-wrap:anywhere}
.overview-main .pt-dates{margin:10px 0}
.overview-main .pt-dates>div{grid-template-columns:110px minmax(0,1fr);gap:10px;padding:6px 0;font-size:0.875rem}
.overview-main .pt-dates dd{font-size:0.875rem}
.overview-main .pt-actions{margin:10px 0 0;gap:8px}
.overview-main .pt-actions a{display:inline-flex;align-items:center;min-height:36px;font-size:0.875rem;text-decoration:none}
.overview-main .pt-actions .primary-action{padding:8px 12px;border-radius:7px}
.overview-main .pt-registration-inline{margin:0;padding:16px 0 0;border-top:1px solid var(--line)}
.overview-main .pt-registration>a{margin-top:12px;font-size:0.875rem}
.overview-main .pt-registration small{font-size:0.875rem}
.overview-main .featured-fixture{padding:20px;min-width:0}
.overview-main .featured-top{flex-wrap:wrap;gap:5px 12px;font-size:0.875rem}
.overview-main .featured-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;padding:20px 0}
.overview-main .featured-teams a{min-width:0;align-self:start;text-align:center;gap:6px}
.overview-main .featured-teams strong{font-size:1.125rem;line-height:1.25;overflow-wrap:anywhere}
.overview-main .featured-teams small{font-size:0.8125rem}
.overview-main .featured-fixture .club-crest{width:64px!important;height:64px!important;padding:8px}
.overview-main .featured-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding-top:12px}
.overview-main .featured-actions a{font-size:0.875rem;min-height:36px;line-height:1.4}
.overview-main .featured-actions .primary-action{gap:10px;padding:0 12px;justify-content:space-between}
.overview-main .pt-submission h2{font-size:1.062rem;margin-bottom:12px}
.overview-main .pt-submission .pt-line{grid-template-columns:minmax(0,1fr);gap:2px;padding:8px 0;font-size:0.9375rem}
.overview-main .pt-submission h3{margin:16px 0 6px;font-size:0.9375rem}
.overview-main .pt-submission details{margin:12px 0}
.overview-main .pt-submission summary{font-size:0.9375rem}
.overview-main .pt-submission>a{margin-top:10px;font-size:0.875rem}
.overview-main .pt-submission-status{font-size:0.9375rem}
.mini-table .mini-table-head,.mini-table .mini-table-row{margin:0 -8px;padding-left:8px;padding-right:8px;grid-template-columns:19px minmax(0,1fr) 20px 24px;border-radius:5px}
.mini-table .mini-table-row .mini-team b{white-space:normal;line-height:1.35}
.mini-table .mini-team .club-crest{flex-shrink:0}
@container overview-main (min-width:640px){
 .overview-main .pt-overview,.overview-main .pt-submissions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .overview-main .pt-deadline{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px}
 .overview-main .pt-registration-inline{border-top:0;border-left:1px solid var(--line);padding:0 0 0 24px}
}
.overview-main .featured-score{min-width:76px;max-width:110px;text-align:center;align-self:center}
.overview-main .featured-score strong{display:flex;justify-content:center;align-items:center;gap:7px;font-size:1.875rem;line-height:1.1;letter-spacing:-.03em;white-space:nowrap;font-variant-numeric:tabular-nums}
.overview-main .featured-score strong span{font-size:1.25rem;color:#b1c4e1}
.overview-main .featured-score small{display:block;font-size:0.8125rem;line-height:1.35;color:#c7d6ef;margin-top:8px}
.fixture-scorers{display:block;color:var(--muted);font-size:0.8125rem;line-height:1.5;text-align:left;font-weight:400;overflow-wrap:anywhere}
.match-scorers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 25px 20px;text-align:center}
.match-scorer-list{min-width:0;font-size:0.875rem;line-height:1.6;color:#fff;overflow-wrap:anywhere}
.match-scorer-list>small{display:block;font-size:0.8125rem;color:#bdcde4;margin-bottom:4px}
.match-scorer-list .blocked-scorers{margin:8px 0 0;color:#d3c7b6}
@media(max-width:760px){.match-scorers{gap:16px;padding:0 14px 16px}.fixture-scorers{margin-left:0;font-size:0.8125rem}}

/* Keep both score rows fixed; scorer detail lives below the scoreboard. */
.match-card-open{height:100%;gap:8px}
.match-card-open .fixture-team{min-height:30px;flex-shrink:0}
.match-card-open .fixture-state{min-height:14px}
.fixture-goals{display:grid;gap:6px;align-content:start;min-height:44px;width:100%;border-top:1px solid var(--line);padding-top:9px;margin-top:2px}
.fixture-scorers b{font-weight:600;color:#536179}
.fixture-no-goals{font-size:0.8125rem;line-height:1.5;color:#7b8799}
.goal-minute{white-space:nowrap;font-variant-numeric:tabular-nums}

/* Reading roles: retain the same scale on narrow screens and in compact mode. */
:root{
 --text-label:.8125rem;
 --text-caption:.875rem;
 --text-data:.9375rem;
 --text-body:1rem;
 --text-section:1.25rem;
}
body{line-height:1.5}
input,select,textarea{font-size:var(--text-body);caret-color:var(--blue)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
h1,h2,h3{text-wrap:balance}
p{max-width:75ch}
.nav a,.team-switcher,.search-open,.roundbar,.roundbar label,.roundbar select,
.status-tabs button,.team-subnav a,.player-filters label,.player-filters select,
.design-search-label input,.squad-search-row select{font-size:var(--text-data)}
.brand small,.nav-caption,.breadcrumb,.data-status{font-size:var(--text-label);color:var(--muted)}
.section-heading p,.overview-title p,.pt-card p,.pt-alert p,
.overview-main .pt-deadline p,.overview-main .pt-submission .pt-line,
.pt-player,.pt-calendar-player,.player-name,.player-stat-name strong,
.history-careers-table .text-button{font-size:var(--text-body);line-height:1.5}
.section-heading p,.overview-title p{max-width:75ch}
.pt-card small,.pt-player small,.pt-muted,.pt-card dd,
.overview-main .pt-dates>div,.overview-main .pt-dates dd,
.overview-main .pt-registration small,.overview-main .pt-submission summary,
.overview-main .pt-submission-status,.overview-main .pt-submission h3,
.player-name small,.player-meta,.real-match,.player-outcome,.panel-head p,
.lineup-mode,.lineup-mode strong,.lineup-mode p,.rosters-heading>span,
.match-scorer-list,.score-help,.forecast-empty{font-size:var(--text-caption);line-height:1.5}
.pt-card h2,.overview-main .next-actions>h2,.overview-main .pt-deadline h2,
.overview-main .pt-submission h2,.dashboard-section-head h2,.match-insight h2,
.team-panel .panel-head h2{font-size:var(--text-section);line-height:1.3;font-weight:600}
.overview-main .pt-deadline h3{font-size:var(--text-body)}
.overview-main .pt-actions a,.overview-main .pt-registration>a,
.overview-main .pt-submission>a,.overview-main .featured-actions a,
.dashboard-section-head>a{font-size:var(--text-caption);line-height:1.5;min-height:44px}
.overview-main .featured-top,.overview-main .featured-teams small,
.overview-main .featured-score small{font-size:var(--text-label);line-height:1.5}
.overview-main .featured-teams strong{font-size:1.125rem;line-height:1.4;overflow-wrap:normal}
.overview-main .featured-score strong{font-size:1.875rem}
.featured-fixture,.match-stage{letter-spacing:.005em}
.featured-teams>a,.stage-teams>a{overflow-wrap:anywhere}
.mini-table .mini-table-head,.mini-table .mini-table-row{
 grid-template-columns:1.5rem minmax(0,1fr) 1.75rem 2rem;gap:8px;
}
.mini-table .mini-table-row{min-height:52px;padding-top:8px;padding-bottom:8px}
.mini-table .mini-team b,.mini-table-row>strong{font-size:var(--text-data);font-weight:600}
.mini-table-head,.table-place{font-size:var(--text-label);color:var(--muted)}
.mini-table .mini-team{gap:8px}
.mini-table .team-role-badge{font-size:var(--text-label);line-height:1.4}
.table-wrap td,.league-table td,.player-stats-table td,
.league-table .table-team{font-size:var(--text-data);line-height:1.5;font-variant-numeric:tabular-nums}
.table-wrap th,.league-table th,.league-table thead tr:nth-child(2) th,
.player-stats-table th{font-size:var(--text-caption);line-height:1.4}
.table-sort{font:inherit;min-height:44px}
.player-stat-name small,.player-team-tag{font-size:var(--text-label);line-height:1.5}
.match-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.match-card-open{padding:16px;gap:8px}
.match-card-open .fixture-state{font-size:var(--text-label);line-height:1.5;min-height:1.5em;color:var(--muted)}
.match-card-open .fixture-state.finished{color:#147450}
.match-card-open .fixture-team{display:grid;grid-template-columns:28px minmax(0,1fr) 2ch;gap:8px;min-height:3rem;font-size:var(--text-data);line-height:1.4}
.fixture-team>span:nth-child(2){overflow-wrap:normal;word-break:normal}
.fixture-team b{font-size:1.125rem;text-align:right}
.fixture-team .club-crest{width:28px!important;height:28px!important}
.fixture-goals{gap:8px;min-height:4.5rem;padding-top:12px;margin-top:4px}
.fixture-scorers,.fixture-no-goals{font-size:var(--text-caption);line-height:1.5;color:var(--muted)}
.fixture-scorers b{color:var(--ink);font-weight:500}
.stage-head,.stage-status,.stage-teams small,.stage-score>small,.stage-history,
.match-scorer-list>small{font-size:var(--text-caption);line-height:1.5}
.stage-history{gap:12px;flex-wrap:wrap}
.stage-teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.stage-teams h2{overflow-wrap:normal}
.player-primary{flex-wrap:wrap;row-gap:8px}
.player-name{flex:1 1 10rem}
.player-metrics{margin-left:auto}
.player-metrics small,.team-metrics small,.insight-stat .stat-metrics small{font-size:var(--text-label);line-height:1.35}
.player-metrics b,.insight-stat .stat-metrics b{font-size:1.125rem}
.player-metrics>span{min-width:42px;padding:7px}
.panel-head{flex-wrap:wrap}
.squad-readiness,.insight-stat>span,.chance h3,.chance-labels{font-size:var(--text-caption);line-height:1.5}
.insight-stat{flex-wrap:wrap;gap:8px 12px}
.insight-stat .stat-metrics{flex-wrap:wrap}
.history-profile-table thead th{font-size:var(--text-label)}
.history-profile-table tbody th,.history-profile-table tbody td{font-size:var(--text-data)}
.history-profile-metric>span,.history-career-meta dt,.history-metric-note{font-size:var(--text-caption)!important}
.mobile-nav a,.mobile-nav button{font-size:var(--text-label)}
.compact .mini-table .mini-table-row{min-height:44px;padding-top:5px;padding-bottom:5px}
@media(min-width:1001px){
 .overview-layout{grid-template-columns:minmax(0,1fr) 320px;gap:20px}
 .sidebar{width:232px}
 .workspace{margin-left:232px}
 .pt-selection-bar{left:268px}
}
@media(min-width:1650px){.overview-layout{grid-template-columns:minmax(0,1fr) 360px;gap:24px}}
@media(min-width:761px) and (max-width:1100px){.match-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .match-grid{display:flex;gap:12px;overflow-x:auto;align-items:stretch}
 .match-card{flex:0 0 min(82vw,20rem)}
 .match-card-open{padding:14px}
 .roundbar{flex-wrap:wrap}
 .data-status{margin-left:0}
 .topbar{height:auto;min-height:68px;padding-top:8px;padding-bottom:8px}
 .top-actions{flex-wrap:wrap}
 .search-open,.icon-button{width:44px;min-height:44px}
 .team-switcher{white-space:normal;max-width:190px}
 .team-switcher strong{overflow:visible;text-overflow:clip}
 .topbar .search-open{flex:0 0 44px}
 .roundbar select,.player-filters select,.design-search-label input,.squad-search-row select{font-size:var(--text-body)}
 .stage-teams{gap:8px;padding:20px 12px}
 .stage-teams h2{font-size:1.125rem;line-height:1.4}
 .stage-score{min-width:76px}
 .match-insight{display:block}
 .match-insight .chance{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
 .mini-table .mini-table-row{min-height:52px}
 .overview-main .featured-actions{column-gap:12px}
 .overview-main .featured-actions .primary-action{gap:6px;padding:8px}
 .player-name{flex-basis:calc(100% - 80px)}
}

/* The overview shares row boundaries instead of stacking independent columns. */
.overview-layout{grid-template-areas:"deadlines summary" "content standings";align-items:start;row-gap:20px}
.overview-deadlines{grid-area:deadlines}
.overview-content{grid-area:content}
.overview-layout>.overview-summary{grid-area:summary;align-self:stretch;margin:0;padding:20px;display:flex;flex-direction:column}
.overview-summary .overview-summary-identity{flex:1;min-height:88px;gap:16px;align-items:center}
.overview-summary-identity .club-crest{width:72px!important;height:72px!important;flex:none}
.overview-summary-identity h2{font-size:1.5rem;line-height:1.2;font-weight:700;letter-spacing:-.025em;min-width:0;margin:0;text-wrap:balance;overflow-wrap:normal}
.overview-layout>.overview-aside{grid-area:standings;display:block}
.overview-deadlines .next-actions{margin:0}
.overview-layout>.overview-summary dl{display:grid;grid-template-columns:1fr;gap:0;margin:16px 0 0;padding-top:8px}
.overview-summary dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:8px 0}
.overview-summary dl>div+div{border-top:1px solid #cbdcf3}
.overview-summary dt{font-size:var(--text-caption)}
.overview-summary dd{margin:0;font-size:1.75rem;line-height:1.3;font-variant-numeric:tabular-nums}
.overview-main .pt-overview{align-items:start}
.overview-main .pt-submissions{align-items:stretch}
.overview-content .pt-submissions{margin-bottom:0}
.overview-main .featured-actions .primary-action{grid-column:1/-1;justify-content:space-between}
.overview-season-finished{grid-template-areas:"content summary" "content standings"}
.site-footer{display:block;width:100%;padding:0}
.site-footer-inner{max-width:1600px;margin:0 auto;padding:24px 36px 32px;display:flex;align-items:center;gap:20px;min-width:0}
.site-footer-inner p{max-width:none;min-width:0}
body[data-view=overview] .site-footer a{display:none}
@media(max-width:1250px){.site-footer-inner{padding-left:24px;padding-right:24px}}
@media(max-width:1000px){
 .overview-layout,.overview-season-finished{grid-template-areas:"deadlines" "summary" "content" "standings"}
 .overview-layout>.overview-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .overview-summary dl>div{display:block}
 .overview-summary dl>div+div{border-top:0}
 .overview-season-finished{grid-template-areas:"summary" "content" "standings"}
}
@media(max-width:760px){
 .site-footer-inner{padding:20px 18px;flex-wrap:wrap;gap:8px 16px}
 .site-footer-inner p{flex-basis:100%}
}
@media(max-width:380px){.site-footer-inner{padding-left:12px;padding-right:12px}}
@media print{.site-footer{display:none}}

/* Matches: one toolbar, quiet aligned metrics and explicit match events. */
.matches-title{display:none}
body[data-view=matches] .roundbar{gap:16px;flex-wrap:wrap}
body[data-view=matches] .matches-title{display:block;margin:0 auto 0 0;font-size:2rem;line-height:1.25;font-weight:700;color:var(--ink)}
body[data-view=matches] #dataStatus{display:none}
body[data-view=matches] .roundbar>label{white-space:nowrap}
body[data-view=matches] #roundDate{white-space:nowrap;font-variant-numeric:tabular-nums}
.match-insight{display:block;min-width:0}
.forecast-metrics{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;margin:12px 0 16px}
.forecast-metrics .metric-col{width:3rem}
.forecast-metrics th,.forecast-metrics td{background:none;color:var(--ink);border:0;border-bottom:1px solid var(--line);padding:10px 4px;vertical-align:middle}
.forecast-metrics thead th{font-size:var(--text-caption);font-weight:500;color:var(--muted);text-align:center;padding:6px 4px}
.forecast-metrics tbody th{text-align:left;font-size:var(--text-caption);font-weight:600;overflow-wrap:anywhere;padding-left:0}
.forecast-metrics td{text-align:center;font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}
.forecast-metrics abbr{text-decoration:none;cursor:help}
.match-event{display:flex;align-items:baseline;gap:7px;font-size:var(--text-caption);line-height:1.5;text-align:left;font-weight:400}
.match-event+.match-event{margin-top:6px}
.match-event-icon{width:1rem;height:1rem;flex:0 0 1rem;align-self:flex-start;margin-top:3px}
.match-event-text{min-width:0;overflow-wrap:anywhere}
.match-event .goal-minute{white-space:nowrap;font-variant-numeric:tabular-nums}
.event-note{font-size:inherit;white-space:normal}
.match-scorer-list .event-blocked,.match-scorer-list .event-missed{color:#c7d6ef}
.match-scorer-list{display:flex;flex-direction:column;align-items:center}
.match-scorer-list:empty{min-height:0}
.fixture-scorers>b{display:block;margin-bottom:4px}
.fixture-goals{align-content:start}
.fixture-goals:has(.fixture-no-goals:empty){border-top-color:transparent}
.match-stage{min-height:0}
.stage-teams{flex:0 0 auto;padding-bottom:20px}
.stage-score{min-width:130px}
.match-scorers{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 22px 22px}
.match-scorers:not(:has(.match-event)):not(:has(small)){display:none}
.player-penalty{display:block;margin-top:4px;color:var(--ink)}
@media(max-width:760px){
 body[data-view=matches] .roundbar{gap:8px;flex-wrap:nowrap}
 body[data-view=matches] .matches-title{font-size:1.25rem}
 body[data-view=matches] .roundbar select{min-width:52px;margin-left:4px;padding:7px 6px}
 body[data-view=matches] #roundDate{font-size:var(--text-label)}
 .stage-score{min-width:76px}
 .match-scorers{gap:16px;padding:0 12px 18px}
 .match-scorer-list{align-items:flex-start}
 .match-insight{display:block}
}
@media(max-width:380px){
 body[data-view=matches] .roundbar{flex-wrap:wrap}
 body[data-view=matches] .matches-title{flex:1 1 100%}
}

/* Shared lineup tracks; metric colour is reserved for match status, not GOP. */
.event-goal .match-event-icon{color:#087f5b}
.event-blocked .match-event-icon,.event-missed .match-event-icon{color:#d44235}
.match-stage .event-goal .match-event-icon{color:#5eebb1}
.match-stage .event-blocked .match-event-icon,.match-stage .event-missed .match-event-icon{color:#ff9988}
.match-scorer-list .event-blocked,.match-scorer-list .event-missed{color:inherit}
.stage-history{margin-top:auto}
.match-stage{min-height:340px}
.roster-grid .stat-metrics{display:grid;grid-template-columns:repeat(3,2.5rem);gap:0;align-items:stretch;margin-left:0}
.roster-grid .stat-metrics>span{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;padding:4px;background:transparent;border:0;border-radius:0;color:var(--ink)}
.roster-grid .stat-metrics small{color:var(--muted);font-size:var(--text-label);font-weight:500;letter-spacing:0;line-height:1.3}
.roster-grid .stat-metrics b{font-size:1.25rem;font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums}
.roster-grid .panel-head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;margin:0}
.roster-grid .panel-head h2{min-width:0;overflow-wrap:anywhere}
.roster-grid .panel-head .club-crest{flex-shrink:0}
.roster-grid .team-panel{min-width:0;border-top:1px solid var(--line)}
.roster-grid .lineup-mode{margin:0}
.roster-grid .lineup-mode:empty{padding:0;border:0}
.roster-grid .lineup-key{justify-content:space-between;align-items:center;margin:0;min-height:44px;background:#f1f4f8}
.roster-grid .lineup-key span{padding:0;background:none;color:var(--ink);font-size:var(--text-caption)}
.roster-grid .squad-divider{min-height:44px;align-items:center;margin:0;background:#f1f4f8;border-top:1px solid var(--line);color:var(--ink)}
.roster-grid .squad-divider span{font-size:var(--text-caption);font-weight:600}
.roster-grid .player-row{border-left:0;min-width:0;padding:12px;color:var(--ink)}
.roster-grid .player-row.real-pending{background:#fff}
.roster-grid .player-row.real-live{background:#eaf3ff}
.roster-grid .player-row.real-finished{background:#eff8f0}
.roster-grid .player-row.real-not-played{background:#fff1f0}
.roster-grid .player-primary{display:grid;grid-template-columns:1.5rem 1.25rem minmax(0,1fr) 7.5rem;align-items:start;gap:6px}
.roster-grid .squad-number{grid-column:1;grid-row:1;background:#e3e9f1;color:var(--ink)}
.roster-grid .select-player,.roster-grid .readonly-lineup{grid-column:2;grid-row:1;margin:0;color:var(--muted)}
.roster-grid .player-name{grid-column:3;grid-row:1;min-width:0}
.roster-grid .player-name b{font-size:var(--text-body);color:var(--ink);line-height:1.4}
.roster-grid .player-name>span{font-size:var(--text-caption);color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.roster-grid .lineup-badge{grid-column:3;grid-row:2;justify-self:start;margin:0;padding:0;background:none;color:var(--muted);font-size:var(--text-label);font-weight:500}
.roster-grid .player-metrics{grid-column:4;grid-row:1/3;margin:0}
.roster-grid .player-outcome{margin:8px 0 0 56px;color:var(--muted);font-weight:500}
.roster-grid .roster-empty{align-self:start;padding:20px}
@media(min-width:1101px){
 .roster-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--roster-rows),auto);column-gap:20px;row-gap:0;align-items:stretch}
 .roster-grid .team-panel{display:grid;grid-template-rows:subgrid;grid-row:1/-1;row-gap:0}
 .roster-grid .team-panel:first-child{grid-column:1}
 .roster-grid .team-panel:nth-child(2){grid-column:2}
 .roster-grid .panel-head{grid-row:1}
 .roster-grid .lineup-mode{grid-row:2}
 .roster-grid .lineup-key{grid-row:3}
 .roster-grid .player-list{display:grid;grid-template-rows:subgrid;grid-row:4/-1;row-gap:0}
 .roster-grid .player-row{grid-row:var(--player-grid-row)}
 .roster-grid .squad-divider{grid-row:12}
 .roster-grid .roster-empty{grid-row:4/-1}
}
@media(max-width:1100px){
 .roster-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
 .roster-grid .player-primary{grid-template-columns:1.5rem 1.25rem minmax(0,1fr)}
 .roster-grid .player-metrics{grid-column:3;grid-row:2;justify-self:start}
 .roster-grid .lineup-badge{grid-row:3}
 .roster-grid .panel-head h2{font-size:1.125rem}
 .match-stage{min-height:320px}
}

/* Standings: static data, prominent points and directly labelled trajectories. */
.roster-grid .player-row.real-live{background:#ffe29a}
.roster-grid .real-live .player-outcome{color:#754600;font-weight:700}
.league-table .table-team-inner{gap:10px}
.league-table .table-team-name{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.league-table .table-team-name strong{font-weight:600}
.league-table td.points{position:sticky;right:0;background:#f4f7ff;z-index:1;min-width:4.5rem}
.league-table td.points strong{color:var(--ink);font-size:1.5rem;font-weight:700;line-height:1.2}
.league-table th.points-heading{position:sticky;right:0;z-index:2}
.movement-head{margin-bottom:16px}
.movement-head h2{margin:0}
.positions-chart{background:#fff;border-color:var(--line);overflow-x:auto;overflow-y:hidden}
.positions-chart svg{max-width:none;min-height:0}
.chart-grid-y text,.chart-grid-x text{fill:var(--muted);font-size:1.125rem;font-weight:400}
.chart-end-label{fill:var(--ink);font-size:1.125rem;font-weight:600}
.chart-series.muted{opacity:1}
.chart-series.muted path,.chart-series.muted circle{opacity:.15}
.chart-series.muted .chart-end-label{fill:var(--muted);font-weight:400}
.positions-chart.is-hovering .chart-series:not(.hovered){opacity:1}
.positions-chart.is-hovering .chart-series:not(.hovered) path,.positions-chart.is-hovering .chart-series:not(.hovered) circle{opacity:.12}
.positions-chart.is-hovering .chart-series:not(.hovered) .chart-end-label{fill:var(--muted);font-weight:400}
.chart-controls label{color:var(--muted);font-weight:500}
.chart-controls select,.chart-reset{color:var(--ink);border-color:var(--line);font-size:var(--text-data);font-weight:500;background:#fff}
.chart-selected:empty{display:none}
.chart-selected button{border-radius:6px;background:var(--blue-soft);border-color:var(--line);color:var(--ink);font-size:var(--text-caption);font-weight:500}

/* One-click identity decisions; notes are recorded automatically. */
.history-decision-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.history-decision-actions button{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:500}
.history-decision-actions button:hover{background:var(--blue-soft);border-color:var(--blue)}
.history-decision-actions button:disabled{opacity:.6;cursor:wait}

/* Keep squad navigation and source together, above the player grid. */
.team-profile.squad-profile{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,260px);gap:20px 24px;align-items:center}
.squad-profile-main,.squad-profile-tools{min-width:0}
.squad-profile-tools{display:grid;gap:12px;align-self:start}
.squad-team-choice{display:grid;gap:8px;max-width:100%;color:inherit;font-size:0.9375rem}
.squad-team-choice select{width:100%;min-width:0;min-height:44px;font:inherit;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink)}
.squad-profile .squad-source{color:#e5eefc;font-size:0.9375rem;line-height:1.5;text-underline-offset:4px;justify-self:start;padding:5px 0}
.squad-registration-editor{grid-column:1/-1;font-size:0.9375rem;color:#e5eefc}
.squad-registration-editor summary{cursor:pointer;width:fit-content;padding:5px 0}
.squad-registration-editor[open]{border-top:1px solid #ffffff30;padding-top:12px}
.squad-registration-editor form{margin-top:12px}
.squad-registration-editor input{color:var(--ink);background:#fff}
.squad-registration-editor [role=status]:empty{display:none}
.squad-list-head>span:nth-child(n+5),.squad-list-row>span[data-label]{text-align:center;font-variant-numeric:tabular-nums}
@media(max-width:900px){
 .team-profile.squad-profile{grid-template-columns:auto minmax(0,1fr)}
 .squad-profile-tools{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px}
 .squad-profile .squad-source{padding:11px 0}
}
@media(max-width:620px){
 .team-profile.squad-profile{grid-template-columns:minmax(0,1fr);gap:16px}
 .squad-profile-tools{grid-template-columns:minmax(0,1fr);gap:6px}
 .squad-profile .squad-source{padding:6px 0}
}

/* Compact lineup planner: one heading and direct role toggles. */
body[data-view=planner] .roundbar{gap:16px;flex-wrap:wrap;padding-top:22px;padding-bottom:18px}
body[data-view=planner] .matches-title{display:block;margin:0 auto 0 0;font-size:1.75rem;line-height:1.25;color:var(--ink)}
body[data-view=planner] .roundbar>label{white-space:nowrap}
body[data-view=planner] .pt-validation{margin-top:0}
body[data-view=planner] .pt-validation .pt-actions{margin-top:0}
.pt-validation-errors{margin:0 0 16px;padding:12px 12px 12px 32px;background:#fff5ed;border-radius:8px}
.pt-role-toggle{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.pt-role-toggle button{min-height:40px;padding:8px 11px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#475569;font:inherit;cursor:pointer}
.pt-role-toggle button:hover{border-color:#6b91cf;background:#f5f8fd}
.pt-role-toggle button[aria-pressed=true]{background:#e8f0ff;border-color:#2563eb;color:#1646c2;font-weight:600;box-shadow:inset 0 0 0 1px #2563eb}
.pt-role-toggle button[data-pt-role=bench][aria-pressed=true]{background:#fff5dc;border-color:#b97d12;color:#805600;box-shadow:inset 0 0 0 1px #b97d12}
body[data-view=planner] .pt-player{grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(250px,1fr) 168px}
.pt-chances{display:flex;flex-wrap:wrap;gap:3px 12px;line-height:1.6}
.pt-chances>span{white-space:nowrap}.pt-chances b{font-variant-numeric:tabular-nums}
.pt-expected{margin-top:6px;font-size:.875rem;line-height:1.6;color:#475569}
.pt-expected strong{color:#243b5b}.pt-expected small{font-size:.8125rem;color:#64748b}
@media(max-width:1100px){body[data-view=planner] .pt-player{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 168px}.pt-role-toggle{grid-column:3;grid-row:1/3}.pt-projection{grid-column:2}}
@media(max-width:700px){body[data-view=planner] .roundbar{gap:10px}body[data-view=planner] .matches-title{font-size:1.25rem;flex:1 1 100%}body[data-view=planner] .pt-player{grid-template-columns:minmax(0,1fr) 150px}.pt-role-toggle{grid-column:2;grid-row:1}.pt-role-toggle button{padding:8px;min-height:44px}.pt-projection{grid-column:1/-1}.pt-chances{gap:3px 14px}}
/* Round-three PARI pilot: separate conditional model below the unchanged xG bar. */
.pari-forecast{border-top:1px solid var(--line,#e4e8ed);margin-top:18px;padding-top:18px;min-width:0}
.pari-forecast h3{line-height:1.4;overflow-wrap:anywhere}
.pari-pilot-label{margin:6px 0 12px}
.pari-method{font-size:12px;line-height:1.55;margin-top:12px;overflow-wrap:anywhere}
.pari-method summary{cursor:pointer;font-weight:600}
.pari-method p{margin:10px 0}
.pari-coverage{padding-left:18px;max-height:260px;overflow:auto}
.pari-coverage li{margin:7px 0}
.pari-source{padding:10px 0;border-bottom:1px solid var(--line,#e4e8ed)}

.pt-player.pt-selected.pt-bench{background:#fff8e8}

/* Player calendar: compact cards with nearby player results. */
body[data-view=calendar] .roundbar{gap:16px;flex-wrap:wrap;padding-top:22px;padding-bottom:18px}
body[data-view=calendar] .matches-title{display:block;margin:0 auto 0 0;font-size:1.75rem;line-height:1.25;color:var(--ink)}
body[data-view=calendar] .roundbar>label{white-space:nowrap}
body[data-view=calendar] .pt-calendar-filter{margin-top:0;padding:16px 20px}
.pt-calendar-filter .pt-actions{margin:0}.pt-calendar-filter p{margin:8px 0 0;font-size:.875rem}
.pt-calendar-matches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.pt-calendar-match{margin:0;padding:18px 20px;border-radius:12px}
.pt-calendar-heading{padding-bottom:10px;border-bottom:1px solid #edf0f5}
.pt-calendar-heading h2{margin:0 0 7px;font-size:1rem;line-height:1.5;overflow-wrap:anywhere}
.pt-calendar-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;color:#64748b;font-size:.8125rem;line-height:1.5}
.pt-match-status:before{content:'·';margin-right:12px;color:#94a3b8}
.pt-match-live{color:#b45309;font-weight:600}
.pt-calendar-player{grid-template-columns:minmax(0,280px) auto;justify-content:start;gap:16px;padding:10px 0;font-size:.875rem}
.pt-calendar-player>div{min-width:0}
.pt-calendar-player:last-child{border-bottom:0;padding-bottom:0}
.pt-calendar-player .pt-role-badge{font-size:.75rem;line-height:1.5;margin-top:2px}
.pt-calendar-gop{display:grid;grid-template-columns:repeat(3,max-content);gap:6px 14px;align-items:center;font-variant-numeric:tabular-nums;font-size:.8125rem}
.pt-calendar-gop>span{white-space:nowrap;color:#64748b}.pt-calendar-gop b{color:var(--ink)}
.pt-match-score{display:inline-block;margin:0 6px;padding:2px 8px;background:#edf2fa;border-radius:5px;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:1100px){.pt-calendar-matches{grid-template-columns:minmax(0,1fr);max-width:760px}}
@media(max-width:700px){body[data-view=calendar] .roundbar{gap:10px}body[data-view=calendar] .matches-title{font-size:1.25rem;flex:1 1 100%}.pt-calendar-match{padding:14px 16px}.pt-calendar-player{grid-template-columns:minmax(0,1fr) auto;gap:10px}.pt-calendar-gop{gap:4px 9px}.pt-calendar-meta{font-size:.75rem}.pt-calendar-heading h2{font-size:.9375rem}}
@media(max-width:380px){.pt-calendar-player{grid-template-columns:minmax(0,1fr);gap:5px}.pt-calendar-gop{justify-content:start}}

/* Team overview: identity and both selectors share one compact header. */
.team-profile.team-overview-profile{display:grid;grid-template-columns:auto minmax(200px,1fr) minmax(180px,240px) minmax(160px,180px);gap:18px;align-items:center;padding:18px 22px}
.team-overview-profile>div{min-width:0}
.team-overview-profile>label{min-width:0;width:100%;letter-spacing:0}
.team-overview-profile select{min-width:0}
.team-overview-profile h1{font-size:1.875rem}
.team-overview-profile .team-subnav{margin-top:8px;flex-wrap:wrap}
.team-overview-profile .team-subnav a{padding:6px 10px}
@media(max-width:1100px){
 .team-profile.team-overview-profile{grid-template-columns:auto minmax(0,1fr) minmax(160px,210px);gap:12px 18px}
 .team-overview-profile>.club-crest,.team-overview-profile>div{grid-row:1/3}
 .team-overview-profile>label{grid-column:3}
}
@media(max-width:620px){
 .team-profile.team-overview-profile{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:14px}
 .team-overview-profile>.club-crest{display:none}
 .team-overview-profile>div{grid-column:1/-1;grid-row:auto}
 .team-overview-profile>label{grid-column:auto;grid-row:auto}
}
@media(max-width:380px){.team-overview-profile>label{grid-column:1/-1}}

[data-owner-only],a[href*="#planner"],a[href*="#calendar"],#adminLogin{display:none!important}
