@font-face{font-family:Local;src:local('Segoe UI')}*{box-sizing:border-box}body{margin:0;font-family:Local,'Segoe UI',Arial,sans-serif;background:#f2f4f6;color:#192b35;font-size:16px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #d6dde1;border-radius:7px;background:#fff;color:#243843;font-size:14px;font-weight:600;padding:10px 13px;transition:background .15s}button:hover{background:#eaf0f3}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7f9f29;outline-offset:2px}header{height:88px;background:#17242d;color:white;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #ccff5f}.brand{display:flex;align-items:center;gap:12px;letter-spacing:2px;font-size:18px}.brand b{font-weight:400;color:#c8d3d8}.brand small{display:block;font-size:10px;letter-spacing:3.5px;margin-top:5px;color:#9aadb8}.brand-icon{width:42px;height:42px;border-radius:10px;background:#ccff5f;color:#17242d;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;letter-spacing:-4px}.brand-icon span{font-size:22px}.header-actions{display:flex;gap:24px;align-items:center}.local{font-size:13px;color:#c6d0d6}.primary{background:#ccff5f;border-color:#ccff5f;color:#1a2d21}.primary:hover{background:#bbef4c}main{max-width:1900px;margin:auto;padding:30px 34px 14px}.matchbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#71838e}h1{font-size:25px;font-weight:650;letter-spacing:-.7px;margin:9px 0 12px}h2{font-size:17px;font-weight:650;margin:4px 0}.set-scores{display:flex;flex-wrap:wrap;gap:8px}.set-score{font-size:12px;background:#e6ebee;padding:5px 9px;border-radius:5px;color:#536771}.set-score b{color:#213641;margin-left:8px}.archive{max-width:300px;min-width:220px}.archive select{margin-top:7px;width:100%}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#637780}select,input[type=search],input[type=number],input:not([type]){height:38px;border:1px solid #d5dfe4;border-radius:6px;background:#fff;color:#253c47;padding:7px 10px;min-width:0;font-size:14px}select{max-width:100%}.workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(440px,1fr);gap:22px;align-items:start}.panel{background:#fff;border:1px solid #dce3e7;border-radius:11px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px}.panel-heading h2{max-width:450px;overflow-wrap:anywhere}.video-stage{background:#0e171e;aspect-ratio:16/9;position:relative}video{width:100%;height:100%;display:block}#videoEmpty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#d7e1e7;background:radial-gradient(ellipse at center,#223743,#101d26)}#videoEmpty[hidden]{display:none}#videoEmpty strong{font-size:22px;font-weight:500}#videoEmpty p{font-size:14px;max-width:310px;text-align:center;color:#9daeb8;line-height:1.6}.play-symbol{font-size:45px;color:#ccff5f;margin-bottom:14px}.transport{display:flex;gap:8px;align-items:center;padding:14px 18px;border-bottom:1px solid #edf0f2}.transport label{margin-left:auto;flex-direction:row;align-items:center;gap:10px}.transport select{height:33px}.selection{padding:18px 20px;display:flex;flex-direction:column;gap:6px;min-height:112px}.selection strong{font-size:17px}.selection>span:last-child{font-size:13px;color:#70818c}.sync-panel{margin-top:18px;padding:18px 20px}.sync-panel p{font-size:13px;color:#71828c;margin:5px 0 15px}.sync-controls{display:flex;align-items:end;gap:12px}.sync-controls label{flex:1}.sync-controls input{width:100%}.sync-panel small{display:block;margin-top:12px;font-size:12px;color:#6d7e87}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.metrics>div{border-top:2px solid #9ab84b;background:#e8edef;padding:14px 16px;border-radius:0 0 6px 6px}.metrics span{font-size:12px;display:block;color:#667b85}.metrics strong{font-size:28px;font-weight:600;display:block;margin-top:6px}.count{font-size:12px;padding:3px 7px;border-radius:5px;background:#edf1f3;color:#6b818b;vertical-align:middle;margin-left:5px}.text-button{border:0;font-size:12px;color:#69808c;padding:6px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px 16px}.filters label{min-width:0}.list-options{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf1f3;padding:12px 20px;font-size:12px;color:#7a8c96}.list-options label{flex-direction:row;align-items:center;font-weight:400;gap:7px}.list-options input{accent-color:#425d23}.table-scroll{height:536px;overflow:auto;scrollbar-width:thin;scrollbar-color:#cad5dc transparent}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}thead{position:sticky;top:0;background:#f4f7f8;z-index:1}th{font-size:11px;color:#7b8d96;font-weight:600;padding:12px 10px}th:first-child,td:first-child{padding-left:20px}td{padding:11px 10px;border-bottom:1px solid #edf1f3;vertical-align:middle}tbody tr{cursor:pointer}tbody tr:hover{background:#f4f8ee}tbody tr.active{background:#eef7d9;box-shadow:inset 3px 0 #86ad36}tbody tr.control{background:#f9fafb;color:#83939d}td .player-name{display:block;font-size:13px;font-weight:600;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}td code{display:block;font-family:Consolas,monospace;font-size:12px;color:#7a8b96;margin-top:4px}.team-marker{display:inline-block;width:5px;height:5px;background:#dc883f;border-radius:50%;margin-right:6px}.team-marker.away{background:#5973ce}.eval{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;background:#edf1f4;border-radius:5px;font-weight:700}.eval.good{background:#e6f2d1;color:#537321}.eval.bad{background:#fae7e1;color:#b5553c}.time-button{border:0;background:transparent;font-family:Consolas,monospace;padding:5px;font-size:13px;color:#506976}.list-footer{border-top:1px solid #e3e9ed;display:flex;justify-content:space-between;gap:15px;padding:12px 20px;font-size:11px;color:#8a9aa3}.list-footer span:first-child{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-list{padding:65px 25px;text-align:center;color:#7b8c96;font-size:14px}.page-footer{margin-top:25px;padding:15px 0;display:flex;justify-content:space-between;font-size:11px;color:#8999a2;letter-spacing:.5px}.page-footer b{font-weight:400;margin-left:12px}#notice{padding:12px 18px;margin:0 0 18px;border:1px solid #d5e2b6;background:#f0f7df;color:#496122;border-radius:7px;font-size:14px}#notice.error{background:#fff0eb;border-color:#edcbbf;color:#98482e}dialog{width:540px;max-width:calc(100vw - 32px);border:0;border-radius:12px;padding:26px;box-shadow:0 20px 100px #0004;color:#233844}dialog::backdrop{background:#17242d99;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}dialog p,dialog small{font-size:14px;line-height:1.5;color:#70838d}dialog label{margin:20px 0 14px}dialog input:not([type]){width:100%}dialog .primary{width:100%;padding:12px}.divider{text-align:center;font-size:12px;color:#92a0a8;margin:18px}.file-option{font-size:14px}#videoError{color:#aa4837}input[type=file]{font-size:13px;margin-top:4px;max-width:100%}[hidden]{display:none!important}@media(min-width:1650px){.table-scroll{height:660px}}@media(max-width:1150px){main{padding:24px 20px}.workspace{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);gap:16px}header{padding:0 20px}.transport{gap:4px;padding:12px}.transport button{font-size:12px;padding:8px}.metrics>div{padding:12px 9px}.metrics span{font-size:11px}.panel-heading{padding:16px}.filters{padding:0 16px 16px}h1{font-size:22px}}@media(max-width:900px){.workspace{grid-template-columns:1fr}.table-scroll{height:500px}.local{display:none}.matchbar{align-items:start}.archive{min-width:160px;max-width:210px}.page-footer{gap:15px;flex-wrap:wrap}}@media(max-width:560px){header{height:76px;padding:0 14px}.brand{font-size:14px;gap:8px}.brand small{font-size:8px;letter-spacing:2px}.brand-icon{width:34px;height:34px;font-size:27px}.header-actions button{font-size:12px;padding:10px}.matchbar{flex-direction:column}.archive{max-width:none;width:100%}main{padding:20px 12px}.metrics{gap:6px}.metrics strong{font-size:23px}.sync-controls{flex-wrap:wrap}.sync-controls label{min-width:110px}.transport{flex-wrap:wrap}.panel-heading h2{font-size:15px}.filters{gap:10px}td{padding:10px 6px}.player-name{max-width:145px!important}.page-footer{font-size:10px}h1{font-size:21px}.transport label{margin-left:0}.list-footer{padding:12px}}
/* Match centre and report */
.dashboard-title{display:flex;justify-content:space-between;align-items:center;margin:10px 0 28px}.dashboard-title h1{font-size:34px;margin:8px 0}.dashboard-title p{color:#71838e;font-size:15px;margin:7px 0}.archive-count{background:#e3eacf;border-radius:6px;padding:10px 16px;color:#4d6728;font-weight:600}.dashboard-layout{display:grid;grid-template-columns:250px 1fr;gap:24px;max-width:1450px;margin:auto}.dashboard-sidebar{padding:23px;align-self:start}.dashboard-sidebar h2{margin-bottom:24px}.dashboard-sidebar label{font-size:14px;margin:18px 0}.dashboard-sidebar button{width:100%;margin-top:8px}.dashboard-sidebar small{display:block;margin-top:22px;color:#80919b;line-height:1.6;font-size:12px}.dashboard-list{min-height:380px}.dashboard-list>.panel-heading{border-bottom:1px solid #e1e8eb}.dashboard-list input{max-width:280px;width:50%}.match-card{padding:24px;border-bottom:1px solid #e3e9ed}.match-card:hover{background:#fafcf6}.match-date{display:flex;justify-content:space-between;color:#81939d;font-size:13px;gap:12px}.match-date b{color:#596f7b}.match-teams{display:grid;grid-template-columns:1fr 85px 1fr;gap:18px;align-items:center;margin:22px 0}.match-teams strong{font-size:19px;font-weight:600}.match-teams strong:last-child{text-align:right}.match-score{display:flex;justify-content:center;gap:12px;background:#17242d;color:#ccff5f;border-radius:7px;padding:10px;font-size:24px;font-weight:650}.match-score i{font-style:normal;color:#82959f}.card-details{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;color:#6d818c}.card-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:20px}.card-actions small{margin-right:auto;color:#81949e}.card-actions a{padding:10px 14px;border:1px solid #d9e2e6;border-radius:6px;text-decoration:none;color:#3c525e;font-size:14px;font-weight:600}.card-actions .open-match{background:#ccff5f;border-color:#bce652;color:#223519}.dashboard-empty{padding:75px 25px;text-align:center;color:#7b8d97}.view-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.view-nav>div{display:flex;gap:6px;padding:4px;background:#e3e9ec;border-radius:8px}.view-nav>div button{border-color:transparent;background:transparent}.view-nav button[aria-current]{background:#fff;box-shadow:0 1px 4px #13202b12}.report-toolbar{display:flex;align-items:center;gap:20px;margin:25px 0 20px;flex-wrap:wrap}.report-toolbar>div{margin-right:auto}.report-toolbar>div span{font-size:13px;color:#72848f}.inline-check{flex-direction:row;align-items:center;font-size:14px}.report-toolbar label{font-size:14px}.report-paper{background:white;border:1px solid #dbe4e9;border-radius:10px;padding:28px;max-width:1500px;margin:auto}.report-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:24px}.report-heading h2{font-size:23px}.report-heading p{font-size:14px;color:#6d818b;margin:7px 0}.report-result{min-width:330px;border-left:3px solid #a9ce54;padding-left:18px}.report-result div{display:flex;gap:20px;justify-content:space-between;font-size:15px;margin:6px 0}.report-result b{font-size:21px}.report-result small{color:#7d909a;display:block;margin-top:8px}.report-scroll{overflow-x:auto}.report-table{font-size:13px;width:100%;font-variant-numeric:tabular-nums}.report-table th,.report-table td{padding:8px;text-align:center;white-space:nowrap;border-bottom:1px solid #e4eaee}.report-table th{font-size:12px;font-weight:600}.report-table thead{position:static;background:#eef3f5}.report-table tbody th{text-align:left;color:#334d59}.report-table tr{cursor:default}.report-table tbody tr:hover{background:#f9fbf5}.report-table td:first-child,.report-table th:first-child{padding-left:10px}.report-table tfoot{background:#edf5db;font-weight:700}.group-head th{background:#233843;color:white;border-right:1px solid #4a5d66}.report-team{margin-top:28px}.report-team-title{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:2px solid #afce63;margin-bottom:14px}.report-team-title h3{font-size:18px;margin:12px 0}.report-team-title>span{font-size:13px;color:#70838e}.report-team h4{font-size:14px;margin:19px 0 10px}.report-drill{padding:2px 5px;min-width:24px;background:transparent;border:0;border-radius:4px;font-size:13px;font-weight:inherit;color:#345b6e;text-decoration:underline;text-decoration-color:#c6d6de;text-underline-offset:3px}.report-drill:hover{background:#ddebbe;color:#243b17}.positive{color:#527926}.negative{color:#ba5139}.lineup{font-family:Consolas,monospace;font-size:12px}.lineup span{display:inline-block;min-width:15px;background:#eef2f4;border-radius:2px;margin:0 1px}.report-subgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:30px}.phase-summary p{display:flex;justify-content:space-between;gap:12px;font-size:13px;border-bottom:1px solid #edf1f3;padding-bottom:8px;color:#71838c}.phase-summary b{color:#263f4b}.player-report{min-width:1080px}.set-summary{max-width:620px;margin-left:auto}.report-footnote{font-size:12px;color:#81949e;margin:20px 0 0;line-height:1.5}.formula-details,.player-efficiency{margin-top:20px;border:1px solid #dce6eb;border-radius:7px;padding:14px}.formula-details summary,.player-efficiency summary{cursor:pointer;font-size:14px;font-weight:600}.formula-details p{font-size:14px;line-height:1.7;color:#6b808b}.player-efficiency{background:#fafcfb}.player-efficiency .report-table{background:white}.report-table .skill-table{min-width:580px}
@media(max-width:900px){.dashboard-layout{grid-template-columns:1fr}.dashboard-sidebar{display:flex;flex-wrap:wrap;gap:15px;align-items:end}.dashboard-sidebar h2,.dashboard-sidebar small{display:none}.dashboard-sidebar label{flex:1;min-width:130px;margin:0}.dashboard-sidebar button{width:auto}.report-heading{flex-direction:column;align-items:stretch}.report-result{min-width:0}.report-paper{padding:18px}.report-team-title{align-items:start;flex-direction:column;gap:0;padding-bottom:12px}.report-subgrid{grid-template-columns:1fr;gap:5px}.set-summary{max-width:none}}
@media(max-width:560px){.dashboard-title h1{font-size:28px}.dashboard-title{gap:15px}.archive-count{white-space:nowrap;padding:8px;font-size:12px}.match-card{padding:16px}.match-teams{gap:9px;grid-template-columns:1fr 62px 1fr}.match-teams strong{font-size:14px}.match-score{font-size:20px;padding:8px;gap:6px}.match-date{flex-direction:column;gap:4px}.card-details{gap:10px}.card-actions{gap:6px}.card-actions a{padding:9px;font-size:12px}.view-nav button{font-size:12px;padding:9px}.report-toolbar{gap:12px}.report-result div{font-size:13px}}
@media print{@page{size:A4 landscape;margin:10mm}body{background:white;font-size:10pt}body>header,.view-nav,.matchbar,.report-toolbar,.page-footer,#dashboard,#notice,#analysisView,dialog,.formula-details,.player-efficiency{display:none!important}main{padding:0;max-width:none}#matchView,#reportView{display:block!important}.report-paper{padding:0;border:0;border-radius:0;max-width:none}.report-heading{margin-bottom:10px;flex-direction:row}.report-heading h2{font-size:15pt}.report-heading p,.report-result div{font-size:9pt}.report-scroll{overflow:visible}.report-table{font-size:8pt;min-width:0}.report-table th,.report-table td{font-size:8pt;padding:4px;white-space:normal}.report-table thead{display:table-header-group}.report-drill{font-size:8pt;padding:0;text-decoration:none;color:inherit}.lineup span{min-width:9px}.report-team{break-before:page;margin-top:0}.report-team:first-of-type{break-before:auto}.report-team-title h3{font-size:12pt}.report-team-title>span{font-size:8pt}.report-subgrid{grid-template-columns:1.4fr 1fr;gap:20px}.phase-summary p{font-size:8pt}.report-table tr{break-inside:avoid}.report-footnote{font-size:7pt}.set-summary{max-width:500px}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
/* Compact player-facing report; coaching detail stays available on screen. */
.coach-details{margin:12px 0 0;border:1px solid #dbe5ea;border-radius:6px;padding:12px;background:#fafcfb}.coach-details>summary{cursor:pointer;font-size:13px;font-weight:600;color:#5c727d}.coach-details[open]{padding-bottom:18px}.tactical-summary{margin-top:24px;border:1px solid #bdcbd3}.tactical-teams{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;background:#e7edf0;font-size:13px}.tactical-grid{display:grid;grid-template-columns:75px minmax(100px,1fr) minmax(340px,3fr) minmax(100px,1fr) 75px;align-items:start}.tactical-grid .report-table th,.tactical-grid .report-table td{padding:5px;font-size:12px}.tactical-side{padding:8px;font-size:12px}.tactical-side p{display:flex;justify-content:space-between;gap:5px;margin:5px 0}.tactical-side small{display:block;font-size:11px;line-height:1.4;text-align:center}.tactical-side hr{border:0;border-top:1px solid #d8e1e6;margin:15px 0}.phase-title{background:#f0f4f6}.attack-phases .phase-title th{text-align:center;font-weight:600}.attack-phases{border-left:1px solid #ccd7de;border-right:1px solid #ccd7de}.tactical-legend{display:flex;flex-wrap:wrap;gap:8px 20px;padding:8px 10px;font-size:11px;color:#687e89;border-top:1px solid #dce4e9}.report-heading{margin-bottom:8px}.report-team{margin-top:18px}.report-paper>.report-scroll:has(.set-summary){margin-top:-30px}.report-heading>div:first-child{max-width:45%}.report-result{align-self:flex-start}
@media(max-width:1000px){.tactical-summary{overflow-x:auto}.tactical-grid,.tactical-teams{min-width:760px}.report-paper>.report-scroll:has(.set-summary){margin-top:0}.report-heading>div:first-child{max-width:none}}
@media print{@page{size:A4 portrait;margin:8mm}#dashboard,#analysisView,.coach-details,.formula-details,.player-efficiency{display:none!important}.report-paper{width:194mm;padding:0;border:0}.report-heading{display:flex;flex-direction:row;gap:8px;margin-bottom:2px}.report-heading>div:first-child{max-width:45%}.report-heading h2{font-size:10pt;line-height:1.1;margin:4px 0}.report-heading p{font-size:6.5pt;line-height:1.2;margin:4px 0}.report-heading .eyebrow{font-size:6pt}.report-result{min-width:0;width:52%;padding-left:8px}.report-result div{font-size:7pt;margin:4px 0}.report-result b{font-size:10pt}.report-result small{font-size:6pt;margin:3px 0}.report-paper>.report-scroll:has(.set-summary){margin-top:-8px}.set-summary{max-width:52%;margin-left:auto}.report-table{min-width:0;width:100%;font-size:6.1pt;line-height:1.15}.report-table th,.report-table td{padding:2px 1px;font-size:6.1pt;line-height:1.15;white-space:nowrap}.report-table th:first-child,.report-table td:first-child{padding-left:2px}.report-table tbody th{font-weight:400}.report-team{break-before:auto!important;margin-top:8px;break-inside:avoid}.report-team-title{flex-direction:row;align-items:center;gap:4px;margin:0 0 4px;padding:0;border-bottom-width:1px}.report-team-title h3{font-size:8pt;margin:5px 0}.report-team-title>span{font-size:6pt}.report-drill{font-size:6.1pt;line-height:1.15;min-width:0;padding:0}.lineup span{min-width:7px;margin:0;padding:0;font-size:5.5pt}.tactical-summary{margin-top:8px;overflow:visible;break-inside:avoid}.tactical-teams{min-width:0;font-size:7pt;padding:4px}.tactical-grid{min-width:0;grid-template-columns:32px 89px 1fr 89px 32px}.tactical-grid .report-table th,.tactical-grid .report-table td{font-size:5.8pt;padding:2px 1px;line-height:1.1}.tactical-side{padding:3px;font-size:6pt}.tactical-side p{margin:3px 0}.tactical-side small{font-size:5.5pt}.tactical-side hr{margin:8px 0}.tactical-legend{font-size:5.5pt;padding:4px;gap:3px 9px}.report-footnote{font-size:5.5pt;margin:5px 0 0}.report-result small,.report-footnote{color:#415863}}

.set-actions{margin-top:6px;font-size:10px}.set-actions th,.set-actions td{padding:4px}.delete-scout{color:#a52b36;background:transparent;border:1px solid #e3c9cd;padding:6px 10px} @media print{.set-actions{font-size:5.5pt}.set-actions th,.set-actions td{padding:1pt}}

/* Data Volley-style black separators between statistical groups. */
.player-report,.set-actions{border:1px solid #000;border-collapse:collapse}
.player-report tbody tr > :nth-child(2),
.player-report tbody tr > :nth-child(3),
.player-report tbody tr > :nth-child(6),
.player-report tbody tr > :nth-child(9),
.player-report tbody tr > :nth-child(13),
.player-report tbody tr > :nth-child(18),
.player-report tfoot tr > :nth-child(1),
.player-report tfoot tr > :nth-child(4),
.player-report tfoot tr > :nth-child(7),
.player-report tfoot tr > :nth-child(11),
.player-report tfoot tr > :nth-child(16),
.player-report thead tr:first-child > :nth-child(2),
.player-report thead tr:first-child > :nth-child(3),
.player-report thead tr:first-child > :nth-child(4),
.player-report thead tr:first-child > :nth-child(5),
.player-report thead tr:first-child > :nth-child(6),
.player-report thead tr:first-child > :nth-child(7),
.player-report thead tr:nth-child(2) > :nth-child(3),
.player-report thead tr:nth-child(2) > :nth-child(6),
.player-report thead tr:nth-child(2) > :nth-child(10),
.player-report thead tr:nth-child(2) > :nth-child(15),
.set-actions tbody tr > :nth-child(1),
.set-actions thead tr:nth-child(2) > :nth-child(1),
.set-actions tbody tr > :nth-child(5),
.set-actions thead tr:nth-child(2) > :nth-child(5),
.set-actions tbody tr > :nth-child(8),
.set-actions thead tr:nth-child(2) > :nth-child(8),
.set-actions tbody tr > :nth-child(12),
.set-actions thead tr:nth-child(2) > :nth-child(12),
.set-actions tbody tr > :nth-child(17),
.set-actions thead tr:nth-child(2) > :nth-child(17),
.set-actions thead tr:first-child > th{border-right:1px solid #000}

/* Compact tactical comparison and adjacent key. */
.tactical-summary{display:grid;grid-template-columns:minmax(650px,1fr) 210px;gap:12px;border:0;align-items:start;overflow-x:auto}
.tactical-main{border:1px solid #000;min-width:0}.tactical-teams{min-width:0;padding:5px 7px;font-size:11px;border-bottom:1px solid #000}
.tactical-grid{min-width:0;grid-template-columns:52px 105px minmax(320px,1fr) 105px 52px}
.tactical-grid .report-table{table-layout:fixed}.tactical-grid .report-table th,.tactical-grid .report-table td,.tactical-grid .report-table tbody th{padding:3px 1px;text-align:center;font-size:10px;white-space:normal;line-height:1.2}
.tactical-grid .attack-phases{border-color:#000}.tactical-grid .attack-phases tr:not(.phase-title)>:nth-child(4){border-right:1px solid #000}
.tactical-side{padding:4px;font-size:10px}.tactical-side p{margin:3px 0}.tactical-side small{font-size:9px}.tactical-side hr{margin:9px 0}
.tactical-legend{display:block;border:1px solid #000;padding:7px;font-size:10px;color:#243843}.tactical-legend dl{display:grid;grid-template-columns:38px 1fr;gap:5px 6px;margin:7px 0 0}.tactical-legend dt{font-weight:700}.tactical-legend dd{margin:0;line-height:1.25}
@media print{.tactical-summary{grid-template-columns:minmax(0,1fr) 35mm;gap:2mm;overflow:visible}.tactical-grid{grid-template-columns:8mm 17mm minmax(0,1fr) 17mm 8mm}.tactical-grid .report-table th,.tactical-grid .report-table td,.tactical-grid .report-table tbody th{font-size:5pt;padding:1px}.tactical-teams{font-size:6pt;padding:2px}.tactical-side,.tactical-side small{font-size:5pt;padding:1px}.tactical-legend{font-size:5pt;padding:3px}.tactical-legend dl{grid-template-columns:7mm 1fr;gap:2px;margin:3px 0 0}}

#youtubeVideo,#youtubeVideo iframe{width:100%;height:100%;border:0;display:block}.video-stage:has(#youtubeVideo:not([hidden])){min-height:200px}.video-help{font-size:12px}

#videoDialog{max-height:calc(100vh - 32px);overflow-y:auto}#videoUrl{width:100%;height:38px;border:1px solid #d5dfe4;border-radius:6px;padding:7px 10px;font-size:14px}.current-video{overflow-wrap:anywhere;background:#f2f5f7;padding:10px;border-radius:6px}.remove-video{color:#a33c32;border-color:#e4c2bc;width:100%}

.clip-controls{display:flex;align-items:center;gap:18px;margin-top:16px;flex-wrap:wrap}.clip-controls input[type=number]{width:110px}.clip-toggle{flex-direction:row;align-items:center;gap:8px}.clip-toggle input{accent-color:#71932c}
/* CA Scout Studio identity and access screens */
body{background:#0b1020}body[data-role=guest]{background:#080d1b}body[data-role=coach] .admin-only,body[data-role=athlete] .admin-only,body[data-role=guest] .admin-only{display:none!important}#appHeader{height:auto;min-height:84px;gap:20px;flex-wrap:wrap;background:#0e1529;border-bottom:1px solid #25354d;padding:18px 30px}.brand-icon,.ca-monogram{background:linear-gradient(135deg,#16cae1,#8e64ef);color:white;letter-spacing:-2px;font-size:20px;font-weight:800}.brand{letter-spacing:.8px;font-size:17px}.brand small{letter-spacing:2px}.header-actions{gap:10px;flex-wrap:wrap}.header-actions button{background:#182238;border-color:#324059;color:#e3eaf4}.header-actions .primary{background:#26c5df;color:#081b27;border-color:#26c5df}.user-badge{color:#b1c3d7;font-size:12px;margin-right:6px}#appMain>.dashboard-title,#appMain .matchbar{color:#f1f6ff}#appMain .matchbar .eyebrow{color:#8fa6c3}.dashboard-title{color:#f2f5ff}.dashboard-title p{color:#9caec5}.archive-count{background:#192842;color:#67d9ed;border:1px solid #2b455f}.primary{background:#37cce5;border-color:#37cce5;color:#082633}.primary:hover{background:#6bdced}tbody tr.active{background:#e0f7fc;box-shadow:inset 3px 0 #21bfdf}.eval.good{background:#ddf7ed;color:#008863}.table-scroll{scrollbar-color:#5dd8ee transparent}.action-cell{font-size:12px;font-weight:600;white-space:nowrap;color:#267a94}.panel{border-radius:16px}.open-match{background:#e0f6fc!important;color:#087691!important}.page-footer{color:#879ab4}#appMain .archive{color:#a7bbd0}.view-nav{background:transparent}.metrics>div{border-color:#3abbd1}.auth-shell{min-height:100vh;padding:28px max(24px,calc((100vw - 1240px)/2));color:#f7f9ff;background:radial-gradient(ellipse at 12% 20%,#0a56654d,transparent 55%),radial-gradient(ellipse at 100% 40%,#59368e45,transparent 55%),#0b1020;overflow:hidden}.auth-nav{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border:1px solid #ffffff12;border-radius:40px;background:#101629b8}.auth-brand{display:flex;align-items:center;gap:11px;color:white;text-decoration:none;font-size:19px;font-weight:650;letter-spacing:-.5px}.ca-monogram{display:grid;place-items:center;border-radius:50%;width:36px;height:36px;font-size:17px;letter-spacing:-1px}.brand-dot{color:#39d0e8}.auth-nav>span{font-size:10px;letter-spacing:2px;color:#8ea7be}.auth-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:center;min-height:calc(100vh - 190px);padding:50px 10px}.hero-kicker{font-size:10px;letter-spacing:2.5px;color:#80ddeb;display:flex;align-items:center;gap:9px}.hero-kicker i{width:6px;height:6px;background:#35daeb;border-radius:50%;box-shadow:0 0 16px #35daeb}.auth-story h1{font-size:clamp(42px,4.8vw,70px);line-height:1.08;letter-spacing:-3px;margin:25px 0;font-weight:740}.auth-story h1 span{background:linear-gradient(100deg,#35d5e9,#96a2ff);background-clip:text;color:transparent}.auth-story>p{font-size:16px;line-height:1.8;color:#9fadc4;max-width:480px}.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.hero-tags span{padding:8px 12px;font-size:11px;color:#c0d5e6;border:1px solid #314052;border-radius:30px;background:#111e31}.auth-card{background:linear-gradient(140deg,#182337ee,#161a32f5);border:1px solid #334159;border-radius:24px;padding:32px;box-shadow:0 25px 80px #0004}.card-topline{display:flex;align-items:center;justify-content:space-between;color:#839bb6;font-size:10px;letter-spacing:1.7px}.small-orbit{display:grid;place-items:center;border:1px solid #3c5674;width:29px;height:29px;border-radius:50%;color:#5edbed;font-size:18px}.auth-card h2{font-size:28px;letter-spacing:-1px;margin:25px 0 10px;color:#f4f7ff}.auth-card>p{color:#a9b6cb;font-size:13px;line-height:1.7}.auth-card label{color:#bdcce1;font-size:12px;margin-top:18px}.auth-card input{width:100%;height:46px!important;background:#0e1629!important;border:1px solid #35465e!important;color:white!important;border-radius:9px;padding:12px;font-size:14px}.auth-card input::placeholder{color:#677d97}.auth-submit{background:linear-gradient(100deg,#20afcf,#8564df);color:white;width:100%;padding:14px;border:0;border-radius:10px;margin-top:24px}.auth-submit:hover{background:linear-gradient(100deg,#28c4df,#9a7aea)}#authError{color:#ffa8a8;font-size:13px;line-height:1.5}#authError:empty{display:none}.auth-hint{font-size:12px!important;color:#8d9fb9!important;padding:6px 0 14px}.auth-access{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid #334058;padding-top:20px;font-size:12px;color:#c4d9ea}.auth-access small{display:block;color:#8297af;margin-top:6px;font-size:10px}.auth-footer{display:flex;justify-content:space-between;color:#6e859e;font-size:11px;padding:15px 10px}.court-visual{position:relative;margin-top:40px;max-width:470px;padding-bottom:40px}.court-grid{height:165px;border:1px solid #336075;border-radius:8px;position:relative;background:linear-gradient(120deg,#0e384b80,#17233b80);transform:perspective(600px) rotateX(18deg) rotateZ(-4deg);box-shadow:0 20px 45px #0003}.court-grid:before,.court-grid:after{content:'';position:absolute;top:0;bottom:0;width:1px;background:#30576b}.court-grid:before{left:33%}.court-grid:after{left:67%}.court-net{position:absolute;left:50%;top:-8px;bottom:-8px;border-left:2px dashed #60c7dc}.court-player{position:absolute;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;color:#a5f0f8;font-size:10px;background:#155f76;border:1px solid #3cacbf;z-index:1}.p1{left:16%;top:23%}.p2{left:23%;top:67%}.p3{left:39%;top:45%}.p4{left:57%;top:23%}.p5{left:71%;top:67%}.p6{left:82%;top:33%}.p4,.p5,.p6{background:#393259;border-color:#8270ba;color:#e3d7ff}.ball-path{position:absolute;left:24%;top:34%;width:54%;height:50px;border-top:2px dashed #53c2d1;border-radius:50%;transform:rotate(-12deg)}.court-label{display:block;font-size:8px;letter-spacing:2px;color:#5d8199;margin-top:18px}.court-chip{position:absolute;right:-10px;bottom:10px;background:#1a2941;border:1px solid #37546d;border-radius:10px;padding:12px;color:#5ee2ed;font-size:14px;box-shadow:0 8px 25px #0003}.court-chip span{color:#c7d9e8;font-size:11px;margin-left:8px}.users-dialog{width:720px;max-height:90vh;overflow:auto}.user-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #e4eaf1}.user-row strong{font-size:14px}.user-row small{display:block;font-size:12px}.user-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}dialog input[type=password]{height:38px;width:100%;border:1px solid #d5dfe4;border-radius:6px;padding:8px}#usersStatus,#passwordStatus{color:#9d402f}#userCancel{margin-top:10px;width:100%}
@media(max-width:950px){.auth-layout{gap:30px;grid-template-columns:1fr 1fr}.auth-card{padding:24px}.auth-story h1{font-size:48px}.header-actions{gap:7px}.header-actions button{font-size:12px}}@media(max-width:700px){.auth-layout{grid-template-columns:1fr;padding-top:35px}.court-visual{display:none}.auth-story h1{font-size:44px}.auth-story>p{font-size:14px}.hero-tags{margin-top:18px}.auth-nav>span{display:none}.auth-shell{padding:16px}.auth-card{padding:25px}.auth-layout{gap:32px}.user-fields{grid-template-columns:1fr}.brand{font-size:14px}.auth-footer{gap:20px}.user-badge{width:100%}}@media print{body{background:white}.auth-shell,#appHeader{display:none!important}}
.viewer-stamp{background:#132237;color:#a8cad8;font-size:11px;letter-spacing:.3px;padding:8px 20px;border-bottom:1px solid #284258}.team-choice{flex-direction:row;align-items:center;margin:8px 0;font-size:13px;gap:9px}.team-choice input{accent-color:#16a9c4}#teamChoices{max-height:200px;overflow:auto;padding:10px;background:#f2f7fa;border-radius:8px}.editor-dialog{width:1080px;max-height:92vh;overflow:auto}.editor-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:0 15px}.editor-meta label{margin:8px 0 12px}.editor-action-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;margin:20px 0}.editor-row-scroll{max-height:280px;overflow:auto}.editor-row-scroll td{padding:5px 10px}.editor-row-scroll button{border:0;font-family:Consolas,monospace;padding:5px;font-size:12px}.editor-dialog textarea{width:100%;height:300px;resize:vertical;font:12px Consolas,monospace;border:1px solid #c4d4e2;padding:12px;white-space:pre}.editor-dialog details{margin:18px 0;border:1px solid #d4e0e9;border-radius:8px;padding:12px}.editor-dialog summary{cursor:pointer;font-size:13px;font-weight:600}.editor-result{border-top:1px solid #d5e0e7;padding-top:12px}.editor-result .primary{width:auto}#editorStatus{color:#945031}.editor-dialog #editRowSearch{width:100%}.user-row>div:last-child{display:flex;gap:5px;flex-wrap:wrap}@media(max-width:650px){.editor-meta,.editor-action-layout{grid-template-columns:1fr}.editor-dialog{padding:16px}.user-row{align-items:start;flex-direction:column}}
/* Wide video workspace and fullscreen analysis toolbox. */
@media(min-width:1100px){#appMain:has(#analysisView:not([hidden])){max-width:2200px;padding-left:24px;padding-right:24px}.workspace{grid-template-columns:minmax(0,1fr) minmax(460px,30%);gap:16px}}
.scout-panel .panel-heading{padding:14px 12px}.scout-panel .filters{padding:0 12px 12px;gap:9px}.scout-panel .list-options{padding:10px 12px}.scout-panel th,.scout-panel td{white-space:nowrap;padding-left:8px;padding-right:8px}.scout-panel .player-name,.scout-panel code{white-space:nowrap;overflow-wrap:normal;word-break:normal}.scout-panel .table-scroll{overflow:auto}.scout-panel select{font-size:12px}.fullscreen-tools,.toolbox-handle{display:none}
#analysisView:fullscreen{display:block;width:100vw;height:100vh;background:#000;overflow:hidden}
#analysisView:fullscreen .video-column{height:100%;width:100%}
#analysisView:fullscreen .video-panel{height:100%;border:0;border-radius:0;background:#000;position:relative}
#analysisView:fullscreen .video-panel>.panel-heading,#analysisView:fullscreen .selection,#analysisView:fullscreen .sync-panel,#analysisView:fullscreen .metrics,#analysisView:fullscreen .viewer-stamp{display:none}
#analysisView:fullscreen .video-stage{width:100%;height:calc(100% - 60px);aspect-ratio:auto}
#analysisView:fullscreen .transport{height:60px;background:#fff;padding:8px 12px}
#analysisView:fullscreen .fullscreen-tools{display:flex;position:absolute;left:12px;top:8px;gap:8px;z-index:5}
#analysisView:fullscreen .scout-panel{position:absolute;right:16px;top:60px;width:480px;max-width:calc(100vw - 16px);height:70vh;max-height:calc(100vh - 64px);min-width:min(400px,calc(100vw - 16px));min-height:240px;resize:both;overflow:auto;z-index:4;display:flex;flex-direction:column;box-shadow:0 10px 45px #0008;border:1px solid #48cde4}
#analysisView:fullscreen .scout-panel.toolbox-hidden{display:none}
#analysisView:fullscreen .toolbox-handle{display:block;flex-shrink:0;background:#15273c;color:#dcf6ff;padding:10px 12px;font-size:12px;cursor:move;touch-action:none;user-select:none}
#analysisView:fullscreen .scout-panel>.panel-heading,#analysisView:fullscreen .filters,#analysisView:fullscreen .list-options,#analysisView:fullscreen .list-footer{flex-shrink:0}
#analysisView:fullscreen .scout-panel .table-scroll{flex:1;min-height:80px;height:auto}

.scout-panel .compact-sync{margin:0;padding:10px 12px;border-top:1px solid #e4ebef;background:#f7fafc;flex-shrink:0}.compact-sync-fields{display:grid;grid-template-columns:1.15fr 1fr 1fr auto;gap:7px;align-items:end}.compact-sync-fields label{min-width:0;font-size:11px;white-space:nowrap}.compact-sync-fields input{width:100%;height:31px;font-size:12px;padding:5px 7px}.compact-sync-fields button{height:31px;padding:5px 9px;font-size:12px}.compact-sync .clip-toggle{margin-top:8px;font-size:11px;gap:6px}.compact-sync #syncStatus{font-size:11px;margin-top:5px;line-height:1.3}.compact-sync #syncStatus:empty{display:none}#analysisView:fullscreen .scout-panel .compact-sync{display:block}

.analysis-settings{border-top:1px solid #e4ebef;flex-shrink:0}.analysis-settings>summary{cursor:pointer;padding:11px 12px;font-size:12px;font-weight:600;color:#267a94;user-select:none}.analysis-settings>summary:focus-visible{outline:2px solid #21bfdf;outline-offset:-2px}.analysis-settings[open]>summary{margin-bottom:4px}#analysisView:fullscreen .analysis-settings{flex-shrink:0}

.report-logo{display:block;width:260px;max-width:100%;height:auto;margin:6px 0 0}.report-paper>.report-scroll:has(.set-summary){margin-top:0}@media print{.report-logo{width:58mm;max-height:24mm;object-fit:contain;object-position:left center;margin-top:2mm}}

.report-paper .report-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:24px;margin-bottom:10px}.report-paper .report-heading>div:first-child{max-width:none}.report-heading-right{min-width:0;display:flex;flex-direction:column;gap:10px}.report-heading-right .report-result{align-self:stretch;min-width:0}.report-heading-right .set-summary{width:100%;max-width:none;margin:0}.report-heading-right>.report-scroll{margin:0}@media(max-width:650px){.report-paper .report-heading{grid-template-columns:1fr;gap:12px}}@media print{.report-paper .report-heading{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:5mm;break-inside:avoid}.report-heading-right{gap:2mm}}

@media print{
 @page{size:A4 portrait;margin:8mm}
 html,body{margin:0!important;padding:0!important;min-height:0!important;height:auto!important}
 #appMain{padding:0!important;margin:0!important;max-width:none!important}
 .report-paper{width:194mm!important;max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important;zoom:var(--report-print-scale,1)}
 .report-paper .report-heading{margin-bottom:2mm;gap:4mm}
 .report-heading-right .report-result{width:100%}
 .report-logo{width:48mm;max-height:20mm}
 .report-team{margin-top:2mm;break-before:auto!important}
 .report-team-title h3{margin:2px 0}
 .report-table th,.report-table td{padding-top:1px;padding-bottom:1px}
 .tactical-summary{margin-top:2mm}
}

@media print{.report-paper{zoom:1!important}.report-logo{width:58mm;height:16mm;object-fit:contain}}

.report-logo-frame{width:260px;max-width:100%;height:125px;overflow:hidden;position:relative;margin-top:6px}.report-logo-frame .report-logo{position:absolute;width:608px;max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-50%);margin:0}@media print{.report-logo-frame{width:58mm;height:25mm;margin-top:1mm}.report-logo-frame .report-logo{width:132mm;max-width:none;max-height:none;height:auto;object-fit:initial}}
/* Hide analysis summary cards for mobile viewers, including landscape phones. */
@media (max-width:900px), (max-width:1100px) and (pointer:coarse){
 body[data-role="athlete"] #analysisView .metrics,
 body[data-role="coach"] #analysisView .metrics{display:none}
}
/* Slightly smaller desktop analysis workspace; keep fullscreen at full size. */
@media(min-width:1100px){
 #analysisView:not(:fullscreen){width:90%;margin-inline:auto}
}

.match-list-tools{display:flex;align-items:center;gap:12px;margin-left:auto;min-width:0}.video-analysis-link{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;text-decoration:none;background:#e0f6fc;color:#087691;border:1px solid #8eddeb;border-radius:7px;padding:10px 18px;font-size:14px;font-weight:600}.video-analysis-link:hover{background:#c8eef7}.video-analysis-link:focus-visible{outline:3px solid #21bfdf;outline-offset:2px}@media(max-width:650px){.dashboard-list>.panel-heading{flex-wrap:wrap}.match-list-tools{width:100%;margin-left:0;flex-wrap:wrap}.match-list-tools #dashSearch{flex:1;min-width:140px}}

#athleteChoices{max-height:320px;overflow:auto;padding:8px;background:#f4f8fa}#athleteChoices label{margin:10px 0}#athleteAssignments p{font-size:12px;line-height:1.5}

.header-actions .header-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;white-space:nowrap;text-decoration:none;background:#182238;border:1px solid #324059;border-radius:7px;color:#e3eaf4;font:inherit;font-size:12px;font-weight:600;padding:10px;transition:background .15s}.header-actions .header-button:hover{background:#26364e}.header-actions .header-button:focus-visible{outline:3px solid #21bfdf;outline-offset:2px}.match-list-tools .video-analysis-link{flex-shrink:0}

.activity-notice{font-size:12px;color:#9fb4c8;text-align:center;padding:12px 20px;margin:0;}
