/*
 * LGFT v5.25.49 - universal print precision standard.
 * Final stylesheet. It must load after v5.25.48.
 *
 * Locked alignment rules:
 * - Description: left aligned.
 * - Zone, litres/liters, unit price, VAT code and line total: centred.
 * - Key/value labels: left aligned.
 * - Detail/payment values: centred where applicable.
 * - Totals values: right aligned.
 */

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

@media screen {
  html.lgft-v52549-print-standard,
  body.lgft-v52549-print-standard {
    background:#081426 !important;
    color:#f5f8ff !important;
  }

  html body.lgft-v52549-print-standard *,
  html body.lgft-v52549-print-standard *::before,
  html body.lgft-v52549-print-standard *::after {
    box-sizing:border-box !important;
  }

  /* Preserve the established dark-blue print workspace. */
  html body.lgft-v52549-print-standard main,
  html body.lgft-v52549-print-standard .main,
  html body.lgft-v52549-print-standard .content,
  html body.lgft-v52549-print-standard .page-content,
  html body.lgft-v52549-print-standard .portal-content,
  html body.lgft-v52549-print-standard .document-shell,
  html body.lgft-v52549-print-standard .print-shell {
    background:#081426 !important;
    color:#f5f8ff !important;
  }

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

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

  html body.lgft-v52549-print-standard th { background:#102545 !important; }
  html body.lgft-v52549-print-standard .muted { color:#b9c5d9 !important; }

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

  /* Reduced document logo: visually matches the business-detail block. */
  html body.lgft-v52549-print-standard .doc-brand > img,
  html body.lgft-v52549-print-standard .doc-head .company > img,
  html body.lgft-v52549-print-standard .document-letterhead img,
  html body.lgft-v52549-print-standard .document-header img,
  html body.lgft-v52549-print-standard .invoice-header img,
  html body.lgft-v52549-print-standard .head > img,
  html body.lgft-v52549-print-standard .print-logo,
  html body.lgft-v52549-print-standard .letterhead-logo {
    display:block !important;
    width:96px !important;
    height:96px !important;
    min-width:96px !important;
    min-height:96px !important;
    max-width:96px !important;
    max-height:96px !important;
    flex:0 0 96px !important;
    object-fit:contain !important;
    padding:0 !important;
    margin:0 10px 0 0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  html body.lgft-v52549-print-standard .doc-brand-text > strong:first-child,
  html body.lgft-v52549-print-standard .company-name,
  html body.lgft-v52549-print-standard .business-name,
  html body.lgft-v52549-print-standard .document-company-name {
    display:block !important;
    font-size:14px !important;
    line-height:1.12 !important;
    white-space:nowrap !important;
  }

  /* Description remains left; only columns 2-6 are centred. */
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items[class][class][class][class][class] tr > th:first-child,
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items[class][class][class][class][class] tr > td:first-child {
    text-align:left !important;
    vertical-align:middle !important;
  }

  html body.lgft-v52549-print-standard table.lgft-v52549-line-items[class][class][class][class][class] tr > th:nth-child(n+2),
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items[class][class][class][class][class] tr > td:nth-child(n+2) {
    text-align:center !important;
    vertical-align:middle !important;
  }

  /* Undo the previous global table-centering rule on non-line-item tables. */
  html body.lgft-v52549-print-standard table.lgft-v52548-print-table[class][class][class][class]:not(.lgft-v52549-line-items) tr > th,
  html body.lgft-v52549-print-standard table.lgft-v52548-print-table[class][class][class][class]:not(.lgft-v52549-line-items) tr > td {
    text-align:left !important;
    vertical-align:middle !important;
  }

  html body.lgft-v52549-print-standard .invoice-detail-qr-layout > table tr > th {
    text-align:left !important;
  }
  html body.lgft-v52549-print-standard .invoice-detail-qr-layout > table tr > td {
    text-align:center !important;
  }
  html body.lgft-v52549-print-standard .invoice-total-box table tr > th {
    text-align:left !important;
  }
  html body.lgft-v52549-print-standard .invoice-total-box table tr > td {
    text-align:right !important;
  }
  html body.lgft-v52549-print-standard .invoice-box table.compact tr > th {
    text-align:left !important;
  }
  html body.lgft-v52549-print-standard .invoice-box table.compact tr > td {
    text-align:center !important;
  }
}

@media print {
  html, body,
  html body.lgft-v52549-print-standard {
    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.18 !important;
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }

  html body.lgft-v52549-print-standard *,
  html body.lgft-v52549-print-standard *::before,
  html body.lgft-v52549-print-standard *::after {
    box-sizing:border-box !important;
  }

  /* One compact transparent logo, matched to the business-detail block. */
  html body.lgft-v52549-print-standard .doc-brand > img,
  html body.lgft-v52549-print-standard .doc-head .company > img,
  html body.lgft-v52549-print-standard .document-letterhead img,
  html body.lgft-v52549-print-standard .document-header img,
  html body.lgft-v52549-print-standard .invoice-header img,
  html body.lgft-v52549-print-standard .head > img,
  html body.lgft-v52549-print-standard .print-logo,
  html body.lgft-v52549-print-standard .letterhead-logo {
    display:block !important;
    width:24mm !important;
    height:24mm !important;
    min-width:24mm !important;
    min-height:24mm !important;
    max-width:24mm !important;
    max-height:24mm !important;
    flex:0 0 24mm !important;
    object-fit:contain !important;
    padding:0 !important;
    margin:0 2.5mm 0 0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  html body.lgft-v52549-print-standard .doc-brand,
  html body.lgft-v52549-print-standard .company,
  html body.lgft-v52549-print-standard .document-company {
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
  }

  html body.lgft-v52549-print-standard .doc-brand-text,
  html body.lgft-v52549-print-standard .company-details,
  html body.lgft-v52549-print-standard .business-details {
    min-width:0 !important;
    max-width:100% !important;
    font-size:7.5pt !important;
    line-height:1.15 !important;
  }

  html body.lgft-v52549-print-standard .doc-brand-text > strong:first-child,
  html body.lgft-v52549-print-standard .company-name,
  html body.lgft-v52549-print-standard .business-name,
  html body.lgft-v52549-print-standard .document-company-name {
    display:block !important;
    margin:0 0 .7mm !important;
    padding:0 !important;
    font-size:8.5pt !important;
    line-height:1.08 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
    letter-spacing:0 !important;
  }

  /* All print headings reduced from 10pt to 9pt. */
  html body.lgft-v52549-print-standard h1,
  html body.lgft-v52549-print-standard h2,
  html body.lgft-v52549-print-standard h3,
  html body.lgft-v52549-print-standard h4,
  html body.lgft-v52549-print-standard h5,
  html body.lgft-v52549-print-standard h6,
  html body.lgft-v52549-print-standard .document-title,
  html body.lgft-v52549-print-standard .invoice-title,
  html body.lgft-v52549-print-standard .section-title,
  html body.lgft-v52549-print-standard .card-title,
  html body.lgft-v52549-print-standard .panel-title {
    margin:0 0 1.3mm !important;
    padding:0 !important;
    font-size:9pt !important;
    line-height:1.1 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    color:#111 !important;
    text-transform:none !important;
  }

  /* Invoice/document references reduced from 9pt to 7pt. */
  html body.lgft-v52549-print-standard .document-reference,
  html body.lgft-v52549-print-standard .document-ref,
  html body.lgft-v52549-print-standard .document-number,
  html body.lgft-v52549-print-standard .invoice-number,
  html body.lgft-v52549-print-standard .invoice-ref,
  html body.lgft-v52549-print-standard .invoice-header-ref,
  html body.lgft-v52549-print-standard [class*="document-ref"],
  html body.lgft-v52549-print-standard [class*="invoice-no"] {
    font-size:7pt !important;
    line-height:1.12 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }

  /* Compact body standard remains 8pt. */
  html body.lgft-v52549-print-standard p,
  html body.lgft-v52549-print-standard li,
  html body.lgft-v52549-print-standard div,
  html body.lgft-v52549-print-standard span,
  html body.lgft-v52549-print-standard label,
  html body.lgft-v52549-print-standard strong,
  html body.lgft-v52549-print-standard small,
  html body.lgft-v52549-print-standard .muted,
  html body.lgft-v52549-print-standard .notice,
  html body.lgft-v52549-print-standard .pill,
  html body.lgft-v52549-print-standard .badge,
  html body.lgft-v52549-print-standard .status-badge,
  html body.lgft-v52549-print-standard .invoice-box,
  html body.lgft-v52549-print-standard .invoice-total-box {
    font-size:8pt !important;
    line-height:1.18 !important;
  }

  html body.lgft-v52549-print-standard table,
  html body.lgft-v52549-print-standard .table {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    border-collapse:collapse !important;
    border-spacing:0 !important;
    margin:0 0 2.2mm !important;
    font-size:8pt !important;
    line-height:1.15 !important;
    background:#fff !important;
    color:#111 !important;
  }

  html body.lgft-v52549-print-standard th,
  html body.lgft-v52549-print-standard td,
  html body.lgft-v52549-print-standard .table th,
  html body.lgft-v52549-print-standard .table td {
    padding:1mm 1.15mm !important;
    border:.2mm solid #999 !important;
    background:#fff !important;
    color:#111 !important;
    font-size:8pt !important;
    line-height:1.15 !important;
    vertical-align:middle !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  /* Reset v5.25.48's blanket centering on all printable tables. */
  html body.lgft-v52549-print-standard table.lgft-v52548-print-table[class][class][class][class]:not(.lgft-v52549-line-items) tr > th,
  html body.lgft-v52549-print-standard table.lgft-v52548-print-table[class][class][class][class]:not(.lgft-v52549-line-items) tr > td,
  html body.lgft-v52549-print-standard table.lgft-v52548-print-table[class][class][class][class]:not(.lgft-v52549-line-items) tr > th.right,
  html body.lgft-v52549-print-standard table.lgft-v52548-print-table[class][class][class][class]:not(.lgft-v52549-line-items) tr > td.right,
  html body.lgft-v52549-print-standard table.lgft-v52548-print-table[class][class][class][class]:not(.lgft-v52549-line-items) tr > th:first-child,
  html body.lgft-v52549-print-standard table.lgft-v52548-print-table[class][class][class][class]:not(.lgft-v52549-line-items) tr > td:first-child {
    text-align:left !important;
    vertical-align:middle !important;
  }

  /* Exact six-column line-item geometry. */
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow:visible !important;
  }

  html body.lgft-v52549-print-standard table.lgft-v52549-line-items tr > th,
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items tr > td,
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items tr > th.right,
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items tr > td.right {
    box-sizing:border-box !important;
    min-width:0 !important;
    max-width:none !important;
    padding:1mm .75mm !important;
    vertical-align:middle !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    hyphens:none !important;
    font-size:8pt !important;
    line-height:1.12 !important;
  }

  /* Description is deliberately left aligned. */
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items[class][class][class][class][class] tr > th:first-child,
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items[class][class][class][class][class] tr > td:first-child,
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items[class][class][class][class][class] tr > th.description-cell,
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items[class][class][class][class][class] tr > td.description-cell {
    text-align:left !important;
    vertical-align:middle !important;
  }

  /* Only Zone, Litres/Liters, Unit Price, VAT Code and Line Total are centred. */
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items[class][class][class][class][class] tr > th:nth-child(n+2),
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items[class][class][class][class][class] tr > td:nth-child(n+2),
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items[class][class][class][class][class] tr > th:nth-child(n+2).right,
  html body.lgft-v52549-print-standard table.lgft-v52549-line-items[class][class][class][class][class] tr > td:nth-child(n+2).right {
    text-align:center !important;
    vertical-align:middle !important;
  }

  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > th:nth-child(1),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > td:nth-child(1) { width:32% !important; }
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > th:nth-child(2),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > td:nth-child(2) { width:8% !important; }
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > th:nth-child(3),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > td:nth-child(3) { width:12% !important; }
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > th:nth-child(4),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > td:nth-child(4) { width:13% !important; }
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > th:nth-child(5),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > td:nth-child(5) { width:20% !important; }
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > th:nth-child(6),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > td:nth-child(6) { width:15% !important; }

  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > th:nth-child(2),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > td:nth-child(2),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > th:nth-child(3),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > td:nth-child(3),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > th:nth-child(4),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > td:nth-child(4),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > th:nth-child(6),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > td:nth-child(6) {
    white-space:nowrap !important;
  }

  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > th:nth-child(5),
  html body.lgft-v52549-print-standard table.lgft-v52549-six-column-line-items tr > td:nth-child(5) {
    overflow-wrap:anywhere !important;
  }

  /* Invoice/order detail labels left; values centred. */
  html body.lgft-v52549-print-standard .invoice-detail-qr-layout > table[class][class][class][class][class] tr > th,
  html body.lgft-v52549-print-standard .invoice-detail-qr-layout > table[class][class][class][class][class] tr > th:first-child,
  html body.lgft-v52549-print-standard .order-detail-qr-layout > table tr > th,
  html body.lgft-v52549-print-standard .release-detail-qr-layout > table tr > th {
    text-align:left !important;
    vertical-align:middle !important;
    white-space:nowrap !important;
  }

  html body.lgft-v52549-print-standard .invoice-detail-qr-layout > table[class][class][class][class][class] tr > td,
  html body.lgft-v52549-print-standard .invoice-detail-qr-layout > table[class][class][class][class][class] tr > td:first-child,
  html body.lgft-v52549-print-standard .order-detail-qr-layout > table tr > td,
  html body.lgft-v52549-print-standard .release-detail-qr-layout > table tr > td {
    text-align:center !important;
    vertical-align:middle !important;
    white-space:nowrap !important;
  }

  /* Payment/instruction tables: labels left, values centred. */
  html body.lgft-v52549-print-standard .invoice-box table.compact[class][class][class][class][class] tr > th,
  html body.lgft-v52549-print-standard .payment-instructions table tr > th,
  html body.lgft-v52549-print-standard .bank-details table tr > th {
    text-align:left !important;
    vertical-align:middle !important;
  }
  html body.lgft-v52549-print-standard .invoice-box table.compact[class][class][class][class][class] tr > td,
  html body.lgft-v52549-print-standard .payment-instructions table tr > td,
  html body.lgft-v52549-print-standard .bank-details table tr > td {
    text-align:center !important;
    vertical-align:middle !important;
  }

  /* Totals are not centred: labels left, monetary values right. */
  html body.lgft-v52549-print-standard .invoice-total-box table[class][class][class][class][class] tr > th,
  html body.lgft-v52549-print-standard .invoice-total-box table[class][class][class][class][class] tr > th:first-child,
  html body.lgft-v52549-print-standard .document-totals table tr > th,
  html body.lgft-v52549-print-standard .totals-table tr > th,
  html body.lgft-v52549-print-standard table.lgft-v52549-totals-table tr > th {
    text-align:left !important;
    vertical-align:middle !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
  }

  html body.lgft-v52549-print-standard .invoice-total-box table[class][class][class][class][class] tr > td,
  html body.lgft-v52549-print-standard .invoice-total-box table[class][class][class][class][class] tr > td.right,
  html body.lgft-v52549-print-standard .document-totals table tr > td,
  html body.lgft-v52549-print-standard .totals-table tr > td,
  html body.lgft-v52549-print-standard table.lgft-v52549-totals-table tr > td {
    text-align:right !important;
    vertical-align:middle !important;
    white-space:nowrap !important;
  }

  html body.lgft-v52549-print-standard .invoice-grand th,
  html body.lgft-v52549-print-standard .invoice-grand td,
  html body.lgft-v52549-print-standard .grand-total th,
  html body.lgft-v52549-print-standard .grand-total td {
    font-size:8pt !important;
    font-weight:700 !important;
  }

  /* Keep QR geometry contained and separate from the details table. */
  html body.lgft-v52549-print-standard .invoice-detail-qr-layout,
  html body.lgft-v52549-print-standard .order-detail-qr-layout,
  html body.lgft-v52549-print-standard .release-detail-qr-layout {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 27mm !important;
    gap:2.5mm !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    align-items:start !important;
    overflow:visible !important;
  }

  html body.lgft-v52549-print-standard .invoice-detail-qr-layout > table,
  html body.lgft-v52549-print-standard .order-detail-qr-layout > table,
  html body.lgft-v52549-print-standard .release-detail-qr-layout > table {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
    margin:0 !important;
  }

  html body.lgft-v52549-print-standard .invoice-detail-qr-layout > table[class][class][class][class][class] tr > th,
  html body.lgft-v52549-print-standard .order-detail-qr-layout > table tr > th,
  html body.lgft-v52549-print-standard .release-detail-qr-layout > table tr > th {
    width:38% !important;
  }

  html body.lgft-v52549-print-standard .invoice-detail-qr-layout > table[class][class][class][class][class] tr > td,
  html body.lgft-v52549-print-standard .order-detail-qr-layout > table tr > td,
  html body.lgft-v52549-print-standard .release-detail-qr-layout > table tr > td {
    width:62% !important;
  }

  html body.lgft-v52549-print-standard .invoice-detail-qr-layout > .qr-mini-card,
  html body.lgft-v52549-print-standard .order-detail-qr-layout > .qr-mini-card,
  html body.lgft-v52549-print-standard .release-detail-qr-layout > .qr-mini-card {
    box-sizing:border-box !important;
    width:27mm !important;
    min-width:27mm !important;
    max-width:27mm !important;
    height:auto !important;
    margin:0 !important;
    padding:1mm !important;
    overflow:hidden !important;
  }

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