/*
 * LGFT v5.25.47 — final universal document print standard.
 * This file must remain the last print stylesheet loaded by the platform.
 */

@page { size:A4 portrait; margin:8mm 9mm 8mm 9mm; }

/* Established blue print-screen workspace. Official paper remains white. */
@media screen {
  html.lgft-v52547-print-screen,
  body.lgft-v52547-print-screen {
    background:#081426 !important;
    color:#f5f8ff !important;
  }

  body.lgft-v52547-print-screen main,
  body.lgft-v52547-print-screen .main,
  body.lgft-v52547-print-screen .content,
  body.lgft-v52547-print-screen .page-content,
  body.lgft-v52547-print-screen .portal-content,
  body.lgft-v52547-print-screen .document-shell,
  body.lgft-v52547-print-screen .print-shell {
    background:#081426 !important;
    color:#f5f8ff !important;
  }

  body.lgft-v52547-print-screen .card,
  body.lgft-v52547-print-screen .invoice-document,
  body.lgft-v52547-print-screen .invoice-print,
  body.lgft-v52547-print-screen .release-pack,
  body.lgft-v52547-print-screen .mobile-release-document,
  body.lgft-v52547-print-screen .management-document,
  body.lgft-v52547-print-screen .invoice-box,
  body.lgft-v52547-print-screen .invoice-total-box {
    background:#0c192d !important;
    color:#f5f8ff !important;
    border-color:#263b5e !important;
  }

  body.lgft-v52547-print-screen table,
  body.lgft-v52547-print-screen th,
  body.lgft-v52547-print-screen td {
    background:#0c192d !important;
    color:#f5f8ff !important;
    border-color:#294162 !important;
  }

  body.lgft-v52547-print-screen th { background:#102545 !important; }
  body.lgft-v52547-print-screen .muted { color:#b9c5d9 !important; }

  body.lgft-v52547-print-screen .qr-mini-card,
  body.lgft-v52547-print-screen .qr-box,
  body.lgft-v52547-print-screen .lgft-qr-quiet-zone {
    background:#fff !important;
    color:#111 !important;
  }

  /* The single official document logo is always a minimum 130 x 130 square. */
  body.lgft-v52547-print-screen .doc-brand > img,
  body.lgft-v52547-print-screen .doc-head .company > img,
  body.lgft-v52547-print-screen .document-letterhead img,
  body.lgft-v52547-print-screen .document-header img,
  body.lgft-v52547-print-screen .invoice-header img,
  body.lgft-v52547-print-screen .head > img,
  body.lgft-v52547-print-screen .print-logo,
  body.lgft-v52547-print-screen .letterhead-logo {
    display:block !important;
    width:130px !important;
    height:130px !important;
    min-width:130px !important;
    min-height:130px !important;
    max-width:130px !important;
    max-height:130px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    object-fit:contain !important;
  }

  body.lgft-v52547-print-screen table.lgft-v52547-line-items th,
  body.lgft-v52547-print-screen table.lgft-v52547-line-items td,
  body.lgft-v52547-print-screen table.invoice-lines th,
  body.lgft-v52547-print-screen table.invoice-lines td {
    text-align:center !important;
    vertical-align:middle !important;
  }
}

@media print {
  html, body {
    width:auto !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:#fff !important;
    color:#111 !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:8pt !important;
    line-height:1.22 !important;
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }

  header:not(.document-header):not(.doc-head),
  nav, aside, footer:not(.document-footer),
  .app-header, .topbar, .sidebar, .portal-header, .portal-nav,
  .mobile-nav, .bottom-nav, .breadcrumbs, .no-print, .document-actions,
  .search-this-area, .table-controls, .dt-controls, .data-table-controls,
  .toast, .flash, .floating-action, .fab, .install-app, .pwa-install,
  .signature-grid, .release-note-signature-grid, .paper-signature,
  .signature-lines, .manual-signature-block {
    display:none !important;
  }

  main, .main, .content, .page-content, .portal-content,
  .document-shell, .print-shell, .card, .invoice-document, .invoice-print,
  .release-pack, .mobile-release-document, .management-document,
  .print-standard, .doc {
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
    color:#111 !important;
  }

  .doc-head,
  .document-letterhead,
  .document-header,
  .invoice-header {
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:5mm !important;
    margin:0 0 4mm !important;
    padding:0 0 3mm !important;
    border:0 !important;
    border-bottom:.35mm solid #333 !important;
    background:#fff !important;
    color:#111 !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  .doc-brand {
    display:flex !important;
    align-items:flex-start !important;
    gap:3mm !important;
    min-width:0 !important;
  }

  /* Exact universal brand size: no smaller than 130 x 130 CSS pixels. */
  .doc-brand > img,
  .doc-head .company > img,
  .document-letterhead img,
  .document-header img,
  .invoice-header img,
  .head > img,
  .print-logo,
  .letterhead-logo {
    display:block !important;
    width:130px !important;
    height:130px !important;
    min-width:130px !important;
    min-height:130px !important;
    max-width:130px !important;
    max-height:130px !important;
    flex:0 0 130px !important;
    padding:0 !important;
    margin:0 3mm 0 0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    object-fit:contain !important;
  }

  h1, h2, h3, h4, h5, h6,
  .document-title, .invoice-title, .section-title,
  .doc-title h1, .section h2 {
    margin:0 0 1.6mm !important;
    padding:0 !important;
    font-size:10pt !important;
    line-height:1.12 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    color:#111 !important;
    text-transform:none !important;
  }

  p, li, div, span, label, strong, small,
  .muted, .notice, .pill, .badge, .status-badge,
  .invoice-box, .invoice-total-box,
  .meta, .meta-small, .doc-brand-text {
    font-size:8pt !important;
    line-height:1.22 !important;
  }

  .document-reference,
  .document-ref,
  .doc-ref,
  .document-number,
  .invoice-number,
  .invoice-ref,
  .invoice-header-ref,
  [class*="document-ref"],
  [class*="invoice-no"] {
    font-size:9pt !important;
    line-height:1.15 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
  }

  .grid, .grid.two, .two-column, .invoice-grid {
    gap:3mm !important;
  }

  .invoice-box, .invoice-total-box,
  .qr-mini-card, .qr-box,
  .release-note-footer-control,
  .meta-card, .kpi {
    padding:2.2mm !important;
    margin:0 0 2.5mm !important;
    border:.25mm solid #999 !important;
    border-radius:1.5mm !important;
    background:#fff !important;
    color:#111 !important;
    box-shadow:none !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  table, .table, .print-table {
    width:100% !important;
    border-collapse:collapse !important;
    border-spacing:0 !important;
    table-layout:auto !important;
    margin:0 0 2.5mm !important;
    font-size:8pt !important;
    line-height:1.18 !important;
    background:#fff !important;
    color:#111 !important;
  }

  th, td,
  .table th, .table td,
  .print-table th, .print-table td {
    padding:1.25mm 1.45mm !important;
    border:.2mm solid #999 !important;
    background:#fff !important;
    color:#111 !important;
    font-size:8pt !important;
    line-height:1.18 !important;
    vertical-align:top !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  th, .table th, .print-table th {
    font-weight:700 !important;
    text-transform:none !important;
  }

  /* Exact line-item standard for every printable document type. */
  table.lgft-v52547-line-items,
  table.invoice-lines {
    table-layout:fixed !important;
  }

  table.lgft-v52547-line-items th,
  table.lgft-v52547-line-items td,
  table.lgft-v52547-line-items .right,
  table.invoice-lines th,
  table.invoice-lines td,
  table.invoice-lines .right {
    text-align:center !important;
    vertical-align:middle !important;
  }

  .invoice-lines th:nth-child(1), .invoice-lines td:nth-child(1) { width:31% !important; }
  .invoice-lines th:nth-child(2), .invoice-lines td:nth-child(2) { width:10% !important; }
  .invoice-lines th:nth-child(3), .invoice-lines td:nth-child(3) { width:12% !important; }
  .invoice-lines th:nth-child(4), .invoice-lines td:nth-child(4) { width:13% !important; }
  .invoice-lines th:nth-child(5), .invoice-lines td:nth-child(5) { width:17% !important; }
  .invoice-lines th:nth-child(6), .invoice-lines td:nth-child(6) { width:17% !important; }

  .invoice-detail-qr-layout th,
  .invoice-box .compact th,
  .invoice-total-box th,
  .release-pack th,
  .mobile-release-document th {
    width:34% !important;
    white-space:nowrap !important;
    font-size:8pt !important;
    line-height:1.15 !important;
  }

  .invoice-detail-qr-layout td,
  .invoice-box .compact td,
  .invoice-total-box td,
  .release-pack td,
  .mobile-release-document td {
    font-size:8pt !important;
    line-height:1.15 !important;
  }

  .invoice-grand th, .invoice-grand td {
    font-size:8.5pt !important;
    font-weight:700 !important;
  }

  .invoice-detail-qr-layout {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 29mm !important;
    gap:2.5mm !important;
    align-items:start !important;
  }

  .qr-mini-card, .qr-box { text-align:center !important; }
  .qr-mini-card img, .qr-box img, .qr-img {
    display:block !important;
    width:23mm !important;
    height:23mm !important;
    max-width:23mm !important;
    max-height:23mm !important;
    margin:0 auto 1mm !important;
    padding:0 !important;
    border:0 !important;
    background:#fff !important;
    object-fit:contain !important;
  }

  .qr-mini-title { font-size:7pt !important; line-height:1.1 !important; }
  .qr-mini-ref, .qr-mini-status { font-size:6.2pt !important; line-height:1.12 !important; }
  .qr-mini-link, .qr-link { display:none !important; }

  .lgft-device-signature-page,
  .lgft-device-signature-status { display:none !important; }

  .lgft-electronic-acceptance-evidence {
    display:block !important;
    font-size:8pt !important;
    line-height:1.2 !important;
    color:#111 !important;
    margin-top:2mm !important;
    padding-top:1.5mm !important;
  }

  tr, td, th, .invoice-box, .invoice-total-box, .qr-mini-card,
  .release-note-footer-control, .doc-head, .document-header {
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }
}
