@media print {

  /* -----------------------------------------
     HARD RESET — kill ALL backgrounds
     ----------------------------------------- */
  *,
  *::before,
  *::after {
    background: none !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* -----------------------------------------
     Hide EVERYTHING by default
     ----------------------------------------- */
  body > * {
    display: none !important;
  }

  /* -----------------------------------------
     Show ONLY the Fleet Calendar
     ----------------------------------------- */
  #fleetCalendar {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;

    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #fleetCalendar,
  #fleetCalendar * {
    visibility: visible !important;
  }

  /* -----------------------------------------
     Remove UI chrome
     ----------------------------------------- */
  #fleetCalendar .btn,
  #fleetCalendar select {
    display: none !important;
  }

  /* -----------------------------------------
     Calendar layout tuning (single page)
     ----------------------------------------- */
  .calendar-grid {
    gap: 4px !important;
  }

  .calendar-day {
    min-height: 110px !important;
    background: #f8fafc !important;
    border-radius: 6px !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* Day numbers */
  .calendar-day .date {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #000 !important;
  }

  /* Bus pills — KEEP COLOR */
  .bus-badge {
    font-size: 11px !important;
    padding: 3px 8px !important;
    color: #fff !important;
  }

  /* No delete affordance in print */
  .bus-badge::after {
    display: none !important;
  }

  /* -----------------------------------------
     Force ONE PAGE
     ----------------------------------------- */
  @page {
    size: landscape;
    margin: 0.4in;
  }

}
