.training-summary-view{width:min(1400px,calc(100vw - 24px));height:min(94dvh,1100px);display:flex;flex-direction:column;background:#f5f7fb;color:var(--ink)}
.ts-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;background:white;border-bottom:1px solid var(--line)}
.ts-header h1{font-size:22px;margin:4px 0}
.ts-header p{color:var(--muted);font-size:12px}
.ts-actions{display:flex;align-items:center;gap:8px}
.ts-actions .close{position:static}
.ts-content{overflow:auto;padding:16px;flex:1}
.ts-overview{display:flex;flex-wrap:wrap;gap:16px;padding:11px 16px;background:white;border-radius:10px;margin-bottom:12px;font-size:12px}
.ts-notes{margin:0 0 12px;font-size:12px;color:#4f5d74}
.ts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.ts-grid.ts-many{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ts-grid.ts-xmany{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.ts-grid>.ts-empty{grid-column:1/-1}
.ts-empty{margin:0;color:var(--muted);font-size:12px}
.ts-exercise{background:white;border:1px solid var(--line);border-radius:11px;padding:12px}
.ts-exercise-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}
.ts-exercise-head h2{font-size:15px}
.ts-exercise-head span{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--blue)}
.ts-exercise>p{margin:0 0 8px;font-size:11px;color:#5b6880}
.ts-exercise-body{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}
.ts-pitch{display:block;height:150px;width:auto;max-width:100%;aspect-ratio:100/65;border-radius:7px}
.ts-noboard{display:flex;align-items:center;justify-content:center;height:150px;width:auto;max-width:100%;aspect-ratio:100/65;padding:8px;border:1px dashed var(--line);border-radius:7px;background:#fafbfe;color:var(--muted);font-size:11px;text-align:center}
.ts-grid.ts-many .ts-pitch{height:112px}
.ts-teams h3{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ts-teams section{margin:0 0 8px}
.ts-teams h4{display:flex;align-items:center;gap:6px;margin:0 0 3px;font-size:11px}
.ts-teams h4 i{width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.ts-teams p{margin:0;font-size:10.5px;line-height:1.55;color:#42506b}
@media(max-width:1100px){.ts-grid,.ts-grid.ts-many,.ts-grid.ts-xmany{grid-template-columns:1fr}}
@media(max-width:680px){.training-summary-view{width:100%;height:100dvh}.ts-header{padding:12px;align-items:flex-start;flex-direction:column}.ts-header h1{font-size:18px}.ts-actions{width:100%}.ts-content{padding:9px}.ts-exercise-body{grid-template-columns:1fr;gap:8px}.ts-pitch,.ts-grid.ts-many .ts-pitch{height:auto;width:100%}.ts-overview{gap:8px;font-size:11px}.ts-exercise{padding:10px}}
/* ---------- IMPRESIÓN: documento ordenado en A4 vertical ----------
   Un bloque por ejercicio (título, minutos, descripción, pizarra y equipos),
   en el mismo orden de la sesión. Todo debe caber en un solo folio; si el
   contenido es mayor se escala para ajustarse. */
@media print{
  @page{size:A4 portrait;margin:6mm 8mm 6mm}
  html,body{margin:0!important;padding:0!important;background:#fff!important;color:#111!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body:has(.training-summary-view) #root,body:has(.training-summary-view) #toast{display:none!important}
  body:has(.training-summary-view) dialog#modal{display:block!important;position:static!important;inset:auto!important;width:auto!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;background:#fff!important}
  dialog#modal::backdrop{display:none!important}
  .training-summary-view{display:block!important;width:auto!important;height:auto!important;max-height:none!important;overflow:visible!important;background:#fff!important;color:#111!important;font-size:9pt!important}
 
  /* Cabecera del informe */
  .ts-header{display:block!important;padding:0 0 2mm!important;margin:0 0 3mm!important;background:#fff!important;border-bottom:1.4pt solid #2347d8!important}
  .ts-header .eyebrow{display:block!important;font-size:7pt!important;letter-spacing:.14em!important;color:#2347d8!important;font-weight:700!important}
  .ts-header h1{font-size:15pt!important;line-height:1.15!important;margin:1mm 0 .6mm!important;color:#111!important}
  .ts-header p{font-size:8pt!important;margin:0!important;color:#555!important}
  .ts-actions{display:none!important}
 
  .ts-content{padding:0!important;overflow:visible!important;display:block!important}
 
  /* Datos de la sesión */
  .ts-overview{display:flex!important;flex-wrap:wrap!important;gap:1.5mm 6mm!important;padding:1.5mm 2.5mm!important;margin:0 0 2.5mm!important;font-size:8pt!important;background:#f2f5fb!important;border:0!important;border-radius:1.5mm!important;color:#123!important}
  .ts-overview strong,.ts-overview span{font-size:8pt!important;color:#123!important}
  .ts-overview strong{color:#2347d8!important}
  .ts-notes{margin:0 0 3mm!important;padding:0 0 0 2.5mm!important;font-size:8pt!important;line-height:1.35!important;color:#333!important;border-left:2pt solid #c9d2e3!important}
 
  /* Ejercicios en una sola columna, siempre en orden */
  .ts-grid,.ts-grid.ts-many,.ts-grid.ts-xmany{display:block!important;grid-template-columns:none!important;gap:0!important}
  .ts-exercise,.ts-grid.ts-many .ts-exercise,.ts-grid.ts-xmany .ts-exercise{display:block!important;break-inside:avoid!important;page-break-inside:avoid!important;background:#fff!important;border:.6pt solid #c2cbdc!important;border-radius:1.5mm!important;padding:2mm 2.5mm!important;margin:0 0 2.5mm!important}
  .ts-exercise-head,.ts-grid.ts-many .ts-exercise-head,.ts-grid.ts-xmany .ts-exercise-head{display:flex!important;justify-content:space-between!important;align-items:baseline!important;gap:3mm!important;margin:0 0 1.2mm!important;padding:0 0 1mm!important;border-bottom:.5pt solid #e3e8f1!important}
  .ts-exercise-head h2,.ts-grid.ts-many .ts-exercise-head h2,.ts-grid.ts-xmany .ts-exercise-head h2{font-size:10.5pt!important;line-height:1.15!important;margin:0!important;color:#111!important}
  .ts-exercise-head span,.ts-grid.ts-many .ts-exercise-head span,.ts-grid.ts-xmany .ts-exercise-head span{flex:0 0 auto!important;font-size:8pt!important;font-weight:700!important;color:#2347d8!important}
  .ts-exercise>p,.ts-grid.ts-many .ts-exercise>p,.ts-grid.ts-xmany .ts-exercise>p{font-size:7.6pt!important;line-height:1.35!important;margin:0 0 1.5mm!important;color:#333!important}
 
  /* Pizarra a la izquierda y equipos a la derecha */
  .ts-exercise-body,.ts-grid.ts-many .ts-exercise-body,.ts-grid.ts-xmany .ts-exercise-body{display:grid!important;grid-template-columns:75mm minmax(0,1fr)!important;gap:3mm!important;align-items:start!important}
  .ts-pitch,.ts-grid.ts-many .ts-pitch,.ts-grid.ts-xmany .ts-pitch{display:block!important;width:75mm!important;height:48.75mm!important;max-width:100%!important;border-radius:1mm!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .ts-noboard,.ts-grid.ts-many .ts-noboard,.ts-grid.ts-xmany .ts-noboard{display:flex!important;width:75mm!important;height:48.75mm!important;border:.6pt dashed #c2cbdc!important;border-radius:1mm!important;background:#fafbfe!important;color:#8a94a8!important;font-size:7.5pt!important}
  .ts-teams{padding-top:.3mm!important}
  .ts-exercise-side{display:flex!important;flex-direction:column!important;gap:2mm!important;height:48.75mm!important}
  .ts-desc{flex:1 1 0!important;margin:0!important;font-size:7.6pt!important;line-height:1.35!important;color:#333!important}
  .ts-teams{flex:1 1 0!important}
  .ts-teams h3{font-size:6pt!important;letter-spacing:.1em!important;margin:0 0 1mm!important;color:#7a869c!important;text-transform:uppercase!important}
  .ts-teams section{margin:0 0 1.5mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .ts-teams h4,.ts-grid.ts-many .ts-teams h4,.ts-grid.ts-xmany .ts-teams h4{display:flex!important;align-items:center!important;gap:1.2mm!important;font-size:7.6pt!important;margin:0 0 .5mm!important;color:#111!important}
  .ts-teams h4 i{width:2mm!important;height:2mm!important;border-radius:50%!important;flex:0 0 auto!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .ts-teams p,.ts-grid.ts-many .ts-teams p,.ts-grid.ts-xmany .ts-teams p{font-size:7.2pt!important;line-height:1.35!important;color:#222!important;margin:0!important}
  .ts-empty{font-size:9pt!important;color:#666!important}
}
/* Compact layout used for measuring before scaling (mirrors print) */
.training-summary-view.ts-compact{font-size:9pt}
.training-summary-view.ts-compact .ts-header{padding:0 0 2mm;margin:0 0 3mm;border-bottom:1.4pt solid #2347d8}
.training-summary-view.ts-compact .ts-header h1{font-size:15pt;line-height:1.15;margin:1mm 0 .6mm}
.training-summary-view.ts-compact .ts-header p{font-size:8pt;margin:0}
.training-summary-view.ts-compact .ts-content{padding:0}
.training-summary-view.ts-compact .ts-overview{gap:1.5mm 6mm;padding:1.5mm 2.5mm;margin:0 0 2.5mm;font-size:8pt}
.training-summary-view.ts-compact .ts-overview strong,.training-summary-view.ts-compact .ts-overview span{font-size:8pt}
.training-summary-view.ts-compact .ts-notes{margin:0 0 3mm;padding:0 0 0 2.5mm;font-size:8pt;line-height:1.35}
.training-summary-view.ts-compact .ts-grid,.training-summary-view.ts-compact .ts-grid.ts-many,.training-summary-view.ts-compact .ts-grid.ts-xmany{display:block;gap:0}
.training-summary-view.ts-compact .ts-exercise,.training-summary-view.ts-compact .ts-grid.ts-many .ts-exercise,.training-summary-view.ts-compact .ts-grid.ts-xmany .ts-exercise{border:.6pt solid #c2cbdc;border-radius:1.5mm;padding:2mm 2.5mm;margin:0 0 2.5mm}
.training-summary-view.ts-compact .ts-exercise-head{gap:3mm;margin:0 0 1.2mm;padding:0 0 1mm;border-bottom:.5pt solid #e3e8f1}
.training-summary-view.ts-compact .ts-exercise-head h2{font-size:10.5pt;line-height:1.15;margin:0}
.training-summary-view.ts-compact .ts-exercise-head span{font-size:8pt}
.training-summary-view.ts-compact .ts-exercise>p{font-size:7.6pt;line-height:1.35;margin:0 0 1.5mm}
.training-summary-view.ts-compact .ts-exercise-body{grid-template-columns:75mm minmax(0,1fr);gap:3mm}
.training-summary-view.ts-compact .ts-pitch,.training-summary-view.ts-compact .ts-grid.ts-many .ts-pitch,.training-summary-view.ts-compact .ts-grid.ts-xmany .ts-pitch{width:75mm;height:48.75mm}
.training-summary-view.ts-compact .ts-teams h3{font-size:6pt;margin:0 0 1mm}
.training-summary-view.ts-compact .ts-teams section{margin:0 0 1.5mm}
.training-summary-view.ts-compact .ts-teams h4{font-size:7.6pt;margin:0 0 .5mm}
.training-summary-view.ts-compact .ts-teams p{font-size:7.2pt;line-height:1.35;margin:0}
.training-summary-view.ts-compact .ts-exercise-side{display:flex;flex-direction:column;gap:2mm;height:48.75mm}
.training-summary-view.ts-compact .ts-desc{flex:1 1 0;margin:0;font-size:7.6pt;line-height:1.35;color:#333}
.training-summary-view.ts-compact .ts-teams{flex:1 1 0}
