/* Native browser Print/Share must work without first pressing the export button. */
.route-print-heading { display: none; }
@page { size: A4 portrait; margin: 12mm 14mm 15mm; }
@media print {
  body:has(.driver-board) { margin: 0 !important; background: white !important; font: 9pt Arial, "Microsoft JhengHei", sans-serif; color: #182b49; }
  body:has(.driver-board) * { box-sizing: border-box; -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
  body:has(.driver-board) > :not(main),
  body:has(.driver-board) main > :not(#app),
  body:has(.driver-board) #app > :not(.driver-board),
  .driver-board > :not(.route-section):not(.route-print-heading),
  .driver-board .action-cell,
  .driver-board .route-table th:last-child { display: none !important; }
  body:has(.driver-board) main, body:has(.driver-board) #app, .driver-board {
    display: block !important; width: 100% !important; max-width: none !important; min-width: 0 !important;
    margin: 0 !important; padding: 0 !important; overflow: visible !important;
    border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  }
  .driver-board .route-print-heading { display: block; margin: 0 0 12pt; font-size: 15pt; color: #182b49; }
  .driver-board .route-section {
    padding: 0 !important; margin: 0 0 13px !important; overflow: visible !important;
    border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    break-inside: avoid; page-break-inside: avoid;
  }
  .driver-board .page-break { break-before: page; page-break-before: always; }
  .driver-board .route-title { font-size: 11pt; line-height: 1.25; padding: 7px 9px; break-after: avoid; page-break-after: avoid; }
  .driver-board .table-wrap { width: 100% !important; min-width: 0 !important; overflow: visible !important; }
  .driver-board .route-table { width: 100% !important; min-width: 0 !important; max-width: 100% !important; table-layout: fixed; }
  .driver-board .route-table th, .driver-board .route-table td {
    padding: 4px 6px; font-size: 9pt; line-height: 1.25; height: auto;
    white-space: normal; overflow-wrap: anywhere; word-break: normal; vertical-align: top;
  }
  .driver-board .route-table th:nth-child(1) { width: 12%; }
  .driver-board .route-table th:nth-child(2) { width: 28%; }
  .driver-board .route-table th:nth-child(3) { width: 35%; }
  .driver-board .route-table th:nth-child(4) { width: 25%; }
  .driver-board .route-table thead { display: table-header-group; }
  .driver-board .route-table tr { break-inside: avoid; page-break-inside: avoid; }
}
