@media print {
  html, body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    height: auto !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  .sidebar, .mobile-header, .overlay, .notice-board, .copyright,
  .modal-overlay, .toast {
    display: none !important;
  }

  .preview-wrapper {
    margin: 0 !important;
    padding: 0 !important;
    min-height: auto !important;
    display: block !important;
    overflow: visible !important;
  }

  .preview {
    display: block !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .page {
    margin: 0 auto !important;
    padding: var(--pagePadding) !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    page-break-after: always !important;
    page-break-inside: avoid !important;
    transform: translate(var(--offsetX), var(--offsetY)) !important;
    min-height: auto !important;
  }
  .page:last-child { page-break-after: auto !important; }
}