:root{
  --bg:#f7f8fa;
  --panel:#fff;
  --panel-soft:#f9fbfc;
  --line:#e7ebef;
  --line-strong:#dbe2e7;
  --text:#101820;
  --muted:#7c8994;
  --muted-2:#98a3ab;
  --nav:#091720;
  --nav-2:#10232e;
  --accent:#67de7b;
  --accent-deep:#38b768;
  --accent-soft:#eefaf1;
  --blue:#65a8ed;
  --cyan:#69d2c7;
  --ok:#47bd76;
  --warn:#e8a64e;
  --danger:#dd6669;
  --radius:9px;
  --shadow:0 3px 14px rgba(19,33,42,.04);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.app-shell{display:grid;grid-template-columns:174px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#0a1821 0%,#08131b 100%);color:#d9e1e6;padding:12px 9px 10px;display:flex;flex-direction:column;z-index:10;border-right:1px solid rgba(255,255,255,.035)}
.brand{height:48px;display:flex;align-items:center;padding:0 10px 9px;border-bottom:1px solid rgba(255,255,255,.07)}
.brand-wordmark{font-size:15px;line-height:1;font-weight:900;letter-spacing:-.03em;color:#fff}.brand-wordmark em{font-style:normal;color:var(--accent);font-size:9px;vertical-align:top;margin-left:2px;letter-spacing:0}
.club-switch{display:flex;gap:8px;align-items:center;margin:10px 3px 10px;padding:8px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.025)}
.club-crest{width:30px;height:30px;flex:0 0 30px;border-radius:7px;display:grid;place-items:center;background:#1b3543;border:1px solid rgba(255,255,255,.1);font-size:9px;font-weight:900;color:#fff}
.club-switch-copy{min-width:0}.club-switch strong{display:block;font-size:10.5px;color:#f4f7f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.club-switch small{display:block;color:#768b98;margin-top:2px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.club-chevron{margin-left:auto;color:#6f8490;font-size:10px}
.side-nav{display:flex;flex-direction:column;gap:1px;padding-top:1px}.side-nav a{display:flex;align-items:center;gap:8px;min-height:33px;padding:7px 9px;border-radius:7px;color:#8ea1ad;font-size:10.5px;font-weight:560;transition:.15s ease}.side-nav a .nav-icon{width:15px;height:15px;display:grid;place-items:center;color:#6f8794;flex:0 0 15px}.side-nav a .nav-icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.side-nav a:hover{background:rgba(255,255,255,.04);color:#fff}.side-nav a.active{background:#122631;color:#fff}.side-nav a.active .nav-icon{color:var(--accent)}
.sidebar-bottom{margin-top:auto;padding-top:9px;border-top:1px solid rgba(255,255,255,.07)}.user-card{display:flex;align-items:center;gap:7px;padding:5px 7px}.avatar{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#e8eef1;color:#17303b;font-weight:900;font-size:8px;flex:0 0 27px}.user-card strong{display:block;font-size:9px;color:#f6f9fa}.user-card small{display:block;color:#718692;margin-top:1px;font-size:7.5px}
.main-column{min-width:0}.topbar{height:36px;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:0 18px;background:#fff;border-bottom:1px solid #edf0f2}.topbar-date{margin-right:auto;color:#909ba3;font-size:8.5px}.lang-switch{display:flex;align-items:center;gap:1px}.lang-switch a{padding:4px 6px;border-radius:5px;font-size:8.5px;font-weight:800;color:#8a959d}.lang-switch a.active{color:#1a252d;background:#f1f4f5}
.content{padding:14px 19px 26px;max-width:1260px;margin:0 auto;width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.page-head h1{margin:0 0 3px;font-size:20px;line-height:1.15;letter-spacing:-.025em}.page-head p{margin:0;color:var(--muted);font-size:9.5px}.page-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);background:#fff;padding:6px 9px;border-radius:6px;font-weight:700;font-size:8.5px;cursor:pointer;box-shadow:none}.btn:hover{border-color:#d0d8de;background:#fbfcfd}.btn.is-active,.btn-primary{background:#10212b;color:#fff;border-color:#10212b}.btn-accent{background:var(--accent);color:#0a2a17;border-color:var(--accent)}.btn-sm{padding:4px 7px;font-size:8px}
.grid{display:grid;gap:9px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.section-gap{margin-top:10px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-body{padding:11px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.card-title h2,.card-title h3{margin:0;font-size:11px;line-height:1.2;letter-spacing:-.01em}.card-title>span,.card-title>a{font-size:8px;color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:3px;border-radius:999px;padding:3px 6px;font-size:7.5px;font-weight:800;border:1px solid transparent;white-space:nowrap}.badge-live{color:#236d48;background:#eaf8ee;border-color:#d4eedb}.badge-ok{color:#26724d;background:#eef9f2;border-color:#d8efdf}.badge-info{color:#2e6f93;background:#eef7fb;border-color:#dbeaf2}.badge-warn{color:#8c641f;background:#fff7e9;border-color:#f3e3bf}.badge-muted{color:#67757f;background:#f2f4f5;border-color:#e4e8eb}
.metric-card{padding:11px 12px;min-height:75px;display:flex;flex-direction:column;justify-content:center;position:relative}.metric-card .label{font-size:8.5px;color:var(--muted);margin-bottom:5px}.metric-card .value{font-weight:900;font-size:17px;line-height:1.05;letter-spacing:-.025em}.metric-card .sub{font-size:7.5px;color:#95a0a8;margin-top:4px}.metric-icon{display:none}
.dashboard-kpis,.session-kpis,.player-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}.mini-kpi{min-height:61px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:flex;align-items:center;gap:8px}.mini-kpi-icon{width:27px;height:27px;border-radius:7px;background:#f4f8f6;color:#589d75;display:grid;place-items:center;flex:0 0 27px}.mini-kpi-icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.mini-kpi strong{display:block;font-size:13px;line-height:1.1;letter-spacing:-.02em;white-space:nowrap}.mini-kpi small{display:block;color:var(--muted);font-size:7.5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-reference-grid{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(430px,1.42fr);gap:9px;align-items:start}.dashboard-reference-right{display:grid;grid-template-columns:1fr;gap:9px}.dashboard-sessions-card .card-body{padding-bottom:7px}.session-list.compact .session-list-item{min-height:47px}.session-list{display:flex;flex-direction:column}.session-list-item{display:grid;grid-template-columns:47px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #edf0f2}.session-list-item:first-child{border-top:0;padding-top:1px}.session-time{font-size:7.5px;color:var(--muted);line-height:1.25}.session-time strong{display:block;color:#27343c;font-size:8.5px}.session-copy{min-width:0}.session-copy strong{display:block;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-copy small{display:block;color:var(--muted);font-size:7.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-action{display:flex;align-items:center;gap:4px}
.combo-chart{height:145px;position:relative;border-bottom:1px solid #edf0f2;overflow:hidden}.combo-line{position:absolute;inset:3px 0 19px;width:100%;height:calc(100% - 22px);z-index:2;overflow:visible}.combo-line line{stroke:#edf0f2;stroke-width:.55;stroke-dasharray:2 2}.combo-line polyline{fill:none;stroke:#e69a4d;stroke-width:1.3;vector-effect:non-scaling-stroke}.combo-line circle{fill:#e69a4d;vector-effect:non-scaling-stroke}.combo-bars{position:absolute;inset:10px 7px 18px;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end}.combo-bar-cell{height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}.combo-bar{width:17px;max-width:60%;border-radius:3px 3px 1px 1px;background:#69cfa1}.combo-bar-cell:nth-child(even) .combo-bar{background:#68a8ea}.combo-bar-cell small{position:absolute;bottom:-15px;color:#8d989f;font-size:6.5px}.chart-caption{display:flex;gap:12px;margin-top:7px;color:var(--muted);font-size:7.5px}.chart-caption i{display:inline-block;width:7px;height:7px;border-radius:2px;background:#69cfa1;margin-right:4px;vertical-align:-1px}.chart-caption i.line-key{width:10px;height:2px;background:#e69a4d;border-radius:2px;vertical-align:2px}
.hr-card-body{padding-bottom:9px}.hr-reference-layout{display:grid;grid-template-columns:122px 1fr;gap:16px;align-items:center;min-height:125px}.hr-donut{width:108px;height:108px;border-radius:50%;position:relative;margin:auto}.hr-donut:after{content:"";position:absolute;inset:22px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf0f2}.hr-donut-center{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center}.hr-donut-center strong{font-size:17px;line-height:1}.hr-donut-center small{font-size:6.5px;color:var(--muted);margin-top:3px}.zone-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.zone-list>div{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:5px;color:#78858e;font-size:7.5px}.zone-list i{width:7px;height:7px;border-radius:50%}.zone-list strong{color:#26333b;font-size:8px}.zone-list.simple{grid-template-columns:repeat(3,1fr);margin-top:10px}.zone-list.simple>div{display:block}
.tabs{display:flex;gap:0;overflow:auto;border-bottom:1px solid var(--line);margin:0 0 10px}.tabs a{padding:7px 9px 6px;font-size:8.5px;font-weight:650;color:#77848d;border-bottom:2px solid transparent;white-space:nowrap}.tabs a.active{color:#257247;border-bottom-color:var(--accent-deep)}.session-tabs{margin-top:-2px}.segmented{display:inline-flex;background:#f3f6f7;padding:2px;border-radius:6px}.segmented span{padding:4px 7px;border-radius:5px;font-size:7px;color:#7f8b93}.segmented span.active{background:#eaf9ee;color:#2b7c4c;font-weight:800}
.session-reference-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.72fr);gap:9px}.session-map-card .card-body,.session-key-card .card-body{height:100%}.key-metrics-list{display:flex;flex-direction:column}.key-metrics-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid #edf0f2}.key-metrics-list>div:first-child{border-top:0;padding-top:1px}.key-metrics-list span{font-size:8px;color:#65737c}.key-metrics-list strong{font-size:8.5px;white-space:nowrap}.compact-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.compact-metrics>div{padding:13px;border-radius:7px;background:#f8fafb}.compact-metrics small{display:block;color:var(--muted);font-size:8px}.compact-metrics strong{display:block;font-size:20px;margin-top:4px}
.heatmap{position:relative;aspect-ratio:105/58;background:#10242c;border-radius:6px;overflow:hidden;box-shadow:inset 0 0 18px rgba(0,0,0,.12)}.heatmap.field-lines:before{content:"";position:absolute;inset:8%;border:1px solid rgba(255,255,255,.32);z-index:1}.heatmap.field-lines:after{content:"";position:absolute;left:50%;top:8%;bottom:8%;width:1px;background:rgba(255,255,255,.32);z-index:1}.heatspot{position:absolute;width:82px;height:82px;border-radius:50%;filter:blur(11px);background:radial-gradient(circle,rgba(251,230,75,.94) 0%,rgba(246,146,52,.76) 26%,rgba(225,82,55,.5) 46%,rgba(73,200,151,.18) 64%,rgba(53,185,152,0) 76%);transform:translate(-50%,-50%);z-index:2;mix-blend-mode:screen}
.hr-zones{display:flex;height:11px;border-radius:999px;overflow:hidden;margin:8px 0}.hr-zones span:nth-child(1){background:#80d8c9}.hr-zones span:nth-child(2){background:#86cf9c}.hr-zones span:nth-child(3){background:#dfcc55}.hr-zones span:nth-child(4){background:#eead52}.hr-zones span:nth-child(5){background:#e3745e}.hr-zones span:nth-child(6){background:#b45463}
.table-wrap{width:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:680px}.data-table th{text-align:left;color:#8a959d;font-size:7px;font-weight:700;padding:7px;border-bottom:1px solid var(--line);background:#fbfcfd}.data-table td{font-size:8.5px;padding:7px;border-bottom:1px solid #eef1f3;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table a{font-weight:650}.person{display:flex;align-items:center;gap:7px}.person .avatar{width:24px;height:24px;flex-basis:24px;font-size:7px}.person strong{display:block;font-size:8.5px}.person small{display:block;color:var(--muted);font-size:7px;margin-top:1px}
.filters{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}.select,.input{background:#fff;border:1px solid var(--line);padding:6px 8px;border-radius:6px;color:var(--text);font-size:8.5px}.input{min-width:180px}
.chart-line{height:155px;position:relative}.chart-line svg{width:100%;height:100%}.chart-grid line{stroke:#e9edf0;stroke-width:.6}.line-main{fill:none;stroke:#51b978;stroke-width:1.35;vector-effect:non-scaling-stroke}.line-alt{fill:none;stroke:#629ce0;stroke-width:1.2}.dot-main{fill:#51b978}.reference-line{padding-bottom:17px}.chart-axis-labels{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;color:#939da4;font-size:6px}
.player-reference-head{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;padding:10px;margin-bottom:0}.profile-avatar{width:72px;height:63px;border-radius:7px;background:linear-gradient(150deg,#e8eef0 0%,#cbd8dd 47%,#0e242d 48%,#0b1b23 100%);display:grid;place-items:center;position:relative;overflow:hidden;color:#17313c;font-size:15px;font-weight:900}.profile-avatar b{position:absolute;right:6px;bottom:5px;color:#fff;font-size:8px}.profile-main h2{margin:0 0 3px;font-size:16px}.profile-main p{margin:0;color:var(--muted);font-size:8.5px}.profile-meta{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}.profile-tabs{margin-top:2px}.player-reference-charts{display:grid;grid-template-columns:1fr 1fr;gap:9px}.distance-bars{height:155px;display:grid;grid-template-columns:repeat(8,1fr);gap:9px;align-items:end;padding:8px 4px 18px;border-bottom:1px solid #edf0f2}.distance-bars>div{height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}.distance-bars span{width:19px;max-width:68%;background:#65a8ed;border-radius:3px 3px 1px 1px}.distance-bars small{position:absolute;bottom:-15px;color:#929da4;font-size:6px}
.pitch{position:relative;aspect-ratio:105/64;background:#0d242d;border-radius:6px;overflow:hidden;border:1px solid #173842;box-shadow:inset 0 0 24px rgba(0,0,0,.12)}.pitch:before{content:"";position:absolute;inset:7%;border:1px solid rgba(255,255,255,.35)}.pitch:after{content:"";position:absolute;left:50%;top:7%;bottom:7%;width:1px;background:rgba(255,255,255,.35)}.pitch .center-circle{position:absolute;width:17%;aspect-ratio:1;border:1px solid rgba(255,255,255,.35);border-radius:50%;left:41.5%;top:36%}.pitch .center-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.55);left:calc(50% - 2px);top:calc(50% - 2px)}.player-dot,.ball-dot{position:absolute;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;font-size:6px;font-weight:900;color:#06141b;transition:left .3s linear,top .3s linear}.player-dot{width:15px;height:15px;background:#62df7b;box-shadow:0 0 0 2px rgba(98,223,123,.16)}.player-dot.away{background:#69aaf2;box-shadow:0 0 0 2px rgba(105,170,242,.16)}.ball-dot{width:8px;height:8px;background:#fff}.replay-workspace{display:grid;grid-template-columns:minmax(0,1fr) 175px;gap:10px}.replay-options{border:1px solid var(--line);border-radius:7px;padding:9px;background:#fbfcfd}.replay-segment{margin-bottom:8px}.replay-options label{display:flex;gap:6px;align-items:center;padding:6px 2px;color:#53616a;font-size:8px}.replay-options input{accent-color:var(--accent-deep);width:11px;height:11px}.replay-controls{display:flex;align-items:center;gap:8px;margin-top:8px}.timeline{flex:1}.timeline input{width:100%;accent-color:#1c5f9a}.replay-time{font-size:7.5px;color:#51606a;min-width:34px}.replay-play{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:0;background:#0f202a;color:#fff;font-size:8px;cursor:pointer}
.event-pitch{position:relative;aspect-ratio:105/64;background:#f5f7f8;border:1px solid var(--line);border-radius:6px;overflow:hidden}.event-pitch:before{content:"";position:absolute;inset:7%;border:1px solid #c4d0d5}.event-pitch:after{content:"";position:absolute;left:50%;top:7%;bottom:7%;width:1px;background:#c4d0d5}.event-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:#50c981;transform:translate(-50%,-50%);opacity:.72}.event-dot.shot{background:#e99443}.event-dot.defense{background:#5b9ee5}.pitch-grid18{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(3,52px);gap:2px;background:#dce5e9;padding:2px;border-radius:6px;overflow:hidden}.pitch-grid18 .zone{background:#f8fafb;padding:5px;display:flex;flex-direction:column;justify-content:space-between;font-size:6.5px}.pitch-grid18 .zone strong{font-size:10px}.pitch-grid18 .zone.hot{background:#e8f8f5}.pitch-grid18 .zone.warm{background:#fff4e5}.network{position:relative;aspect-ratio:105/64;background:#fbfcfd;border:1px solid var(--line);border-radius:6px}.network svg{position:absolute;inset:0;width:100%;height:100%}.network line{stroke:#70c987;stroke-opacity:.45}.network circle{fill:#16333f;stroke:#fff;stroke-width:1.5}.network text{font-size:4px;fill:#fff;text-anchor:middle;dominant-baseline:central}
.kpi-row{display:flex;align-items:center;gap:7px;padding:5px 0}.kpi-row .progress{flex:1;height:4px;background:#edf1f3;border-radius:999px;overflow:hidden}.kpi-row .progress span{display:block;height:100%;background:#55c37c}.kpi-row strong{font-size:8px;width:45px;text-align:right}.empty{padding:24px;text-align:center;color:var(--muted);font-size:9px}
.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.compare-side{padding:11px}.compare-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}.compare-metric{display:grid;grid-template-columns:1fr 64px 64px;align-items:center;padding:7px 0;border-top:1px solid #eef1f3;font-size:8.5px}.compare-metric strong{text-align:right}.delta-pos{color:#248661}.delta-neg{color:#b9575e}
.device-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.device-card{padding:10px}.device-icon{width:28px;height:28px;border-radius:7px;background:#edf7f7;display:grid;place-items:center;margin-bottom:7px}.device-card strong{display:block;font-size:9.5px}.device-card small{color:var(--muted);font-size:7.5px}.battery{margin-top:7px;height:4px;background:#edf0f2;border-radius:999px;overflow:hidden}.battery span{display:block;height:100%;background:#53c789}
.report-card{padding:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.report-icon{width:32px;height:39px;border-radius:6px;background:#eef3f5;display:grid;place-items:center;font-size:8px;font-weight:900;color:#4a6675}.report-info{flex:1}.report-info strong{display:block;font-size:9px}.report-info small{color:var(--muted);font-size:7px}.live-panel{background:#0d1e27;color:#e8f1f4;border-color:#17313e}.live-panel .card-title span{color:#7e9aa8}.live-table{width:100%;border-collapse:collapse}.live-table td{padding:7px 6px;border-top:1px solid rgba(255,255,255,.07);font-size:8px}.live-table td:last-child{text-align:right}.live-value{font-weight:850;color:#8fe5a1}
.callout,.privacy-note{display:none!important}.muted{color:var(--muted)}.text-right{text-align:right}.text-center{text-align:center}.nowrap{white-space:nowrap}.mt-16{margin-top:10px}.mb-0{margin-bottom:0}.subtle{font-size:7.5px;color:var(--muted)}
/* legacy structures still used by secondary screens */
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dashboard-right{display:grid;gap:9px}.dashboard-metrics{gap:8px}.live-ribbon{margin-top:9px}.live-ribbon .card-body{padding:10px;display:flex;gap:12px;align-items:center}.live-main{flex:1}.live-title{font-size:9px;font-weight:800}.live-team{font-size:12px;font-weight:900}.live-sub{font-size:7px;color:var(--muted)}.live-kpi small{display:block;font-size:7px;color:var(--muted)}.live-kpi strong{font-size:10px}.hero-session{display:grid;grid-template-columns:1.2fr .8fr;gap:9px}.session-score{padding:13px;display:flex;align-items:center;justify-content:space-between;background:#0d2029;color:#fff}.session-score .team-side{width:35%;text-align:center}.session-score .team-side strong{display:block;font-size:10px}.session-score .team-side small{display:block;color:#8eb0bd;margin-top:3px;font-size:7px}.score-big{font-size:24px;font-weight:900}.session-meta{padding:12px}.meta-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.meta-list div{padding:7px;background:#f8fafb;border-radius:6px}.meta-list small{display:block;color:var(--muted);font-size:7px}.meta-list strong{font-size:8.5px}
@media(max-width:1050px){.app-shell{grid-template-columns:158px minmax(0,1fr)}.content{padding:13px 15px}.dashboard-reference-grid{grid-template-columns:1fr}.dashboard-reference-right{grid-template-columns:1.2fr .8fr}.session-reference-grid{grid-template-columns:1.35fr .65fr}.grid-5,.dashboard-kpis,.session-kpis,.player-kpis{grid-template-columns:repeat(3,1fr)}.grid-4,.device-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{grid-template-columns:58px minmax(0,1fr)}.sidebar{padding:8px 5px}.brand{justify-content:center;padding:0 0 8px}.brand-wordmark{font-size:0}.brand-wordmark:before{content:"IKS";font-size:10px}.club-switch{justify-content:center;margin:8px 0;padding:5px}.club-switch-copy,.club-chevron{display:none}.side-nav a{justify-content:center;padding:7px 4px;font-size:0}.side-nav a .nav-icon{width:17px;height:17px}.side-nav a .nav-icon svg{width:16px;height:16px}.user-card{justify-content:center}.user-card>span:last-child{display:none}.content{padding:12px}.topbar{padding:0 12px}.page-head{display:block}.page-actions{margin-top:8px}.dashboard-reference-right{grid-template-columns:1fr}.session-reference-grid,.player-reference-charts,.grid-2,.grid-3,.comparison-grid{grid-template-columns:1fr}.dashboard-kpis,.session-kpis,.player-kpis,.grid-5{grid-template-columns:repeat(2,1fr)}.replay-workspace{grid-template-columns:1fr}.replay-options{display:grid;grid-template-columns:repeat(2,1fr)}.replay-segment{grid-column:1/-1}.hr-reference-layout{grid-template-columns:110px 1fr}}
@media(max-width:520px){.app-shell{display:block}.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;height:54px;z-index:30;padding:4px 5px}.brand,.club-switch,.sidebar-bottom{display:none}.side-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;padding:0}.side-nav a{min-height:44px}.side-nav a:nth-child(n+6){display:none}.main-column{padding-bottom:56px}.topbar{height:32px}.topbar-date{display:none}.content{padding:10px}.page-head h1{font-size:18px}.dashboard-kpis,.session-kpis,.player-kpis,.grid-5,.grid-4,.device-grid{grid-template-columns:1fr 1fr}.mini-kpi{min-height:56px}.hr-reference-layout{grid-template-columns:1fr}.zone-list{grid-template-columns:1fr 1fr}.profile-avatar{width:62px;height:55px}.data-table{min-width:620px}}

/* Teams page: compact product cards, no oversized status text. */
.teams-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.team-card{min-width:0;overflow:hidden}
.team-card .card-body{padding:13px}
.team-card-head{display:flex;align-items:center;gap:9px;min-width:0}
.team-mark{width:36px;height:36px;flex:0 0 36px;border-radius:9px;display:grid;place-items:center;background:#edf7f3;color:#3c8d65;border:1px solid #dceee4;font-size:9px;font-weight:900;letter-spacing:-.02em}
.team-card-copy{min-width:0;flex:1}.team-card-copy h2{margin:0;font-size:12px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-card-copy small{display:block;color:var(--muted);font-size:7.5px;margin-top:3px}
.team-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:13px 0 11px;padding:10px 0;border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2}
.team-card-stat{min-width:0;padding:0 10px;border-left:1px solid #edf0f2}.team-card-stat:first-child{padding-left:0;border-left:0}.team-card-stat:last-child{padding-right:0}
.team-card-stat strong{display:block;font-size:15px;line-height:1.05;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-card-stat small{display:block;color:var(--muted);font-size:7.2px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-card-actions{display:flex;gap:6px;align-items:center}

/* Keep the club name readable in the compact sidebar. */
.club-switch{gap:6px;padding:7px}.club-crest{width:27px;height:27px;flex-basis:27px}.club-switch strong{font-size:10px}

@media(max-width:1050px){.teams-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.teams-grid{grid-template-columns:1fr}}

/* Product showcase pass: visual-first team, session, player and analytics views */
.filters-compact{margin-bottom:10px}.filters-compact .select{min-width:150px}.filters-compact .input{min-width:210px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 1px 7px}.section-heading h2{margin:0;font-size:12px;letter-spacing:-.015em}.section-heading>span{font-size:8px;color:var(--muted)}

/* Sessions */
.session-feature-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:9px}.session-feature-grid>:only-child{grid-column:1/-1}
.session-feature{border-radius:10px;overflow:hidden;min-height:220px;display:flex;flex-direction:column;position:relative;border:1px solid var(--line);box-shadow:var(--shadow)}
.session-feature-live{background:linear-gradient(135deg,#0b2029 0%,#0d2a32 58%,#12372f 100%);color:#fff;border-color:#14343c}.session-feature-next{background:#fff}
.session-feature-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 0;font-size:7.5px;color:#8ca0aa}.session-feature-live .session-feature-head{color:#83a0a8}.session-feature-main{display:grid;grid-template-columns:1fr 180px;align-items:center;gap:16px;padding:16px 14px 12px}.session-feature-main small{font-size:7.5px;color:#7d959e}.session-feature-main h2{font-size:22px;line-height:1.05;margin:4px 0 5px;letter-spacing:-.035em}.session-feature-main p{margin:0;color:#78909a;font-size:8px}
.session-feature-live-visual{height:72px;display:flex;align-items:flex-end;justify-content:center;gap:7px;position:relative}.session-feature-live-visual span{width:16px;border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,#70e28a,#53bd75);height:35%}.session-feature-live-visual span:nth-child(2){height:68%}.session-feature-live-visual span:nth-child(3){height:48%}.session-feature-live-visual span:nth-child(4){height:82%}.session-feature-live-visual i{position:absolute;left:5px;right:5px;top:18px;height:1px;background:#69d684;transform:skewY(-5deg);box-shadow:35px 4px 0 rgba(105,214,132,.25),70px -4px 0 rgba(105,214,132,.18)}
.session-feature .session-story-metrics{padding:0 14px 13px;border-top:0}.session-feature-live .session-story-metrics small{color:#6e8e98}.session-feature-live .session-story-metrics strong{color:#fff}.session-feature-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-top:1px solid rgba(255,255,255,.08);font-size:7.5px;color:#78919b}.session-feature-next .session-feature-foot{border-top-color:var(--line);color:var(--muted)}.session-feature-foot b{font-size:14px;color:var(--accent)}
.next-matchup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:26px 18px 22px;text-align:center}.next-matchup>div{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}.next-matchup strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.next-matchup>b{font-size:16px;color:#a3adb4}.team-token{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#10252f;color:#fff;font-size:15px;font-weight:900;border:1px solid #193945}.team-token.alt{background:#eff6f2;color:#2e7f57;border-color:#dcece2}.next-session-meta{display:flex;justify-content:space-between;gap:10px;padding:0 14px 12px;color:var(--muted);font-size:7.5px}
.session-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.session-story-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.session-story-card:hover{transform:translateY(-2px);border-color:#d8e0e5;box-shadow:0 8px 24px rgba(17,31,40,.08)}
.session-story-head{display:flex;align-items:center;justify-content:space-between;padding:10px 11px 0}.session-story-head>div{display:flex;align-items:center;gap:6px;font-size:8px}.session-type-dot{width:7px;height:7px;border-radius:50%;background:#69cf91}.session-type-dot.type-match{background:#66a8e9}.session-type-dot.type-training_match{background:#e6a251}.session-story-title{padding:9px 11px 8px}.session-story-title h3{margin:0 0 3px;font-size:12px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-story-title span{font-size:7px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.session-visual{height:116px;margin:0 10px;border-radius:7px;overflow:hidden;position:relative}.session-visual-pitch{background:linear-gradient(135deg,#102a33,#0c2028);border:1px solid #183a44}.session-visual-pitch:before{content:"";position:absolute;inset:10%;border:1px solid rgba(255,255,255,.24)}.session-visual-pitch:after{content:"";position:absolute;left:50%;top:10%;bottom:10%;width:1px;background:rgba(255,255,255,.24)}.session-pitch-center{position:absolute;width:24px;height:24px;border:1px solid rgba(255,255,255,.24);border-radius:50%;left:calc(50% - 12px);top:calc(50% - 12px)}.session-event-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:#66dd83;transform:translate(-50%,-50%);z-index:2;opacity:.68}.session-event-dot.opponent{background:#65a8ed}.session-event-dot.shot{box-shadow:0 0 0 3px rgba(236,166,75,.16);background:#eba34b}.session-event-dot.defense{background:#6fd0c4}
.session-visual-training{background:linear-gradient(180deg,#f5faf7,#f7fafb);border:1px solid #e4ece8;padding:10px 12px}.training-wave{position:absolute;left:8px;right:8px;top:7px;height:44px}.training-wave svg{width:100%;height:100%}.training-wave polyline{fill:none;stroke:#59c67c;stroke-width:1.1;vector-effect:non-scaling-stroke}.training-bars{position:absolute;left:16px;right:16px;bottom:12px;height:61px;display:flex;align-items:flex-end;justify-content:space-around;gap:12px}.training-bars span{width:18px;max-width:14%;border-radius:3px 3px 1px 1px;background:#68a8e9}.training-bars span:nth-child(odd){background:#70ce9a}.session-visual-duel{background:#10242d;border:1px solid #183a44;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 22px}.session-visual-duel>div{display:grid;grid-template-columns:repeat(3,15px);grid-template-rows:auto 15px;gap:8px;justify-content:center}.session-visual-duel strong{grid-column:1/-1;text-align:center;color:#fff;font-size:9px}.session-visual-duel span{width:15px;height:15px;border-radius:50%;background:#61dd80;box-shadow:0 0 0 2px rgba(97,221,128,.12)}.session-visual-duel>div:last-child span{background:#66a8ec;box-shadow:0 0 0 2px rgba(102,168,236,.12)}.session-visual-duel>b{color:#78909a;font-size:8px}
.session-story-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:10px 11px}.session-story-metrics>div{min-width:0}.session-story-metrics small{display:block;color:var(--muted);font-size:6.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-story-metrics strong{display:block;margin-top:3px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-story-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;border-top:1px solid #edf0f2;color:var(--muted);font-size:7px}.session-story-footer b{color:#162a34;font-size:10px}

/* Teams */
.team-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.team-showcase-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease}.team-showcase-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(18,33,42,.08)}.team-showcase-cover{height:142px;background:linear-gradient(145deg,#0a1d26,#11313a);position:relative;padding:12px;color:#fff;overflow:hidden}.team-cover-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.08) 50%,transparent 50.2%),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:100% 100%,100% 28px;opacity:.5}.team-showcase-topline{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;font-size:7px;color:#78949e}.team-showcase-mark{display:grid;place-items:center;min-width:34px;height:24px;border-radius:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:8px;font-weight:900;color:#fff}.team-showcase-name{position:absolute;left:12px;bottom:39px;z-index:2}.team-showcase-name small{font-size:6.5px;color:#75919b;text-transform:uppercase;letter-spacing:.08em}.team-showcase-name h2{font-size:18px;margin:3px 0 0;letter-spacing:-.035em}.roster-stack{position:absolute;left:12px;bottom:10px;display:flex;align-items:center;z-index:2}.roster-stack span,.roster-stack b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;margin-right:-5px;border:2px solid #0f2a33;background:#e7eff1;color:#16303a;font-size:6.5px;font-weight:900}.roster-stack b{background:#62d782;color:#0b2b18}.team-showcase-body{padding:11px}.team-showcase-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}.team-showcase-stats small{display:block;color:var(--muted);font-size:6.5px}.team-showcase-stats strong{display:block;margin-top:2px;font-size:10px}.team-latest{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid #edf0f2;font-size:7px;color:var(--muted)}.team-latest strong{color:#26333b}.team-showcase-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.team-showcase-actions a{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:6px;padding:7px 8px;font-size:7.5px;font-weight:800}.team-showcase-actions a:first-child{background:#10232d;color:#fff;border-color:#10232d}.team-showcase-actions b{font-size:10px}

/* Player roster */
.player-roster-section{margin-top:14px}.player-roster-heading>div{display:flex;align-items:center;gap:7px}.player-roster-heading>div>span{font-size:7px;color:#61806e;background:#eef7f1;border:1px solid #dceee2;padding:2px 5px;border-radius:999px}.player-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.player-showcase-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.player-showcase-card:hover{transform:translateY(-2px);border-color:#d6dfe4;box-shadow:0 8px 22px rgba(16,32,42,.08)}.player-showcase-visual{height:118px;background:linear-gradient(145deg,#edf3f1,#dce8e5 60%,#cbdad8);position:relative;overflow:hidden}.player-showcase-visual:before{content:"";position:absolute;inset:auto -30% -70px;background:#0d222b;height:118px;transform:rotate(-7deg)}.player-shirt-no{position:absolute;right:10px;top:9px;font-size:17px;font-weight:900;color:#1a3038;opacity:.78}.player-position-pill{position:absolute;left:10px;top:9px;font-size:6.5px;font-weight:900;letter-spacing:.08em;color:#315c49;background:rgba(255,255,255,.72);border:1px solid rgba(45,100,72,.12);border-radius:999px;padding:3px 6px}.player-portrait-mark{position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);width:90px;height:105px}.player-portrait-head{position:absolute;width:31px;height:31px;border-radius:50%;background:#b5c9c6;left:30px;top:3px;box-shadow:inset 0 -5px 0 rgba(0,0,0,.03)}.player-portrait-body{position:absolute;width:74px;height:78px;border-radius:38px 38px 10px 10px;background:linear-gradient(180deg,#163641,#0c2029);left:8px;top:30px;transform:perspective(120px) rotateX(-4deg)}.player-portrait-mark b{position:absolute;z-index:2;left:0;right:0;top:57px;text-align:center;color:#fff;font-size:12px;letter-spacing:.03em}.player-showcase-body{padding:10px}.player-showcase-name h3{font-size:11px;margin:0 0 2px;letter-spacing:-.015em}.player-showcase-name span{display:block;color:var(--muted);font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-showcase-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:9px}.player-showcase-metrics small{display:block;color:var(--muted);font-size:6px}.player-showcase-metrics strong{display:block;font-size:8px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-showcase-open{display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding-top:7px;border-top:1px solid #edf0f2;color:#44545d;font-size:7px;font-weight:750}.player-showcase-open b{font-size:10px;color:#1c6d45}

/* Analytics */
.analytics-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.analytics-group-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px;box-shadow:var(--shadow)}.analytics-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:9px;border-bottom:1px solid #edf0f2}.analytics-group-head strong{font-size:11px}.analytics-group-head span{font-size:7px;color:var(--muted)}.analytics-group-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:10px}.analytics-group-metrics small{display:block;color:var(--muted);font-size:7px}.analytics-group-metrics strong{display:block;font-size:13px;margin-top:3px;letter-spacing:-.02em;white-space:nowrap}.analytics-group-metrics span{display:block;font-size:6px;color:#98a3aa;margin-top:2px}.analytics-ranking-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ranking-card .card-body{padding-bottom:7px}.ranking-list{display:flex;flex-direction:column}.ranking-row{display:grid;grid-template-columns:22px minmax(120px,1fr) minmax(80px,1.2fr) 76px;gap:8px;align-items:center;padding:7px 0;border-top:1px solid #edf0f2}.ranking-row:first-child{border-top:0}.ranking-place{width:20px;height:20px;border-radius:6px;background:#f1f5f3;color:#426555;display:grid;place-items:center;font-size:7px;font-weight:900}.ranking-athlete{min-width:0}.ranking-athlete strong{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-athlete small{display:block;font-size:6.5px;color:var(--muted);margin-top:1px}.ranking-track{height:4px;background:#eef2f3;border-radius:999px;overflow:hidden}.ranking-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#65ce91,#64a8e8)}.ranking-value{text-align:right;font-size:8px;white-space:nowrap}

/* Comparison */
.compare-filters{align-items:center}.compare-swap{color:#53646e;font-size:14px}.compare-matrix-card{overflow:hidden}.compare-matrix{width:100%}.compare-matrix-row{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(190px,.8fr) minmax(190px,.8fr);align-items:stretch;border-top:1px solid #edf0f2}.compare-matrix-row:first-child{border-top:0}.compare-matrix-row>div{padding:10px 14px}.compare-matrix-row>div+div{border-left:1px solid #edf0f2}.compare-matrix-head{background:#fbfcfd}.compare-matrix-head>div{padding-top:12px;padding-bottom:12px}.compare-metric-name{display:flex;flex-direction:column;justify-content:center}.compare-metric-name>strong{font-size:8.5px;font-weight:650}.compare-metric-name>small{font-size:6.5px;color:var(--muted);margin-top:2px}.compare-player-head{display:flex;align-items:center;justify-content:center;gap:7px;text-align:left;min-width:0}.compare-player-head .avatar{width:28px;height:28px;flex-basis:28px;font-size:7px}.compare-player-head>span:last-child{min-width:0}.compare-player-head strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-player-head small{display:block;color:var(--muted);font-size:6.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-value{display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:900;text-align:center;white-space:nowrap}

@media(max-width:1100px){.session-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.session-feature-grid{grid-template-columns:1fr 1fr}.analytics-ranking-grid{grid-template-columns:1fr}.team-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.session-feature-grid,.analytics-group-grid,.team-showcase-grid{grid-template-columns:1fr}.session-story-grid{grid-template-columns:1fr}.player-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-feature-main{grid-template-columns:1fr 120px}.compare-matrix{overflow-x:auto}.compare-matrix-row{min-width:650px;grid-template-columns:240px 205px 205px}.filters-compact .input,.filters-compact .select{min-width:0}}
@media(max-width:520px){.player-card-grid{grid-template-columns:1fr}.session-feature-main{grid-template-columns:1fr}.session-feature-live-visual{display:none}.analytics-group-metrics{gap:5px}.ranking-row{grid-template-columns:20px minmax(100px,1fr) 65px}.ranking-track{display:none}}

/* Session overview: visual football map driven by tracking and event data. */
.session-visual-grid{grid-template-columns:minmax(0,1.7fr) minmax(235px,.64fr)}
.session-field-card .card-body{padding:10px}.session-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.session-field-head h2{margin:0;font-size:11px;line-height:1.1}.session-field-head>div>span{display:block;margin-top:3px;color:var(--muted);font-size:6.5px;letter-spacing:.04em}.field-player-picker select{height:27px;max-width:210px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#28363e;padding:0 25px 0 8px;font-size:7.5px;outline:none}.field-player-picker select:focus{border-color:#bcd9c6;box-shadow:0 0 0 2px rgba(70,179,106,.08)}
.session-field-widget{position:relative}.field-mode-switch{display:inline-flex;gap:2px;padding:2px;background:#f1f5f3;border:1px solid #e5ece8;border-radius:7px;margin-bottom:7px}.field-mode-button{border:0;background:transparent;color:#73808a;border-radius:5px;padding:5px 8px;font-size:7.2px;font-weight:750;cursor:pointer}.field-mode-button:hover{color:#30424b}.field-mode-button.active{background:#fff;color:#236e47;box-shadow:0 1px 4px rgba(22,50,38,.07)}
.session-field-stage{position:relative;border-radius:8px;overflow:hidden;background:#0d222b}.session-pitch-panel{display:none;position:relative}.session-pitch-panel.active{display:block}.session-pitch-svg{display:block;width:100%;height:auto;aspect-ratio:105/68;background:#0d222b}.pitch-surface{fill:#0e2630}.pitch-markings{fill:none;stroke:rgba(233,246,240,.38);stroke-width:.34;vector-effect:non-scaling-stroke}.pitch-markings .pitch-dot{fill:rgba(233,246,240,.5);stroke:none}.session-heat-layer[hidden]{display:none}.heatmap-svg .pitch-markings{opacity:.9}.field-overlay-meta{position:absolute;left:9px;right:9px;bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}.field-overlay-meta>span,.field-overlay-meta>strong{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:6px;background:rgba(7,22,29,.78);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px);color:#dbe8ec;font-size:6.8px;font-weight:750}.heat-scale{display:flex;align-items:center;gap:4px;min-height:23px;padding:0 7px;border-radius:6px;background:rgba(7,22,29,.78);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px);color:#9fb2ba}.heat-scale b{font-size:6px;font-weight:600}.heat-scale i,.heat-scale em{width:24px;height:4px;border-radius:999px;display:block}.heat-scale i{background:linear-gradient(90deg,#49c99a,#f6ad46)}.heat-scale em{background:linear-gradient(90deg,#f6ad46,#fff36d)}
.team-shape{fill:rgba(104,222,123,.09);stroke:rgba(104,222,123,.55);stroke-width:.42;stroke-dasharray:1.5 1.2;vector-effect:non-scaling-stroke}.avg-position-node{cursor:pointer}.avg-position-node circle{fill:#6dde83;stroke:#f7fffa;stroke-width:.45;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(0,0,0,.22))}.avg-position-node:hover circle{fill:#8bf19a}.avg-position-node .avg-number{fill:#092016;font-size:2.55px;font-weight:900;text-anchor:middle;dominant-baseline:central}.avg-position-node .avg-label{fill:#e9f4f0;font-size:2.25px;font-weight:700;text-anchor:middle;paint-order:stroke;stroke:#0e2630;stroke-width:.75px;stroke-linejoin:round}.pass-edge{fill:none;stroke:#69db84;stroke-width:var(--pass-width);stroke-opacity:var(--pass-opacity);color:#69db84;vector-effect:non-scaling-stroke}.pass-node circle{fill:#eaf5ef;stroke:#0b2029;stroke-width:.5;vector-effect:non-scaling-stroke}.pass-node text{fill:#17342a;font-size:2.55px;font-weight:900;text-anchor:middle;dominant-baseline:central}.field-empty{min-height:310px;display:grid;place-items:center;background:#0e2630;color:#78919b;border-radius:8px}.session-field-card{overflow:hidden}.session-field-card .card-body{height:100%}.session-key-card .key-metrics-list>div{padding:9px 0}.session-key-card .key-metrics-list span{font-size:7.5px}.session-key-card .key-metrics-list strong{font-size:8.3px}
@media(max-width:1050px){.session-visual-grid{grid-template-columns:minmax(0,1.45fr) minmax(215px,.7fr)}}
@media(max-width:760px){.session-visual-grid{grid-template-columns:1fr}.session-field-head{align-items:flex-start}.field-player-picker select{max-width:155px}.field-mode-switch{max-width:100%;overflow:auto}.field-mode-button{white-space:nowrap}.session-pitch-svg{min-height:260px}.field-overlay-meta{bottom:6px;left:6px;right:6px}}

/* Session visualization v2: compact, data-first field view. */
.session-visual-grid{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);align-items:stretch}
.session-field-stage{border:1px solid #18343d;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 10px 24px rgba(14,34,42,.08)}
.session-pitch-svg{background:#0b252e}
.pitch-surface{fill:#0b2831}
.pitch-stripes rect{fill:rgba(255,255,255,.018)}
.pitch-markings{stroke:rgba(228,242,237,.43);stroke-width:.3}
.heatmap-svg .session-heat-layer circle{mix-blend-mode:screen}
.field-overlay-meta>span,.field-overlay-meta>strong,.heat-scale{background:rgba(6,22,28,.84)}

.session-profile-card .card-body{display:flex;flex-direction:column;height:100%;padding:11px 12px}
.team-profile-rings{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:5px 0 12px;border-bottom:1px solid #edf0f2}
.metric-ring{--value:0;position:relative;width:88px;max-width:100%;aspect-ratio:1;margin:auto;border-radius:50%;background:conic-gradient(#54c789 calc(var(--value)*1%),#edf3ef 0);display:grid;place-items:center}
.metric-ring:before{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf1ef}
.metric-ring>div{position:relative;z-index:1;text-align:center;line-height:1.05}
.metric-ring strong{display:block;font-size:12px;letter-spacing:-.03em;color:#10212a}
.metric-ring span{display:block;margin-top:4px;font-size:6.2px;color:var(--muted);max-width:64px}
.team-profile-bars{padding:8px 0 6px}
.profile-bar-row{padding:6px 0;border-bottom:1px solid #f0f2f3}
.profile-bar-row:last-child{border-bottom:0}
.profile-bar-row>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.profile-bar-row span{font-size:6.8px;color:#70808a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-bar-row strong{font-size:7.4px;color:#17252c;white-space:nowrap}
.profile-bar-row>i{display:block;height:4px;border-radius:999px;background:#edf2f0;overflow:hidden}
.profile-bar-row>i>b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#58c989,#75b8e8)}
.session-leaders{margin-top:auto;padding-top:8px;border-top:1px solid #edf0f2}
.session-leaders-title{font-size:7px;font-weight:850;color:#1a2a31;margin-bottom:4px;text-transform:uppercase;letter-spacing:.045em}
.session-leader{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:7px;align-items:center;padding:6px 0;border-top:1px solid #f2f3f4;text-decoration:none;color:inherit}
.session-leader:first-of-type{border-top:0}
.session-leader .avatar{width:26px;height:26px;flex-basis:26px;font-size:6.6px;background:#eef4f1;color:#315c49}
.session-leader-copy{min-width:0}
.session-leader-copy small{display:block;font-size:5.9px;color:var(--muted);margin-bottom:1px}
.session-leader-copy strong{display:block;font-size:7.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.session-leader>b{font-size:7.1px;white-space:nowrap;color:#17252c}

@media(max-width:1180px){.session-visual-grid{grid-template-columns:minmax(0,1.35fr) minmax(285px,.65fr)}.metric-ring{width:76px}}
@media(max-width:760px){.session-visual-grid{grid-template-columns:1fr}.session-profile-card .card-body{height:auto}.session-leaders{margin-top:8px}.metric-ring{width:92px}}

/* Session presentation redesign v3 — product-first tactical view. */
.session-showcase-grid{display:grid;grid-template-columns:minmax(0,1.56fr) minmax(290px,.58fr);gap:10px;align-items:stretch}
.session-tactical-card,.session-profile-card-v3{min-width:0;overflow:hidden}
.session-tactical-card .card-body{padding:10px;height:100%}
.session-tactical-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.session-tactical-copy{min-width:0}.session-tactical-copy h2{margin:0;font-size:11px;line-height:1.15;letter-spacing:-.01em}.session-tactical-copy span{display:block;margin-top:3px;color:#87949b;font-size:6.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.session-tactical-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}
.session-tactical-actions .field-mode-switch{margin:0;display:inline-flex;gap:2px;padding:2px;background:#f1f5f3;border:1px solid #e4ebe7;border-radius:7px}
.session-tactical-actions .field-mode-button{appearance:none;border:0;background:transparent;color:#718087;border-radius:5px;padding:5px 8px;font:inherit;font-size:7px;font-weight:800;cursor:pointer;white-space:nowrap}
.session-tactical-actions .field-mode-button.active{background:#fff;color:#236e47;box-shadow:0 1px 4px rgba(18,43,31,.08)}
.session-tactical-actions .field-player-picker{display:block}.session-tactical-actions .field-player-picker[hidden]{display:none!important}
.session-tactical-actions .field-player-picker select{height:26px;max-width:170px;border:1px solid #e0e6e8;border-radius:6px;background:#fff;color:#293840;padding:0 24px 0 7px;font-size:7px;outline:none}
.presentation-field .session-field-stage{position:relative;border-radius:9px;overflow:hidden;background:#0c252e;border:1px solid #183740;box-shadow:0 8px 20px rgba(11,32,40,.08)}
.presentation-field .session-pitch-panel{display:none;position:relative}.presentation-field .session-pitch-panel.active{display:block}
.presentation-field .session-pitch-svg{display:block;width:100%;height:auto;aspect-ratio:105/61;background:#0d2831}
.presentation-field .pitch-turf line{stroke:#d7ebe4;stroke-width:.24;vector-effect:non-scaling-stroke}
.presentation-field .pitch-markings{fill:none;stroke:#dcebe6;stroke-opacity:.42;stroke-width:.32;vector-effect:non-scaling-stroke}
.presentation-field .pitch-markings .pitch-dot{fill:#dcebe6;fill-opacity:.55;stroke:none}
.team-shape-v3{fill:#62d67d;fill-opacity:.055;stroke:#72de8c;stroke-opacity:.48;stroke-width:.38;stroke-dasharray:1.25 1;vector-effect:non-scaling-stroke}
.position-context-link{stroke:#78db91;stroke-width:.34;stroke-linecap:round;vector-effect:non-scaling-stroke}
.avg-position-node-v3{cursor:pointer}.avg-position-node-v3 .avg-halo{fill:#63d77f;fill-opacity:.08;stroke:#63d77f;stroke-opacity:.14;stroke-width:.25;vector-effect:non-scaling-stroke}.avg-position-node-v3 .avg-core{fill:#ecf9f0;stroke:#63d77f;stroke-width:.72;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(0,0,0,.22))}.avg-position-node-v3:hover .avg-core,.avg-position-node-v3.is-selected .avg-core{fill:#fff;stroke:#8eef9f}.avg-number-v3{fill:#163824;font-size:2.65px;font-weight:900;text-anchor:middle;dominant-baseline:central}.avg-label-v3{fill:#eff8f4;font-size:2.05px;font-weight:750;text-anchor:middle;paint-order:stroke;stroke:#0c252e;stroke-width:.9px;stroke-linejoin:round}
.pass-edge-v3{fill:none;stroke:#7ee299;stroke-linecap:round;vector-effect:non-scaling-stroke}.pass-node-v3 circle{fill:#edf8f1;stroke:#68d783;stroke-width:.7;vector-effect:non-scaling-stroke}.pass-node-v3 text{fill:#173924;font-size:2.65px;font-weight:900;text-anchor:middle;dominant-baseline:central}
.heatmap-svg .session-heat-layer circle{mix-blend-mode:screen}.heatmap-svg .pitch-markings{stroke-opacity:.5}
.presentation-field-meta{position:absolute;left:8px;right:8px;bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}
.presentation-field-chips{display:flex;align-items:center;gap:4px}.presentation-field-chips span,.presentation-field-meta>strong{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:6px;background:rgba(5,21,27,.78);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(5px);color:#dce9ed;font-size:6.3px;font-weight:750}.presentation-field-meta>strong{font-weight:800}
.presentation-heat-legend{display:flex;align-items:center;gap:4px;min-height:22px;padding:0 7px;border-radius:6px;background:rgba(5,21,27,.78);border:1px solid rgba(255,255,255,.08);color:#aebfc6}.presentation-heat-legend span{font-size:5.9px}.presentation-heat-legend i,.presentation-heat-legend b{display:block;width:24px;height:4px;border-radius:999px}.presentation-heat-legend i{background:linear-gradient(90deg,#63d9aa,#f4b34f)}.presentation-heat-legend b{background:linear-gradient(90deg,#f4b34f,#fff28f)}
.session-profile-card-v3 .card-body{height:100%;padding:11px 12px;display:flex;flex-direction:column}
.session-profile-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.session-profile-head h2{margin:0;font-size:11px;letter-spacing:-.01em}.session-profile-head span{color:#8b979e;font-size:6.4px;white-space:nowrap}
.session-profile-primary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.session-profile-primary>div{min-width:0;padding:10px 9px;border:1px solid #e2ede5;background:#f5faf6;border-radius:8px}.session-profile-primary small{display:block;color:#71877a;font-size:6.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-profile-primary strong{display:block;margin-top:4px;color:#10251a;font-size:16px;line-height:1;letter-spacing:-.035em;white-space:nowrap}
.session-profile-metrics{margin-top:7px}.session-profile-metric{padding:6px 0;border-top:1px solid #eef1f2}.session-profile-metric:first-child{border-top:0}.session-profile-metric>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.session-profile-metric span{color:#6f7e86;font-size:6.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-profile-metric strong{color:#17252d;font-size:7.2px;white-space:nowrap}.session-profile-metric>i{display:block;height:3px;margin-top:4px;background:#edf2ef;border-radius:999px;overflow:hidden}.session-profile-metric>i>b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#5bc97b 0%,#6fd494 54%,#73b6e5 100%)}
.session-profile-leaders{margin-top:auto;padding-top:8px;border-top:1px solid #e9edef}.session-profile-leaders h3{margin:0 0 2px;font-size:7.2px;text-transform:uppercase;letter-spacing:.045em;color:#28363d}.session-profile-leaders>a{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 0;border-top:1px solid #f1f3f4;color:inherit;text-decoration:none}.session-profile-leaders>a:first-of-type{border-top:0}.session-profile-leaders .avatar{width:26px;height:26px;flex-basis:26px;background:#edf4f0;color:#315d49;font-size:6.5px}.session-profile-leaders>a>span:nth-child(2){min-width:0}.session-profile-leaders small{display:block;color:#929ea4;font-size:5.8px;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-profile-leaders strong{display:block;color:#17252d;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-profile-leaders b{color:#17252d;font-size:7px;white-space:nowrap}
.field-empty{min-height:330px;display:grid;place-items:center;background:#0d2831;color:#82979f;border-radius:9px}
@media(max-width:1180px){.session-showcase-grid{grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr)}.session-profile-primary strong{font-size:14px}}
@media(max-width:880px){.session-showcase-grid{grid-template-columns:1fr}.session-profile-leaders{margin-top:8px}.session-tactical-head{align-items:flex-start}.session-tactical-actions{align-items:flex-end;flex-direction:column}.session-tactical-actions .field-player-picker select{max-width:145px}}
@media(max-width:520px){.session-tactical-head{display:block}.session-tactical-actions{margin-top:7px;align-items:stretch}.session-tactical-actions .field-mode-switch{overflow:auto}.session-tactical-actions .field-player-picker select{width:100%;max-width:none}.presentation-field-meta>strong{display:none}.session-profile-primary{grid-template-columns:1fr 1fr}}

/* Session movement context v4 — make average positions read as aggregates, not frozen players. */
.session-replay-cta{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 9px;border:1px solid #dbe5df;border-radius:7px;background:#fff;color:#1f6e46;text-decoration:none;font-size:7px;font-weight:850;white-space:nowrap;box-shadow:0 1px 3px rgba(17,43,30,.05)}
.session-replay-cta:hover{border-color:#a8d7b8;background:#f5fbf7}
.movement-zone-v4{fill:#65d982;fill-opacity:.055;stroke:#79e193;stroke-opacity:.38;stroke-width:.34;stroke-dasharray:1.2 1.05;vector-effect:non-scaling-stroke}
.movement-trail-soft-v4{fill:none;stroke:#80df98;stroke-opacity:.22;stroke-width:.38;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.movement-svg-v4 .pitch-markings{stroke-opacity:.48}
.movement-player-v4{transition:opacity .16s ease}.movement-svg-v4:hover .movement-player-v4{opacity:.42}.movement-svg-v4 .movement-player-v4:hover{opacity:1}
.movement-trail-v4{fill:none;stroke:#7fe098;stroke-opacity:.58;stroke-width:.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.movement-start-v4{fill:#0d2831;stroke:#8be7a1;stroke-width:.48;vector-effect:non-scaling-stroke}
.movement-end-v4{fill:#effaf2;stroke:#70da89;stroke-width:.64;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}
.movement-end-number-v4{fill:#163824;font-size:2.05px;font-weight:900;text-anchor:middle;dominant-baseline:central}
.movement-end-label-v4{fill:#eff8f4;font-size:1.72px;font-weight:780;text-anchor:middle;paint-order:stroke;stroke:#0c252e;stroke-width:.75px;stroke-linejoin:round}
@media(max-width:880px){.session-replay-cta{min-height:26px}.session-tactical-actions{row-gap:5px}}

/* Session presentation motion v5 — presentation-first tactical replay inspired by INSAIT Tactic Board. */
.cinematic-motion-svg{display:block;width:100%;height:auto;aspect-ratio:105/68;background:#0a2029}
.cinematic-motion-svg .cinematic-pitch-markings{fill:none;stroke:#d7e5e5;stroke-opacity:.56;stroke-width:.34;vector-effect:non-scaling-stroke}
.cinematic-motion-svg .cinematic-pitch-markings .pitch-dot{fill:#dce9e8;fill-opacity:.6;stroke:none}
.motion-turf-bars rect{fill:#dff7ef;opacity:.026}.motion-turf-bars rect:nth-child(even){opacity:.012}
.motion-team-shape{fill:#68e893;fill-opacity:.035;stroke:#7af09d;stroke-opacity:.28;stroke-width:.42;stroke-dasharray:1.4 1.15;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px rgba(103,229,145,.08))}
.motion-player-trail{fill:none;stroke:#7be69a;stroke-width:.88;stroke-opacity:.72;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1.6px rgba(88,226,135,.34))}
.motion-ghost circle{fill:#83eca0}.motion-ghost-1{opacity:.44}.motion-ghost-2{opacity:.28}.motion-ghost-3{opacity:.14}
.motion-player-halo{fill:#65e38c;fill-opacity:.15;stroke:#8df0aa;stroke-opacity:.22;stroke-width:.38;vector-effect:non-scaling-stroke}
.motion-player-core{fill:#59d87d;stroke:#eafff0;stroke-width:.7;vector-effect:non-scaling-stroke}
.motion-player-number{fill:#072c1a;font-size:1.76px;font-weight:950;text-anchor:middle;dominant-baseline:central}
.motion-player-name{fill:#f3faf7;font-size:1.48px;font-weight:820;paint-order:stroke;stroke:#071b22;stroke-width:.76px;stroke-linejoin:round;letter-spacing:.01em}
.motion-opponent{opacity:.76}.motion-opponent-halo{fill:#69bdf3;fill-opacity:.09}.motion-opponent-core{fill:#61aee4;stroke:#dbf1ff;stroke-width:.5;vector-effect:non-scaling-stroke}.motion-opponent text{fill:#082739;font-size:1.5px;font-weight:900;text-anchor:middle;dominant-baseline:central}
.motion-ball-shadow{fill:#ffdc73;fill-opacity:.22}.motion-ball-core{fill:#f9fbf6;stroke:#ffd764;stroke-width:.34;vector-effect:non-scaling-stroke}.motion-ball-highlight{fill:#fff8cf}
.motion-overlay-top{position:absolute;top:10px;left:10px;z-index:5;display:flex;align-items:center;gap:6px;min-height:25px;padding:0 8px;border:1px solid rgba(255,255,255,.10);border-radius:7px;background:rgba(5,20,27,.72);backdrop-filter:blur(8px);box-shadow:0 8px 20px rgba(0,0,0,.08);color:#dce8eb;font-size:6.3px;letter-spacing:.02em}
.motion-overlay-top strong{font-size:6.5px;color:#fff;letter-spacing:.045em}.motion-overlay-top>span:last-child{padding-left:7px;border-left:1px solid rgba(255,255,255,.13);color:#8bf0a8;font-weight:850}
.motion-live-dot{width:6px;height:6px;border-radius:50%;background:#71e894;box-shadow:0 0 0 4px rgba(113,232,148,.12),0 0 8px rgba(113,232,148,.75);animation:motionPulse 1.7s ease-in-out infinite}
@keyframes motionPulse{0%,100%{opacity:.78;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
.motion-scoreline{position:absolute;top:10px;right:10px;z-index:5;display:flex;align-items:center;gap:7px;min-height:25px;padding:0 8px;border:1px solid rgba(255,255,255,.10);border-radius:7px;background:rgba(5,20,27,.72);backdrop-filter:blur(8px);color:#b9c9ce;font-size:6.3px}.motion-scoreline b{color:#fff;font-size:8px;letter-spacing:.04em}.motion-scoreline span:first-child{color:#9df3b2;font-weight:800}.motion-scoreline span:last-child{color:#98caed;font-weight:800}
.motion-playback{position:absolute;left:10px;right:10px;bottom:10px;z-index:5;display:grid;grid-template-columns:27px 40px minmax(100px,1fr) 34px 32px;align-items:center;gap:7px;height:34px;padding:0 7px;border:1px solid rgba(255,255,255,.10);border-radius:8px;background:linear-gradient(90deg,rgba(4,17,23,.90),rgba(6,25,32,.80));backdrop-filter:blur(9px);box-shadow:0 8px 24px rgba(0,0,0,.15)}
.motion-play-button,.motion-speed{appearance:none;border:0;border-radius:6px;background:rgba(255,255,255,.08);color:#eaf4f5;font:inherit;font-size:7px;font-weight:900;cursor:pointer;height:23px}.motion-play-button:hover,.motion-speed:hover{background:rgba(113,232,148,.16);color:#9ff2b5}
.motion-clock,.motion-fulltime{font-size:6.6px;color:#d8e6e9;font-weight:800;font-variant-numeric:tabular-nums}.motion-fulltime{color:#83989f;text-align:center}
.motion-timeline{position:relative;height:20px;display:flex;align-items:center}.motion-timeline:before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;border-radius:999px;background:linear-gradient(90deg,#68df8e 0 21%,#58aee3 21% 100%);opacity:.68}.motion-timeline input{position:relative;z-index:3;width:100%;height:20px;margin:0;appearance:none;background:transparent;cursor:pointer}.motion-timeline input::-webkit-slider-runnable-track{height:2px;background:transparent}.motion-timeline input::-webkit-slider-thumb{appearance:none;width:9px;height:9px;margin-top:-3.5px;border:2px solid #fff;border-radius:50%;background:#6ee592;box-shadow:0 0 0 3px rgba(110,229,146,.15)}.motion-timeline input::-moz-range-track{height:2px;background:transparent}.motion-timeline input::-moz-range-thumb{width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:#6ee592}
.motion-event{position:absolute;z-index:2;top:6px;width:7px;height:7px;border-radius:50%;background:#82959c;border:2px solid #102932;transform:translateX(-50%)}.motion-event.active{background:#ffd35e;box-shadow:0 0 0 3px rgba(255,211,94,.12)}
.session-live-structure{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px;padding:7px;border:1px solid #e6eeea;border-radius:8px;background:linear-gradient(135deg,#f8fbf9,#f2f8f5)}.session-live-structure>div{min-width:0}.session-live-structure small{display:block;color:#86938d;font-size:5.8px;line-height:1.2}.session-live-structure strong{display:block;margin-top:2px;color:#173b28;font-size:7.6px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.session-profile-card-v3 .session-profile-metrics{margin-top:6px}.session-profile-card-v3 .session-profile-metric{padding:5px 0}.session-profile-card-v3 .session-profile-metric span{font-size:6.3px}.session-profile-card-v3 .session-profile-metric strong{font-size:6.8px}.session-profile-card-v3 .session-profile-metric>i{height:2.5px}
.session-profile-card-v3 .session-profile-leaders{padding-top:6px}.session-profile-card-v3 .session-profile-leaders>a{padding:5px 0}
@media(max-width:880px){.motion-scoreline{display:none}.motion-playback{grid-template-columns:27px 38px minmax(80px,1fr) 30px}.motion-fulltime{display:none}.motion-player-name{font-size:1.7px}}
@media(prefers-reduced-motion:reduce){.motion-live-dot{animation:none}}

/* Real INSAIT 15 Hz source replay — presentation clip on session #1. */
.real-event-layer{pointer-events:none;opacity:.96}.real-event-line{stroke:#8ff0a7;stroke-width:.72;stroke-linecap:round;stroke-dasharray:1.2 .8;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px rgba(105,235,149,.65))}.real-event-point{fill:#f8fff9;stroke:#7de79a;stroke-width:.45;vector-effect:non-scaling-stroke}.real-event-layer.is-shot .real-event-line{stroke:#ffd45e;stroke-width:1.05;stroke-dasharray:none;filter:drop-shadow(0 0 3px rgba(255,210,80,.75))}.real-event-layer.is-shot .real-event-point{stroke:#ffd45e}.real-event-layer.is-failed .real-event-line{stroke:#ef9a69;opacity:.72}.real-event-callout{position:absolute;z-index:7;left:50%;top:11px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;min-height:24px;padding:0 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(4,18,24,.78);backdrop-filter:blur(8px);box-shadow:0 7px 20px rgba(0,0,0,.16);color:#d9e8e5;font-size:6.2px;letter-spacing:.04em}.real-event-callout[hidden]{display:none}.real-event-callout b{color:#fff;font-size:6.6px;letter-spacing:.08em}.real-event-callout span{color:#9df1b2;font-weight:800}.real-motion-event.shot{background:#ffd35e;box-shadow:0 0 0 3px rgba(255,211,94,.12)}.real-motion-event.failed{background:#e99468}.cinematic-motion-svg[data-real-replay="1"] .motion-player-trail{stroke-opacity:.82;stroke-width:.82}.cinematic-motion-svg[data-real-replay="1"] .motion-team-shape{fill-opacity:.055;stroke-opacity:.34}.cinematic-motion-svg[data-real-replay="1"] .motion-player-halo{fill-opacity:.18}.cinematic-motion-svg[data-real-replay="1"] .motion-player-core{filter:drop-shadow(0 0 2px rgba(107,237,151,.36))}

/* === INSAIT KS presentation layer: report-shaped demo data === */
.eyebrow{display:inline-block;font-size:6.5px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#6b9d82}
.dashboard-intelligence-strip{display:grid;grid-template-columns:minmax(230px,1.6fr) repeat(5,minmax(82px,.55fr)) auto;gap:8px;align-items:center;background:linear-gradient(135deg,#0c1c25 0%,#102c35 62%,#153d3f 100%);color:#fff;border-radius:10px;padding:11px 13px;margin-bottom:10px;box-shadow:0 8px 26px rgba(10,31,39,.12);overflow:hidden;position:relative}.dashboard-intelligence-strip:after{content:"";position:absolute;right:-20px;top:-50px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(100,226,132,.13),transparent 66%)}.dashboard-intelligence-strip>div,.dashboard-intelligence-strip>a{position:relative;z-index:1}.dashboard-intelligence-strip>div:first-child strong{display:block;font-size:12px;margin-top:4px}.dashboard-intelligence-strip>div:first-child b{color:#76e494;margin:0 6px}.dashboard-intelligence-strip small{display:block;font-size:6.5px;color:#7f9aa5}.dashboard-intelligence-strip>div:not(:first-child) strong{display:block;font-size:11px;margin-top:2px}.dashboard-intelligence-strip>a{justify-self:end;background:#72e28b;color:#0b2b17;font-weight:900;font-size:7.5px;padding:7px 9px;border-radius:6px;white-space:nowrap}

.report-story{background:linear-gradient(180deg,#fbfdfc,#f5f9f7);border:1px solid #dfe9e3;border-radius:10px;padding:11px}.report-story-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.report-story-head h2{margin:2px 0 0;font-size:13px}.report-story-score{font-size:16px;font-weight:950;color:#1e6f47;letter-spacing:.05em}.report-story-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.report-story-card{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start;background:#fff;border:1px solid #e2e8e5;border-radius:8px;padding:9px;min-height:86px}.report-story-card>span{width:27px;height:27px;border-radius:7px;display:grid;place-items:center;background:#edf7f1;color:#54a874}.report-story-card>span svg{width:14px;height:14px;stroke:currentColor;fill:none}.report-story-card small{display:block;color:#7a8981;font-size:6.5px}.report-story-card strong{display:block;font-size:12px;margin:3px 0}.report-story-card p{margin:0;color:#738079;font-size:6.5px;line-height:1.45}.story-zone-strip,.story-attack-bars{display:flex;height:7px;border-radius:999px;overflow:hidden;margin:7px 0 5px;background:#edf1ef}.story-zone-strip i:nth-child(1){background:#76a9da}.story-zone-strip i:nth-child(2){background:#6fcf9b}.story-zone-strip i:nth-child(3){background:#e7b25c}.story-attack-bars b:nth-child(1){background:#6bcf91}.story-attack-bars b:nth-child(2){background:#6fa7df}.story-attack-bars b:nth-child(3){background:#e0ab58}

.fitness-report-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:9px}.load-intensity-chart{height:190px;display:flex;align-items:flex-end;gap:7px;padding:7px 4px 0}.load-player{height:100%;flex:1;display:grid;grid-template-rows:14px 1fr 15px 12px;text-align:center;align-items:end}.load-player>span{font-size:6px;color:#7e8b83;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-player>i{height:130px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #edf0ee;background:linear-gradient(180deg,transparent 24%,#f2f5f3 25%,transparent 26%,transparent 49%,#f2f5f3 50%,transparent 51%,transparent 74%,#f2f5f3 75%,transparent 76%)}.load-player>i>b{display:block;width:18px;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,#6ca9ea,#6fd497)}.load-player>strong{font-size:7px}.load-player>small{font-size:6px;color:#8c9891}.team-hr-spectrum{display:grid;gap:10px}.team-hr-gradient{height:70px;border-radius:7px;background:linear-gradient(180deg,#a64558 0 16%,#dc604e 16% 32%,#ef9f47 32% 49%,#e3cd4d 49% 66%,#98cf62 66% 83%,#70cd88 83%)}.team-hr-bars{display:grid;gap:6px}.team-hr-bars>div{display:grid;grid-template-columns:46px 1fr 38px;gap:6px;align-items:center;font-size:6.5px;color:#7c8881}.team-hr-bars i{height:6px;background:#edf1ef;border-radius:99px;overflow:hidden}.team-hr-bars b{display:block;height:100%;border-radius:99px}.hz1{background:#72ce88}.hz2{background:#9ed05f}.hz3{background:#dfce50}.hz4{background:#ed9f46}.hz5{background:#de6251}.hz6{background:#a74759}.movement-ranking{display:grid}.movement-ranking a{display:grid;grid-template-columns:20px 1fr auto;gap:7px;align-items:center;border-top:1px solid #edf0ee;padding:7px 0}.movement-ranking a:first-child{border-top:0}.movement-ranking a>span{width:18px;height:18px;border-radius:5px;background:#eef5f1;color:#4f7e64;display:grid;place-items:center;font-size:6.5px;font-weight:900}.movement-ranking a>strong{font-size:7.5px}.movement-ranking a>b{font-size:8px}.movement-ranking a>small{grid-column:2/4;color:#87938c;font-size:6px}.ima-stack-list{display:grid;gap:9px}.ima-stack-list>div{display:grid;grid-template-columns:40px 1fr 34px;gap:7px;align-items:center;font-size:6.5px}.ima-stack-list i{display:flex;height:9px;border-radius:99px;overflow:hidden;background:#edf1ef}.ima-stack-list b{height:100%;display:block}.ima-low{background:#61d7b1}.ima-mid{background:#f0c24b}.ima-high{background:#ee733d}.ima-stack-list strong{text-align:right;font-size:7.5px}.ima-legend{display:flex;justify-content:flex-end;gap:10px;color:#7c8982;font-size:6px;margin-top:9px}.ima-legend span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:2px;margin-right:3px;vertical-align:-1px}.ima-legend span:nth-child(1):before{background:#61d7b1}.ima-legend span:nth-child(2):before{background:#f0c24b}.ima-legend span:nth-child(3):before{background:#ee733d}

.tactical-report-layout{display:grid;grid-template-columns:1.45fr .75fr;gap:9px}.formation-interval-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.formation-snapshot{border:1px solid #e4e9e6;border-radius:8px;padding:8px;background:#fbfcfc}.formation-pitch{height:93px;border:1px solid #cfd9d4;border-radius:4px;position:relative;background:linear-gradient(90deg,#f7fbf9 49.7%,#dfe8e3 50%,#f7fbf9 50.3%);overflow:hidden}.formation-pitch:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:28px;border:1px solid #d3dcd7;border-radius:50%}.formation-pitch:after{content:"";position:absolute;inset:22% 0;border-top:1px solid rgba(0,0,0,.04);border-bottom:1px solid rgba(0,0,0,.04)}.fp{position:absolute;width:8px;height:8px;border-radius:50%;background:#f2a336;border:2px solid #fff;box-shadow:0 1px 4px rgba(105,67,19,.25)}.fp.p1{left:13%;top:44%}.fp.p2{left:25%;top:20%}.fp.p3{left:25%;top:68%}.fp.p4{left:43%;top:30%}.fp.p5{left:47%;top:52%}.fp.p6{left:58%;top:68%}.fp.p7{left:67%;top:24%}.fp.p8{left:76%;top:47%}.formation-snapshot:nth-child(2) .p4{left:51%;top:24%}.formation-snapshot:nth-child(2) .p7{left:73%;top:37%}.formation-snapshot:nth-child(3) .p3{left:36%;top:70%}.formation-snapshot:nth-child(3) .p7{left:80%;top:27%}.formation-snapshot:nth-child(4) .p5{left:62%;top:51%}.formation-snapshot>strong{display:block;font-size:7px;margin:7px 0 5px}.formation-snapshot>small{display:block;color:#7d8982;font-size:6px;margin-top:4px}.formation-zones{height:6px;border-radius:99px;overflow:hidden;display:flex;background:#eff2f0}.formation-zones i:nth-child(1){background:#71a5d5}.formation-zones i:nth-child(2){background:#68ca94}.formation-zones i:nth-child(3){background:#e9b257}.action-zone-visual{display:grid;grid-template-columns:repeat(3,1fr);border-radius:8px;overflow:hidden;height:118px;margin-bottom:12px}.zone-third{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}.zone-third.defense{background:#5e8eb9}.zone-third.midfield{background:#55b783}.zone-third.attack{background:#d89c45}.zone-third strong{font-size:18px}.zone-third span{font-size:6.5px;margin-top:3px;opacity:.8}.attack-side-bars{display:grid;gap:8px}.attack-side-bars>div{display:grid;grid-template-columns:45px 1fr 28px;gap:6px;align-items:center;font-size:6.5px}.attack-side-bars i{height:7px;background:#eef1ef;border-radius:99px;overflow:hidden}.attack-side-bars b{display:block;height:100%;background:linear-gradient(90deg,#6bd093,#6fa9e1);border-radius:99px}.premium-events{min-height:240px}

.player-report-showcase{background:linear-gradient(180deg,#f9fcfa,#f5f9f7);border:1px solid #dfe9e3;border-radius:10px;padding:11px}.player-report-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.player-report-title h2{font-size:13px;margin:2px 0 0}.player-report-title>span{font-size:8px;color:#7b8981}.player-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.report-metric-table dl{margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:12px}.report-metric-table dl>div{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0ee;padding:7px 0}.report-metric-table dl>div:nth-child(-n+2){border-top:0}.report-metric-table dt{font-size:6.5px;color:#7b8981}.report-metric-table dd{margin:0;font-size:7.5px;font-weight:850}.player-hr-report,.player-ima-report{min-height:225px}.hr-time-spectrum{height:86px;border-radius:7px;overflow:hidden;margin-bottom:10px}.hr-time-spectrum svg{width:100%;height:100%}.hr-time-spectrum polyline{fill:none;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.85}.hr-zone-bars{display:grid;gap:5px}.hr-zone-bars>div{display:grid;grid-template-columns:36px 1fr 34px;gap:6px;align-items:center;font-size:6px}.hr-zone-bars i{height:6px;background:#edf1ef;border-radius:99px;overflow:hidden}.hr-zone-bars b{display:block;height:100%}

.analytics-hero{background:linear-gradient(135deg,#0b1b24,#12313a 70%,#16413f);color:#fff;overflow:hidden;position:relative}.analytics-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-80px;top:-130px;background:radial-gradient(circle,rgba(102,225,134,.18),transparent 68%)}.analytics-hero .card-body{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center;padding:18px 20px}.analytics-hero-copy h2{font-size:18px;letter-spacing:-.03em;margin:5px 0}.analytics-hero-copy p{font-size:8px;color:#91a7af;margin:0}.analytics-hero-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;position:relative;z-index:1}.analytics-hero-kpis>div{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:9px}.analytics-hero-kpis small{display:block;color:#7f99a3;font-size:6px}.analytics-hero-kpis strong{display:block;margin-top:4px;font-size:10px}.analytics-spectrum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.premium-ranking .ranking-row{grid-template-columns:22px minmax(130px,1fr) minmax(100px,1fr) 74px}

.report-library-hero{background:linear-gradient(135deg,#0c1e27,#13323a);color:#fff}.report-library-hero .card-body{padding:18px}.report-library-hero h2{font-size:18px;margin:5px 0}.report-library-hero p{font-size:8px;color:#90a4ab;margin:0;max-width:690px}.report-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.report-product-card{border:1px solid #e0e7e3;border-radius:10px;background:#fff;padding:12px;min-height:150px;position:relative;overflow:hidden;box-shadow:var(--shadow);transition:.16s}.report-product-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(20,40,32,.08)}.report-product-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#69d298}.report-product-card.fitness:before{background:#e0b448}.report-product-card.tactical:before{background:#68a6e0}.report-product-card.data:before{background:#8d83d8}.report-product-card>span{font-size:7px;font-weight:900;color:#8a9790}.report-product-card>strong{display:block;font-size:13px;margin:10px 0 7px}.report-product-card>p{font-size:7px;color:#7b8981;line-height:1.55;margin:0}.report-product-card>b{position:absolute;bottom:11px;left:12px;font-size:6.5px;color:#3d7255;background:#edf7f1;border-radius:99px;padding:3px 6px}

@media(max-width:1000px){.dashboard-intelligence-strip{grid-template-columns:1.4fr repeat(3,1fr)}.dashboard-intelligence-strip>div:nth-of-type(n+5){display:none}.report-story-grid,.report-product-grid{grid-template-columns:repeat(2,1fr)}.fitness-report-grid,.tactical-report-layout{grid-template-columns:1fr}.analytics-hero .card-body{grid-template-columns:1fr}.analytics-hero-kpis{grid-template-columns:repeat(5,1fr)}}
@media(max-width:700px){.report-story-grid,.report-product-grid,.player-report-grid,.analytics-spectrum{grid-template-columns:1fr}.formation-interval-grid{grid-template-columns:1fr}.analytics-hero-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-intelligence-strip{grid-template-columns:1fr 1fr}.dashboard-intelligence-strip>div:first-child{grid-column:1/-1}}

/* Database-backed INSAIT report visuals — 2026-09-09 */
.report-summary-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10px}.report-period-table{display:grid;gap:0}.report-period-table>div{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(3,minmax(80px,.6fr));align-items:center;border-top:1px solid #edf0ef;min-height:34px}.report-period-table>div:first-child{border-top:0}.report-period-table .rpt-head{min-height:24px;color:#8a9690;font-size:6.5px}.report-period-table span{font-size:7px;color:#60706a}.report-period-table strong{text-align:right;font-size:7.5px}.report-stat-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.report-stat-cards>div{border:1px solid #e6ece8;border-radius:8px;padding:10px;background:linear-gradient(180deg,#fff,#fafcfb)}.report-stat-cards small{display:block;font-size:6.5px;color:#81908a}.report-stat-cards strong{display:block;margin-top:4px;font-size:12px;color:#14251c}.spatial-profile{display:grid;grid-template-columns:1fr .8fr;gap:16px;align-items:center}.spatial-profile .action-zone-visual{margin:0;display:flex}.spatial-profile .zone-third{min-width:95px}.fitness-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.load-combo-chart{height:210px;display:flex;align-items:flex-end;gap:6px;padding:12px 4px 25px;position:relative;border-bottom:1px solid #e9eeeb;background:linear-gradient(180deg,transparent 24%,#f1f4f2 25%,transparent 26%,transparent 49%,#f1f4f2 50%,transparent 51%,transparent 74%,#f1f4f2 75%,transparent 76%)}.load-combo-col{height:100%;flex:1;position:relative;display:flex;align-items:flex-end;justify-content:center}.load-combo-col .load-bar{width:18px;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#69a8e9,#63d391);min-height:3px}.load-combo-col>i{position:absolute;width:8px;height:8px;border-radius:50%;background:#e9a34c;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.15);transform:translateY(50%)}.load-combo-col small{position:absolute;bottom:-20px;font-size:6px;color:#7a8781}.chart-legend{display:flex;gap:14px;justify-content:flex-end;margin-top:8px;font-size:6px;color:#7d8a84}.chart-legend span:before{content:"";width:8px;height:5px;border-radius:2px;display:inline-block;margin-right:4px}.load-legend:before{background:#66c998}.intensity-legend:before{background:#e9a34c}
.player-zone-stacks{display:grid;gap:7px;max-height:330px;overflow:auto;padding-right:3px}.player-zone-stacks>div{display:grid;grid-template-columns:100px 1fr;gap:8px;align-items:center}.player-zone-stacks span{font-size:6.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-zone-stacks i{height:12px;display:flex;border-radius:3px;overflow:hidden;background:#eef2ef}.player-zone-stacks b{height:100%}.zone-0{background:#7fdc86!important}.zone-1{background:#a8d65e!important}.zone-2{background:#e4cf4d!important}.zone-3{background:#f1a24a!important}.zone-4{background:#e95e4b!important}.zone-5{background:#ae3b53!important}.speed-zone-0{background:#f6d73f!important}.speed-zone-1{background:#f5ad24!important}.speed-zone-2{background:#ec731c!important}.speed-zone-3{background:#d84c13!important}.speed-zone-4{background:#c11818!important}.speed-zone-5{background:#8c0000!important}
.spatial-profile .attack-side-bars{padding:8px 0}.formation-snapshot.premium{padding:7px}.formation-pitch.real-formation{height:120px;background:#f9fbfa;border-color:#dce4e0}.formation-pitch.real-formation:before,.formation-pitch.real-formation:after{display:none}.formation-pitch.real-formation svg{width:100%;height:100%}.formation-pitch.real-formation .pitch-surface{fill:#f9fbfa}.formation-pitch.real-formation .pitch-markings{stroke:#b7c5bd;stroke-width:.35}.formation-pitch.real-formation .pitch-turf{display:none}.formation-pitch.real-formation circle{fill:#f0a43b;stroke:#fff;stroke-width:.9}.formation-pitch.real-formation text{font-size:3px;font-weight:900;fill:#fff;text-anchor:middle;dominant-baseline:central}.report-pass-zones .zone{min-height:74px}.report-pass-zones .zone.hot{background:linear-gradient(135deg,#f3a039,#f0c051);color:#fff}.report-pass-zones .zone.warm{background:#eef8f2}.pass-matrix-wrap{max-height:480px}.pass-matrix{font-size:6px}.pass-matrix td,.pass-matrix th{padding:5px 4px;white-space:nowrap}.pass-matrix .matrix-hot{background:#d9f5e3;color:#1c7040;font-weight:900}.pass-matrix .matrix-warm{background:#eef9f2}.pass-matrix .matrix-self{background:#f3f5f4;color:#a4aaa7}
.db-motion-player .db-motion-halo{fill:#65df8c;fill-opacity:.13}.db-motion-player .db-motion-core{fill:#effbf2;stroke:#68df8b;stroke-width:.7;vector-effect:non-scaling-stroke}.db-motion-player.away .db-motion-core{fill:#eef6ff;stroke:#63a9ef}.db-motion-number{font-size:2.55px;font-weight:900;fill:#163b24;text-anchor:middle;dominant-baseline:central}.db-motion-player.away .db-motion-number{fill:#17365a}.db-motion-name{font-size:1.75px;font-weight:800;fill:#f4faf7;paint-order:stroke;stroke:#0d2831;stroke-width:.8px}.db-motion-trail{fill:none;stroke:#78e6a0;stroke-width:.65;stroke-opacity:.45;stroke-linecap:round;stroke-linejoin:round}.db-motion-trail.away{stroke:#6bb4ef}.db-motion-ball .db-ball-halo{fill:#fff;fill-opacity:.18}.db-motion-ball .db-ball-core{fill:#fff;stroke:#9df1ae;stroke-width:.35}.db-event-line{stroke:#ffe074;stroke-width:1;stroke-linecap:round;stroke-dasharray:1.4 .8}.db-event-line.shot{stroke:#ff845f;stroke-width:1.3}.db-event-line.failed{opacity:.45}.db-event-point{fill:#fff6a1}.motion-team-shape{fill:#64d78b;fill-opacity:.07;stroke:#71df93;stroke-opacity:.35;stroke-width:.35;stroke-dasharray:1.2 .8}.report-like-heatmap{background:#fff}.report-like-heatmap .pitch-surface{fill:#fff}.report-like-heatmap .pitch-markings{stroke:#899992;stroke-opacity:.7}.report-like-heatmap .pitch-turf{display:none}
.premium-replay{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:10px}.premium-replay-stage{position:relative;background:#0d2831;border-radius:10px;overflow:hidden;min-height:500px}.replay-svg{width:100%;height:100%;display:block;min-height:500px}.replay-score{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:8px;background:rgba(6,23,29,.82);color:#eef9f4;font-size:7px;backdrop-filter:blur(6px)}.replay-score b{font-size:10px}.premium-replay .replay-options{border:1px solid #e2e9e5;border-radius:10px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:10px}.premium-replay .replay-options>strong{font-size:10px}.premium-replay .replay-options label{font-size:7px}.replay-live-metrics{display:grid;gap:7px;margin-top:6px}.replay-live-metrics>div{display:flex;justify-content:space-between;border-top:1px solid #edf0ef;padding-top:7px}.replay-live-metrics small{font-size:6px;color:#84918b}.replay-live-metrics b{font-size:7px}.premium-replay .replay-controls{grid-column:1/-1}.replay-player-svg circle{fill:#ecf9f0;stroke:#61dc86;stroke-width:.65}.replay-player-svg.away circle{fill:#edf5ff;stroke:#60a9ec}.replay-player-svg>text:not(.replay-player-name){font-size:2.5px;font-weight:900;text-anchor:middle;dominant-baseline:central;fill:#173c25}.replay-player-svg.away>text:not(.replay-player-name){fill:#193e63}.replay-player-name{font-size:1.7px;font-weight:800;fill:#f1f8f5;stroke:#0d2831;stroke-width:.75;paint-order:stroke}.replay-trail-svg{fill:none;stroke:#6fe49a;stroke-width:.55;stroke-opacity:.5}.replay-trail-svg.away{stroke:#6baee8}.replay-shape-svg{fill:#61d889;fill-opacity:.08;stroke:#6fe296;stroke-opacity:.38;stroke-width:.35;stroke-dasharray:1 1}.replay-ball-svg{fill:#fff;stroke:#a1efb1;stroke-width:.3}.replay-event-svg{stroke:#ffe070;stroke-width:.9;stroke-dasharray:1 1}.replay-event-svg.shot{stroke:#ff8060;stroke-width:1.2}

/* Player Summary — mirrors source report information architecture, rendered from DB. */
.premium-player-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}.premium-player-head .eyebrow{font-size:6px;color:#4b8e65;font-weight:900;letter-spacing:.08em}.premium-player-head .profile-meta{display:flex;gap:12px;margin-top:7px;color:#7b8982;font-size:6.5px}.profile-session-stamp{text-align:right;border-left:1px solid #e4e9e6;padding-left:16px}.profile-session-stamp small,.profile-session-stamp span{display:block;font-size:6px;color:#85928b}.profile-session-stamp strong{display:block;font-size:8px;margin:3px 0}.player-story{background:linear-gradient(180deg,#f9fcfa,#f4f8f6);border:1px solid #dfe9e3;border-radius:10px;padding:11px}.report-grid-2x2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.source-chart-card{min-height:310px}.report-spectrum{height:160px;border:1px solid #dce5e0;border-radius:7px;overflow:hidden;background:#fff}.report-spectrum svg{width:100%;height:100%}.hr-band.z0{fill:#8feb87}.hr-band.z1{fill:#91d85a}.hr-band.z2{fill:#e5d045}.hr-band.z3{fill:#f3a142}.hr-band.z4{fill:#f25a3d}.hr-band.z5{fill:#c7134c}.spectrum-line{fill:none;stroke:#fff;stroke-width:1.3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.speed-band.sz0{fill:#f6d53e}.speed-band.sz1{fill:#f2a721}.speed-band.sz2{fill:#eb7419}.speed-band.sz3{fill:#d84a12}.speed-band.sz4{fill:#b91412}.speed-band.sz5{fill:#730000}.source-zone-bars{display:grid;gap:5px;margin-top:10px}.source-zone-bars>div{display:grid;grid-template-columns:55px 1fr 36px;gap:6px;align-items:center}.source-zone-bars span{font-size:6.3px}.source-zone-bars span>i{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:1px}.source-zone-bars b{height:7px;background:#edf1ef;overflow:hidden}.source-zone-bars b>em{display:block;height:100%}.source-zone-bars strong{font-size:6.5px;text-align:right}.speed-highlight-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.speed-highlight-cards>div{background:#f5f6f5;border:1px solid #e5e8e6;border-radius:7px;padding:10px;text-align:center}.speed-highlight-cards small{display:block;font-size:6px;color:#7c8982}.speed-highlight-cards strong{display:block;margin-top:5px;font-size:9px}.player-visual-quads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.half-movement-chart{display:grid;gap:12px}.half-movement-chart>div{display:grid;grid-template-columns:72px 1fr 140px;align-items:center;gap:8px}.half-movement-chart span{font-size:7px}.half-movement-chart i{height:20px;display:flex;align-items:flex-end;gap:2px}.half-movement-chart b{height:8px;display:block}.half-movement-chart b.half1{background:#62cb92}.half-movement-chart b.half2{background:#6aa9e5}.half-movement-chart strong{font-size:6.8px;text-align:right}.half1-legend:before{background:#62cb92!important}.half2-legend:before{background:#6aa9e5!important}.speed-distance-bars{height:210px;display:flex;align-items:flex-end;gap:12px;padding:16px 10px 25px;border-bottom:1px solid #e8ece9}.speed-distance-bars>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.speed-distance-bars i{width:70%;min-height:2px;border-radius:4px 4px 0 0}.speed-distance-bars strong{font-size:6px;margin-top:3px}.speed-distance-bars small{position:absolute;bottom:-20px;font-size:6px}.player-heat-svg{width:100%;height:auto;max-height:260px}.light-pitch{fill:none;stroke:#9aa6a1;stroke-width:.35}.player-pass-zones{grid-template-columns:repeat(6,1fr)}.connection-bars{display:grid;gap:9px}.connection-bars>div{display:grid;grid-template-columns:120px 1fr 42px;gap:8px;align-items:center}.connection-bars span{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connection-bars i{height:8px;background:#edf2ef;border-radius:99px;overflow:hidden}.connection-bars b{display:block;height:100%;background:linear-gradient(90deg,#63d191,#73a9e1);border-radius:99px}.connection-bars strong{font-size:7px;text-align:right}
@media(max-width:1050px){.report-summary-grid,.spatial-profile,.premium-replay,.report-grid-2x2,.player-visual-quads{grid-template-columns:1fr}.premium-replay .replay-controls{grid-column:1}.premium-player-head{grid-template-columns:auto 1fr}.profile-session-stamp{grid-column:1/-1;text-align:left;border-left:0;border-top:1px solid #e4e9e6;padding:8px 0 0}.fitness-report-grid{grid-template-columns:1fr}}
.raw-data-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.raw-data-strip>div{background:#fff;border:1px solid #e0e7e3;border-radius:9px;padding:11px;box-shadow:var(--shadow)}.raw-data-strip small{display:block;font-size:6px;color:#829089}.raw-data-strip strong{display:block;margin-top:4px;font-size:11px;color:#14251c}@media(max-width:800px){.raw-data-strip{grid-template-columns:repeat(2,1fr)}}
\n\n/* Presentation emergency fix 2026-09-09: typography, spacing, average positions, report-like heatmap. */\n.session-profile-card-v3{align-self:start;min-width:0}\n.session-profile-card-v3 .card-body{height:auto!important;padding:14px 15px!important}\n.session-profile-head h2{font-size:15px!important;line-height:1.2}.session-profile-head span{font-size:9px!important}\n.session-profile-primary{gap:9px!important;margin-top:12px!important}.session-profile-primary>div{padding:12px 11px!important;border-radius:10px!important}\n.session-profile-primary small{font-size:10px!important;line-height:1.2}.session-profile-primary strong{font-size:23px!important;line-height:1.05!important;margin-top:6px!important}\n.session-profile-metrics{margin-top:12px!important}.session-profile-metric{padding:9px 0!important;border-top:1px solid #edf1ef}.session-profile-metric:first-child{border-top:0}\n.session-profile-metric>div{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important}\n.session-profile-metric span{font-size:10.5px!important;line-height:1.25!important;color:#687a72!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}\n.session-profile-metric strong{font-size:11.5px!important;line-height:1.2!important;color:#14251c!important;white-space:nowrap!important}\n.session-profile-metric>i{display:block!important;height:5px!important;margin-top:6px!important;background:#edf2ef!important;border-radius:999px!important;overflow:hidden!important}\n.session-profile-metric>i>b{display:block!important;height:100%!important;border-radius:999px!important;background:linear-gradient(90deg,#62cf82 0%,#6fd398 55%,#71afe5 100%)!important}\n.session-profile-leaders{margin-top:14px!important;padding-top:12px!important;border-top:1px solid #e8eeea!important}\n.session-profile-leaders h3{margin:0 0 4px!important;font-size:11px!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#283a31!important}\n.session-profile-leaders>a{display:grid!important;grid-template-columns:32px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;padding:9px 0!important;border-top:1px solid #eef2ef!important;color:inherit!important;text-decoration:none!important}\n.session-profile-leaders>a:first-of-type{border-top:0!important}.session-profile-leaders .avatar{width:32px!important;height:32px!important;flex-basis:32px!important;font-size:8px!important;background:#eef4f1!important;color:#315c49!important}\n.session-profile-leaders small{display:block!important;font-size:9px!important;line-height:1.2!important;color:#8b9891!important;margin-bottom:2px!important}\n.session-profile-leaders a>span:nth-child(2)>strong{display:block!important;font-size:11px!important;line-height:1.2!important;color:#15261d!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}\n.session-profile-leaders>a>b{font-size:11px!important;line-height:1.2!important;color:#15261d!important;white-space:nowrap!important}\n.average-position-svg .pitch-surface{fill:#102a34}.avg-position-node-v3{cursor:pointer}.avg-position-node-v3 .avg-halo{fill:#6ddd89;fill-opacity:.12;stroke:#77e396;stroke-opacity:.28;stroke-width:.3;vector-effect:non-scaling-stroke}.avg-position-node-v3 .avg-core{fill:#f1fbf4;stroke:#69dc87;stroke-width:.55;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(0,0,0,.22))}.avg-number-v3{fill:#173b24;font-size:2.05px;font-weight:900;text-anchor:middle;dominant-baseline:central}.avg-label-v3{fill:#f4faf7;font-size:1.65px;font-weight:780;text-anchor:middle;paint-order:stroke;stroke:#0d2730;stroke-width:.68px;stroke-linejoin:round}.movement-range{display:none!important}\n.report-like-heatmap{background:#fbfcfb!important}.report-like-heatmap .pitch-surface{fill:#fbfcfb!important}.report-like-heatmap .pitch-markings{stroke:#9ba9a2!important;stroke-opacity:.78!important;stroke-width:.32!important}.report-like-heatmap .pitch-turf{display:none!important}.heatmap-svg .heat-low-layer circle,.heatmap-svg .heat-hot-layer circle{mix-blend-mode:multiply}\n.dashboard-intelligence-strip small{font-size:7px}.dashboard-intelligence-strip>a{font-size:7.5px}\n@media(max-width:1180px){.session-profile-primary strong{font-size:20px!important}}\n