/* ===================================================================
   ALPHA FARM SMART INVOICE - A4 PRINT ENGINE STYLES
   Ensures 100% Vector PDF, Exact Margins, True Colors, Anti-Page Break
=================================================================== */

@page {
  size: A4 portrait;
  margin: 0; /* Sheet padding handles exact internal margins */
}

@media print {
  html, body {
    width: 210mm;
    height: 297mm;
    background: #ffffff !important;
    color: #132219 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Hide entire web application chrome */
  .app-header,
  .form-panel,
  .preview-toolbar,
  .preview-status,
  .preview-controls,
  .btn,
  .panel-tabs,
  .modal-overlay,
  .toast-notice {
    display: none !important;
  }

  .app-container {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  .preview-panel {
    background: transparent !important;
    overflow: visible !important;
  }

  .preview-viewport {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    display: block !important;
  }

  /* Physical Sheet */
  .a4-sheet {
    box-shadow: none !important;
    border: none !important;
    transform: none !important;
    width: 210mm !important;
    min-height: 297mm !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 13mm 14mm 14mm 16mm !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: visible !important;
  }

  /* 1. Running vertical brand text at outer left edge (repeats on every page via position: fixed) */
  .a4-left-vertical-brand {
    display: flex !important;
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 1.5mm !important;
    width: 4.5mm !important;
    height: 100% !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    z-index: 100 !important;
  }

  /* 2. Left accent green and gold lines (repeats on every page via position: fixed) */
  .a4-left-accent-bar {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 6.8mm !important;
    width: 1.4mm !important;
    height: 100% !important;
    background: #168943 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    z-index: 101 !important;
  }

  .a4-left-accent-bar-sub {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 8.4mm !important;
    width: 0.6mm !important;
    height: 100% !important;
    background: #f59e0b !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    z-index: 101 !important;
  }

  /* Watermark Logo */
  .a4-watermark {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 140mm !important;
    max-width: 78% !important;
    opacity: 0.85 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  .a4-sheet > .a4-watermark {
    top: 96mm !important;
  }

  /* Table multi-page pagination & repeated header */
  .doc-table-wrapper {
    position: relative !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
  }

  .doc-table {
    position: relative !important;
    z-index: 1 !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
    table-layout: fixed !important;
    width: 100% !important;
  }

  .doc-table thead {
    display: table-header-group !important;
  }

  .doc-table tr {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* Anti-page break elements */
  .doc-header,
  .doc-title-section,
  .doc-parties-grid,
  .doc-calculation-section,
  .doc-notes-under-words,
  .doc-closing-section,
  .payment-notes-card,
  .closing-split-row,
  .qr-horizontal-card,
  .signature-col,
  .signatures-grid,
  .doc-legal-footer,
  .totals-wrapper,
  .words-box {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .doc-table th {
    background: #168943 !important;
    color: #ffffff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .badge-code {
    background: #edf8f0 !important;
    color: #0d5e2e !important;
    border: 1px solid #c4ebd0 !important;
    -webkit-print-color-adjust: exact !important;
  }

  .party-box,
  .party-box-supplier,
  .party-box-client,
  .doc-parties-grid,
  .payment-notes-card,
  .words-box {
    background-color: #fafdfa !important;
    -webkit-print-color-adjust: exact !important;
  }

  .qr-horizontal-card {
    background-color: #ffffff !important;
    border: 1px solid #c4ebd0 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .qr-img {
    max-width: 76px !important;
    height: auto !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}
