/* print.css — dedicated print stylesheet (SPEC §5.7): a clean guest-list /
   check-in sheet and a per-table seating list, readable on paper with no app
   chrome. Loaded only for the print media (see index.html's
   <link media="print">) so it never affects on-screen rendering or Gate-4
   perf. Status is conveyed by plain text only here — never color — since
   most printers render grayscale; the check-in sheet only ever lists
   Attending guests (the only status a check-in sheet needs), so there is
   nothing color-coded to lose. System fonts only (Georgia/Arial) — printing
   doesn't need the self-hosted webfonts and this keeps print rendering fast
   and dependency-free. */

@media print {
  @page { margin: 14mm 12mm; }

  * { box-shadow: none !important; text-shadow: none !important; background: #fff !important; color: #111 !important; }

  body > *:not(#print-root) { display: none !important; }
  #print-root { display: block !important; }
  #print-root, #print-root * { visibility: visible; }

  body { font-family: Georgia, "Times New Roman", serif; font-size: 11pt; line-height: 1.4; margin: 0; padding: 0; }

  .print-title { font-family: Georgia, serif; font-size: 20pt; font-weight: 400; margin: 0 0 4pt; letter-spacing: 0.01em; }
  .print-sub { font-family: Arial, Helvetica, sans-serif; font-size: 9.5pt; color: #333 !important; margin: 0 0 12pt; }

  .print-table { width: 100%; border-collapse: collapse; margin-bottom: 20pt; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; }
  .print-table th, .print-table td { border: 0.75pt solid #999; padding: 5pt 7pt; text-align: left; vertical-align: top; }
  .print-table thead th { font-weight: 700; background: #eee !important; }
  .print-table tr { page-break-inside: avoid; }
  .print-check { width: 22pt; text-align: center; font-size: 13pt; }
  .print-tag { display: inline-block; font-size: 8pt; font-weight: 700; border: 0.75pt solid #999; border-radius: 3pt; padding: 1pt 4pt; margin-left: 4pt; }

  .print-table-group { page-break-inside: avoid; margin-bottom: 16pt; }
  .print-table-group h2 { font-family: Georgia, serif; font-size: 14pt; font-weight: 400; border-bottom: 1pt solid #333; padding-bottom: 3pt; margin: 0 0 6pt; }
  .print-seat-list { list-style: none; margin: 0; padding: 0; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; }
  .print-seat-list li { padding: 3pt 0; border-bottom: 0.5pt dotted #bbb; }
  .print-sub-inline { color: #444 !important; font-size: 9pt; }
  .print-empty { font-family: Arial, Helvetica, sans-serif; font-size: 9.5pt; color: #555 !important; font-style: italic; }

  #print-tables { page-break-before: always; }
}
