:root{
  --green:#0b3d2b;
  --gold:#9a6a22;
  --line:#222;
  --soft:#f4f1ea;
  --paper:#fff;
  --text:#111;
}
*{box-sizing:border-box}
html{background:#eee}
body{margin:0;background:#eee;color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:10.2px;line-height:1.18}
a{color:inherit;text-decoration:none}
.ts-print-toolbar{position:sticky;top:0;z-index:20;display:flex;gap:10px;justify-content:center;align-items:center;padding:10px;background:#0b3d2b;color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.ts-print-toolbar a,.ts-print-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:#fff;color:#0b3d2b;font-weight:800;cursor:pointer}
.ts-print-page{width:210mm;min-height:297mm;margin:18px auto;padding:10mm;background:var(--paper);box-shadow:0 10px 40px rgba(0,0,0,.16)}
.ts-print-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:7px;border-bottom:2px solid #111;margin-bottom:8px}
.ts-print-header p{margin:0 0 3px;color:#333;font-size:8.8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.ts-print-header h1{margin:0;color:#111;font-size:21px;line-height:1.05}
.ts-print-header strong{display:block;margin-top:3px;font-size:12px;color:#333}
.ts-print-meta{display:grid;gap:3px;text-align:right;color:#333;font-weight:700}
.ts-print-meta span:first-child{color:#111;font-size:12px}
.ts-print-race{break-inside:avoid;page-break-inside:avoid;margin:0 0 10px;padding:0;background:#fff;border-top:2px solid #111}
.ts-print-race-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:start;padding:6px 0 5px;border-bottom:1px solid #999;margin-bottom:6px}
.ts-print-race-no{display:block;color:#111;font-size:22px;font-weight:900;line-height:1;text-align:left}
.ts-print-race-head p{margin:0 0 2px;color:#333;font-weight:900}
.ts-print-race-head h2{margin:0;color:#111;font-size:15px;line-height:1.13}
.ts-print-race-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.ts-print-race-tags span{padding:2px 6px;border:1px solid #999;border-radius:0;background:#fff;color:#111;font-size:9px;font-weight:800}
.ts-print-race-link{padding:4px 8px;border:1px solid #888;border-radius:0;font-weight:800;white-space:nowrap;font-size:9px}
.ts-print-result{margin:4px 0 7px;padding:5px 7px;border:1px solid #111;background:#f5f5f5;font-weight:800;color:#111}
.ts-print-runner-list{display:grid;gap:5px}
.ts-print-empty{padding:8px;border:1px solid #999;background:#fafafa}
.ts-print-runner-card{display:grid;grid-template-columns:70px 180px minmax(0,1fr);gap:10px;align-items:start;padding:5px 0 6px;border-bottom:1px solid #b8b8b8;break-inside:avoid;page-break-inside:avoid}
.ts-print-runner-left{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;gap:4px 6px;align-items:start}
.ts-print-runner-no{grid-row:1 / span 2;font-size:22px;line-height:1;font-weight:400;color:#111;text-align:left}
.ts-print-silks-wrap{width:34px;height:38px;display:flex;align-items:center;justify-content:center}
.ts-print-silks{max-width:34px;max-height:38px;object-fit:contain}
.ts-print-silks-placeholder{display:grid;place-items:center;width:34px;height:34px;border:1px solid #999;color:#111;text-transform:uppercase;font-size:8px}
.ts-print-box{grid-column:1 / -1;margin-top:2px;font-size:9.5px;text-transform:uppercase;color:#111}
.ts-print-runner-main h3{margin:0;color:#111;font-size:15.5px;line-height:1.06;font-weight:700}
.ts-print-horse-meta{margin:3px 0 6px;color:#111;font-size:8.8px;line-height:1.18}
.ts-print-runner-facts{margin:0;display:grid;gap:1px}
.ts-print-runner-facts div{display:grid;grid-template-columns:54px 1fr;gap:4px}
.ts-print-runner-facts dt{font-size:9.6px;color:#111}
.ts-print-runner-facts dd{margin:0;color:#111;font-size:9.6px;line-height:1.15}
.ts-print-runner-facts dd strong{font-weight:850}
.ts-print-runner-facts dd span{display:block;margin-left:0;color:#111;font-size:9.2px}
.ts-print-form-box{border:1px solid #222;min-height:48px;background:#fff}
.ts-print-form-summary{padding:3px 6px;border-bottom:1px solid #333;text-align:left;font-size:9px;color:#111;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ts-print-no-form{margin:0;padding:7px;color:#333;font-size:9.5px}
.ts-print-form-table{width:100%;border-collapse:collapse;table-layout:fixed}
.ts-print-form-table td{padding:2px 4px;border:0;color:#111;font-size:9.3px;line-height:1.12;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ts-print-form-table tr + tr td{border-top:1px solid #ececec}
.ts-print-form-table .date{width:42px;text-align:right;color:#333}
.ts-print-form-table .track{width:86px}
.ts-print-form-table .pos{width:30px;text-align:center;font-size:11px;font-weight:900}
.ts-print-form-table .weight{width:44px;text-align:right}
.ts-print-form-table .dist{width:50px;text-align:right}
.ts-print-form-table .prize{width:50px;text-align:right;color:#333}
.ts-print-form-table .quote{width:40px;text-align:right;font-weight:800}
.ts-print-form-table .jockey{width:auto;min-width:86px}
.ts-print-form-table .top3{display:none}
.ts-print-notes{display:grid;grid-template-columns:58px 1fr;gap:8px;align-items:end;margin-top:6px;color:#444;font-size:9px}
.ts-print-notes div{height:18px;border-bottom:1px dashed #999}
.ts-print-footer{display:flex;justify-content:space-between;gap:18px;margin-top:14px;padding-top:7px;border-top:1px solid #999;color:#333;font-size:9px}
@media(max-width:800px){.ts-print-page{width:auto;min-height:0;margin:0;padding:12px;box-shadow:none}.ts-print-toolbar{position:static}.ts-print-header{display:block}.ts-print-meta{text-align:left;margin-top:8px}.ts-print-race-head{grid-template-columns:34px 1fr}.ts-print-race-link{grid-column:2}.ts-print-runner-card{grid-template-columns:58px 1fr;gap:8px}.ts-print-form-box{grid-column:1 / -1}.ts-print-runner-main h3{font-size:16px}.ts-print-form-table td{font-size:9px}.ts-print-form-table .date{width:40px}.ts-print-form-table .track{width:68px}.ts-print-form-table .jockey{width:auto}}
@media print{html,body{background:#fff}.ts-print-toolbar{display:none}.ts-print-page{width:auto;min-height:0;margin:0;padding:7mm;box-shadow:none}.ts-print-race{break-inside:avoid;page-break-inside:avoid}.ts-print-runner-card{break-inside:avoid;page-break-inside:avoid}.ts-print-race-link{display:none}a{color:inherit}.ts-print-header,.ts-print-race,.ts-print-result,.ts-print-form-box,.ts-print-form-summary{border-color:#111!important}.ts-print-race-tags span{border-color:#777!important}.ts-print-footer{position:relative}.ts-print-form-table td{font-size:8.8px}.ts-print-runner-card{grid-template-columns:68px 176px minmax(0,1fr);gap:9px;padding:4.5px 0 5.5px}.ts-print-form-summary{font-size:8.7px}.ts-print-runner-main h3{font-size:15px}.ts-print-horse-meta,.ts-print-runner-facts dt,.ts-print-runner-facts dd{font-size:8.8px}}


/* V193: PDF-Ausgabe auf A4 Hochformat fixieren */
@page{
  size:A4 portrait;
  margin:7mm;
}

@media print{
  html,body{
    width:196mm!important;
    max-width:196mm!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
  }

  .ts-print-page{
    width:196mm!important;
    max-width:196mm!important;
    min-width:0!important;
    margin:0 auto!important;
    padding:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  .ts-print-race,
  .ts-print-runner-list,
  .ts-print-runner-card,
  .ts-print-form-box,
  .ts-print-form-table{
    max-width:100%!important;
    overflow:visible!important;
  }

  .ts-print-runner-card{
    grid-template-columns:64px 168px minmax(0,1fr)!important;
    gap:8px!important;
  }

  .ts-print-form-table{
    table-layout:fixed!important;
  }

  .ts-print-form-table td{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

/* V194: Druckumbruch korrigieren - Rennkopf darf nicht allein auf Seite 1 bleiben */
@media print{
  .ts-print-page{
    display:block!important;
  }

  .ts-print-header{
    break-after:avoid!important;
    page-break-after:avoid!important;
    margin-bottom:5px!important;
  }

  .ts-print-race{
    break-inside:auto!important;
    page-break-inside:auto!important;
    margin-top:0!important;
  }

  .ts-print-race-head{
    break-after:avoid!important;
    page-break-after:avoid!important;
    margin-bottom:4px!important;
  }

  .ts-print-runner-list{
    break-inside:auto!important;
    page-break-inside:auto!important;
  }

  .ts-print-runner-card{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  .ts-print-runner-card:first-child{
    break-before:avoid!important;
    page-break-before:avoid!important;
  }
}


/* V195: PDF kompakter und Gewichte ohne Kürzung */
@media print{
  .ts-print-runner-list{
    gap:3px!important;
  }

  .ts-print-runner-card{
    padding:3.2px 0 4px!important;
    grid-template-columns:60px 164px minmax(0,1fr)!important;
    gap:7px!important;
  }

  .ts-print-runner-main h3{
    font-size:14.2px!important;
    line-height:1.02!important;
  }

  .ts-print-horse-meta{
    margin:2px 0 4px!important;
    font-size:8.2px!important;
    line-height:1.12!important;
  }

  .ts-print-runner-facts{
    gap:0!important;
  }

  .ts-print-runner-facts div{
    grid-template-columns:48px 1fr!important;
    gap:3px!important;
  }

  .ts-print-runner-facts dt,
  .ts-print-runner-facts dd{
    font-size:8.25px!important;
    line-height:1.08!important;
  }

  .ts-print-runner-facts dd span{
    font-size:8.25px!important;
    line-height:1.08!important;
  }

  .ts-print-silks-wrap{
    width:30px!important;
    height:34px!important;
  }

  .ts-print-silks{
    max-width:30px!important;
    max-height:34px!important;
  }

  .ts-print-box{
    font-size:8.2px!important;
  }

  .ts-print-form-summary{
    padding:2px 5px!important;
    font-size:8.1px!important;
    line-height:1.08!important;
  }

  .ts-print-form-table td{
    padding:1.6px 3px!important;
    font-size:8.05px!important;
    line-height:1.08!important;
  }

  .ts-print-form-table .date{width:38px!important;}
  .ts-print-form-table .track{width:66px!important;}
  .ts-print-form-table .pos{width:24px!important;}
  .ts-print-form-table .weight{
    width:56px!important;
    min-width:56px!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }
  .ts-print-form-table .dist{width:42px!important;}
  .ts-print-form-table .prize{width:30px!important;}
  .ts-print-form-table .quote{width:34px!important;}
  .ts-print-form-table .jockey{width:auto!important;}

  .ts-print-notes{
    margin-top:4px!important;
  }

  .ts-print-footer{
    margin-top:8px!important;
    padding-top:5px!important;
  }
}

/* V196: PDF-Speichern erzwingt Desktop-Drucklayout statt Mobile-Umbruch */
@media print{
  /* Einige Browser wenden beim PDF-Speichern zusätzlich die max-width:800px-Regeln an.
     Deshalb hier alle mobilen Druckregeln ausdrücklich zurücksetzen. */
  .ts-print-header{
    display:flex!important;
  }

  .ts-print-meta{
    text-align:right!important;
    margin-top:0!important;
  }

  .ts-print-race-head{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) auto!important;
  }

  .ts-print-runner-card{
    display:grid!important;
    grid-template-columns:60px 164px minmax(0,1fr)!important;
    gap:7px!important;
    align-items:start!important;
  }

  .ts-print-form-box{
    grid-column:auto!important;
    width:100%!important;
    min-width:0!important;
  }

  .ts-print-race-link{
    grid-column:auto!important;
  }

  .ts-print-form-table{
    width:100%!important;
    table-layout:fixed!important;
  }

  .ts-print-form-table td{
    white-space:nowrap!important;
  }

  .ts-print-form-table .weight{
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  .ts-print-form-table .jockey{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}
