/* Compact report sheets: ten base matches on the front, team rounds on the back. */
body .report-page { padding-top:24px; }
body .report-page > .site-container { max-width:1120px; }
body .report-page .report-toolbar { margin-bottom:12px; }
body .report-page .report-live-access { padding:12px 16px; margin-bottom:14px; }
body .report-page .report-live-access > div { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; width:100%; }
body .report-page .report-live-access p { flex:1; min-width:180px; margin:0; font-size:11px; }
body .report-page .report-live-access strong { font-size:13px; }
body .report-page .report-live-access .live-button { min-height:34px; padding:7px 10px; font-size:11px; }
body .report-page .report-hero { padding:16px 20px; gap:16px; }
body .report-page .report-hero h2 { font-size:clamp(19px,2vw,25px); }
body .report-page .report-hero p { margin-bottom:5px; font-size:10px; }
body .report-page .report-score { min-width:100px; gap:6px; }
body .report-page .report-score strong { font-size:32px; }
body .report-page .match-meta { gap:8px; margin:10px 0 16px; }
body .report-page .match-meta > div { padding:9px 12px; gap:8px; }
body .report-page .match-meta svg { width:18px; height:18px; }
body .report-page .match-meta small { margin-bottom:2px; font-size:10px; }
body .report-page .report-table-overview { margin:10px 0; padding:9px 12px; }
body .report-page .report-table-overview p { margin:4px 0 0; font-size:11px; }
body .report-page .report-venue-link { margin:8px 0; }
body .report-page .report-match-group,
body .report-page .report-match-group + .report-match-group { margin:0 0 12px; padding:0; border:1px solid #b6c9e1; border-radius:6px; overflow:hidden; background:#fff; }
body .report-page .report-block-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 12px; background:#dce8f7; border-bottom:1px solid #b6c9e1; color:#365a87; }
body .report-page .report-block-heading h2 { margin:0; font-size:14px; letter-spacing:-.02em; }
body .report-page .report-block-heading > span { flex:none; font-size:11px; font-weight:600; }
body .report-page .report-block-columns { display:grid; grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr); gap:10px; padding:6px 12px; border-bottom:1px solid #d9e5f4; color:#627188; font-size:9px; }
body .report-page .report-block-columns > span { min-width:0; }
body .report-page .report-block-columns strong { display:block; margin-top:1px; color:#365a87; font-size:10px; font-weight:600; overflow-wrap:anywhere; }
body .report-page .report-block-columns > :nth-child(2) { align-self:center; text-align:center; }
body .report-page .report-match,
body .report-page .report-match-group > .report-match + .report-match { margin:0; }
body .report-page .report-match + .report-match { border-top:1px solid #bccde2; }
body .report-page .report-match > .game-section { margin:0; border:0; border-radius:0; box-shadow:none; }
body .report-page .game-section-heading { flex-wrap:wrap; gap:6px; min-height:34px; padding:5px 10px; border-bottom:1px solid #e1e9f4; background:#f3f7fc; }
body .report-page .game-section-heading > .game-match-number { width:25px; height:25px; border-radius:3px; font-size:13px; }
body .report-page .game-section-heading > .game-category { padding:3px 5px; background:transparent; font-size:10px; }
body .report-page .game-section-heading h2 { font-size:13px; }
body .report-page .game-section-heading > small { font-size:10px; }
body .report-page .report-match-tools { gap:5px; margin-left:auto; }
body .report-page .report-match-qr-button { min-width:30px; min-height:28px; padding:4px 5px; font-size:9px; }
body .report-page .report-match-qr-button svg { width:15px; height:15px; }
body .report-page .report-table-assignment select { min-height:28px; width:118px; padding:4px 6px; font-size:10px; }
body .report-page .report-live-game-link { font-size:10px; }
body .report-page .game-column-headings { display:none; }
body .report-page .game-list { padding:0 12px; }
body .report-page .game-row { position:relative; grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr); gap:10px; padding:7px 0; }
body .report-page .team-player { gap:4px; }
body .report-page .team-player select { height:33px; padding:0 7px; border-radius:4px; font-size:13px; }
body .report-page .team-player select:disabled { display:none; }
body .report-page .team-player select:disabled + .report-print-player { display:block; min-height:24px; line-height:1.45; padding:3px 6px; overflow-wrap:anywhere; font-size:13px; }
body .report-page .game-row-pair .team-player { padding-left:7px; border-left:3px solid #a8bfdc; }
body .report-page .game-score { gap:5px; }
body .report-page .game-score :is(input[type=number], .report-score-value) { width:38px; height:33px; border-radius:4px; font-size:15px; }
body .report-page .report-player-winner .report-print-player { color:var(--color-winner-score); font-weight:700; }
body .report-page .report-player-leading .report-print-player { color:#245a95; font-weight:700; }
body .report-page .report-sheet-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:24px 0 10px; padding:12px 14px; border-top:3px solid #7896bb; background:#e8f0fb; }
body .report-page .report-sheet-heading p { margin:0; color:#627188; font-size:11px; }
body .report-page .report-sheet-heading h2 { margin:3px 0; font-size:21px; }
body .report-page .report-sheet-heading strong { font-size:12px; font-weight:600; overflow-wrap:anywhere; }
body .report-page .report-sheet-heading > p { flex:none; text-align:right; }
body .report-page [data-report-group=team] > .report-block-heading { display:none; }
body .report-page .report-sheet-team .report-block-columns { padding-left:38px; }
body .report-page [data-report-group=team] .game-row { min-height:46px; padding-left:26px; }
body .report-page [data-team-round]::before { content:attr(data-team-round) '.'; position:absolute; left:2px; top:50%; transform:translateY(-50%); color:#6b809b; font-size:11px; font-weight:600; }
body .report-page .team-lag-control { padding:7px 12px; gap:7px; }
body .report-page .team-lag-select { padding:5px 7px; font-size:12px; }
body .report-page .team-match-total { padding:9px 12px; }
body .report-page .team-match-total strong { min-width:72px; padding:5px 10px; font-size:18px; }
body .report-page .final-score-card { margin:10px 0 0; padding:9px 14px; gap:16px; border-radius:5px; }
body .report-page .final-score-card span { font-size:12px; }
body .report-page .final-score-card strong { padding:3px 12px; font-size:22px; }
@media(max-width:640px) {
 body .report-page .report-block-columns { grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr); gap:6px; padding:6px 8px; }
 body .report-page .report-block-columns strong { font-size:9px; }
 body .report-page .game-row { grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr); gap:6px; }
 body .report-page .game-list { padding:0 8px; }
 body .report-page .team-player select { padding:0 3px; font-size:11px; }
 body .report-page .team-player select:disabled + .report-print-player { padding:3px; font-size:12px; }
 body .report-page .game-score :is(input[type=number], .report-score-value) { width:30px; font-size:14px; }
 body .report-page .game-row-pair .team-player { padding-left:4px; border-left-width:2px; }
 body .report-page .report-sheet-heading { align-items:flex-start; flex-direction:column; gap:5px; }
 body .report-page .report-sheet-heading > p { text-align:left; }
 body .report-page .report-match-tools { margin-left:0; }
 body .report-page .game-section-heading { gap:5px; padding:5px 8px; }
 body .report-page .game-section-heading > small { margin-left:auto; }
 body .report-page [data-report-group=team] .game-row { padding-left:17px; }
 body .report-page .report-sheet-team .report-block-columns { padding-left:25px; }
 body .report-page .report-live-access > div { align-items:flex-start; }
}
@media print {
 @page { size:A4 portrait; margin:10mm; }
 @page csb-report { size:A4 portrait; margin:10mm; }
 html:has(.report-page), body:has(.report-page) { background:#fff; }
 body .report-page { padding:0; }
 body .report-page .report-sheet-main .report-match-group + .report-match-group > .report-block-columns { display:none; }
 body .report-page > .site-container { width:100%; max-width:none; }
 body .report-page .report-hero { padding:2mm 3mm; gap:3mm; border-radius:1mm; }
 body .report-page .report-hero h2 { font-size:11pt; line-height:1.2; }
 body .report-page .report-hero p { margin-bottom:1mm; font-size:6.5pt; }
 body .report-page .report-score { min-width:23mm; gap:1mm; }
 body .report-page .report-score strong { font-size:17pt; }
 body .report-page .report-score > span { font-size:11pt; }
 body .report-page .report-score small { font-size:6pt; }
 body .report-page .report-fixture-qr { padding:0; }
 body .report-page .report-fixture-qr [data-csb-qr] { width:17mm; height:17mm; padding:1.5mm; }
 body .report-page .report-fixture-qr small { margin-top:0; font-size:5pt; }
 body .report-page .match-meta { grid-template-columns:28mm minmax(0,1fr) minmax(0,1fr); gap:2mm; margin:2mm 0 3mm; }
 body .report-page .match-meta > div { padding:1.5mm 2mm; gap:1mm; border-radius:1mm; }
 body .report-page .match-meta svg { display:none; }
 body .report-page .match-meta small { margin-bottom:.5mm; font-size:6pt; }
 body .report-page .match-meta :is(strong,a) { font-size:7pt; }
 body .report-page .report-stream-label { font-size:6pt; margin-bottom:.5mm; }
 body .report-page .report-readonly { margin:1mm 0 2mm; padding:1mm; font-size:6.5pt; }
 body .report-page .report-match-group,
 body .report-page .report-match-group + .report-match-group { margin:0 0 2mm; padding:0; border:1px solid #a7bcd7; border-radius:1mm; overflow:visible; break-inside:avoid; page-break-inside:avoid; }
 body .report-page .report-block-heading { gap:2mm; padding:1mm 2mm; background:#e0eaf7; border-bottom:1px solid #a7bcd7; }
 body .report-page .report-block-heading h2 { font-size:8pt; line-height:1.2; }
 body .report-page .report-block-heading > span { font-size:6.5pt; }
 body .report-page .report-block-columns { grid-template-columns:minmax(0,1fr) 18mm minmax(0,1fr); gap:2mm; padding:1mm 2mm; font-size:5.5pt; line-height:1.2; }
 body .report-page .report-match-group:has(.report-match-print-qr) > .report-block-columns { padding-right:21mm; }
 body .report-page .report-block-columns strong { margin-top:.3mm; font-size:6.5pt; line-height:1.2; }
 body .report-page .report-match,
 body .report-page .report-match-group > .report-match + .report-match { margin:0; break-inside:avoid; page-break-inside:avoid; }
 body .report-page .report-match:has(>.report-match-print-qr) { display:grid; grid-template-columns:minmax(0,1fr) 18mm; gap:1mm; align-items:center; }
 body .report-page .report-match + .report-match { border-top:1px solid #a7bcd7; }
 body .report-page .report-match > .game-section { border:0; margin:0; overflow:visible; }
 body .report-page .game-section-heading { min-height:0; padding:.6mm 2mm; gap:1.5mm; background:#f2f6fc; }
 body .report-page .game-section-heading > .game-match-number { width:4.5mm; height:4.5mm; font-size:7pt; border-radius:.5mm; }
 body .report-page .game-section-heading > .game-category { padding:0; font-size:6pt; }
 body .report-page .game-section-heading h2 { font-size:7pt; }
 body .report-page .game-section-heading > small { font-size:6pt; margin-left:auto; }
 body .report-page .game-list { padding:0 2mm; }
 body .report-page .game-row { grid-template-columns:minmax(0,1fr) 18mm minmax(0,1fr); gap:2mm; min-height:0; padding:1mm 0; }
 body .report-page .team-player { display:flex; gap:.6mm; }
 body .report-page .team-player select { display:none; }
 body .report-page .team-player .report-print-player,
 body .report-page .team-player select:disabled + .report-print-player { display:block; min-height:4mm; padding:0; font-size:8pt; line-height:1.2; overflow-wrap:anywhere; }
 body .report-page .game-row-pair .team-player { padding-left:1.5mm; border-left-width:.5mm; }
 body .report-page .game-score { gap:1mm; }
 body .report-page .game-score :is(input[type=number], .report-score-value) { width:7mm; height:6mm; padding:0; border-radius:.6mm; font-size:9pt; }
 body .report-page .report-match-print-qr { display:block; box-sizing:border-box; width:18mm; height:18mm; padding:1.5mm; border:0; border-radius:0; align-self:center; margin:0; }
 body .report-page .report-match-print-qr [data-csb-qr] { display:block; width:15mm; height:15mm; padding:0; }
 body .report-page .report-match-print-qr small { display:none; }
 body .report-page .final-score-card { margin:1mm 0 0; padding:1.5mm 3mm; gap:4mm; }
 body .report-page .final-score-card span { font-size:8pt; }
 body .report-page .final-score-card strong { padding:0 2mm; font-size:12pt; }
 body .report-page .report-sheet-main:has(.report-match) + .report-sheet-team { break-before:page; page-break-before:always; }
 body .report-page .report-sheet-heading { flex-direction:row; align-items:center; gap:4mm; margin:0 0 4mm; padding:2mm 3mm; border-top:2px solid #7896bb; background:#e8f0fb; break-inside:avoid; }
 body .report-page .report-sheet-heading p { font-size:7pt; }
 body .report-page .report-sheet-heading h2 { margin:1mm 0; font-size:15pt; }
 body .report-page .report-sheet-heading strong { font-size:8pt; }
 body .report-page .report-sheet-heading > p { text-align:right; }
 body .report-page .report-sheet-team [data-report-group=team] .report-block-columns { padding-right:2mm; padding-left:9mm; }
 body .report-page .report-sheet-team [data-report-group=team]:has(.report-match-print-qr) > .report-block-columns { padding-right:26mm; }
 body .report-page [data-report-group=team] .report-match { grid-template-columns:minmax(0,1fr) 22mm; gap:2mm; }
 body .report-page [data-report-group=team] .report-match-print-qr { align-self:start; width:22mm; height:22mm; padding:2mm; }
 body .report-page [data-report-group=team] .report-match-print-qr [data-csb-qr] { width:18mm; height:18mm; }
 body .report-page [data-report-group=team] .game-row { min-height:11mm; padding-left:7mm; padding-block:1.5mm; }
 body .report-page [data-team-round]::before { left:1mm; font-size:8pt; }
 body .report-page .team-lag-control { gap:2mm; padding:2mm; }
 body .report-page .team-lag-control > label { font-size:7pt; }
 body .report-page .team-lag-control > small { font-size:6pt; }
 body .report-page .team-match-total { gap:4mm; padding:2mm; }
 body .report-page .team-match-total strong { padding:1mm 2mm; font-size:12pt; }
 body .report-page .game-score .team-round-checkbox { width:5mm; height:5mm; margin:0; }
 body .report-page .report-player-winner .report-print-player { color:var(--color-winner-score); font-weight:700; }
 body .report-page .report-player-leading .report-print-player { color:#245a95; font-weight:700; }
}

body .report-page .report-finish-game{border:1px solid #d57a8b;border-radius:5px;background:#fff0f3;color:#a92743;padding:6px 9px;font:inherit;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}body .report-page .report-finish-game:disabled{opacity:.6;cursor:wait}@media print{body .report-page .report-finish-game{display:none!important}}

body .report-page .game-section-heading h2{display:flex;align-items:center;gap:7px}
body .report-page .pool-ball{display:block;flex:none;width:20px;height:20px;object-fit:contain}
body .report-page .team-cycle-divider{display:flex;align-items:center;gap:10px;padding:5px 12px;background:#f0f5fc;color:#607b9c;font-size:10px;line-height:1.2;border-top:1px solid #c5d5eb}
body .report-page .team-cycle-divider::after{content:'';height:1px;flex:1;background:#d3dff0}
@media print{body .report-page .team-cycle-divider{padding:1mm 2mm;font-size:6pt}body .report-page .pool-ball{width:4mm;height:4mm}}
