/**
 * Roster Builder — Print Stylesheet
 *
 * @media print rules for printable team sheet.
 * Landscape A4/Letter, high-contrast B&W, no site chrome.
 *
 * @since Phase 12
 */

/* ── Screen: hide the print sheet ──────────────────── */
.rb-print-sheet {
  display: none;
}

/* ── Print rules ───────────────────────────────────── */
@media print {
  @page {
    size: landscape;
    margin: 10mm;
  }

  /* Hide everything except the print sheet */
  body * {
    visibility: hidden;
  }
  .rb-print-sheet,
  .rb-print-sheet * {
    visibility: visible;
  }
  .rb-print-sheet {
    display: block !important;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff !important;
    color: #000 !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10pt;
    line-height: 1.3;
  }

  /* Prevent page break inside table rows */
  .rb-print__row {
    page-break-inside: avoid;
  }

  /* ── Header ────────────────────────────────────── */
  .rb-print__header {
    display: flex;
    align-items: center;
    gap: 12pt;
    border-bottom: 2pt solid #000;
    padding-bottom: 6pt;
    margin-bottom: 8pt;
  }

  .rb-print__logo {
    width: 48pt;
    height: 48pt;
    object-fit: contain;
  }

  .rb-print__title {
    flex: 1;
  }

  .rb-print__team-name {
    font-size: 18pt;
    font-weight: 700;
    margin: 0;
    color: #000;
  }

  .rb-print__race {
    font-size: 11pt;
    text-transform: capitalize;
    color: #333;
  }

  .rb-print__record {
    font-size: 14pt;
    font-weight: 700;
    letter-spacing: 1pt;
  }

  /* ── Player Table ──────────────────────────────── */
  .rb-print__table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 8pt;
  }

  .rb-print__table th {
    background: #222 !important;
    color: #fff !important;
    font-size: 8pt;
    font-weight: 700;
    text-transform: uppercase;
    padding: 3pt 4pt;
    text-align: left;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .rb-print__table td {
    padding: 3pt 4pt;
    border-bottom: 0.5pt solid #ccc;
    font-size: 9pt;
    vertical-align: middle;
  }

  /* Stat columns: center + narrow */
  .rb-print__table th:nth-child(n+4):nth-child(-n+8),
  .rb-print__table td:nth-child(n+4):nth-child(-n+8) {
    text-align: center;
    width: 28pt;
  }

  /* # column: narrow */
  .rb-print__table th:first-child,
  .rb-print__table td:first-child {
    width: 20pt;
    text-align: center;
  }

  /* Skills column: wider */
  .rb-print__skills {
    font-size: 8pt;
    max-width: 160pt;
    word-wrap: break-word;
  }

  /* MNG / Niggling row indicators */
  .rb-print__row--mng td:first-child::after {
    content: " (MNG)";
    font-size: 7pt;
    color: #666;
  }

  .rb-print__row--ni td:first-child::after {
    content: " (NI)";
    font-size: 7pt;
    color: #666;
  }

  /* Blank journeyman rows */
  .rb-print__row--blank {
    height: 18pt;
  }

  .rb-print__row--blank td {
    border-bottom: 0.5pt dashed #ccc;
  }

  /* Alternating row shading */
  .rb-print__table tbody tr:nth-child(even):not(.rb-print__row--blank) {
    background: #f5f5f5 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* ── Team Summary ──────────────────────────────── */
  .rb-print__summary {
    display: flex;
    gap: 24pt;
    border-top: 1pt solid #000;
    padding-top: 6pt;
    margin-bottom: 6pt;
  }

  .rb-print__summary-col {
    flex: 1;
  }

  .rb-print__item {
    font-size: 9pt;
    margin-bottom: 2pt;
  }

  .rb-print__item span {
    color: #555;
  }

  .rb-print__item strong {
    color: #000;
  }

  /* ── Footer ────────────────────────────────────── */
  .rb-print__footer {
    display: flex;
    justify-content: space-between;
    font-size: 7pt;
    color: #999;
    border-top: 0.5pt solid #ccc;
    padding-top: 4pt;
    margin-top: 4pt;
  }
}
