@media print {
  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  * {
    visibility: visible !important;
  }
  .MuiDataGrid-topContainer,
  .MuiDataGrid-row--borderBottom {
    width: 100% !important;
  }
  .MuiDataGrid-columnHeaders {
    background-color: #f5f5f5 !important;
    display: table-header-group !important;
    width: 100% !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .MuiDataGrid-scrollbarFiller,
  .MuiDataGrid-cell.MuiDataGrid-cellEmpty,
  .MuiDataGrid-cellEmpty,
  .MuiDataGrid-scrollbarFiller.MuiDataGrid-scrollbarFiller--header,
  .MuiDataGrid-columnSeparator.MuiDataGrid-columnSeparator--sideRight,
  .MuiDataGrid-columnHeader--detailPanelToggle,
  .MuiDataGrid-detailPanelToggleCell,
  .MuiDataGrid-filler,
  .MuiDataGrid-scrollbar,
  .MuiDataGrid-detailPanel,
  .MuiDataGrid-row--detailPanel,
  .MuiDataGrid-columnHeaders [data-field="__detail_panel_toggle__"],
  .MuiDataGrid-row [data-field="__detail_panel_toggle__"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
  }
  .MuiDataGrid-virtualScrollerRenderZone {
    display: block !important;
    overflow: visible !important;
  }
  .MuiDataGrid-footerContainer {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
  }
  .MuiDataGrid-root {
    border: 1px solid #ccc !important;
    font-size: 8pt !important;
    box-sizing: border-box !important;
    height: auto !important;
    width: 100% !important;
    border-collapse: collapse !important;
    overflow: visible !important;
    display: table !important;
    table-layout: auto !important;
  }

  .MuiDataGrid-root .MuiDataGrid-main {
    overflow: visible !important;
  }
  .MuiDataGrid-columnHeader,
  .MuiDataGrid-cell {
    border-bottom: 1px solid #ccc !important;
    border-right: 1px solid #ccc !important;
    padding: 2px 4px !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word;
    display: table-cell !important;
    height: auto !important;
  }

  .MuiDataGrid-virtualScroller,
  .MuiDataGrid-topContainer,
  .MuiDataGrid-virtualScrollerRenderZone {
    overflow: visible !important;
    display: table-row-group !important;
    width: 100% !important;
    position: static !important;
    transform: none !important;
  }
  .MuiDataGrid-row {
    display: table-row !important;
    width: 100% !important;
  }

  /* Add explicit width for TableContainer and related elements */
  .MuiTableContainer-root {
    width: 100% !important;
    min-height: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    page-break-inside: auto !important;
  }

  .MuiTable-root {
    width: 100% !important;
    table-layout: fixed !important;
  }

  /* Ensure DataGrid maintains width in print */
  .MuiDataGrid-root {
    border: 1px solid #ccc !important;
    font-size: 8pt !important;
    box-sizing: border-box !important;
    height: auto !important;
    width: 100% !important;
    border-collapse: collapse !important;
    overflow: visible !important;
    display: table !important;
    table-layout: auto !important;
  }
}

/* ...existing code... */

body {
  overscroll-behavior: none;
}

@media screen and (max-width: 80vw) {
  body {
    overscroll-behavior: contain;
  }
}
