@media print {
  @page {
    size: A4 landscape;
    margin: 10mm 10mm 10mm 10mm;
  }

  /* Root reset — remove all scroll and fixed height constraints */
  html, body {
    background: white !important;
    color: black !important;
    font-size: 10px !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Hide all chrome */
  [data-sidebar],
  [data-header-actions],
  [data-settings-dropdown],
  [data-settings-gear],
  [data-calendar-toolbar],
  [data-no-print],
  [data-modal-overlay],
  [data-toast-wrapper],
  nav,
  header:not([data-print-header]),
  footer {
    display: none !important;
  }

  /* Show print header */
  [data-print-header] {
    display: block !important;
    margin-bottom: 6mm !important;
  }

  /* Unlock all flex/grid parents so content can expand */
  [data-app-shell],
  [data-app-shell] > *,
  main,
  main > div,
  main > div > div {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    position: static !important;
  }

  /* Calendar container — no fixed height */
  [data-calendar-container] {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    position: static !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Calendar grid inner — expand to show ALL hours */
  [data-calendar-grid] {
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: none !important;
    display: block !important;
  }

  /* Calendar white card border — remove rounded corners, overflow hidden */
  [data-calendar-container] .bg-white.rounded-2xl {
    border-radius: 0 !important;
    overflow: visible !important;
    border: 1px solid #d1d5db !important;
  }

  /* Tables — natural size, thinner borders */
  [data-calendar-grid] table {
    width: 100% !important;
    height: auto !important;
    border-collapse: collapse !important;
    page-break-inside: auto;
  }

  [data-calendar-grid] thead {
    position: static !important;
    display: table-header-group !important;
  }

  [data-calendar-grid] tr {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Compact row height so entire day fits */
  [data-calendar-grid] td,
  [data-calendar-grid] th {
    padding: 2px 4px !important;
    border-color: #e5e7eb !important;
  }

  /* Event pills — preserve colors */
  [data-calendar-event],
  [data-allday-event],
  [data-staff-dot] {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Hide scrollbars */
  ::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  /* Page-level title spacing */
  h1, h2, h3 {
    break-after: avoid;
  }
}
