:root{
  --bg:#f3f6f5;
  --panel:#fff;
  --panel-soft:#f7faf8;
  --surface-strong:#eef3f0;
  --line:#dde5e0;
  --line-strong:#c9d5ce;
  --text:#101b16;
  --muted:#68766f;
  --muted-2:#8b9791;
  --nav:#071711;
  --nav-2:#10271f;
  --accent:#78f36e;
  --accent-deep:#38ad62;
  --accent-soft:#eaf8ed;
  --blue:#5e9edf;
  --cyan:#64c9bd;
  --ok:#39a96b;
  --warn:#d99539;
  --danger:#d15c63;
  --radius-control:8px;
  --radius-card:10px;
  --radius-hero:12px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --shadow:0 5px 18px rgba(14,34,25,.055);
  --sidebar-width:220px;
  --topbar-height:52px;
  --content-max:1520px;
  --radius:var(--radius-card);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.4}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-family:Arial,Helvetica,sans-serif;font-size:inherit}
button,a,input,select,textarea{outline-offset:3px}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(120,243,110,.45);outline-offset:2px}
.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#071711 0%,#091b16 100%);color:#dce7e1;padding:14px 12px 12px;display:flex;flex-direction:column;z-index:30;border-right:1px solid rgba(255,255,255,.06)}
.brand{min-height:108px;display:flex;align-items:center;justify-content:center;padding:6px 0 12px;border-bottom:1px solid rgba(255,255,255,.09)}
.brand-mark{display:grid;place-items:center;width:196px;height:82px;flex:0 0 196px;background:transparent}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand-mark .brand-logo-mark{display:none}
.club-crest{width:38px;height:38px;flex:0 0 38px;border-radius:8px;display:grid;place-items:center;background:#17372d;border:1px solid rgba(255,255,255,.11);font-size:12px;font-weight:700;color:#fff}
.club-switch-copy{min-width:0}
.side-nav{display:flex;flex-direction:column;gap:3px}.side-nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;border:0;border-radius:var(--radius-control);background:transparent;color:#93a79e;font-size:14px;font-weight:700;text-align:left;transition:background-color .15s ease,color .15s ease}.side-nav a .nav-icon{width:20px;height:20px;display:grid;place-items:center;color:#789087;flex:0 0 20px}.side-nav a .nav-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.side-nav a:hover{background:rgba(255,255,255,.055);color:#fff}.side-nav a.active{background:#132a22;color:#fff}.side-nav a.active .nav-icon{color:var(--accent)}
.sidebar-bottom{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.user-card{display:flex;align-items:center;gap:10px;padding:7px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9efec;color:#17382a;font-weight:700;font-size:10px;flex:0 0 34px;overflow:hidden}.user-card strong{display:block;font-size:12px;color:#f7faf8}.user-card small{display:block;color:#7d9289;margin-top:2px;font-size:10px}
.main-column{min-width:0}.topbar{height:var(--topbar-height);display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:0 26px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar-date{margin-right:auto;color:var(--muted);font-size:12px}.mobile-brand{display:none}.topbar-club{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:230px;padding:4px 9px 4px 5px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--text)}.topbar-club:hover{background:var(--panel-soft);border-color:var(--line-strong)}.topbar-club .club-crest{width:32px;height:32px;flex-basis:32px;font-size:10px}.topbar-club .club-switch-copy{min-width:0;max-width:175px}.topbar-club strong,.topbar-club small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-club strong{font-size:12px}.topbar-club small{margin-top:1px;color:var(--muted);font-size:10px}.lang-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:var(--radius-control);background:var(--surface-strong)}.lang-switch a{min-width:34px;padding:6px 8px;border-radius:6px;font-size:11px;font-weight:700;color:#748079;text-align:center}.lang-switch a.active{color:#102019;background:#fff;box-shadow:0 1px 4px rgba(11,29,20,.09)}
.content{padding:24px 28px 40px;max-width:var(--content-max);margin:0 auto;width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.page-head h1{margin:0 0 5px;font-size:30px;line-height:1.1;letter-spacing:-.025em}.page-head p{margin:0;color:var(--muted);font-size:13px}.page-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.context-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.context-filter .select{max-width:280px;min-height:40px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;border:1px solid var(--line-strong);background:#fff;padding:9px 13px;border-radius:var(--radius-control);font-weight:700;font-size:13px;cursor:pointer;box-shadow:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn:hover{border-color:#b8c8bf;background:var(--panel-soft)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn.is-active,.btn-primary{background:#10271f;color:#fff;border-color:#10271f}.btn.is-active:hover,.btn-primary:hover{background:#18382d;border-color:#18382d}.btn-accent{background:var(--accent);color:#0a2a17;border-color:var(--accent)}.btn-sm{min-height:34px;padding:7px 10px;font-size:12px}
.grid{display:grid;gap:16px}.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:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow)}.card-body{padding:16px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-title h2,.card-title h3{margin:0;font-size:17px;line-height:1.2;letter-spacing:-.01em}.card-title>span,.card-title>a{font-size:12px;color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;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:16px;min-height:92px;display:flex;flex-direction:column;justify-content:center;position:relative}.metric-card .label{font-size:12px;color:var(--muted);margin-bottom:7px}.metric-card .value{font-weight:700;font-size:23px;line-height:1.05;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.metric-card .sub{font-size:11px;color:var(--muted-2);margin-top:5px}.metric-icon{display:none}
.dashboard-kpis,.session-kpis,.player-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0 18px}.mini-kpi{min-height:76px;background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;padding:10px 14px;display:flex;align-items:center;gap:11px}.mini-kpi:last-child{border-right:0}.mini-kpi-icon{width:36px;height:36px;border-radius:8px;background:var(--accent-soft);color:#3d8c60;display:grid;place-items:center;flex:0 0 36px}.mini-kpi-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.mini-kpi strong{display:block;font-size:19px;line-height:1.1;letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}.mini-kpi small{display:block;color:var(--muted);font-size:11px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-reference-grid{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(520px,1.28fr);gap:16px;align-items:start}.dashboard-reference-right{display:grid;grid-template-columns:1fr;gap:16px}.dashboard-sessions-card .card-body{padding-bottom:10px}.session-list.compact .session-list-item{min-height:58px}.session-list{display:flex;flex-direction:column}.session-list-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.session-list-item:first-child{border-top:0;padding-top:2px}.session-time{font-size:10px;color:var(--muted);line-height:1.25}.session-time strong{display:block;color:#27342e;font-size:12px}.session-copy{min-width:0}.session-copy strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-copy small{display:block;color:var(--muted);font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-action{display:flex;align-items:center;gap:6px}
.combo-chart{height:220px;position:relative;border-bottom:1px solid var(--line);overflow:hidden}.combo-line{position:absolute;inset:8px 0 24px;width:100%;height:calc(100% - 32px);z-index:2;overflow:visible}.combo-line line{stroke:#e5ebe7;stroke-width:.55;stroke-dasharray:2 2}.combo-line polyline{fill:none;stroke:#d8903f;stroke-width:1.6;vector-effect:non-scaling-stroke}.combo-line circle{fill:#d8903f;vector-effect:non-scaling-stroke}.combo-bars{position:absolute;inset:14px 10px 24px;display:grid;grid-template-columns:repeat(7,1fr);gap:10px;align-items:end}.combo-bar-cell{height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}.combo-bar{width:22px;max-width:62%;border-radius:4px 4px 1px 1px;background:#62c98b}.combo-bar-cell small{position:absolute;bottom:-20px;color:var(--muted);font-size:10px}.chart-caption{display:flex;gap:16px;margin-top:10px;color:var(--muted);font-size:11px}.chart-caption i{display:inline-block;width:9px;height:9px;border-radius:2px;background:#62c98b;margin-right:5px;vertical-align:-1px}.chart-caption i.line-key{width:13px;height:2px;background:#d8903f;border-radius:2px;vertical-align:2px}
.hr-card-body{padding-bottom:12px}.hr-reference-layout{display:grid;grid-template-columns:132px 1fr;gap:18px;align-items:center;min-height:140px}.hr-donut{width:118px;height:118px;border-radius:50%;position:relative;margin:auto}.hr-donut:after{content:"";position:absolute;inset:24px;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:20px;line-height:1}.hr-donut-center small{font-size:11px;color:var(--muted);margin-top:4px}.zone-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}.zone-list>div{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:7px;color:#78858e;font-size:11px}.zone-list i{width:9px;height:9px;border-radius:50%}.zone-list strong{color:#26333b;font-size:12px}.zone-list.simple{grid-template-columns:repeat(3,1fr);margin-top:10px}.zone-list.simple>div{display:block}
.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:0 0 18px;scrollbar-width:thin}.tabs a{display:flex;align-items:center;min-height:42px;padding:10px 12px 9px;font-size:13px;font-weight:700;color:#6f7d76;border-bottom:3px solid transparent;white-space:nowrap}.tabs a:hover{color:#253d31}.tabs a.active{color:#247247;border-bottom-color:var(--accent-deep)}.session-tabs{margin-top:-3px}.segmented{display:inline-flex;background:var(--surface-strong);padding:3px;border-radius:var(--radius-control)}.segmented span{padding:6px 9px;border-radius:6px;font-size:11px;color:#75827b}.segmented span.active{background:#fff;color:#276f49;font-weight:700;box-shadow:0 1px 4px rgba(12,35,23,.08)}
.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;border-radius:var(--radius-control)}.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:680px;font-variant-numeric:tabular-nums}.data-table th{text-align:left;color:#718078;font-size:11px;font-weight:700;padding:11px 12px;border-bottom:1px solid var(--line-strong);background:var(--panel-soft);position:sticky;top:0;z-index:1}.data-table td{font-size:13px;padding:11px 12px;border-bottom:1px solid #e8edea;vertical-align:middle}.data-table tbody tr:hover{background:#f8fbf9}.data-table tr:last-child td{border-bottom:0}.data-table a{font-weight:700}.person{display:flex;align-items:center;gap:9px}.person .avatar{width:34px;height:34px;flex-basis:34px;font-size:10px}.person strong{display:block;font-size:13px}.person small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.select,.input{min-height:40px;background:#fff;border:1px solid var(--line-strong);padding:8px 10px;border-radius:var(--radius-control);color:var(--text);font-size:13px}.select:focus,.input:focus{border-color:#6bb989}.input{min-width:210px}
.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:10px}
.player-reference-head{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:16px;margin-bottom:0}.profile-avatar{width:86px;height:94px;border-radius:10px;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:18px;font-weight:700}.profile-avatar b{position:absolute;right:8px;bottom:7px;color:#fff;font-size:11px}.profile-main h2{margin:0 0 4px;font-size:22px}.profile-main p{margin:0;color:var(--muted);font-size:12px}.profile-meta{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap;font-size:11px}.profile-tabs{margin-top:2px}.player-reference-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px}.distance-bars{height:180px;display:grid;grid-template-columns:repeat(8,1fr);gap:9px;align-items:end;padding:8px 4px 24px;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:22px;max-width:68%;background:#65a8ed;border-radius:4px 4px 1px 1px}.distance-bars small{position:absolute;bottom:-20px;color:#929da4;font-size:10px}
.replay-options{border:1px solid var(--line);border-radius:var(--radius-card);padding:14px;background:#fff}.replay-options label{display:flex;gap:8px;align-items:center;min-height:36px;padding:7px 2px;color:#53616a;font-size:12px}.replay-options input{accent-color:var(--accent-deep);width:16px;height:16px}.replay-controls{display:flex;align-items:center;gap:10px;margin-top:10px}.timeline{flex:1}.timeline input{width:100%;accent-color:var(--accent-deep)}.replay-time{font-size:11px;color:#51606a;min-width:42px;font-variant-numeric:tabular-nums}.replay-play{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:0;background:#0f202a;color:#fff;font-size:13px;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:10px}.pitch-grid18 .zone strong{font-size:14px}.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:9px;padding:7px 0}.kpi-row .progress{flex:1;height:6px;background:#e8eeea;border-radius:999px;overflow:hidden}.kpi-row .progress span{display:block;height:100%;background:#55c37c}.kpi-row strong{font-size:12px;width:54px;text-align:right;font-variant-numeric:tabular-nums}.empty{padding:36px 24px;text-align:center;color:var(--muted);font-size:13px}
.device-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.device-card{padding:16px}.device-icon{width:38px;height:38px;border-radius:8px;background:#edf7f2;display:grid;place-items:center;margin-bottom:11px}.device-card strong{display:block;font-size:14px}.device-card small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.battery{margin-top:11px;height:6px;background:#e6ece8;border-radius:999px;overflow:hidden}.battery span{display:block;height:100%;background:#53c789}
.report-card{padding:15px;display:flex;align-items:center;justify-content:space-between;gap:12px}.report-icon{width:42px;height:48px;border-radius:8px;background:#eef3f0;display:grid;place-items:center;font-size:10px;font-weight:700;color:#466657}.report-info{flex:1;min-width:0}.report-info strong{display:block;font-size:14px}.report-info small{color:var(--muted);font-size:11px}.live-panel{background:#0d241b;color:#e8f1ec;border-color:#17372b}.live-panel .card-title span{color:#8da79b}.live-table{width:100%;border-collapse:collapse}.live-table td{padding:10px 8px;border-top:1px solid rgba(255,255,255,.08);font-size:12px}.live-table td:last-child{text-align:right}.live-value{font-weight:700;color:#8fe5a1}
.callout,.privacy-note{display:none}.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}
@media(max-width:1024px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:10px 7px}.brand{min-height:70px;justify-content:center;padding:5px 0 12px}.brand-mark{width:54px;height:54px;flex-basis:54px}.brand-mark .brand-logo-full{display:none}.brand-mark .brand-logo-mark{display:block}.side-nav a>span:last-child,.user-card>span:last-child{display:none}.side-nav a{justify-content:center;padding:10px 5px}.content{padding:22px 20px 34px}.dashboard-reference-grid{grid-template-columns:1fr}.dashboard-reference-right{grid-template-columns:1fr 1fr}.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:768px){.content{padding:18px 16px 30px}.topbar{padding:0 16px}.topbar-club .club-switch-copy{max-width:130px}.page-head{display:block}.page-actions{justify-content:flex-start;margin-top:12px}.context-filter{display:grid;grid-template-columns:1fr}.context-filter .select{width:100%;max-width:none}.dashboard-reference-right,.player-reference-charts,.grid-2,.grid-3{grid-template-columns:1fr}.dashboard-kpis,.session-kpis,.player-kpis,.grid-5{grid-template-columns:repeat(2,1fr)}.replay-options{display:grid;grid-template-columns:repeat(2,1fr)}.hr-reference-layout{grid-template-columns:110px 1fr}}
@media(max-width:560px){.app-shell{display:block}.main-column{padding-bottom:72px}.sidebar{position:fixed;inset:auto 0 0;height:66px;padding:6px 8px;z-index:50;border:0;border-top:1px solid rgba(255,255,255,.1)}.sidebar>.brand,.sidebar-bottom{display:none}.side-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}.side-nav>a{display:none}.side-nav>a:nth-of-type(1),.side-nav>a:nth-of-type(3),.side-nav>a:nth-of-type(4),.side-nav>a:nth-of-type(5),.side-nav>a:nth-of-type(6){display:flex}.side-nav a{min-height:54px;justify-content:center;flex-direction:column;gap:2px;padding:4px 2px;font-size:10px;color:#9cb0a7}.side-nav a>span:last-child{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}.side-nav a .nav-icon{width:20px;height:20px}.topbar{height:56px;gap:6px;padding:0 10px}.topbar-date{display:none}.mobile-brand{display:flex;align-items:center;margin-right:auto}.mobile-brand .brand-mark{width:58px;height:48px;flex-basis:58px}.mobile-brand .brand-logo-full{display:none}.mobile-brand .brand-logo-mark{display:block}.topbar-club{padding:3px}.topbar-club .club-crest{width:32px;height:32px;flex-basis:32px}.topbar-club .club-switch-copy{display:none}.lang-switch a{min-width:30px;padding:6px 5px}.content{padding:16px 12px 26px}.page-head h1{font-size:25px}.page-head p{font-size:12px}.page-actions{display:grid;grid-template-columns:1fr 1fr}.page-actions>*{min-width:0}.select,.input{font-size:16px}.dashboard-kpis,.session-kpis,.player-kpis,.grid-5,.grid-4,.device-grid{grid-template-columns:1fr 1fr}.mini-kpi{min-height:64px;padding:8px;border-right:0;border-bottom:1px solid var(--line)}.mini-kpi-icon{width:32px;height:32px;flex-basis:32px}.mini-kpi strong{font-size:16px}.hr-reference-layout{grid-template-columns:1fr}.zone-list{grid-template-columns:1fr 1fr}.profile-avatar{width:72px;height:82px}.data-table{min-width:620px}}

/* 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:12px;margin:18px 2px 10px}.section-heading h2{margin:0;font-size:18px;letter-spacing:-.015em}.section-heading>span{font-size:12px;color:var(--muted)}

/* Sessions */
.session-feature-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:16px}.session-feature-grid>:only-child{grid-column:1/-1}
.session-feature{border-radius:var(--radius-hero);overflow:hidden;min-height:250px;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:16px 18px 0;font-size:11px;color:#8ca0aa}.session-feature-live .session-feature-head{color:#8eaaa2}.session-feature-main{display:grid;grid-template-columns:1fr 190px;align-items:center;gap:18px;padding:20px 18px 15px}.session-feature-main small{font-size:11px;color:#83a098}.session-feature-main h2{font-size:25px;line-height:1.08;margin:5px 0 7px;letter-spacing:-.03em}.session-feature-main p{margin:0;color:#87a097;font-size:12px}
.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 18px 15px;border-top:0}.session-feature-live .session-story-metrics small{color:#7f9b91}.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:11px 18px;border-top:1px solid rgba(255,255,255,.08);font-size:11px;color:#829b92}.session-feature-next .session-feature-foot{border-top-color:var(--line);color:var(--muted)}.session-feature-foot b{font-size:17px;color:var(--accent)}
.next-matchup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:28px 18px 24px;text-align:center}.next-matchup>div{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.next-matchup strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.next-matchup>b{font-size:18px;color:#9aa69f}.team-token{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;background:#102a20;color:#fff;font-size:17px;font-weight:700;border:1px solid #1b4233}.team-token.alt{background:#eff6f2;color:#2e7f57;border-color:#dcece2}.next-session-meta{display:flex;justify-content:space-between;gap:10px;padding:0 18px 14px;color:var(--muted);font-size:11px}
.session-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.session-story-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);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:#cdd9d2;box-shadow:0 8px 24px rgba(17,31,40,.08)}
.session-story-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px 0}.session-story-head>div{display:flex;align-items:center;gap:7px;font-size:11px}.session-type-dot{width:8px;height:8px;border-radius:50%;background:#69cf91}.session-type-dot.type-match{background:#66a8e9}.session-type-dot.type-training_match{background:#e6a251}.session-story-title{padding:12px 14px 10px}.session-story-title h3{margin:0 0 4px;font-size:15px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-story-title span{font-size:11px;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:10px}.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:10px}
.session-story-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 14px}.session-story-metrics>div{min-width:0}.session-story-metrics small{display:block;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-story-metrics strong{display:block;margin-top:4px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.session-story-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.session-story-footer b{color:#162a34;font-size:13px}

/* Teams */
.team-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.team-showcase-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);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:176px;background:linear-gradient(145deg,#091d17,#123b2f);position:relative;padding:16px;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% 32px;opacity:.55}.team-showcase-topline{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#91aa9f}.team-showcase-mark{display:grid;place-items:center;min-width:42px;height:30px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);font-size:11px;font-weight:700;color:#fff}.team-showcase-name{position:absolute;left:16px;bottom:48px;z-index:2}.team-showcase-name small{font-size:10px;color:#8ba59a;text-transform:uppercase;letter-spacing:.08em}.team-showcase-name h2{font-size:22px;margin:4px 0 0;letter-spacing:-.03em}.roster-stack{position:absolute;left:16px;bottom:13px;display:flex;align-items:center;z-index:2}.roster-stack span,.roster-stack b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;margin-right:-6px;border:2px solid #11362a;background:#e7efeb;color:#163026;font-size:10px;font-weight:700}.roster-stack b{background:var(--accent);color:#0b2b18}.team-showcase-body{padding:15px}.team-showcase-stats{display:grid;grid-template-columns:1fr 1fr;gap:13px 16px}.team-showcase-stats small{display:block;color:var(--muted);font-size:10px}.team-showcase-stats strong{display:block;margin-top:3px;font-size:14px;font-variant-numeric:tabular-nums}.team-latest{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:11px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.team-latest strong{color:#26332c}.team-showcase-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.team-showcase-actions a{display:flex;align-items:center;justify-content:space-between;min-height:38px;border:1px solid var(--line);border-radius:var(--radius-control);padding:8px 10px;font-size:11px;font-weight:700}.team-showcase-actions a:first-child{background:#10271f;color:#fff;border-color:#10271f}.team-showcase-actions b{font-size:13px}

/* Player roster */
.player-roster-section{margin-top:18px}.player-roster-heading>div{display:flex;align-items:center;gap:8px}.player-roster-heading>div>span{font-size:10px;color:#416954;background:#eef7f1;border:1px solid #dceee2;padding:3px 7px;border-radius:999px}.player-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.player-showcase-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-card);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:160px;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:136px;transform:rotate(-7deg)}.player-shirt-no{position:absolute;right:12px;top:11px;font-size:18px;font-weight:700;color:#1a3038;opacity:.78}.player-position-pill{position:absolute;left:12px;top:11px;font-size:10px;font-weight:700;letter-spacing:.06em;color:#315c49;background:rgba(255,255,255,.78);border:1px solid rgba(45,100,72,.12);border-radius:999px;padding:4px 7px}.player-portrait-mark{position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);width:112px;height:132px}.player-portrait-head{position:absolute;width:38px;height:38px;border-radius:50%;background:#b5c9c6;left:37px;top:3px;box-shadow:inset 0 -5px 0 rgba(0,0,0,.03)}.player-portrait-body{position:absolute;width:90px;height:98px;border-radius:46px 46px 10px 10px;background:linear-gradient(180deg,#163641,#0c2029);left:11px;top:37px;transform:perspective(120px) rotateX(-4deg)}.player-portrait-mark b{position:absolute;z-index:2;left:0;right:0;top:71px;text-align:center;color:#fff;font-size:14px;letter-spacing:.03em}.player-showcase-body{padding:14px}.player-showcase-name h3{font-size:16px;margin:0 0 3px;letter-spacing:-.015em}.player-showcase-name span{display:block;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-showcase-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.player-showcase-metrics small{display:block;color:var(--muted);font-size:10px}.player-showcase-metrics strong{display:block;font-size:13px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-showcase-open{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid #edf0f2;color:#44545d;font-size:11px;font-weight:700}.player-showcase-open b{font-size:13px;color:#1c6d45}

/* Analytics */
.ranking-card .card-body{padding-bottom:10px}.ranking-list{display:flex;flex-direction:column}.ranking-row{display:grid;grid-template-columns:30px 38px minmax(170px,1fr) minmax(150px,1.15fr);gap:10px;align-items:center;padding:10px 0;border-top:1px solid #edf0f2}.ranking-row:first-child{border-top:0}.ranking-place{width:27px;height:27px;border-radius:7px;background:#f1f5f3;color:#426555;display:grid;place-items:center;font-size:10px;font-weight:700}.ranking-athlete{min-width:0}.ranking-athlete strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-athlete small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.ranking-meter{display:grid;grid-template-columns:1fr auto;grid-template-rows:7px auto;gap:5px 9px;align-items:center;min-width:0}.ranking-track{grid-column:1/-1;height:7px;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{grid-column:2;text-align:right;font-size:12px;font-weight:700;white-space:nowrap}

/* Comparison */
.compare-filters{align-items:center}.compare-swap{color:#53646e;font-size:14px}.compare-inline-form{margin-top:0}.compare-matrix-card{overflow:hidden}.compare-matrix{width:100%}.compare-matrix-row{display:grid;grid-template-columns:minmax(240px,1.15fr) minmax(240px,1fr) minmax(240px,1fr) minmax(165px,.68fr);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{min-height:82px;padding-top:12px;padding-bottom:12px}.compare-head-label{font-size:14px;font-weight:700}.compare-metric-name{display:flex;flex-direction:column;justify-content:center}.compare-metric-name>strong{font-size:12.5px;font-weight:700}.compare-metric-name>small{font-size:10.5px;color:var(--muted);margin-top:3px}.compare-player-head{display:flex;align-items:center;justify-content:center;gap:8px;text-align:left;min-width:0}.compare-player-head .avatar,.compare-player-head .compare-avatar{width:46px;height:46px;flex-basis:46px;font-size:11px}.compare-player-head>span:last-child{min-width:0}.compare-player-head strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-player-head small{display:block;color:var(--muted);font-size:10.5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-player-select{justify-content:flex-start;padding:12px 14px}.compare-player-select>span:last-child{width:100%}.compare-player-select .select{width:100%;font-size:13px;font-weight:700;min-height:40px;padding:7px 10px}.compare-value{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;text-align:center;white-space:nowrap;position:relative}.compare-value.is-better{background:#f2fbf5;color:#1c7144}.compare-value.is-better:after{content:'✓';margin-left:7px;color:#38a967;font-size:11px}.compare-delta{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.compare-delta strong{font-size:12.5px}.compare-delta small{font-size:10.5px;color:var(--muted);margin-top:3px}

@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,.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}.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}.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:15px;line-height:1.2}.session-field-head>div>span{display:block;margin-top:3px;color:var(--muted);font-size:10px;letter-spacing:.04em}.field-player-picker select{height:36px;max-width:210px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:#28363e;padding:0 28px 0 9px;font-size:12px;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:3px;background:#f1f5f3;border:1px solid #e5ece8;border-radius:var(--radius-control);margin-bottom:10px}.field-mode-button{border:0;background:transparent;color:#68776f;border-radius:6px;padding:7px 10px;font-size:11px;font-weight:700;cursor:pointer}.field-mode-button:hover{color:#30423a}.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:var(--radius-card);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:12px;right:12px;bottom:11px;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:32px;padding:0 10px;border-radius:var(--radius-control);background:rgba(7,22,29,.8);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(6px);color:#dbe8ec;font-size:10px;font-weight:700}.heat-scale{display:flex;align-items:center;gap:5px;min-height:32px;padding:0 9px;border-radius:var(--radius-control);background:rgba(7,22,29,.8);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(6px);color:#9fb2ba}.heat-scale b{font-size:10px;font-weight:700}.heat-scale i,.heat-scale em{width:28px;height:5px;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:700;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:700;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:11px}.session-key-card .key-metrics-list strong{font-size:12px}
@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 pitch */
.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)}

@media(max-width:1180px){.session-visual-grid{grid-template-columns:minmax(0,1.35fr) minmax(285px,.65fr)}}

/* Session tactical layout */
.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:16px;height:100%}
.session-tactical-head{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:12px}
.session-tactical-copy{min-width:0}.session-tactical-copy h2{margin:0;font-size:17px;line-height:1.15;letter-spacing:-.01em}.session-tactical-copy span{display:block;margin-top:4px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.session-tactical-actions{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}
.session-tactical-actions .field-mode-switch{margin:0;display:inline-flex;gap:2px;min-width:0;max-width:100%;padding:2px;background:#f1f5f3;border:1px solid #e4ebe7;border-radius:7px;overflow-x:auto}
.session-tactical-actions .field-mode-button{appearance:none;border:0;background:transparent;color:#65746d;border-radius:6px;padding:7px 10px;font:inherit;font-size:11px;font-weight:700;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:36px;max-width:210px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:#fff;color:#293830;padding:0 28px 0 9px;font-size:11px;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:700;text-anchor:middle;dominant-baseline:central}.avg-label-v3{fill:#eff8f4;font-size:2.05px;font-weight:700;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:700;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:5px}.presentation-field-chips span,.presentation-field-meta>strong{display:inline-flex;align-items:center;min-height:30px;padding:0 9px;border-radius:var(--radius-control);background:rgba(5,21,27,.8);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(5px);color:#dce9ed;font-size:10px;font-weight:700}.presentation-field-meta>strong{font-weight:700}
.session-profile-card-v3 .card-body{height:100%;padding:11px 12px;display:flex;flex-direction:column}
.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-actions{align-items:stretch}.session-tactical-actions .field-mode-switch{flex:1 1 100%}.session-tactical-actions .field-player-picker select{max-width:180px}}
@media(max-width:520px){.session-tactical-actions .field-player-picker{flex:1 1 100%}.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:36px;padding:0 11px;border:1px solid #dbe5df;border-radius:var(--radius-control);background:#fff;color:#1f6e46;text-decoration:none;font-size:11px;font-weight:700;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:700;text-anchor:middle;dominant-baseline:central}
.movement-end-label-v4{fill:#eff8f4;font-size:1.72px;font-weight:700;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 replay motion */
.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:700;text-anchor:middle;dominant-baseline:central}
.motion-player-name{fill:#f3faf7;font-size:1.48px;font-weight:700;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:700;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:12px;left:12px;z-index:5;display:flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-control);background:rgba(5,20,27,.78);backdrop-filter:blur(8px);box-shadow:0 8px 20px rgba(0,0,0,.08);color:#dce8eb;font-size:10px;letter-spacing:.02em}
.motion-overlay-top strong{font-size:10px;color:#fff;letter-spacing:.045em}.motion-overlay-top>span:last-child{padding-left:8px;border-left:1px solid rgba(255,255,255,.13);color:#8bf0a8;font-weight:700}
.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:12px;right:12px;z-index:5;display:flex;align-items:center;gap:9px;min-height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-control);background:rgba(5,20,27,.78);backdrop-filter:blur(8px);color:#b9c9ce;font-size:10px}.motion-scoreline b{color:#fff;font-size:13px;letter-spacing:.04em}.motion-scoreline span:first-child,.motion-scoreline span:last-child{font-weight:700}
.motion-playback{position:absolute;left:12px;right:12px;bottom:12px;z-index:5;display:grid;grid-template-columns:38px 48px minmax(100px,1fr) 42px 38px;align-items:center;gap:8px;height:48px;padding:0 9px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-control);background:linear-gradient(90deg,rgba(4,17,23,.92),rgba(6,25,32,.84));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,.09);color:#eaf4f5;font:inherit;font-size:11px;font-weight:700;cursor:pointer;height:32px}.motion-play-button:hover,.motion-speed:hover{background:rgba(113,232,148,.16);color:#9ff2b5}
.motion-clock,.motion-fulltime{font-size:10px;color:#d8e6e9;font-weight:700;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)}
@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){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.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-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:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#6b9d82}
.dashboard-intelligence-strip{display:grid;grid-template-columns:minmax(270px,1.55fr) repeat(5,minmax(95px,.55fr)) auto;gap:0;align-items:stretch;background:linear-gradient(118deg,#091d17 0%,#11352a 62%,#174b3b 100%);color:#fff;border-radius:var(--radius-hero);padding:0;margin-bottom:0;box-shadow:0 12px 32px rgba(8,31,21,.16);overflow:hidden;position:relative}.dashboard-intelligence-strip:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.06) 50%,transparent 50.2%),radial-gradient(circle at 50% 50%,transparent 0 49px,rgba(255,255,255,.06) 50px 51px,transparent 52px);opacity:.72}.dashboard-intelligence-strip:after{content:"";position:absolute;right:-70px;top:-105px;width:300px;height:300px;border-radius:50%;border:1px solid rgba(120,243,110,.12);box-shadow:0 0 0 55px rgba(120,243,110,.025)}.dashboard-intelligence-strip>div,.dashboard-intelligence-strip>a{position:relative;z-index:1}.dashboard-intelligence-strip>div{display:flex;flex-direction:column;justify-content:center;min-height:136px;padding:20px 16px;border-left:1px solid rgba(255,255,255,.08)}.dashboard-intelligence-strip>div:first-child{border-left:0;padding:22px 24px}.dashboard-intelligence-strip>div:first-child strong{display:block;font-size:24px;line-height:1.12;margin-top:8px;letter-spacing:-.025em}.dashboard-intelligence-strip>div:first-child b{display:inline-block;color:var(--accent);margin-left:8px;font-size:27px;font-variant-numeric:tabular-nums}.dashboard-intelligence-strip .eyebrow{color:#8bd997;font-size:10px}.dashboard-match-meta{margin-top:9px;color:#9eb5aa;font-size:11px}.dashboard-intelligence-strip small{display:block;min-height:30px;font-size:10px;line-height:1.35;color:#8fa99d}.dashboard-intelligence-strip>div:not(:first-child) strong{display:block;font-size:18px;margin-top:6px;font-variant-numeric:tabular-nums}.dashboard-intelligence-strip>a{align-self:center;justify-self:center;display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin:0 18px;background:var(--accent);color:#0a2b17;font-weight:700;font-size:12px;padding:9px 13px;border-radius:var(--radius-control);white-space:nowrap}


.fitness-report-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:12px}.load-intensity-chart{height:220px;display:flex;align-items:flex-end;gap:8px;padding:8px 4px 0}.load-player{height:100%;flex:1;display:grid;grid-template-rows:18px 1fr 19px 17px;text-align:center;align-items:end}.load-player>span{font-size:10px;color:#7e8b83;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-player>i{height:145px;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:20px;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,#6ca9ea,#6fd497)}.load-player>strong{font-size:11px}.load-player>small{font-size:10px;color:#8c9891}.team-hr-spectrum{display:grid;gap:12px}.team-hr-gradient{height:76px;border-radius:var(--radius-control);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:8px}.team-hr-bars>div{display:grid;grid-template-columns:62px 1fr 46px;gap:8px;align-items:center;font-size:10px;color:#7c8881}.team-hr-bars i{height:7px;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:26px 1fr auto;gap:8px;align-items:center;border-top:1px solid #edf0ee;padding:9px 0}.movement-ranking a:first-child{border-top:0}.movement-ranking a>span{width:24px;height:24px;border-radius:6px;background:#eef5f1;color:#4f7e64;display:grid;place-items:center;font-size:10px;font-weight:700}.movement-ranking a>strong{font-size:11px}.movement-ranking a>b{font-size:12px}.movement-ranking a>small{grid-column:2/4;color:#87938c;font-size:10px}.ima-stack-list{display:grid;gap:10px}.ima-stack-list>div{display:grid;grid-template-columns:58px 1fr 42px;gap:8px;align-items:center;font-size:10px}.ima-stack-list i{display:flex;height:10px;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:11px}.ima-legend{display:flex;justify-content:flex-end;gap:12px;color:#7c8982;font-size:10px;margin-top:10px}.ima-legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;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:11px;margin:7px 0 5px}.formation-snapshot>small{display:block;color:#7d8982;font-size:10px;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:10px;margin-top:3px;opacity:.8}.attack-side-bars{display:grid;gap:8px}.attack-side-bars>div{display:grid;grid-template-columns:65px 1fr 36px;gap:8px;align-items:center;font-size:10px}.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}


.analytics-spectrum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}


@media(max-width:1000px){.dashboard-intelligence-strip{grid-template-columns:repeat(3,1fr)}.dashboard-intelligence-strip .dashboard-match-title{grid-column:1/-1}.dashboard-intelligence-strip>a{grid-column:1/-1;justify-self:start;margin:0 16px 18px}.dashboard-intelligence-strip>div{min-height:92px}.fitness-report-grid,.tactical-report-layout{grid-template-columns:1fr}}
@media(max-width:700px){.analytics-spectrum{grid-template-columns:1fr}.formation-interval-grid{grid-template-columns:1fr}.dashboard-intelligence-strip{grid-template-columns:1fr 1fr}.dashboard-intelligence-strip .dashboard-match-title{grid-column:1/-1}.dashboard-intelligence-strip>div{padding:14px;min-height:82px}.dashboard-intelligence-strip>div:first-child strong{font-size:20px}.dashboard-intelligence-strip>div:first-child b{font-size:22px}}

/* 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:40px}.report-period-table>div:first-child{border-top:0}.report-period-table .rpt-head{min-height:30px;color:#8a9690;font-size:10px}.report-period-table span{font-size:11px;color:#60706a}.report-period-table strong{text-align:right;font-size:11px}.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:10px;color:#81908a}.report-stat-cards strong{display:block;margin-top:4px;font-size:14px;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:10px;color:#7a8781}.chart-legend{display:flex;gap:14px;justify-content:flex-end;margin-top:8px;font-size:10px;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:120px 1fr;gap:8px;align-items:center}.player-zone-stacks span{font-size:10px;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%}.player-zone-stacks .zone-0{background:#7fdc86}.player-zone-stacks .zone-1{background:#a8d65e}.player-zone-stacks .zone-2{background:#e4cf4d}.player-zone-stacks .zone-3{background:#f1a24a}.player-zone-stacks .zone-4{background:#e95e4b}.player-zone-stacks .zone-5{background:#ae3b53}.player-zone-stacks .speed-zone-0{background:#f6d73f}.player-zone-stacks .speed-zone-1{background:#f5ad24}.player-zone-stacks .speed-zone-2{background:#ec731c}.player-zone-stacks .speed-zone-3{background:#d84c13}.player-zone-stacks .speed-zone-4{background:#c11818}.player-zone-stacks .speed-zone-5{background:#8c0000}
.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:700;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:10px}.pass-matrix td,.pass-matrix th{padding:6px 5px;white-space:nowrap}.pass-matrix .matrix-hot{background:#d9f5e3;color:#1c7040;font-weight:700}.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:700;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:700;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) 260px;gap:14px}.premium-replay-stage{position:relative;background:#0d2831;border-radius:var(--radius-card);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:7px 11px;border-radius:var(--radius-control);background:rgba(6,23,29,.86);color:#eef9f4;font-size:10px;backdrop-filter:blur(6px)}.replay-score b{font-size:14px}.premium-replay .replay-options{border:1px solid var(--line);border-radius:var(--radius-card);padding:14px;background:#fff;display:flex;flex-direction:column;gap:10px}.premium-replay .replay-options>strong{font-size:13px}.premium-replay .replay-options label{font-size:12px;min-height:34px}.replay-live-metrics{display:grid;gap:8px;margin-top:7px}.replay-live-metrics>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px}.replay-live-metrics small{font-size:10px;color:var(--muted)}.replay-live-metrics b{font-size:11px}.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:700;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:700;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:16px;align-items:center}.premium-player-head .eyebrow{font-size:10px;color:#4b8e65;font-weight:700;letter-spacing:.07em}.premium-player-head .profile-meta{display:flex;gap:12px;margin-top:8px;color:#7b8982;font-size:11px}.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:11px;color:#85928b}.profile-session-stamp strong{display:block;font-size:13px;margin:4px 0}.player-story{background:linear-gradient(180deg,#f9fcfa,#f4f8f6);border:1px solid #dfe9e3;border-radius:var(--radius-card);padding:14px}.report-grid-2x2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.source-chart-card{min-height:330px}.report-spectrum{height:180px;border:1px solid #dce5e0;border-radius:var(--radius-control);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:7px;margin-top:11px}.source-zone-bars>div{display:grid;grid-template-columns:72px 1fr 46px;gap:8px;align-items:center}.source-zone-bars span{font-size:10px}.source-zone-bars span>i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:2px}.source-zone-bars b{height:8px;background:#edf1ef;overflow:hidden}.source-zone-bars b>em{display:block;height:100%}.source-zone-bars strong{font-size:11px;text-align:right}.speed-highlight-cards{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.speed-highlight-cards>div{background:#f5f6f5;border:1px solid #e5e8e6;border-radius:var(--radius-control);padding:11px;text-align:center}.speed-highlight-cards small{display:block;font-size:10px;color:#7c8982}.speed-highlight-cards strong{display:block;margin-top:5px;font-size:13px}.player-visual-quads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.half-movement-chart{display:grid;gap:12px}.half-movement-chart>div{display:grid;grid-template-columns:90px 1fr 160px;align-items:center;gap:9px}.half-movement-chart span{font-size:11px}.half-movement-chart i{height:22px;display:flex;align-items:flex-end;gap:2px}.half-movement-chart b{height:9px;display:block}.half-movement-chart b.half1{background:#62cb92}.half-movement-chart b.half2{background:#6aa9e5}.half-movement-chart strong{font-size:11px;text-align:right}.chart-legend .half1-legend:before{background:#62cb92}.chart-legend .half2-legend:before{background:#6aa9e5}.speed-distance-bars{height:220px;display:flex;align-items:flex-end;gap:12px;padding:16px 10px 28px;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:10px;margin-top:4px}.speed-distance-bars small{position:absolute;bottom:-22px;font-size:10px}.player-heat-svg{width:100%;height:auto;max-height:280px}.light-pitch{fill:none;stroke:#9aa6a1;stroke-width:.35}.player-pass-zones{grid-template-columns:repeat(6,1fr)}
@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}}
/* Session profile presentation. */
.session-profile-card-v3{align-self:start;min-width:0}.session-profile-card-v3 .card-body{height:auto;padding:16px}
.session-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.session-profile-head h2{margin:0;font-size:16px;line-height:1.2}.session-profile-head span{flex-shrink:0;font-size:11px;color:var(--muted)}
.session-profile-primary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:14px}.session-profile-primary>div{min-width:0;padding:13px 12px;border:1px solid var(--line);border-radius:var(--radius-card);background:#f7fbf8}.session-profile-primary small,.session-profile-primary strong{display:block}.session-profile-primary small{font-size:11px;line-height:1.3;color:var(--muted)}.session-profile-primary strong{margin-top:7px;font-size:23px;line-height:1.05;white-space:nowrap}
.session-profile-metrics{margin-top:14px}.session-profile-metric{padding:10px 0;border-top:1px solid var(--line)}.session-profile-metric:first-child{border-top:0}.session-profile-metric>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.session-profile-metric span{font-size:11px;line-height:1.3;color:var(--muted);white-space:normal}.session-profile-metric strong{font-size:12px;line-height:1.2;color:var(--text);white-space:nowrap}.session-profile-metric>i{display:block;height:5px;margin-top:6px;background:#edf2ef;border-radius:999px;overflow:hidden}.session-profile-metric>i>b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#62cf82 0%,#6fd398 55%,#71afe5 100%)}
.session-profile-leaders{margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}.session-profile-leaders h3{margin:0 0 4px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#283a31}.session-profile-leaders>a{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #eef2ef}.session-profile-leaders>a:first-of-type{border-top:0}.session-profile-leaders .avatar{width:36px;height:36px;flex-basis:36px;font-size:10px}.session-profile-leaders small{display:block;font-size:10px;line-height:1.2;color:var(--muted);margin-bottom:2px}.session-profile-leaders a>span:nth-child(2)>strong,.session-profile-leaders>a>b{display:block;font-size:12px;line-height:1.2;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.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:700;text-anchor:middle;dominant-baseline:central}.avg-label-v3{fill:#f4faf7;font-size:1.65px;font-weight:700;text-anchor:middle;paint-order:stroke;stroke:#0d2730;stroke-width:.68px;stroke-linejoin:round}.movement-range{display:none}
.report-like-heatmap{background:#fbfcfb}.report-like-heatmap .pitch-surface{fill:#fbfcfb}.report-like-heatmap .pitch-markings{stroke:#9ba9a2;stroke-opacity:.78;stroke-width:.32}.report-like-heatmap .pitch-turf{display:none}.heatmap-svg .heat-low-layer circle,.heatmap-svg .heat-hot-layer circle{mix-blend-mode:multiply}
@media(max-width:1180px){.session-profile-primary strong{font-size:20px}}
/* === Showcase foundation 2026-09-10: real media, progress and adaptive session content === */
.session-showcase-grid.profile-only{grid-template-columns:1fr}.session-physical-overview{align-items:stretch}
.dashboard-progress-card{overflow:hidden}.dashboard-progress-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.dashboard-progress-player{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 13px;border-left:1px solid var(--line);background:#fff;transition:background-color .15s ease}.dashboard-progress-player:first-child{border-left:0}.dashboard-progress-player:hover{background:var(--panel-soft)}.dashboard-progress-player .dashboard-progress-avatar{width:42px;height:42px;flex-basis:42px}.dashboard-progress-player strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-progress-player small{display:block;color:var(--muted);font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-progress-player>b{font-size:13px;color:#248552;white-space:nowrap;font-variant-numeric:tabular-nums}
.report-product-card.development{background:linear-gradient(145deg,#0e2c24,#144a34);color:#fff;border-color:#1c543c}.report-product-card.development>span{background:#69dd88;color:#0a2b18}.report-product-card.development p{color:#a8c8b6}.report-product-card.development b{color:#7be497}
.development-hero{display:grid;grid-template-columns:112px minmax(260px,.95fr) 1.45fr;gap:18px;align-items:center;padding:18px;background:radial-gradient(circle at 86% 12%,rgba(102,222,123,.16),transparent 31%),linear-gradient(145deg,#0b2029,#102d32);color:#fff;overflow:hidden;position:relative}.development-hero:after{content:"";position:absolute;right:-80px;bottom:-130px;width:330px;height:330px;border:1px solid rgba(255,255,255,.06);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.018),0 0 0 110px rgba(255,255,255,.012)}.development-player-photo{width:112px;height:132px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#e9f0ed,#cddbd5);color:#18352a;font-size:24px;font-weight:700;overflow:hidden;position:relative;z-index:1}.development-player-photo img{object-position:center 22%}.development-player-copy{min-width:0;position:relative;z-index:1}.development-player-copy .eyebrow{color:#75dc92}.development-player-copy h2{margin:5px 0 4px;font-size:24px;letter-spacing:-.04em}.development-player-copy p{margin:0;color:#aac0bb;font-size:12px}.development-period{display:flex;gap:9px;align-items:center;margin-top:13px;font-size:11px;color:#9fb7b0}.development-period strong{color:#fff}.development-scoreboard{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;position:relative;z-index:1}.development-scoreboard>div{padding:12px 10px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.045);backdrop-filter:blur(4px)}.development-scoreboard small{display:block;color:#8fa9a2;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.development-scoreboard strong{display:block;margin-top:5px;font-size:16px;letter-spacing:-.03em}
.period-switch{display:flex;gap:6px;overflow-x:auto}.period-switch a{display:flex;align-items:center;min-height:36px;padding:7px 11px;border-radius:var(--radius-control);border:1px solid var(--line);background:#fff;color:#66766e;font-size:12px;font-weight:700;white-space:nowrap}.period-switch a.active{background:#122b23;border-color:#122b23;color:#fff}
.development-section-nav{position:sticky;top:calc(var(--topbar-height) + 8px);z-index:12;display:flex;gap:4px;margin:12px 0 18px;padding:5px;border:1px solid var(--line);border-radius:var(--radius-card);background:rgba(255,255,255,.96);box-shadow:0 6px 18px rgba(12,34,22,.07);overflow-x:auto;scrollbar-width:thin}.development-section-nav a{display:flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:7px;color:#61736a;font-size:12px;font-weight:700;white-space:nowrap}.development-section-nav a:hover,.development-section-nav a:focus-visible{background:var(--accent-soft);color:#246d46}.development-pdf-report [id]{scroll-margin-top:calc(var(--topbar-height) + 72px)}
.development-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.development-kpi{overflow:hidden}.development-kpi .card-body{position:relative;min-height:112px;padding:13px}.development-kpi small{color:var(--muted);font-size:11px}.development-kpi>div>strong,.development-kpi .card-body>strong{display:block;margin-top:6px;font-size:19px;letter-spacing:-.035em}.development-delta{position:absolute;right:12px;top:13px;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:700}.development-delta.up{background:#e9f8ee;color:#259255}.development-delta.down{background:#fff0ef;color:#b64d4d}.development-delta.flat{background:#f2f4f3;color:#748078}.development-baseline{display:flex;justify-content:space-between;gap:10px;margin-top:18px;padding-top:8px;border-top:1px solid #edf1ee;color:#87938c;font-size:10px}
.development-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.development-line-chart{height:176px;position:relative;padding-bottom:22px}.development-line-chart svg{width:100%;height:148px;overflow:visible}.development-line-chart .chart-grid line{stroke:#edf1ef;stroke-width:.5;vector-effect:non-scaling-stroke}.development-line-chart .development-line{fill:none;stroke:#46b978;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 3px rgba(54,170,103,.12))}.development-line-chart circle{fill:#fff;stroke:#46b978;stroke-width:1.2;vector-effect:non-scaling-stroke}.development-chart-labels{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;color:#87938c;font-size:10px}.development-chart-values{position:absolute;left:0;right:0;top:0;bottom:22px;pointer-events:none}.development-chart-values span{position:absolute;transform:translate(-50%,-100%);font-size:10px;font-weight:700;color:#344840;background:rgba(255,255,255,.84);padding:1px 3px;border-radius:3px}
.development-notes-grid{align-items:stretch}.coach-comment{margin:0;padding:12px 13px;border-left:3px solid #62d281;background:#f7fbf8;border-radius:0 8px 8px 0;font-size:13px;line-height:1.65;color:#34463e}.next-focus{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding-top:9px;border-top:1px solid #e9efeb}.next-focus small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.next-focus strong{font-size:12px;color:#1f3429}.activity-ring-row{display:grid;grid-template-columns:124px 1fr;gap:18px;align-items:center}.activity-ring{--pct:0;width:112px;height:112px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#fff 0 57%,transparent 58%),conic-gradient(#55c87a calc(var(--pct)*1%),#edf2ef 0);box-shadow:inset 0 0 0 1px #edf1ef}.activity-ring strong{font-size:19px}.activity-ring small{font-size:10px;color:var(--muted);margin-top:2px}.activity-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.activity-facts>div{padding:8px;border:1px solid #e9eeeb;border-radius:7px}.activity-facts small{display:block;color:var(--muted);font-size:10px}.activity-facts strong{display:block;font-size:13px;margin-top:3px}
[data-animate-line]{transition:stroke-dashoffset 1.05s cubic-bezier(.2,.8,.2,1)}
@media(max-width:1000px){.development-hero{grid-template-columns:90px 1fr}.development-player-photo{width:90px;height:108px}.development-scoreboard{grid-column:1/-1}.dashboard-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.development-hero{grid-template-columns:72px 1fr;padding:12px;gap:12px}.development-player-photo{width:72px;height:88px}.development-player-copy h2{font-size:18px}.development-scoreboard{grid-template-columns:repeat(3,1fr)}.development-kpis,.development-chart-grid{grid-template-columns:1fr}.activity-ring-row{grid-template-columns:1fr}.activity-ring{margin:auto}.dashboard-progress-grid{grid-template-columns:1fr}.development-baseline{flex-direction:column;gap:3px}}
.pdf-export-mount{position:absolute!important;left:-100000px!important;top:0!important;width:730px!important;pointer-events:none!important}.pdf-export-source{width:730px!important;padding:18px!important;background:#f4f7f5!important;box-sizing:border-box!important}.pdf-export-source .development-hero{grid-template-columns:92px minmax(185px,.9fr) 1.45fr!important;gap:12px!important}.pdf-export-source .development-player-photo{width:92px!important;height:112px!important}.pdf-export-source .development-scoreboard{grid-column:auto!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important}.pdf-export-source .development-scoreboard>div{padding:9px 6px!important}.pdf-export-source .development-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}.pdf-export-source .development-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pdf-export-source .development-notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;break-inside:avoid;page-break-inside:avoid}.pdf-export-source .development-baseline{flex-direction:row!important;gap:10px!important}.pdf-export-source .activity-ring-row{grid-template-columns:104px 1fr!important;gap:10px!important}.pdf-export-source .activity-ring{width:96px!important;height:96px!important}.pdf-export-source .card,.pdf-export-source .development-kpi{break-inside:avoid;page-break-inside:avoid;box-shadow:none}.pdf-export-source .development-hero{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pdf-export-source .section-gap{margin-top:10px}
.development-axis{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;color:#87938c;font-size:10px}.development-axis span{min-width:0;text-align:center;flex:1}


/* Player photo UI fix 2026-09-10 v2: portrait-first presentation. */
.player-showcase-card{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:stretch;min-height:154px}
.player-showcase-visual{height:auto;min-height:154px;aspect-ratio:auto;border-right:1px solid #edf1f3;background:linear-gradient(145deg,#edf3f1,#dce8e5 60%,#cbdad8)}
.player-showcase-visual:before{inset:auto -16% -54px;background:#0d222b;height:102px;transform:rotate(-7deg)}
.player-showcase-visual.has-photo>img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center 26%;transform:scale(1.02)}
.player-showcase-visual.has-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,31,.02) 0%,rgba(7,24,31,.05) 55%,rgba(7,24,31,.12) 100%)}
.player-showcase-visual.has-photo .player-shirt-no,.player-showcase-visual.has-photo .player-position-pill{z-index:2}
.player-showcase-visual.has-photo .player-shirt-no{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.38)}
.player-position-pill{top:10px;left:10px;font-size:10px;padding:4px 7px;background:rgba(255,255,255,.88);backdrop-filter:blur(4px)}
.player-shirt-no{top:auto;bottom:10px;right:10px;font-size:18px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.34);opacity:1}
.player-showcase-body{padding:14px 14px 12px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.player-showcase-name h3{font-size:15px;line-height:1.2;margin:0 0 4px}
.player-showcase-name span{font-size:11px;white-space:normal;overflow:visible;text-overflow:clip}
.player-showcase-metrics{gap:8px;margin-top:11px}
.player-showcase-metrics small{font-size:10px}
.player-showcase-metrics strong{font-size:12px}
.player-showcase-open{margin-top:11px;padding-top:9px}

.profile-avatar,.profile-avatar.has-photo{width:102px;height:124px;border-radius:12px;background:linear-gradient(150deg,#e8eef0 0%,#cbd8dd 47%,#0e242d 48%,#0b1b23 100%)}
.profile-avatar.has-photo img{width:100%;height:100%;object-fit:cover;object-position:center 26%;transform:none}
.profile-avatar.has-photo b{display:block;background:rgba(10,22,29,.78);padding:4px 7px;border-radius:999px;right:8px;bottom:8px;font-size:11px}

.avatar.has-photo,.development-photo.has-photo,.profile-avatar.has-photo,.roster-stack .has-photo{overflow:hidden;background:#e9efec;color:transparent}
.avatar.has-photo img,.development-photo.has-photo img,.profile-avatar.has-photo img,.roster-stack .has-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 28%}
.roster-stack .has-photo{padding:0}.roster-stack .has-photo img{object-position:center 30%}
.development-player-photo{width:116px;height:140px;border-radius:14px}.development-player-photo>.development-photo{width:100%;height:100%;display:grid;place-items:center}.development-player-photo>.development-photo.has-photo img{object-position:center 28%;transform:none}

@media(max-width:1280px){.player-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.player-card-grid{grid-template-columns:1fr}.player-showcase-card{grid-template-columns:96px minmax(0,1fr);min-height:142px}.player-showcase-visual{min-height:142px}.player-showcase-visual:before{height:92px;bottom:-48px}.profile-avatar,.profile-avatar.has-photo{width:88px;height:108px}.development-player-photo{width:90px;height:108px}}


/* Page-specific composition. */
.ranking-row .ranking-avatar{width:34px;height:34px;flex-basis:34px}
.compare-mobile-player{display:none}
.report-info strong{font-size:13px}.report-info small{font-size:10px}.report-icon{width:42px;height:48px;font-size:10px}
.report-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-player-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto 22px;gap:12px;align-items:center;min-height:82px;padding:9px 13px;background:#fff;overflow:hidden;transition:.15s ease}.report-player-card:hover{transform:translateY(-1px);border-color:#cfdad4;box-shadow:0 7px 20px rgba(18,38,30,.07)}.report-player-card .report-player-avatar{position:relative;inset:auto;width:58px;height:64px;flex-basis:58px;border-radius:10px;overflow:hidden;background:#eef2f1}.report-player-card .report-player-avatar img{position:static;width:100%;height:100%;object-fit:cover;object-position:center 27%;transform:none;filter:none}.report-player-card:before,.report-player-card:after{display:none}.report-player-copy{min-width:0}.report-player-copy strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-player-copy small{display:block;margin-top:4px;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-player-meta{font-size:11px;color:#3c7256;font-weight:700}.report-player-card>b{font-size:18px;color:#4ba56f}
.report-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-quick-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center;padding:15px}.report-quick-card strong{font-size:15px}.report-quick-card span{font-size:11px;color:var(--muted)}.report-quick-card b{grid-row:1/3;grid-column:2;font-size:20px;color:#4ba56f}
.development-player-copy h2{font-size:26px}.development-scoreboard strong{font-size:18px}.development-kpi>div>strong,.development-kpi .card-body>strong{font-size:20px}

@media(max-width:980px){.ranking-row{grid-template-columns:28px 34px minmax(120px,1fr) 86px}.ranking-track{display:none}}
@media(min-width:561px) and (max-width:768px){.page-head h1{font-size:25px}.card-title h2,.card-title h3{font-size:15px}.side-nav a{font-size:0}.report-player-card{grid-template-columns:46px minmax(0,1fr) 18px}.report-player-card .report-player-avatar{width:46px;height:50px;flex-basis:46px}.report-player-meta{display:none}.report-quick-grid{grid-template-columns:1fr}}


/* Reports, comparison and rankings */
.content small{font-size:11px}
.content .eyebrow{font-size:10px;letter-spacing:.05em}
.content .badge{font-size:10px;padding:4px 7px}
.input,.select{min-height:38px;font-size:13px;padding:8px 10px}
.filters .input,.filters .select{font-size:13px;min-height:40px}
.session-time{font-size:10px}.session-time strong{font-size:12px}.session-copy strong{font-size:13px}.session-copy small{font-size:10.5px}
.chart-caption,.zone-list>div{font-size:10px}.zone-list strong{font-size:11px}
.field-mode-button{font-size:10px;padding:7px 10px}

.compare-difference-head{display:flex;align-items:center;justify-content:center;gap:10px}.compare-difference-head strong{font-size:13px}.compare-swap-button{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:#54656e;font-size:16px}

@media(max-width:1050px){.compare-matrix{overflow-x:auto}.compare-matrix-row{min-width:980px}.report-player-grid{grid-template-columns:1fr}}
@media(max-width:560px){.compare-matrix{overflow:visible}.compare-matrix-row{min-width:0;grid-template-columns:1fr 1fr;gap:0;padding:0;border-top:1px solid var(--line)}.compare-matrix-head{padding:10px;gap:8px}.compare-matrix-head .compare-head-label,.compare-matrix-head .compare-difference-head{display:none}.compare-matrix-head>.compare-player-head{min-width:0;padding:8px}.compare-matrix-head .compare-avatar{display:none}.compare-player-select .select{font-size:16px}.compare-matrix-row>.compare-metric-name{grid-column:1/-1;padding:12px 12px 6px;border:0;background:#fff}.compare-matrix-row>.compare-value{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 12px 12px;border:0;background:#fff}.compare-value:nth-child(3){align-items:flex-end;text-align:right}.compare-value strong{font-size:15px}.compare-mobile-player{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:10px;white-space:nowrap}.compare-matrix-row>.compare-delta{grid-column:1/-1;display:flex;flex-direction:row;gap:8px;justify-content:flex-start;padding:9px 12px;border:0;background:var(--panel-soft)}.compare-value.is-better{background:#f2fbf5}.compare-value.is-better:after{position:absolute;right:8px;top:8px}}
@media(max-width:768px){.content small{font-size:11px}.ranking-row{grid-template-columns:28px 34px minmax(130px,1fr) 115px}.ranking-meter{grid-template-columns:1fr}.ranking-meter .ranking-value{grid-column:1}.report-player-card{grid-template-columns:52px minmax(0,1fr) 18px}.report-player-card .report-player-avatar{width:48px;height:54px;flex-basis:48px}.report-player-meta{display:none}}
/* Team identity shared by the session overview and match replay. */
.db-motion-player .db-motion-core,
.replay-player-svg .replay-player-core{fill:#38bdf8;stroke:#f0f9ff;stroke-width:.38;filter:drop-shadow(0 .35px .4px #03121bcc);vector-effect:none}
.db-motion-player.away .db-motion-core,
.replay-player-svg.away .replay-player-core{fill:#ffad4d;stroke:#fff4e6}
.db-motion-player .db-motion-halo{fill:#38bdf8;fill-opacity:.08}
.db-motion-player.away .db-motion-halo{fill:#ffad4d;fill-opacity:.08}
.db-motion-player .db-motion-number,
.db-motion-player.away .db-motion-number,
.replay-player-svg>text:not(.replay-player-name),
.replay-player-svg.away>text:not(.replay-player-name){fill:#071d2b;font-size:2.65px;font-weight:700}
.db-motion-player .db-motion-name,.replay-player-svg .replay-player-name{fill:#d9f2ff;stroke:#071d2b;stroke-width:.32;stroke-linejoin:round;font-size:1.55px;font-weight:400}
.db-motion-player.away .db-motion-name,.replay-player-svg.away .replay-player-name{fill:#ffe6c4}
.db-motion-trail,.replay-trail-svg{stroke:#38bdf8;stroke-opacity:.4}
.db-motion-trail.away,.replay-trail-svg.away{stroke:#ffad4d}
.db-motion-ball .db-ball-core,.replay-ball-svg{fill:#fff;stroke:#081923;stroke-width:.4;filter:drop-shadow(0 0 .65px #fff)}
.motion-scoreline span:first-child,.replay-score span:first-child{color:#7dd3fc}
.motion-scoreline span:last-child,.replay-score span:last-child{color:#ffbd70}
.pitch-team-legend{position:absolute;left:12px;bottom:12px;z-index:5;display:flex;flex-wrap:wrap;gap:7px 14px;max-width:calc(100% - 24px);padding:7px 10px;border:1px solid #ffffff24;border-radius:8px;background:#071b24ed;color:#f4f8fb;font-size:12px;font-weight:700;line-height:1.3;pointer-events:none}
.pitch-team-legend>span{display:flex;align-items:center;gap:7px;min-width:0}
.pitch-team-legend i{display:inline-block;flex:0 0 11px;width:11px;height:11px;border:1.5px solid #f0f9ff;background:#38bdf8;border-radius:50%}
.pitch-team-legend .team-away i{background:#ffad4d;border-color:#fff4e6;border-radius:3px}
[data-db-motion] .pitch-team-legend{bottom:52px}
@media(max-width:600px){.pitch-team-legend{left:8px;bottom:8px;max-width:calc(100% - 16px);font-size:10px;padding:5px 7px;gap:5px 10px}[data-db-motion] .pitch-team-legend{bottom:46px}}
.replay-error{position:absolute;z-index:20;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;background:#081b23e8;color:#fff;font-size:13px;text-align:center}.replay-error button{border:1px solid #ffffff55;border-radius:7px;padding:7px 11px;background:#fff;color:#173029;font-weight:700;cursor:pointer}
[data-db-motion],.premium-replay{position:relative}
.premium-replay-stage{min-height:0}.premium-replay-stage .replay-svg{min-height:0;height:auto;aspect-ratio:105/68}
/* Reserve space below the pitch so the legend and controls cannot hide players. */
.presentation-field [data-db-motion] .cinematic-motion-svg{aspect-ratio:105/68;min-height:0}
[data-db-motion]{padding-top:44px;padding-bottom:10px}
[data-db-motion] .pitch-team-legend{position:relative;inset:auto;width:fit-content;margin:0 10px 8px;max-width:calc(100% - 20px)}
[data-db-motion] .motion-playback{position:relative;inset:auto;margin:0 10px}
.premium-replay-stage .pitch-team-legend{position:relative;inset:auto;width:fit-content;margin:0 12px 12px;max-width:calc(100% - 24px)}
.premium-replay-stage{display:flex;flex-direction:column}
.premium-replay-stage .replay-svg{flex-shrink:0}
.premium-replay-stage .replay-score{position:relative;inset:auto;transform:none;order:-1;align-self:center;flex-wrap:wrap;justify-content:center;margin:10px;max-width:calc(100% - 20px)}

/* Tactical data showcase: event, calculated and analyst-tagged football actions. */
.analytics-context{display:flex;flex-wrap:wrap;gap:8px}.analytics-context .select{max-width:240px}.analytics-commandbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;overflow:hidden;padding:7px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow)}.analytics-focus-tabs{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none}.analytics-focus-tabs a{flex:0 0 auto;min-height:36px;padding:9px 11px;border-radius:var(--radius-control);color:#6e7c84;font-size:12px;font-weight:700}.analytics-focus-tabs a:hover,.analytics-focus-tabs a.active{background:#eef6f1;color:#246341}.analytics-source-legend{display:flex;gap:5px;flex:0 0 auto}.analytics-source-legend span,.source-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:10px;font-style:normal;font-weight:700;line-height:1.2}.source-a{background:#e9f4ff;color:#2772a7}.source-r{background:#eaf8ef;color:#278552}.source-m{background:#fff2df;color:#a55e12}
.analytics-player-switcher{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow)}.analytics-player-switcher-title{display:flex;align-items:baseline;gap:8px;padding:0 2px}.analytics-player-switcher-title strong{font-size:13px}.analytics-player-switcher-title span{color:var(--muted);font-size:11px}.analytics-player-switcher-list{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.analytics-player-switcher-list>a{display:flex;flex:0 0 auto;align-items:center;gap:8px;min-width:150px;min-height:50px;padding:7px 10px 7px 7px;border:1px solid #e1e9e4;border-radius:9px;background:#f8fbf9;color:#24332d}.analytics-player-switcher-list>a:hover{border-color:#9fceb0;background:#f0f8f3}.analytics-player-switcher-list>a.active{border-color:#58b879;background:#eaf7ee;box-shadow:inset 0 0 0 1px #58b879}.analytics-player-switcher-list>a>span:last-child{display:grid;gap:2px;min-width:0}.analytics-player-switcher-list strong{max-width:106px;overflow:hidden;text-overflow:ellipsis;font-size:12px;white-space:nowrap}.analytics-player-switcher-list small{color:var(--muted);font-size:10px}.analytics-switch-avatar{position:relative;width:34px;height:38px;flex:0 0 34px;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:#dbe8e1;color:#234436;font-size:10px;font-weight:700}.analytics-switch-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 24%}
.analytics-player-hero{display:grid;grid-template-columns:minmax(290px,1.1fr) minmax(220px,.8fr) 1.4fr;gap:16px;align-items:center;min-height:148px;padding:18px 20px;border-radius:var(--radius-hero);background:radial-gradient(circle at 82% 15%,rgba(105,222,136,.16),transparent 29%),linear-gradient(135deg,#0a1d27,#123338);color:#fff;overflow:hidden}.analytics-player-person{display:flex;align-items:center;gap:14px;min-width:0}.analytics-player-photo{width:86px;height:104px;flex:0 0 86px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:#dfe9e4;color:#183328;font-size:18px;font-weight:700}.analytics-player-photo img{width:100%;height:100%;object-fit:cover;object-position:center 26%}.analytics-player-person h2{margin:6px 0 5px;font-size:22px;line-height:1.05}.analytics-player-person p{margin:0;color:#a8bdbe;font-size:12px}.analytics-player-person .eyebrow{color:#70dc91}.analytics-match-score{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:12px 16px;border-left:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1)}.analytics-match-score small{color:#91a7ab;font-size:11px}.analytics-match-score strong{display:block;margin-top:6px;font-size:13px;line-height:1.65}.analytics-match-score b{display:inline-block;margin:0 5px;color:#7ee498;font-size:17px}.analytics-player-headline{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.analytics-player-headline>div{min-width:0;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.045)}.analytics-player-headline small{display:block;color:#9aafb3;font-size:10px}.analytics-player-headline strong{display:block;margin-top:5px;font-size:15px;white-space:nowrap}.analytics-player-headline>div>span:not(.source-pill){display:block;margin-top:3px;color:#70dc91;font-size:10px}
.analytics-kpi-deck{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.analytics-kpi{position:relative;min-height:104px;padding:14px 12px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow)}.analytics-kpi>small{display:block;color:var(--muted);font-size:11px;line-height:1.35}.analytics-kpi>strong{display:block;margin-top:12px;font-size:21px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.analytics-kpi>em{display:block;margin-top:5px;color:#4d8d68;font-size:10px;font-style:normal}
.player-analytics-section{padding-top:4px;scroll-margin-top:12px}.player-analytics-section .analytics-kpi-deck{grid-template-columns:repeat(5,minmax(0,1fr))}.player-analytics-section .analytics-submetrics{grid-template-columns:repeat(5,minmax(0,1fr))}.player-analytics-section>.section-heading{margin-bottom:10px}.player-analytics-session-picker{margin:0}.player-analytics-session-picker .select{min-width:220px;font-weight:700}.player-analytics-commandbar{position:sticky;top:var(--topbar-height);z-index:4;margin-bottom:10px}.player-analytics-section [id^="technical-"]{scroll-margin-top:calc(var(--topbar-height) + 58px)}.premium-ranking .ranking-row.is-current{border-color:#84c99b;background:#edf8f1;box-shadow:inset 3px 0 #42ad69}.premium-ranking .ranking-row.is-current .ranking-place{background:#43ae69;color:#fff}[data-player-tab-panel][hidden]{display:none!important}.profile-tabs a{cursor:pointer}.selected-row td{background:#f1f8f3}.selected-row td:first-child{box-shadow:inset 3px 0 #53b976}
.analytics-board-grid,.analytics-pitch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analytics-panel .card-body{height:100%}.analytics-panel .card-title{align-items:flex-start}.analytics-panel .card-title>div .eyebrow{color:#49946c}.analytics-panel .card-title>span{font-size:11px;color:var(--muted)}.direction-chart{display:flex;flex-direction:column;gap:12px;padding:8px 0}.direction-chart>div{display:grid;grid-template-columns:80px 1fr 74px;gap:10px;align-items:center}.direction-chart span{font-size:11px;color:#516268}.direction-chart i{display:block;height:9px;overflow:hidden;border-radius:999px;background:#eef2f0}.direction-chart i b{display:block;height:100%;border-radius:999px}.direction-chart b.forward{background:#4fc37a}.direction-chart b.backward{background:#efad5f}.direction-chart b.lateral{background:#6caad8}.direction-chart strong{text-align:right;font-size:12px}.direction-chart strong small{margin-left:3px;color:var(--muted);font-weight:500}.analytics-submetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px;padding-top:10px;border-top:1px solid #edf1ef}.analytics-submetrics>div{padding:8px;border-radius:7px;background:#f7f9f8}.analytics-submetrics small{display:block;color:var(--muted);font-size:10px}.analytics-submetrics strong{display:block;margin-top:4px;font-size:15px}
.analytics-zone-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(3,48px);gap:2px;padding:7px;border:1px solid #c8d5d0;border-radius:8px;background:#13392e}.analytics-zone-grid>div{display:flex;align-items:center;justify-content:center;gap:5px;background:rgba(92,214,130,var(--zone-alpha));color:#fff;border:1px solid rgba(255,255,255,.12)}.analytics-zone-grid span{font-size:10px;color:rgba(255,255,255,.72)}.analytics-zone-grid strong{font-size:13px}.zone-direction{display:flex;justify-content:space-between;margin-top:8px;color:var(--muted);font-size:10px}.zone-direction span{color:#3c8f5f;font-weight:700}
.analytics-pitch{overflow:hidden;border-radius:9px;background:#102b32}.analytics-pitch svg{display:block;width:100%;aspect-ratio:105/68}.analytics-pitch .pitch-lines{fill:none;stroke:#91a6a6;stroke-width:.32;opacity:.75}.analytics-pitch .pass-lines line{stroke-width:.38;stroke-linecap:round}.analytics-pitch .pass-lines line.success{stroke:#63da87;opacity:.72}.analytics-pitch .pass-lines line.failed{stroke:#ff7d70;opacity:.72;stroke-dasharray:1.2 1}.analytics-pitch .pass-lines circle.success{fill:#7ee399}.analytics-pitch .pass-lines circle.failed{fill:#ff8a7d}.event-key{display:inline-block;width:11px;height:2px;margin:0 3px 2px 7px;vertical-align:middle;background:#63da87}.event-key.failed{background:#ff7d70}.network-links line{stroke:#70d58b;stroke-opacity:.32}.network-nodes circle{fill:#48aee7;stroke:#e6f7ff;stroke-width:.38}.network-nodes g.selected circle{fill:#72db8d;stroke:#fff;stroke-width:.7}.network-nodes text{fill:#061c25;font-size:2.2px;font-weight:700;text-anchor:middle}.network-nodes .network-name{fill:#e8f4f3;stroke:#071d25;stroke-width:.22;paint-order:stroke;font-size:1.65px;font-weight:400;text-anchor:start}
.analytics-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.analytics-action-cell{min-height:94px;padding:12px;border:1px solid #e6ece8;border-radius:var(--radius-control);background:#f8faf9}.analytics-action-cell small{display:block;min-height:30px;color:var(--muted);font-size:11px;line-height:1.35}.analytics-action-cell strong{display:block;margin-top:5px;font-size:18px}.analytics-action-cell span{display:block;margin-top:4px;color:#4b8b67;font-size:10px}.role-focus-list{display:flex;flex-direction:column;gap:12px;padding:6px 0}.role-focus-list>div{display:grid;grid-template-columns:minmax(150px,.85fr) 1.4fr 36px;gap:10px;align-items:center}.role-focus-list span{font-size:12px}.role-focus-list i{display:block;height:8px;overflow:hidden;border-radius:999px;background:#edf2ef}.role-focus-list i b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#58ca7e,#69a9df)}.role-focus-list strong{text-align:right;color:#315e47;font-size:12px}.coach-insight-list{display:flex;flex-direction:column;gap:8px}.coach-insight-list article{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:11px;border:1px solid #e9eeeb;border-radius:var(--radius-control)}.coach-insight-list article>span{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#edf5f0;color:#378259;font-size:11px;font-weight:700}.coach-insight-list article.priority{border-color:#bde4c8;background:#f6fbf7}.coach-insight-list strong{font-size:12px}.coach-insight-list p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45}
.analytics-physical-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.analytics-physical-grid>div{padding:12px;border:1px solid #e6ece8;border-radius:var(--radius-control);background:#f8faf9}.analytics-physical-grid small{display:block;min-height:30px;color:var(--muted);font-size:11px}.analytics-physical-grid strong{display:block;margin-top:6px;font-size:15px}.analytics-goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.analytics-goal-grid article{padding:14px;border:1px solid #e5ece7;border-radius:var(--radius-card)}.analytics-goal-grid article>div,.analytics-goal-grid footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.goal-status{padding:4px 7px;border-radius:999px;background:#fff0d9;color:#9c641b;font-size:10px;font-weight:700}.goal-status.achieved{background:#e7f8ec;color:#21804b}.analytics-goal-grid h3{margin:11px 0 5px;font-size:14px}.analytics-goal-grid p{min-height:38px;margin:0;color:var(--muted);font-size:11px;line-height:1.45}.analytics-goal-grid article>i{display:block;height:7px;margin:11px 0 7px;overflow:hidden;border-radius:999px;background:#edf2ef}.analytics-goal-grid article>i b{display:block;height:100%;border-radius:999px;background:#55c77c}.analytics-goal-grid footer{font-size:10px;color:var(--muted)}.analytics-goal-grid footer strong{color:#2f6848}.analytics-method-note{padding:13px 15px;border:1px solid #cde2d4;border-radius:var(--radius-card);background:#f5faf7}.analytics-method-note strong{font-size:13px}.analytics-method-note p{margin:5px 0 0;color:#64736b;font-size:11px;line-height:1.55}
@media(max-width:1250px){.analytics-player-hero{grid-template-columns:1fr 1fr}.analytics-player-headline{grid-column:1/-1}.analytics-kpi-deck,.player-analytics-section .analytics-kpi-deck{grid-template-columns:repeat(4,1fr)}.analytics-physical-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){.analytics-commandbar{align-items:flex-start;flex-direction:column}.analytics-source-legend{align-self:flex-end}.analytics-player-hero,.analytics-board-grid,.analytics-pitch-grid{grid-template-columns:1fr}.analytics-match-score{border:0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.analytics-goal-grid{grid-template-columns:1fr}.analytics-context .select{max-width:none}.analytics-context{display:grid;grid-template-columns:1fr 1fr;width:100%}}
@media(max-width:560px){.analytics-player-person{align-items:flex-start}.analytics-player-photo{width:64px;height:78px;flex-basis:64px}.analytics-player-headline{grid-template-columns:repeat(2,1fr)}.analytics-kpi-deck,.player-analytics-section .analytics-kpi-deck{grid-template-columns:repeat(2,1fr)}.analytics-action-grid{grid-template-columns:repeat(2,1fr)}.analytics-physical-grid{grid-template-columns:repeat(2,1fr)}.role-focus-list>div{grid-template-columns:125px 1fr 30px}.analytics-context{grid-template-columns:1fr}.analytics-ranking-section,.analytics-spectrum,.analytics-spectrum .card{min-width:0;max-width:100%}.analytics-spectrum .premium-ranking .ranking-row{grid-template-columns:24px 30px minmax(0,1fr) 92px;gap:7px}.analytics-spectrum .ranking-athlete strong{font-size:11px}.analytics-spectrum .ranking-meter .ranking-value{font-size:10px}}
.development-goals{overflow:hidden}.development-goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.development-goal-grid article{padding:13px;border:1px solid #e4ebe7;border-radius:9px;background:linear-gradient(180deg,#fff,#fafcfb)}.development-goal-grid header,.development-goal-grid footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.development-goal-grid header small{color:var(--muted)}.development-goal-grid h3{margin:11px 0 5px;font-size:14px}.development-goal-grid p{min-height:48px;margin:0;color:var(--muted);font-size:11px;line-height:1.55}.goal-progress{height:8px;margin:12px 0 8px;overflow:hidden;border-radius:999px;background:#edf2ef}.goal-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#55c77c,#6da9de)}.development-goal-grid footer{font-size:10px;color:var(--muted)}.development-goal-grid footer b{color:#2f5f46}.development-technical-charts{margin-top:0}
@media(max-width:900px){.development-goal-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.development-goal-grid{grid-template-columns:1fr}.development-goal-grid p{min-height:0}.development-goal-grid footer{align-items:flex-start;flex-direction:column}}
.sprite-photo{position:relative!important;overflow:hidden!important}.sprite-photo img.photo-sprite,.report-player-card .report-player-avatar.sprite-photo img.photo-sprite{position:absolute!important;left:var(--sprite-x)!important;top:var(--sprite-y)!important;width:400%!important;height:400%!important;max-width:none!important;object-fit:fill!important;object-position:initial!important;transform:none!important;filter:none!important}

/* Unified player profile and resilient heat maps. */
.player-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-overview-card{display:block;color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.player-overview-card:hover{transform:translateY(-2px);border-color:#a9d7b8;box-shadow:0 10px 28px rgba(22,65,43,.09)}.player-overview-card .card-body{height:100%;padding:18px}.player-overview-card h2{margin:5px 0 14px;font-size:18px}.player-overview-card>.card-body>b{display:block;margin-top:14px;color:#287f4e;font-size:11px}.player-overview-stat{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #edf1ef}.player-overview-stat strong{font-size:16px}.player-overview-stat span{color:var(--muted);font-size:10px;text-align:right}.player-overview-session{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #edf1ef;font-size:10px}.player-overview-session span{color:var(--muted)}
.player-heatmap-shell{position:relative;min-height:210px;border:1px solid #e5ebe8;border-radius:9px;overflow:hidden;background:#fff}.player-heatmap-shell.is-loading:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 25%,rgba(89,194,124,.08) 50%,transparent 75%);background-size:220% 100%;animation:heatmap-loading 1.25s linear infinite;pointer-events:none}.player-heatmap-empty{position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.76)}.player-heatmap-empty[hidden]{display:none}.player-heat-svg{display:block;min-height:210px}@keyframes heatmap-loading{to{background-position:-220% 0}}
.development-match-profile{padding:16px;border:1px solid #dfe9e3;border-radius:11px;background:linear-gradient(180deg,#f9fcfa,#f4f8f6)}.development-match-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.development-match-kpis article{padding:11px;border:1px solid #e0e9e4;border-radius:8px;background:#fff}.development-match-kpis small,.development-match-kpis span{display:block;color:var(--muted);font-size:10px}.development-match-kpis strong{display:block;margin:6px 0 3px;font-size:17px}.development-match-visuals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.development-direction-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}.development-direction-facts span{padding:7px;border:1px solid #e7ece9;border-radius:6px;color:var(--muted);font-size:10px}.development-direction-facts b{float:right;color:#17281f}.pdf-export-source .development-match-kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important}.pdf-export-source .development-match-visuals{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pdf-export-source .player-heatmap-shell,.pdf-export-source .player-heat-svg{min-height:160px}
@media(max-width:900px){.player-overview-grid,.development-match-visuals{grid-template-columns:1fr}.development-match-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.player-overview-grid{grid-template-columns:1fr}.development-match-kpis,.development-direction-facts{grid-template-columns:1fr 1fr}}

/* Coach review: readable match analytics and selectable comparisons. */
.formation-pitch.real-formation circle{fill:none;stroke:#b7c5bd;stroke-width:.35}.formation-pitch.real-formation .formation-player circle,.starting-formation .formation-player circle{fill:#f0a43b;stroke:#fff;stroke-width:.9}.formation-pitch.real-formation .pitch-dot,.starting-formation .pitch-dot{fill:#b7c5bd;stroke:none}.formation-pitch.real-formation .formation-player text,.starting-formation .formation-player text{font-size:3px;font-weight:700;fill:#fff;text-anchor:middle;dominant-baseline:central}
.field-player-picker{display:flex;align-items:center;gap:7px}.field-player-picker[hidden]{display:none}.field-player-picker>span{font-size:11px;color:var(--muted)}.field-player-picker select{max-width:210px;min-height:36px;padding:6px 30px 6px 9px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:#273a31;font-size:12px}.pitch-attack-direction{position:absolute;right:15px;top:14px;z-index:5;display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-control);background:rgba(7,24,31,.78);color:#84dfa0;pointer-events:none}.pitch-attack-direction span{font-size:10px;font-weight:700;letter-spacing:.04em}.pitch-attack-direction b{font-size:16px;line-height:1}.report-like-heatmap [data-heat-layer][hidden]{display:none}
.report-stat-cards-wide{grid-template-columns:repeat(5,minmax(0,1fr))}.report-stat-cards-wide>.empty{grid-column:1/-1}.starting-formation,.session-event-map,.pass-zone-pitch{overflow:hidden}.starting-formation svg,.session-event-map svg{display:block;width:100%;max-height:430px;aspect-ratio:105/68;border-radius:9px;background:#102b32}.starting-formation .pitch-markings,.session-event-map .pitch-markings{fill:none;stroke:#9aadaa;stroke-width:.34}.starting-formation .pitch-turf,.session-event-map .pitch-turf{stroke:#789096}.formation-player-name{font-size:2px!important;font-weight:500!important;text-anchor:start!important;paint-order:stroke;stroke:#102b32;stroke-width:.45px;stroke-linejoin:round}.formation-direction{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 2px 0;color:var(--muted);font-size:10px}.formation-direction b{color:#37895b;letter-spacing:.04em}.session-event-map .mapped-events line{vector-effect:non-scaling-stroke}.map-tackle line{stroke:#ffb14a;stroke-width:2;stroke-linecap:round}.map-interception{fill:#62d18a;stroke:#fff;stroke-width:.35}.map-shot{stroke:#ff735f;stroke-width:1.7;stroke-linecap:round}.map-shot.goal{stroke:#ffe66a;stroke-width:2.1}.session-event-map marker path{fill:#ff735f}.defense-ranking a{color:inherit}
.report-pass-zones{border:2px solid #9bada6;border-radius:8px;background:#eaf4ee}.report-pass-zones .zone{appearance:none;min-width:0;border:1px solid rgba(40,83,61,.12);border-radius:0;text-align:left;font:inherit;cursor:pointer}.report-pass-zones .zone:focus{outline:2px solid #267d4c;outline-offset:-2px}.report-pass-zones .zone span{font-size:10px}.report-pass-zones .zone strong{font-size:15px}.report-pass-zones .zone small{font-size:10px}
[data-chart-tip]{position:relative;cursor:help;outline:none}[data-chart-tip]:hover:after,[data-chart-tip]:focus:after{content:attr(data-chart-tip);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:50;min-width:max-content;max-width:220px;transform:translateX(-50%);padding:6px 8px;border-radius:6px;background:#10242d;color:#fff;font-size:10px;font-weight:700;line-height:1.3;white-space:nowrap;box-shadow:0 5px 18px rgba(0,0,0,.2)}.player-zone-stacks i{overflow:visible}.player-zone-stacks i>b:first-child{border-radius:3px 0 0 3px}.player-zone-stacks i>b:last-child{border-radius:0 3px 3px 0}.load-combo-col [data-chart-tip]:after{bottom:calc(100% + 5px)}
.session-table-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.session-table-presets{display:flex;flex-wrap:wrap;gap:6px}.session-table-presets button,.session-table-tools summary{min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-control);background:#f7faf8;color:#3d5448;font-size:12px;font-weight:700;cursor:pointer}.session-table-presets button:hover,.session-table-tools summary:hover{border-color:#b9c9bf;background:#eef5f1}.session-table-tools details{position:relative}.session-table-tools summary{list-style:none}.session-column-picker{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px;width:390px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:#fff;box-shadow:0 14px 35px rgba(19,50,35,.16)}.session-column-picker label{display:flex;align-items:center;gap:7px;min-height:30px;font-size:11px}.configurable-player-table th>button{display:flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:inherit;cursor:pointer}.configurable-player-table th>button span{color:#9ba7a1}.configurable-player-table th>button[aria-sort=ascending] span:after{content:'↑'}.configurable-player-table th>button[aria-sort=descending] span:after{content:'↓'}.configurable-player-table th>button[aria-sort] span{font-size:0}.configurable-player-table th>button[aria-sort] span:after{font-size:11px}.configurable-player-table [hidden]{display:none!important}
.session-pdf-source{width:1040px!important;padding:16px!important;background:#f4f7f5!important;box-sizing:border-box!important}.session-pdf-source .session-showcase-grid,.session-pdf-source .report-summary-grid,.session-pdf-source .fitness-report-grid,.session-pdf-source .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.session-pdf-source .card{box-shadow:none;break-inside:avoid;page-break-inside:avoid}.session-pdf-source .pitch-attack-direction{display:none}.session-pdf-source .section-gap{margin-top:10px}
@media(max-width:900px){.report-stat-cards-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.session-table-tools{align-items:flex-start;flex-direction:column}.session-column-picker{left:0;right:auto}}
@media(max-width:600px){.report-stat-cards-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.session-column-picker{position:fixed;left:10px;right:10px;top:auto;bottom:65px;width:auto;grid-template-columns:1fr 1fr}.pitch-attack-direction{right:8px;top:8px}.pitch-attack-direction span{display:none}.formation-player-name{display:none}}

.pass-event-map,.ball-action-map{position:relative;overflow:hidden}.pass-event-map svg,.ball-action-map svg{display:block;width:100%;aspect-ratio:105/68;border-radius:9px;background:#102b32}.pass-event-map .pitch-markings,.ball-action-map .pitch-markings{fill:none;stroke:#9aadaa;stroke-width:.34}.pass-event-map .pitch-turf,.ball-action-map .pitch-turf{stroke:#789096}.event-map-controls{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.event-map-controls button{min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-control);background:#f6f9f7;color:#617168;font-size:11px;font-weight:700;cursor:pointer}.event-map-controls button:hover{border-color:#b9c9bf}.event-map-controls button.active{border-color:#173c2a;background:#173c2a;color:#fff}.pass-event{vector-effect:non-scaling-stroke;stroke-width:1.15;opacity:.65}.pass-event.success{stroke:#62d28a}.pass-event.failed{stroke:#f17167;stroke-dasharray:2.2 1.5}.pass-event.forward{stroke-width:1.55;opacity:.86}.pass-event-lines [hidden]{display:none}.pass-event-map marker[id^=pass-ok] path{fill:#62d28a}.pass-event-map marker[id^=pass-fail] path{fill:#f17167}.event-map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:9px;color:var(--muted);font-size:10px}.event-map-legend span:before{content:"";display:inline-block;width:14px;height:3px;margin-right:5px;border-radius:2px;vertical-align:middle}.event-map-legend b{margin-left:auto;color:#37895b;letter-spacing:.04em}.pass-success-key:before{background:#62d28a}.pass-failed-key:before{background:#f17167}.ball-action{vector-effect:non-scaling-stroke;stroke-width:1.7;stroke-linecap:round;opacity:.84}.ball-action.dribble{stroke:#67df8d}.ball-action.dribble.failed{stroke:#f17167;stroke-dasharray:2.2 1.4}.ball-action.cross{stroke:#67b6ed}.ball-action.cutback,.ball-action.layoff{stroke:#f3b75b}.ball-action.run{stroke:#b07eea;stroke-dasharray:3 2}.ball-action-map marker path{fill:#eef5f0}.dribble-key:before{background:#67df8d}.cross-key:before{background:#67b6ed}.layoff-key:before{background:#f3b75b}.run-key:before{background:#b07eea}.session-pdf-source .pass-event-map svg,.session-pdf-source .ball-action-map svg{max-height:320px}
.analytics-pitch marker path.success{fill:#63da87}.analytics-pitch marker path.failed{fill:#ff7d70}.analytics-action-map{margin-top:12px;overflow:hidden;border-radius:9px;background:#102b32}.analytics-action-map svg{display:block;width:100%;aspect-ratio:105/68}.analytics-action-map .pitch-lines{fill:none;stroke:#91a6a6;stroke-width:.32;opacity:.75}.analytics-action-map .action-lines line{vector-effect:non-scaling-stroke;stroke-width:1.7;stroke-linecap:round}.analytics-action-map .action-lines .dribble{stroke:#67df8d}.analytics-action-map .action-lines .dribble.failed{stroke:#f17167;stroke-dasharray:2.2 1.4}.analytics-action-map .action-lines .cross{stroke:#67b6ed}.analytics-action-map .action-lines .cutback,.analytics-action-map .action-lines .layoff{stroke:#f3b75b}.analytics-action-map .action-lines .run{stroke:#b07eea;stroke-dasharray:3 2}.analytics-action-map marker path{fill:#eef5f0}.analytics-action-map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:9px 10px;color:#b8c8c2;font-size:10px}.analytics-action-map-legend span:before{content:"";display:inline-block;width:11px;height:3px;margin-right:4px;vertical-align:middle}.analytics-action-map-legend span:nth-child(1):before{background:#67df8d}.analytics-action-map-legend span:nth-child(2):before{background:#67b6ed}.analytics-action-map-legend span:nth-child(3):before{background:#f3b75b}.analytics-action-map-legend span:nth-child(4):before{background:#b07eea}.analytics-action-map-legend b{margin-left:auto;color:#7fe39a}
.session-type-switch{display:flex;gap:6px;margin:0 0 14px;overflow-x:auto}.session-type-switch a{flex:0 0 auto;display:flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:#65766d;font-size:12px;font-weight:700}.session-type-switch a:hover{border-color:#b9c9bf;background:var(--panel-soft)}.session-type-switch a.active{border-color:#173c2a;background:#173c2a;color:#fff}
.development-event-pitch{overflow:hidden;border-radius:9px;background:#102b32}.development-event-pitch svg{display:block;width:100%;aspect-ratio:105/68}.development-event-pitch .pitch-lines{fill:none;stroke:#91a6a6;stroke-width:.32;opacity:.75}.development-event-pitch .pass-lines line,.development-event-pitch .action-lines line{vector-effect:non-scaling-stroke;stroke-linecap:round}.development-event-pitch .pass-lines line{stroke-width:1.2}.development-event-pitch .pass-lines .success{stroke:#63da87}.development-event-pitch .pass-lines .failed{stroke:#ff7d70;stroke-dasharray:2.2 1.4}.development-event-pitch marker path.success{fill:#63da87}.development-event-pitch marker path.failed{fill:#ff7d70}.development-event-pitch .action-lines line{stroke-width:1.7}.development-event-pitch .action-lines .dribble{stroke:#67df8d}.development-event-pitch .action-lines .dribble.failed{stroke:#f17167;stroke-dasharray:2.2 1.4}.development-event-pitch .action-lines .cross{stroke:#67b6ed}.development-event-pitch .action-lines .cutback,.development-event-pitch .action-lines .layoff{stroke:#f3b75b}.development-event-pitch .action-lines .run{stroke:#b07eea;stroke-dasharray:3 2}.development-event-pitch marker#development-action path{fill:#eef5f0}.development-event-legend{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:9px 10px;color:#b8c8c2;font-size:10px}.development-event-legend span:before{content:"";display:inline-block;width:11px;height:3px;margin-right:4px;vertical-align:middle}.development-event-legend .success:before,.development-event-legend .dribble:before{background:#63da87}.development-event-legend .failed:before{background:#ff7d70}.development-event-legend .cross:before{background:#67b6ed}.development-event-legend .layoff:before{background:#f3b75b}.development-event-legend .run:before{background:#b07eea}.development-event-legend b{margin-left:auto;color:#7fe39a}
.session-pdf-source .session-event-map-grid,.session-pdf-source .session-pass-matrix-card{break-before:page;page-break-before:always}.session-pdf-source .session-event-map-grid{break-inside:avoid;page-break-inside:avoid}
.session-pdf-header{display:none}.session-pdf-source .session-pdf-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:12px;padding:14px 16px;border-radius:10px;background:#102b32;color:#fff}.session-pdf-header span{color:#71db91;font-size:9px;font-weight:700}.session-pdf-header h1{margin:4px 0;font-size:21px}.session-pdf-header p{margin:0;color:#9bb0b5;font-size:9px}.session-pdf-score{display:grid;grid-template-columns:minmax(80px,1fr) auto minmax(80px,1fr);align-items:center;gap:11px;text-align:center}.session-pdf-score strong{font-size:22px}.session-pdf-score span{color:#d7e5e2;font-size:9px}.session-pdf-score span:last-child{text-align:left}.session-pdf-score span:first-child{text-align:right}
.pdf-export-source .development-event-visuals{break-before:page;page-break-before:always;break-inside:avoid;page-break-inside:avoid}
.player-heat-svg .pitch-lines{fill:none;stroke:#879d93;stroke-width:.35;pointer-events:none}.player-event-map{overflow:hidden;border-radius:9px;background:#102b32}.player-event-map svg{display:block;width:100%;aspect-ratio:105/68}.player-event-map .pitch-lines{fill:none;stroke:#8ba59e;stroke-width:.32}.player-mapped-actions{stroke:currentColor;fill:currentColor}.player-mapped-actions line,.player-mapped-actions path{stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linecap:round}.player-mapped-actions>g{cursor:help}.player-mapped-actions>g:hover{filter:drop-shadow(0 0 1px #fff)}.player-event-legend{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:10px;color:#d2dfd9;font-size:10px}.player-event-legend span{display:inline-flex;align-items:center;gap:5px}.player-event-legend i{width:9px;height:9px;border-radius:2px}.player-event-legend b{margin-left:auto;color:#87e5a3}.player-action-empty{min-height:80px}.pdf-export-source .development-hero{grid-template-columns:92px minmax(0,1fr)!important}.pdf-export-source .development-scoreboard{grid-column:1/-1!important}.pdf-export-source .development-scoreboard small{white-space:normal!important;overflow-wrap:anywhere}
.pdf-grid-row{display:grid;gap:9px;break-inside:avoid;page-break-inside:avoid}.pdf-grid-row+.pdf-grid-row{margin-top:9px}.pdf-export-source .pdf-grid-row .card,.pdf-export-source .pdf-grid-row .development-kpi{break-inside:auto!important;page-break-inside:auto!important}.pdf-export-source .data-table th,.pdf-export-source .data-table td{padding:8px 5px!important;font-size:9px!important}.pdf-export-source .data-table td:first-child,.pdf-export-source .data-table td:nth-last-child(-n+2){white-space:nowrap}

/* Reproducible player analytics from receiverId, event timestamps and tracking. */
.directed-passport{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.directed-passport>section{padding:13px;border:1px solid #e2eae5;border-radius:var(--radius-card);background:#f8faf9}.directed-passport h3,.spatial-bars h3{margin:0;font-size:14px}.directed-passport p{margin:4px 0 10px;color:var(--muted);font-size:11px}.pass-relations{display:grid;gap:6px}.pass-relations>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border-radius:var(--radius-control);background:#fff}.pass-relations span,.pass-relations small{display:block}.pass-relations strong{font-size:12px}.pass-relations small{margin-top:2px;color:var(--muted);font-size:10px}.pass-relations>div>b{font-size:13px}.pass-position-groups{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.pass-position-groups span{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:var(--radius-control);background:#edf7f0}.pass-position-groups small{color:#547064;font-size:10px}.pass-position-groups b{font-size:12px}
.reception-map{overflow:hidden;border-radius:9px;background:#102b32}.reception-map svg{display:block;width:100%;aspect-ratio:105/68}.reception-map .pitch-lines{fill:none;stroke:#91a6a6;stroke-width:.32}.reception-dots circle{fill:#7ee59c;stroke:#fff;stroke-width:.35;opacity:.84}.reception-dots a:hover circle{fill:#ffe66a;r:1.8}.reception-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.reception-facts>div{padding:9px;border-radius:var(--radius-control);background:#f7faf8}.reception-facts strong{display:block;margin-bottom:6px;font-size:11px}.reception-facts span{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.reception-facts b{color:#245e40}
.next-action-bars,.spatial-bars section{display:grid;gap:9px}.next-action-bars>div,.spatial-bars section>div{display:grid;grid-template-columns:minmax(135px,.9fr) 1fr 72px;gap:9px;align-items:center}.next-action-bars span,.spatial-bars span{font-size:11px}.next-action-bars i,.spatial-bars i{height:8px;overflow:hidden;border-radius:999px;background:#edf2ef}.next-action-bars i b,.spatial-bars i b{display:block;height:100%;border-radius:999px;background:#5dcc81}.next-action-bars strong,.spatial-bars strong{text-align:right;font-size:11px}.next-action-bars small{color:var(--muted);font-weight:400}.analytics-caption{margin:11px 0 0;color:var(--muted);font-size:11px}.spatial-head{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:11px}.spatial-head span{padding:10px;border:1px solid #e3ebe6;border-radius:var(--radius-control);background:#f8faf9}.spatial-head small,.spatial-head b{display:block}.spatial-head small{color:var(--muted);font-size:10px}.spatial-head b{margin-top:4px;font-size:13px}.spatial-bars{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.spatial-bars h3{margin-bottom:5px}.spatial-periods{margin-top:11px}.spatial-periods th,.spatial-periods td{padding:8px;font-size:11px}
.ball-movement-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.ball-movement-grid>div{padding:12px;border:1px solid #e2eae5;border-radius:var(--radius-control);background:#f8faf9}.ball-movement-grid small{display:block;min-height:30px;color:var(--muted);font-size:10px}.ball-movement-grid strong{display:block;margin-top:6px;font-size:15px}.episode-groups{display:grid;gap:7px}.episode-group{border:1px solid #e3eae6;border-radius:var(--radius-control);background:#f9fbfa}.episode-group summary{display:flex;justify-content:space-between;min-height:40px;padding:10px 11px;font-size:11px;font-weight:700;cursor:pointer}.episode-group summary b{color:#287a4c}.episode-group>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0 9px 9px}.episode-group a,.episode-group>div>span{display:flex;justify-content:space-between;padding:8px;border-radius:6px;background:#fff;color:#3f5a4c;font-size:10px}.episode-group a:hover{background:#eaf6ee;color:#1f7144}
.pdf-export-source .directed-passport,.pdf-export-source .spatial-bars{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pdf-export-source .spatial-bars section>div{grid-template-columns:52px minmax(18px,1fr) 30px!important;gap:4px}.pdf-export-source .spatial-bars span,.pdf-export-source .spatial-bars strong{font-size:7.5px}.pdf-export-source .ball-movement-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.pdf-export-source .reception-map svg{max-height:250px}.pdf-export-source .episode-groups{display:none}
@media(max-width:850px){.directed-passport,.spatial-bars{grid-template-columns:1fr}.ball-movement-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.reception-facts,.spatial-head,.ball-movement-grid{grid-template-columns:1fr 1fr}.episode-group>div{grid-template-columns:repeat(2,1fr)}.next-action-bars>div,.spatial-bars section>div{grid-template-columns:minmax(100px,.9fr) 1fr 50px}.player-analytics-section>.section-heading{display:grid;grid-template-columns:minmax(0,1fr);max-width:100%}.player-analytics-session-picker,.player-analytics-session-picker .select{width:100%;min-width:0;max-width:100%}}
