@media print {
  html, body {
    height: auto !important;
    overflow: visible !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Flatten layout */
  .container, .container-fluid, .row, [class*="col-"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Cards/gráficos não devem recortar conteúdo */
  .card, .card-body {
    box-shadow: none !important;
    overflow: visible !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Gráficos */
  canvas, .graficoHere {
    margin-left: 2% !important;
  }

  /* Árvore (remover clipping) */
  .conteudoTree, .treemain {
    overflow: visible !important;
    max-width: none !important;
    max-height: none !important;
  }

  /* Remover elementos que não devem imprimir */
  .exportPngBtn, .openJanela, nav, .sidebar, .fixed-table-toolbar, .openJanela, .fst-button,
  /* Oculta o widget de feedback explicitamente no print */
  #feedback, #feedback-form, #feedback-tab {
    display: none !important;
    visibility: hidden !important;
  }

  /* Evitar cortes por transform/posicionamentos fixos */
  [style*="transform"] { transform: none !important; }
  .fixed-top, .sticky-top, [style*="position: fixed"] { position: static !important; }

  /* Tabelas: evitar cortes entre páginas e remover scroll/altura fixa dos wrappers */
  .table, table {
    page-break-inside: auto !important;
  }
  thead { display: table-header-group !important; }
  tfoot { display: table-footer-group !important; }
  tr {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Bootstrap table (fixed header) */
  .table-responsive,
  .bootstrap-table .fixed-table-container,
  .bootstrap-table .fixed-table-body {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }
  .bootstrap-table .fixed-table-header,
  .bootstrap-table .fht-cell {
    display: none !important;
  }
  .bootstrap-table .fixed-table-body .table {
    width: 100% !important;
    table-layout: auto !important;
  }
  /* Cabeçalho interno do plugin deve imprimir como texto normal */
  th .th-inner {
    position: static !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  /* Remover espaço deixado pela sidebar ao imprimir */
  #layoutSidenav {
    display: block !important;
  }
  #layoutSidenav #layoutSidenav_nav,
  .sb-nav-fixed #layoutSidenav #layoutSidenav_nav {
    display: none !important;
    width: 0 !important;
  }
  #layoutSidenav #layoutSidenav_content,
  .sb-nav-fixed #layoutSidenav #layoutSidenav_content {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
  }
  .sb-nav-fixed #layoutSidenav #layoutSidenav_content:before {
    display: none !important;
  }
  /* Centralizar cartões/gráficos após remover a coluna da sidebar */
  .card {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}