.stats-page { --max:1120px; --blue:#2937d8; --ink:#111321; --muted:#646879; margin:0; color:var(--ink); font-family:'Alata',Arial,Helvetica,sans-serif; }
@font-face { font-family:'Alata'; src:url('fonts/alata-latin-v12.woff2') format('woff2'); font-display:swap; }
.stats-page { min-height:100vh; background:#f0f1f4; }
.stats-page .topline-inner { width:min(var(--max),calc(100% - 40px)); min-height:34px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:11px; letter-spacing:.04em; }
.stats-header,.stats-main,.stats-footer { width:min(var(--max),calc(100% - 40px)); margin-inline:auto; }
.stats-header { min-height:88px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #d9dbe1; }
.stats-header .brand { display:flex; align-items:center; gap:12px; }
.stats-header .brand-mark { display:grid; place-items:center; width:47px; height:36px; background:var(--blue); color:#fff; font-size:15px; font-weight:950; letter-spacing:-.08em; transform:skew(-7deg); box-shadow:0 3px 8px rgba(0,0,0,.18); }
.stats-header .brand-name { color:#15171c; font-size:23px; font-weight:900; letter-spacing:-.055em; line-height:.9; }
.stats-header .brand-name span { display:block; margin-top:6px; color:var(--blue); font-size:9px; letter-spacing:.17em; }
.stats-back { color:#4b4e59; font-size:12px; font-weight:800; }
.stats-main { margin-top:42px; margin-bottom:66px; }
.stats-intro { max-width:700px; margin-bottom:30px; }
.stats-eyebrow,.stats-label { margin:0 0 8px; color:#555966; font-size:10px; line-height:1.3; font-weight:900; letter-spacing:.13em; }
.stats-intro h1 { max-width:none; margin:0; font-size:clamp(42px,6vw,68px); line-height:.96; letter-spacing:-.05em; }
.stats-intro > p:last-child { max-width:620px; margin:15px 0 0; color:#5c606b; font-size:16px; line-height:1.6; }
.stats-season-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 18px; background:#fff; border:1px solid #dfe1e7; }
.stats-season-bar > div { display:flex; align-items:center; gap:14px; }
.stats-label { margin:0; }
.stats-season-bar select { min-width:130px; padding:9px 28px 9px 11px; border:1px solid #d7d9df; background:#f7f7f8; color:#181a20; font:inherit; font-size:13px; font-weight:800; }
.stats-export { border:0; background:transparent; color:#323640; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.stats-export:hover { color:var(--blue); }
.stats-export:focus-visible,.stats-back:focus-visible,.player-select:focus-visible { outline:3px solid #5664e8; outline-offset:3px; }
.stats-summary { display:grid; grid-template-columns:repeat(4,1fr); margin:12px 0 25px; background:#17191e; color:#fff; }
.stats-summary article { min-height:104px; padding:18px 22px; border-right:1px solid #34363c; }
.stats-summary article:last-child { border-right:0; }
.stats-summary span { display:block; color:#b8bac2; font-size:9px; font-weight:900; letter-spacing:.11em; }
.stats-summary strong { display:block; margin-top:11px; color:#fff; font-size:30px; line-height:1; font-variant-numeric:tabular-nums; }
.stats-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:16px; align-items:start; }
.roster-panel,.entry-panel { min-width:0; background:#fff; border:1px solid #dfe1e7; }
.panel-heading { display:flex; align-items:center; justify-content:space-between; min-height:78px; padding:17px 20px; border-bottom:1px solid #e5e6eb; }
.panel-heading .stats-eyebrow { margin-bottom:5px; }
.panel-heading h2,.profile-title h2 { margin:0; color:#17191e; font-size:22px; line-height:1.1; letter-spacing:-.035em; }
.season-chip { padding:7px 9px; color:#474a54; background:#f0f1f4; font-size:10px; font-weight:800; white-space:nowrap; }
.table-scroll { overflow-x:auto; }
.roster-table { width:100%; border-collapse:collapse; text-align:left; }
.roster-table th { padding:12px 10px; color:#70737d; background:#fafafb; font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.roster-table th:first-child,.roster-table td:first-child { padding-left:20px; }
.roster-table td { padding:10px; border-top:1px solid #ececf0; color:#262830; font-size:12px; font-variant-numeric:tabular-nums; }
.roster-table td:not(:first-child),.roster-table th:not(:first-child) { text-align:right; }
.player-select { display:flex; align-items:center; gap:10px; padding:0; border:0; background:transparent; color:#1a1c21; text-align:left; font:inherit; cursor:pointer; }
.player-select:hover strong { color:var(--blue); }
.player-select img { width:37px; height:42px; object-fit:cover; object-position:center 18%; background:#252833; }
.player-select strong { display:block; font-size:12px; }
.player-select small { display:block; margin-top:3px; color:#777a84; font-size:10px; }
.stat-rating { font-weight:900; }
.stat-rating[data-rated="true"] { color:#24764f; }
.table-key { display:flex; gap:7px; align-items:center; margin:0; padding:12px 18px; color:#747782; background:#fafafb; border-top:1px solid #e5e6eb; font-size:9px; }
.table-key span { margin-left:6px; color:#333640; font-weight:900; }
.table-key span:first-child { margin-left:0; }
.entry-panel form { padding:19px 20px 17px; }
.entry-panel [hidden] { display:none !important; }
.admin-login-form > p:first-child { margin:0 0 16px; color:#626671; font-size:12px; line-height:1.5; }
.admin-login-form > input { width:100%; min-height:42px; margin:0 0 4px; padding:0 11px; border:1px solid #d6d8df; border-radius:2px; background:#fff; color:#1c1e24; font:inherit; font-size:13px; }
.admin-login-form > input:focus-visible { outline:3px solid rgba(41,55,216,.22); border-color:#3948e8; }
.admin-tools-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 20px 0; color:#36714f; font-size:10px; font-weight:800; }
.admin-tools-heading button { border:0; background:transparent; color:#555966; font:inherit; text-decoration:underline; cursor:pointer; }
.field-label { display:block; margin:0 0 6px; color:#555966; font-size:10px; font-weight:900; letter-spacing:.06em; }
.entry-panel select,.entry-panel > form > input { width:100%; min-height:42px; margin:0 0 15px; padding:0 11px; border:1px solid #d6d8df; border-radius:2px; background:#fff; color:#1c1e24; font:inherit; font-size:13px; }
.entry-panel select:focus-visible,.entry-panel input:focus-visible { outline:3px solid rgba(41,55,216,.22); border-color:#3948e8; }
.stat-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 12px; margin-top:2px; }
.stat-fields label span { display:block; margin-bottom:5px; color:#676a74; font-size:10px; font-weight:700; }
.stat-fields input { width:100%; min-height:39px; padding:0 10px; border:1px solid #d9dbe1; border-radius:2px; font:inherit; font-size:13px; font-variant-numeric:tabular-nums; }
.save-stats { display:flex; width:100%; min-height:44px; align-items:center; justify-content:space-between; margin-top:18px; padding:0 14px; border:0; background:#17191e; color:#fff; font:inherit; font-size:12px; font-weight:900; cursor:pointer; }
.save-stats:hover { background:var(--blue); }
.save-stats:focus-visible { outline:3px solid #5664e8; outline-offset:3px; }
.save-status { min-height:16px; margin:10px 0 0; color:#6d707a; font-size:10px; line-height:1.45; }
.entry-mark { display:grid; place-items:center; width:34px; height:34px; background:#edf0ff; color:var(--blue); font-size:21px; }
.player-profile { display:grid; grid-template-columns:220px minmax(0,1fr); margin-top:24px; overflow:hidden; background:#17191e; color:#fff; }
.profile-photo { display:flex; align-items:flex-end; justify-content:center; min-height:255px; overflow:hidden; background:linear-gradient(145deg,#303644,#1c202a); }
.profile-photo img { display:block; width:100%; height:255px; object-fit:contain; object-position:center bottom; }
.profile-content { padding:24px 28px; }
.profile-content .stats-eyebrow { color:#b9beca; }
.profile-title { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.profile-title h2 { color:#fff; font-size:31px; }
.profile-title p { margin:6px 0 0; color:#b7bbc5; font-size:12px; }
.profile-stats { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin-top:22px; }
.profile-stat { padding:11px 10px; background:#22252c; }
.profile-stat span { display:block; color:#b6bac3; font-size:8px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.profile-stat strong { display:block; margin-top:7px; color:#fff; font-size:19px; font-variant-numeric:tabular-nums; }
.profile-seasons { display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
.profile-seasons span { padding:6px 8px; border:1px solid #3b3e46; color:#d9dbe1; font-size:9px; }
.storage-note { margin:13px 0 0; color:#797c85; font-size:10px; text-align:right; }
.stats-footer { padding:20px 0 27px; display:flex; justify-content:space-between; border-top:1px solid #d7d9df; color:#727580; font-size:10px; }
.stats-footer a { color:#22242b; font-weight:900; }
@media(max-width:860px) { .stats-grid { grid-template-columns:1fr; } .entry-panel { grid-row:1; } .player-profile { grid-template-columns:180px minmax(0,1fr); } .profile-stats { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:580px) {
  .stats-page .topline-inner { width:calc(100% - 28px); font-size:9px; }
  .stats-header,.stats-main,.stats-footer { width:calc(100% - 28px); }
  .stats-header { min-height:72px; }
  .stats-main { margin-top:28px; }
  .stats-intro { margin-bottom:22px; }
  .stats-intro h1 { font-size:42px; }
  .stats-intro > p:last-child { font-size:14px; }
  .stats-season-bar { padding:11px 12px; }
  .stats-season-bar > div { gap:8px; }
  .stats-season-bar select { min-width:110px; }
  .stats-export { font-size:10px; }
  .stats-summary article { min-height:86px; padding:13px 9px; }
  .stats-summary span { min-height:22px; font-size:7px; }
  .stats-summary strong { margin-top:7px; font-size:24px; }
  .panel-heading { padding:14px; }
  .roster-table th:first-child,.roster-table td:first-child { padding-left:12px; }
  .roster-table th,.roster-table td { padding-right:7px; padding-left:7px; }
  .player-select { gap:7px; }
  .player-select img { width:31px; height:36px; }
  .player-select strong { font-size:10px; }
  .player-select small { font-size:8px; }
  .table-key { gap:5px; padding:11px 10px; font-size:8px; }
  .entry-panel form { padding:15px 14px; }
  .player-profile { grid-template-columns:1fr; }
  .profile-photo { min-height:190px; }
  .profile-photo img { height:190px; }
  .profile-content { padding:19px 15px; }
  .profile-title h2 { font-size:26px; }
  .profile-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .profile-stat { padding:9px 7px; }
  .profile-stat strong { font-size:17px; }
  .storage-note { text-align:left; }
  .stats-footer { font-size:9px; }
}
