/* ============================================================================
   COLORJET ERP — Centralized A4 Print System v2
   Loaded only during printing: <link rel="stylesheet" href="/print/colorjet-print.css" media="print">
   ============================================================================ */

/* ── Page setup ──────────────────────────────────────────────────────── */
@page {
  size: A4 portrait;
  margin: 16mm 12mm 18mm 12mm;
}
@page landscape { size: A4 landscape; margin: 10mm 12mm; }

/* ── Global print reset ──────────────────────────────────────────────── */
html, body {
  background: #fff !important;
  color: #000 !important;
  font-family: "Inter", "Segoe UI", Arial, sans-serif !important;
  font-size: 10pt !important;
  line-height: 1.4 !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* ── Hide interactive ERP chrome ─────────────────────────────────────── */
.no-print, .noprint, [data-no-print],
nav, aside, .sidebar, .navbar,
.app-header, .top-header, .mobile-sidebar, .mobile-toggle,
header:not(.cj-print-header):not(.cj-document-header),
button:not(.print-keep),
.MuiButton-root:not(.print-keep),
.MuiDrawer-root, .MuiSpeedDial-root, .MuiTooltip-popper,
.MuiTablePagination-root, .MuiDataGrid-toolbarContainer,
.swal2-container, #cjInstallBar,
.floating-btn, .action-btn,
.header-branch-btn, .header-logout-btn,
.cj-portal-banner, .cj-portal-kpi,
.cj-portal-machines, .cj-portal-servicedesk,
.cj-enterprise-nav, .cj-page-tabs, .cj-quick-actions,
#cj-whatsapp-support {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ── COLORJET Letterhead header ──────────────────────────────────────── */
.cj-print-header {
  display: block !important;
  border-bottom: 1.5pt solid #1565C0;
  padding-bottom: 4mm;
  margin-bottom: 5mm;
  overflow: hidden;
}
.cj-print-header .cj-logo {
  height: 18mm;
  width: auto;
  object-fit: contain;
  float: left;
  margin-right: 6mm;
}
.cj-print-header .cj-company  { font-size: 15pt; font-weight: 700; color: #1565C0; }
.cj-print-header .cj-tagline  { font-size: 8pt; color: #F57C20; font-style: italic; }
.cj-print-header .cj-address  { font-size: 8.5pt; color: #444; }
.cj-print-header::after        { content: ""; display: block; clear: both; }

/* ── Document title block ────────────────────────────────────────────── */
.cj-print-title {
  text-align: center;
  font-size: 13pt;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5pt;
  margin: 3mm 0 4mm;
  padding-bottom: 1.5mm;
  border-bottom: .6pt solid #999;
}

/* ── Footer ──────────────────────────────────────────────────────────── */
.cj-print-footer {
  display: block !important;
  border-top: .5pt solid #bbb;
  padding-top: 2mm;
  margin-top: 6mm;
  font-size: 7.5pt;
  color: #666;
  overflow: hidden;
}
.cj-print-footer .cj-left  { float: left; }
.cj-print-footer .cj-right { float: right; }
.cj-print-footer::after     { content: ""; display: block; clear: both; }

/* ── Signature block ─────────────────────────────────────────────────── */
.cj-signatures          { margin-top: 14mm; width: 100%; page-break-inside: avoid; }
.cj-signatures td {
  width: 25%;
  text-align: center;
  font-size: 8.5pt;
  padding-top: 1.5mm;
  border-top: .6pt solid #333;
  vertical-align: top;
}

/* ── Printable document areas ────────────────────────────────────────── */
#cj-customer-statement-print-area,
.cj-statement-printable,
.print-source,
.printable-document,
.cj-invoice-print-area,
.cj-ledger-print-area,
.cj-voucher-print-area,
.invoice-print-wrapper {
  display: block !important;
  visibility: visible !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* ── Tables ──────────────────────────────────────────────────────────── */
table {
  width: 100% !important;
  border-collapse: collapse !important;
  page-break-inside: auto !important;
  margin-top: 3mm;
}
thead { display: table-header-group !important; }
tfoot { display: table-footer-group !important; }
tr    { page-break-inside: avoid !important; page-break-after: auto !important; }
th, td {
  border: .5pt solid #aaa !important;
  padding: 1.5mm 2mm !important;
  font-size: 9pt !important;
  color: #0f172a !important;
}
th {
  background: #E3F2FD !important;
  color: #0D47A1 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 8.5pt !important;
  text-align: left !important;
}

/* ── Money & qty columns ─────────────────────────────────────────────── */
td.amount, th.amount, td.qty, th.qty,
td[data-type="money"], td[data-type="number"] {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
}
.cj-total-row td { font-weight: 700 !important; background: #F5F5F5 !important; }

/* ── Customer Ledger layout ──────────────────────────────────────────── */
.cj-ledger th:nth-child(1), .cj-ledger td:nth-child(1) { width: 10%; }
.cj-ledger th:nth-child(2), .cj-ledger td:nth-child(2) { width: 12%; }
.cj-ledger th:nth-child(3), .cj-ledger td:nth-child(3) { width: 10%; }
.cj-ledger th:nth-child(4), .cj-ledger td:nth-child(4) { width: 34%; }
.cj-ledger th:nth-child(n+5), .cj-ledger td:nth-child(n+5) {
  width: 11%; text-align: right !important; font-variant-numeric: tabular-nums;
}
.cj-opening-balance td,
.cj-closing-balance td { font-weight: 700 !important; background: #FAFAFA !important; }

/* ── Sales Invoice specific ──────────────────────────────────────────── */
.invoice-header-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 4mm !important;
  margin-bottom: 5mm !important;
}
.invoice-meta-block { font-size: 9pt; }
.invoice-meta-block strong { color: #1565C0; }

/* ── Utilities ───────────────────────────────────────────────────────── */
.cj-landscape         { page: landscape; }
.page-break-before    { page-break-before: always !important; }
.page-break-after     { page-break-after: always !important; }
.avoid-break          { page-break-inside: avoid !important; }
a[href]::after        { content: "" !important; }
img                   { max-width: 100% !important; }

/* ── Header/footer hidden on screen — shown on print ─────────────────── */
.cj-print-header, .cj-print-footer { display: none; }
