/*
 * LGFT v5.25.48 - universal document table geometry and centering lock.
 * Must load after v5.25.46 and v5.25.47.
 */

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

/* The print preview screen remains the established LGFT dark-blue workspace. */
@media screen {
  html.lgft-v52548-print-screen,
  body.lgft-v52548-print-screen {
    background:#081426 !important;
    color:#f5f8ff !important;
  }

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

  html body.lgft-v52548-print-screen table.lgft-v52548-print-table {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    border-collapse:collapse !important;
  }

  /* Every heading and every result in printable tables is genuinely centred. */
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > th,
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > td,
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > th.right,
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > td.right,
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > th.description-cell,
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > td.description-cell {
    text-align:center !important;
    vertical-align:middle !important;
  }

  html body.lgft-v52548-print-screen table.lgft-v52548-line-items {
    table-layout:fixed !important;
  }

  html body.lgft-v52548-print-screen table.lgft-v52548-line-items tr > th,
  html body.lgft-v52548-print-screen table.lgft-v52548-line-items tr > td {
    text-align:center !important;
    vertical-align:middle !important;
    min-width:0 !important;
    max-width:none !important;
    padding:7px 6px !important;
    white-space:normal !important;
    overflow:hidden !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    hyphens:none !important;
  }

  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > th:nth-child(1),
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > td:nth-child(1) { width:30% !important; }
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > th:nth-child(2),
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > td:nth-child(2) { width:9% !important; }
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > th:nth-child(3),
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > td:nth-child(3) { width:12% !important; }
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > th:nth-child(4),
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > td:nth-child(4) { width:13% !important; }
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > th:nth-child(5),
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > td:nth-child(5) { width:19% !important; }
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > th:nth-child(6),
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > td:nth-child(6) { width:17% !important; }

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

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 112px !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    align-items:start !important;
  }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table {
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
    margin:0 !important;
  }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table tr > th,
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table tr > td {
    text-align:center !important;
    vertical-align:middle !important;
    white-space:nowrap !important;
    padding:5px 4px !important;
  }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table tr > th { width:38% !important; }
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table tr > td { width:62% !important; }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > .qr-mini-card {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:112px !important;
    max-width:112px !important;
    min-width:112px !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:5px !important;
    overflow:hidden !important;
  }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > .qr-mini-card img,
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > .qr-mini-card svg {
    display:block !important;
    width:82px !important;
    height:82px !important;
    min-width:82px !important;
    min-height:82px !important;
    max-width:82px !important;
    max-height:82px !important;
    margin:3px auto !important;
    flex:0 0 82px !important;
  }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout .qr-mini-title,
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout .qr-mini-ref,
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout .qr-mini-status {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:2px 0 0 !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
}

@media print {
  html body.lgft-v52548-print-screen *,
  html body.lgft-v52548-print-screen *::before,
  html body.lgft-v52548-print-screen *::after {
    box-sizing:border-box !important;
  }

  /* Exact logo standard, retained universally. */
  html body.lgft-v52548-print-screen .doc-brand > img,
  html body.lgft-v52548-print-screen .doc-head .company > img,
  html body.lgft-v52548-print-screen .document-letterhead img,
  html body.lgft-v52548-print-screen .document-header img,
  html body.lgft-v52548-print-screen .invoice-header img,
  html body.lgft-v52548-print-screen .head > img,
  html body.lgft-v52548-print-screen .print-logo,
  html body.lgft-v52548-print-screen .letterhead-logo {
    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;
    object-fit:contain !important;
    padding:0 !important;
    margin:0 3mm 0 0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  html body.lgft-v52548-print-screen table.lgft-v52548-print-table {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    border-collapse:collapse !important;
    border-spacing:0 !important;
  }

  /* This selector intentionally outranks all historical left/right alignment locks. */
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > th,
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > td,
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > th.right,
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > td.right,
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > th.description-cell,
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > td.description-cell,
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > th[data-align],
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > td[data-align] {
    text-align:center !important;
    vertical-align:middle !important;
  }

  /* Six-column fuel/product line table: fixed geometry, no overflow and true centering. */
  html body.lgft-v52548-print-screen table.lgft-v52548-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-v52548-print-screen table.lgft-v52548-line-items tr > th,
  html body.lgft-v52548-print-screen table.lgft-v52548-line-items tr > td,
  html body.lgft-v52548-print-screen table.lgft-v52548-line-items tr > th.right,
  html body.lgft-v52548-print-screen table.lgft-v52548-line-items tr > td.right,
  html body.lgft-v52548-print-screen table.lgft-v52548-line-items tr > th.description-cell,
  html body.lgft-v52548-print-screen table.lgft-v52548-line-items tr > td.description-cell {
    box-sizing:border-box !important;
    min-width:0 !important;
    max-width:none !important;
    padding:1.15mm .85mm !important;
    text-align:center !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.14 !important;
  }

  html body.lgft-v52548-print-screen table.lgft-v52548-line-items tr > th {
    font-weight:700 !important;
    white-space:nowrap !important;
  }

  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > th:nth-child(1),
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > td:nth-child(1) { width:30% !important; }
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > th:nth-child(2),
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > td:nth-child(2) { width:9% !important; }
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > th:nth-child(3),
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > td:nth-child(3) { width:12% !important; }
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > th:nth-child(4),
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > td:nth-child(4) { width:13% !important; }
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > th:nth-child(5),
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > td:nth-child(5) { width:19% !important; }
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > th:nth-child(6),
  html body.lgft-v52548-print-screen table.lgft-v52548-six-column-line-items tr > td:nth-child(6) { width:17% !important; }

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

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

  /* Invoice details + QR are contained inside the parent card with no collision. */
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 28mm !important;
    gap:2mm !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    align-items:start !important;
    overflow:visible !important;
  }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
    margin:0 !important;
    border-collapse:collapse !important;
  }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table tr > th,
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table tr > td,
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table tr > th:first-child,
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table tr > td:first-child {
    box-sizing:border-box !important;
    text-align:center !important;
    vertical-align:middle !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    padding:.95mm .65mm !important;
    font-size:8pt !important;
    line-height:1.12 !important;
  }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table tr > th,
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table tr > th:first-child {
    width:38% !important;
    padding-left:.65mm !important;
  }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table tr > td,
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > table tr > td:first-child {
    width:62% !important;
  }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > .qr-mini-card {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    box-sizing:border-box !important;
    width:28mm !important;
    max-width:28mm !important;
    min-width:28mm !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:1mm !important;
    overflow:hidden !important;
    text-align:center !important;
  }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > .qr-mini-card img,
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > .qr-mini-card svg,
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout > .qr-mini-card .qr-img {
    display:block !important;
    box-sizing:border-box !important;
    width:20.5mm !important;
    height:20.5mm !important;
    min-width:20.5mm !important;
    min-height:20.5mm !important;
    max-width:20.5mm !important;
    max-height:20.5mm !important;
    margin:.7mm auto !important;
    padding:0 !important;
    border:0 !important;
    object-fit:contain !important;
    flex:0 0 20.5mm !important;
  }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout .qr-mini-title,
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout .qr-mini-ref,
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout .qr-mini-status {
    display:block !important;
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    margin:.4mm 0 0 !important;
    padding:0 !important;
    text-align:center !important;
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }

  html body.lgft-v52548-print-screen .invoice-detail-qr-layout .qr-mini-title {
    font-size:6.2pt !important;
    line-height:1.05 !important;
  }
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout .qr-mini-ref {
    font-size:5.15pt !important;
    line-height:1.06 !important;
  }
  html body.lgft-v52548-print-screen .invoice-detail-qr-layout .qr-mini-status {
    font-size:5.35pt !important;
    line-height:1.07 !important;
  }

  /* All compact operational tables use the same centred standard. */
  html body.lgft-v52548-print-screen .invoice-document .invoice-detail-qr-layout table.table.compact[class] tr > th:first-child,
  html body.lgft-v52548-print-screen .invoice-document .invoice-detail-qr-layout table.table.compact[class] tr > td,
  html body.lgft-v52548-print-screen .invoice-document .invoice-box table.table.compact[class] tr > th:first-child,
  html body.lgft-v52548-print-screen .invoice-document .invoice-box table.table.compact[class] tr > td,
  html body.lgft-v52548-print-screen .invoice-document .invoice-total-box table.table.compact[class] tr > th:first-child,
  html body.lgft-v52548-print-screen .invoice-document .invoice-total-box table.table.compact[class] tr > td,
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > th:first-child,
  html body.lgft-v52548-print-screen table.lgft-v52548-print-table[class][class][class] tr > td:first-child {
    text-align:center !important;
    vertical-align:middle !important;
  }
}
