/* ==========================================================================
   INVOICEFLOW — PRINT STYLESHEET (print.css)
   Optimized for A4 paper printing and browser "Save to PDF".
   ========================================================================== */

@media print {
  /* Hide non-printable web chrome and UI controls */
  .site-header,
  .site-footer,
  .generator-toolbar,
  .editor-panel,
  .design-customization-card,
  .mobile-view-tabs,
  .preview-header-bar,
  .zoom-toolbar,
  .draft-restore-banner,
  .btn-remove-logo,
  .items-empty-state,
  .toast-container,
  .modal-backdrop,
  .data-privacy-card,
  .numbering-settings-box,
  .skip-link,
  .btn,
  .hero-section,
  .section,
  nav {
    display: none !important;
  }

  /* Reset layout containers for standard paper flow */
  html, body {
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 10pt !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: auto !important;
  }

  .generator-workspace {
    padding: 0 !important;
    background: #ffffff !important;
  }

  .container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .workspace-grid {
    display: block !important;
  }

  .preview-panel {
    display: block !important;
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .preview-viewport {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
  }

  .invoice-paper {
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    min-height: auto !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Retain template branding bands and accents in print */
  .template-corporate .invoice-paper-header {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Prevent awkward page breaks inside rows and structural blocks */
  .paper-items-table tr {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .paper-items-table .paper-item-qty,
  .paper-items-table .paper-item-rate,
  .paper-items-table .paper-item-amount,
  .paper-total-row span:last-child {
    font-variant-numeric: tabular-nums !important;
    white-space: nowrap !important;
  }

  .paper-totals-wrapper,
  .paper-payment-box,
  .paper-footer-notes,
  .invoice-paper-header {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Ensure links are printed cleanly without URL annotations */
  a[href]::after {
    content: "" !important;
  }

  /* Page definition */
  @page {
    size: A4 portrait;
    margin: 15mm;
  }
}
