
/* ==========================================================
   V521 - PHIEU DAT HANG PROFESSIONAL
   Keep V520 quotation unchanged.
   ========================================================== */

/* Screen workspace */
.invoice-print-screen{
  background:#f6f8fa!important;
}
.invoice-print-toolbar{
  position:sticky!important;
  top:0!important;
  z-index:40!important;
  min-height:66px!important;
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid #e4e9ee!important;
  box-shadow:0 1px 6px rgba(15,23,42,.035)!important;
  backdrop-filter:blur(10px)!important;
}
.invoice-print-toolbar-heading,
.invoice-print-actions{
  gap:9px!important;
}
.invoice-print-title{
  color:#172033!important;
  font-weight:850!important;
}
.invoice-print-eyebrow{
  color:#0d6b4d!important;
  font-weight:900!important;
  letter-spacing:.10em!important;
}
.invoice-print-actions button{
  border-radius:7px!important;
  min-height:38px!important;
  font-size:11px!important;
  font-weight:800!important;
}
.invoice-print-actions button:last-child{
  background:#159447!important;
  border-color:#159447!important;
  color:#fff!important;
}
.invoice-print-preview{
  max-width:1160px!important;
}
.invoice-print-hint{
  margin:0 auto 10px!important;
  max-width:960px!important;
  padding:8px 10px!important;
  border:1px solid #e5eaef!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#738092!important;
  font-size:10px!important;
}

/* Main order document */
.invoice-print-document{
  width:100%!important;
  max-width:960px!important;
  margin:0 auto!important;
  background:#fff!important;
  border:1px solid #dde4e9!important;
  border-radius:11px!important;
  box-shadow:0 10px 34px rgba(15,23,42,.055)!important;
  overflow:visible!important;
}
.invoice-print-document>.print-area{
  width:100%!important;
}
.invoice-print-document .inv-page{
  width:100%!important;
  max-width:none!important;
  padding:22px 25px 18px!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
}

/* Brand/header */
.invoice-print-document .inv-brand-strip{
  min-height:30px!important;
  padding:6px 10px!important;
  border-radius:6px!important;
  background:#f0f7f2!important;
  color:#0e5e3f!important;
  font-size:8.5px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
}
.invoice-print-document .inv-header{
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr) 110px!important;
  gap:16px!important;
  align-items:start!important;
  padding:15px 0 13px!important;
}
.invoice-print-document .inv-logo-image{
  width:112px!important;
  max-height:64px!important;
  object-fit:contain!important;
}
.invoice-print-document .inv-company-kicker{
  color:#0d6b4d!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.10em!important;
}
.invoice-print-document .inv-company-name{
  margin-top:3px!important;
  color:#143a2d!important;
  font-size:13px!important;
  font-weight:900!important;
}
.invoice-print-document .inv-company-sub{
  margin-top:2px!important;
  font-size:9px!important;
  line-height:1.4!important;
  color:#586570!important;
}
.invoice-print-document .inv-mst-box{
  border:1px solid #b8c8bf!important;
  border-radius:6px!important;
  background:#fbfdfb!important;
}
.invoice-print-document .inv-mst-label{
  color:#668176!important;
  font-size:7px!important;
}
.invoice-print-document .inv-mst-value{
  color:#143a2d!important;
  font-size:10px!important;
  font-weight:850!important;
}

/* Title */
.invoice-print-document .inv-title-block{
  margin:0 0 13px!important;
  padding:9px 0 11px!important;
  border-top:1px solid #dce5df!important;
  border-bottom:1px solid #dce5df!important;
  text-align:center!important;
}
.invoice-print-document .inv-title-kicker{
  color:#7d8a83!important;
  font-size:8px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
}
.invoice-print-document .inv-title{
  margin:3px 0 0!important;
  color:#0b5c31!important;
  font-size:28px!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}

/* Customer / delivery */
.invoice-print-document .inv-info{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:13px!important;
  margin:0 0 13px!important;
}
.invoice-print-document .inv-info-left,
.invoice-print-document .inv-info-right{
  min-width:0!important;
  padding:11px 12px!important;
  border:1px solid #dce4df!important;
  border-radius:7px!important;
  background:#fcfdfc!important;
}
.invoice-print-document .inv-info-section-label{
  margin-bottom:7px!important;
  color:#0c6037!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
}
.invoice-print-document .inv-infoline{
  margin-top:3px!important;
  font-size:9.5px!important;
  line-height:1.35!important;
}
.invoice-print-document .inv-infoline-k{
  color:#68736d!important;
}
.invoice-print-document .inv-infoline-v,
.invoice-print-document .inv-infoline-v-strong{
  color:#172033!important;
}
.invoice-print-document .inv-infoline-v-strong{
  font-weight:850!important;
}

/* Product table */
.invoice-print-document .inv-table-caption{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:3px!important;
  padding:8px 10px!important;
  border:1px solid #aebdb3!important;
  border-bottom:0!important;
  background:#f0f7f2!important;
  color:#0c5c33!important;
  font-size:8.5px!important;
  font-weight:900!important;
}
.invoice-print-document .inv-table{
  width:100%!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
  font-size:8.7px!important;
}
.invoice-print-document .inv-table thead{
  display:table-header-group!important;
}
.invoice-print-document .inv-table th{
  padding:7px 4px!important;
  border:1px solid #98a99d!important;
  background:#eaf4ed!important;
  color:#0b5630!important;
  font-size:7.8px!important;
  font-weight:900!important;
  line-height:1.15!important;
  white-space:normal!important;
}
.invoice-print-document .inv-table td{
  padding:6px 4px!important;
  border:1px solid #b2bdb5!important;
  background:#fff!important;
  line-height:1.25!important;
  overflow-wrap:anywhere!important;
}
.invoice-print-document .inv-table tr{
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}
.invoice-print-document .inv-sum-row td{
  background:#fbfcfb!important;
}
.invoice-print-document .inv-vat-row td{
  background:#f4faf6!important;
}
.invoice-print-document .inv-total-row td{
  background:#edf7f0!important;
  color:#0b5c31!important;
  font-weight:900!important;
}
.invoice-print-document .inv-remaining-amount{
  color:#e21c1c!important;
  font-size:10px!important;
  font-weight:900!important;
}

/* Amount in words / QR / notes */
.invoice-print-document .inv-words{
  margin-top:8px!important;
  padding:8px 10px!important;
  border:1px solid #e0e6e2!important;
  border-radius:6px!important;
  background:#fbfcfb!important;
  font-size:8.8px!important;
  line-height:1.4!important;
}
.invoice-print-document .inv-payment-qr{
  margin-top:10px!important;
  border:1px solid #dbe5df!important;
  border-radius:7px!important;
  background:#fbfdfc!important;
}
.invoice-print-document .inv-payment-qr-image{
  width:92px!important;
  height:92px!important;
}
.invoice-print-document .inv-payment-qr-title{
  color:#0b6037!important;
  font-weight:900!important;
}
.invoice-print-document .inv-order-note{
  margin-top:9px!important;
  padding:8px 10px!important;
  border-left:3px solid #159447!important;
  background:#f7fbf8!important;
  font-size:8.8px!important;
}
.invoice-print-document .inv-note{
  margin-top:8px!important;
  padding:8px 10px!important;
  border:1px solid #e2e7e4!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#5e6963!important;
  font-size:7.8px!important;
  line-height:1.45!important;
}

/* IMPORTANT:
   remove legacy NGUOI MUA / NGUOI BAN block.
   The V517/V520 three-column signature block replaces it. */
.invoice-print-document .inv-sign{
  display:none!important;
}

/* Three-column signature block - same visual language as approved quote */
.invoice-print-document>.v517-doc-signatures{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:calc(100% - 50px)!important;
  margin:8px 25px 18px!important;
  border:1px solid #9fb2a5!important;
  border-radius:8px!important;
  background:#fff!important;
  overflow:visible!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}
.invoice-print-document>.v517-doc-signatures>div{
  position:relative!important;
  min-height:190px!important;
  padding:14px 10px 10px!important;
  border-left:1px solid #d2dbd5!important;
  overflow:visible!important;
}
.invoice-print-document>.v517-doc-signatures>div:first-child{
  border-left:0!important;
}
.invoice-print-document>.v517-doc-signatures strong{
  color:#0d5b32!important;
  font-size:10px!important;
  font-weight:900!important;
}
.invoice-print-document>.v517-doc-signatures small{
  margin-top:3px!important;
  color:#68756d!important;
  font-size:8px!important;
  font-style:italic!important;
}
.invoice-print-document>.v517-doc-signatures .v517-sign-space,
.invoice-print-document>.v517-doc-signatures .v517-blank-sign{
  height:118px!important;
}
.invoice-print-document>.v517-doc-signatures .v517-employee-sign{
  max-width:190px!important;
  max-height:82px!important;
}
.invoice-print-document>.v517-doc-signatures .v517-company-sign{
  position:relative!important;
  z-index:2!important;
  max-width:205px!important;
  max-height:88px!important;
  transform:translateX(22px)!important;
}
/* Stamp is on LEFT and overlaps ~1/3 of representative signature, same as V520 */
.invoice-print-document>.v517-doc-signatures .v517-company-stamp{
  position:absolute!important;
  z-index:3!important;
  left:50%!important;
  top:50%!important;
  width:138px!important;
  height:138px!important;
  transform:translate(-88%,-49%) rotate(-6deg)!important;
  opacity:.97!important;
  object-fit:contain!important;
  filter:saturate(1.18) contrast(1.05)!important;
  pointer-events:none!important;
}
.invoice-print-document>.v517-doc-signatures b{
  position:relative!important;
  z-index:5!important;
  margin-top:-7px!important;
  color:#1b2821!important;
  font-size:9.5px!important;
  font-weight:900!important;
}

/* Mobile preview */
@media(max-width:820px) and (not print){
  .invoice-print-preview{
    padding:9px!important;
  }
  .invoice-print-document{
    max-width:100%!important;
    border-radius:8px!important;
  }
  .invoice-print-document .inv-page{
    padding:14px 11px!important;
  }
  .invoice-print-document .inv-header{
    grid-template-columns:88px 1fr!important;
  }
  .invoice-print-document .inv-mst{
    grid-column:1/-1!important;
  }
  .invoice-print-document .inv-info{
    grid-template-columns:1fr!important;
  }
  .invoice-print-document{
    overflow-x:auto!important;
  }
  .invoice-print-document .inv-table{
    min-width:720px!important;
  }
  .invoice-print-document>.v517-doc-signatures{
    grid-template-columns:1fr!important;
    width:calc(100% - 22px)!important;
    margin:8px 11px 14px!important;
  }
  .invoice-print-document>.v517-doc-signatures>div{
    min-height:155px!important;
    border-left:0!important;
    border-top:1px solid #d2dbd5!important;
  }
  .invoice-print-document>.v517-doc-signatures>div:first-child{
    border-top:0!important;
  }
  .invoice-print-document>.v517-doc-signatures .v517-company-stamp{
    width:120px!important;
    height:120px!important;
    transform:translate(-86%,-49%) rotate(-6deg)!important;
  }
}

/* A4 / PDF */
@media print{
  @page{
    size:A4 portrait;
    margin:7mm;
  }
  .invoice-print-toolbar,
  .invoice-print-hint,
  .no-print{
    display:none!important;
  }
  html,body,#root,.invoice-print-screen,.invoice-print-preview{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    overflow:visible!important;
  }
  .invoice-print-document{
    width:196mm!important;
    max-width:196mm!important;
    margin:0 auto!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .invoice-print-document .inv-page{
    box-sizing:border-box!important;
    width:196mm!important;
    padding:0!important;
  }
  .invoice-print-document .inv-header{
    grid-template-columns:27mm minmax(0,1fr) 27mm!important;
    gap:3mm!important;
    padding:3mm 0!important;
  }
  .invoice-print-document .inv-logo-image{
    width:25mm!important;
    max-height:15mm!important;
  }
  .invoice-print-document .inv-title{
    font-size:17pt!important;
  }
  .invoice-print-document .inv-info{
    gap:2.5mm!important;
    margin-bottom:2.5mm!important;
  }
  .invoice-print-document .inv-info-left,
  .invoice-print-document .inv-info-right{
    padding:2.3mm!important;
  }
  .invoice-print-document .inv-table{
    min-width:0!important;
    font-size:6.2pt!important;
  }
  .invoice-print-document .inv-table th{
    padding:1.5mm .8mm!important;
    font-size:5.5pt!important;
  }
  .invoice-print-document .inv-table td{
    padding:1.4mm .8mm!important;
    font-size:6pt!important;
  }
  .invoice-print-document .inv-payment-qr-image{
    width:20mm!important;
    height:20mm!important;
  }
  .invoice-print-document .inv-sign{
    display:none!important;
  }
  .invoice-print-document>.v517-doc-signatures{
    width:196mm!important;
    margin:3mm 0 0!important;
    border:.25mm solid #829489!important;
    border-radius:1.5mm!important;
  }
  .invoice-print-document>.v517-doc-signatures>div{
    min-height:34mm!important;
    padding:2.5mm 2mm 2mm!important;
  }
  .invoice-print-document>.v517-doc-signatures strong{
    font-size:6.2pt!important;
  }
  .invoice-print-document>.v517-doc-signatures small{
    font-size:5.2pt!important;
  }
  .invoice-print-document>.v517-doc-signatures .v517-sign-space,
  .invoice-print-document>.v517-doc-signatures .v517-blank-sign{
    height:22mm!important;
  }
  .invoice-print-document>.v517-doc-signatures .v517-employee-sign{
    max-width:40mm!important;
    max-height:17mm!important;
  }
  .invoice-print-document>.v517-doc-signatures .v517-company-sign{
    max-width:42mm!important;
    max-height:18mm!important;
    transform:translateX(4.5mm)!important;
  }
  .invoice-print-document>.v517-doc-signatures .v517-company-stamp{
    width:27mm!important;
    height:27mm!important;
    transform:translate(-88%,-49%) rotate(-6deg)!important;
  }
  .invoice-print-document>.v517-doc-signatures b{
    margin-top:-1.3mm!important;
    font-size:5.8pt!important;
  }
}


/* V522 - Phiếu đặt hàng: tiêu đề cột hàng hóa dùng chữ đen */
.invoice-print-document .inv-table th{
  color:#000000!important;
}
@media print{
  .invoice-print-document .inv-table th{
    color:#000000!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
}


/* V523 - actual displayed Phiếu đặt hàng header row */
.invoice-print-document .inv-table thead th,
.invoice-print-document .inv-table thead th *,
.invoice-print-document .inv-table thead th span,
.invoice-print-document .inv-table thead th div{
  color:#000000!important;
  -webkit-text-fill-color:#000000!important;
  opacity:1!important;
}
.invoice-print-document .inv-table thead th svg{
  color:#000000!important;
  fill:currentColor!important;
  stroke:currentColor!important;
}
@media screen{
  .invoice-print-screen .invoice-print-document .inv-table thead th{
    color:#000000!important;
    -webkit-text-fill-color:#000000!important;
  }
}
@media print{
  .invoice-print-document .inv-table thead th,
  .invoice-print-document .inv-table thead th *{
    color:#000000!important;
    -webkit-text-fill-color:#000000!important;
  }
}


/* V524 - Phiếu đặt hàng: tăng nhẹ chữ ký ĐẠI DIỆN VIFOOD */
.invoice-print-document>.v517-doc-signatures .v517-company-sign{
  max-width:225px!important;
  max-height:98px!important;
  transform:translateX(22px)!important;
}
@media print{
  .invoice-print-document>.v517-doc-signatures .v517-company-sign{
    max-width:46mm!important;
    max-height:20mm!important;
    transform:translateX(4.5mm)!important;
  }
}


/* V525 - Phiếu đặt hàng: chữ ký ĐẠI DIỆN VIFOOD lớn rõ hơn */
.invoice-print-document>.v517-doc-signatures .v517-company-sign{
  max-width:270px!important;
  max-height:120px!important;
  transform:translateX(24px)!important;
}
@media print{
  .invoice-print-document>.v517-doc-signatures .v517-company-sign{
    max-width:53mm!important;
    max-height:23mm!important;
    transform:translateX(5mm)!important;
  }
}


/* V527 - Can giua chu ky NHAN VIEN KINH DOANH trong o ky */
.invoice-print-document>.v517-doc-signatures>div:nth-child(2) .v517-sign-space,
.v372-preview-page .v517-doc-signatures>div:nth-child(2) .v517-sign-space,
.v379-public-quote-page .v517-doc-signatures>div:nth-child(2) .v517-sign-space{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  position:relative!important;
}
.invoice-print-document>.v517-doc-signatures .v517-employee-sign,
.v372-preview-page .v517-doc-signatures .v517-employee-sign,
.v379-public-quote-page .v517-doc-signatures .v517-employee-sign{
  display:block!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform:none!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.invoice-print-document>.v517-doc-signatures>div:nth-child(2)>b,
.v372-preview-page .v517-doc-signatures>div:nth-child(2)>b,
.v379-public-quote-page .v517-doc-signatures>div:nth-child(2)>b{
  display:block!important;
  width:100%!important;
  text-align:center!important;
}
@media print{
  .invoice-print-document>.v517-doc-signatures>div:nth-child(2) .v517-sign-space,
  .v372-preview-page .v517-doc-signatures>div:nth-child(2) .v517-sign-space,
  .v379-public-quote-page .v517-doc-signatures>div:nth-child(2) .v517-sign-space{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}


/* V528 - Nâng chữ ký NHÂN VIÊN KINH DOANH lên cao thêm */
.invoice-print-document>.v517-doc-signatures>div:nth-child(2) .v517-employee-sign,
.v372-preview-page .v517-doc-signatures>div:nth-child(2) .v517-employee-sign,
.v379-public-quote-page .v517-doc-signatures>div:nth-child(2) .v517-employee-sign{
  transform:translateY(-14px)!important;
}
@media print{
  .invoice-print-document>.v517-doc-signatures>div:nth-child(2) .v517-employee-sign,
  .v372-preview-page .v517-doc-signatures>div:nth-child(2) .v517-employee-sign,
  .v379-public-quote-page .v517-doc-signatures>div:nth-child(2) .v517-employee-sign{
    transform:translateY(-3mm)!important;
  }
}


/* =========================================================
   V529 - PHIẾU ĐẶT HÀNG: BẢN IN ĐẬM, NÉT, RÕ, CHUYÊN NGHIỆP
   Chỉ tác động khi IN / Save PDF.
   ========================================================= */
@media print{
  html,body{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
    text-rendering:geometricPrecision!important;
  }

  .invoice-print-document,
  .invoice-print-document *{
    -webkit-font-smoothing:antialiased!important;
    text-shadow:none!important;
  }

  /* Chữ chung đậm và đen rõ hơn */
  .invoice-print-document{
    color:#000!important;
  }
  .invoice-print-document .inv-company-name,
  .invoice-print-document .inv-company-sub,
  .invoice-print-document .inv-mst-value,
  .invoice-print-document .inv-title,
  .invoice-print-document .inv-info-section-label,
  .invoice-print-document .inv-infoline,
  .invoice-print-document .inv-infoline-k,
  .invoice-print-document .inv-infoline-v,
  .invoice-print-document .inv-infoline-v-strong,
  .invoice-print-document .inv-table-caption,
  .invoice-print-document .inv-words,
  .invoice-print-document .inv-order-note,
  .invoice-print-document .inv-note,
  .invoice-print-document .inv-payment-qr-title{
    color:#000!important;
  }

  /* Logo giữ sắc nét */
  .invoice-print-document .inv-logo-image{
    image-rendering:auto!important;
    filter:contrast(1.06)!important;
  }

  /* Tiêu đề phiếu rõ hơn */
  .invoice-print-document .inv-title-block{
    border-top:.35mm solid #555!important;
    border-bottom:.35mm solid #555!important;
  }
  .invoice-print-document .inv-title{
    color:#000!important;
    font-weight:900!important;
    letter-spacing:.01em!important;
  }
  .invoice-print-document .inv-title-kicker{
    color:#333!important;
    font-weight:800!important;
  }

  /* Khung thông tin khách/giao hàng nét hơn */
  .invoice-print-document .inv-info-left,
  .invoice-print-document .inv-info-right{
    border:.3mm solid #777!important;
    background:#fff!important;
  }
  .invoice-print-document .inv-info-section-label{
    font-weight:900!important;
  }
  .invoice-print-document .inv-infoline-v,
  .invoice-print-document .inv-infoline-v-strong{
    font-weight:700!important;
  }

  /* BẢNG HÀNG HÓA: nét đậm rõ */
  .invoice-print-document .inv-table-caption{
    border:.35mm solid #555!important;
    border-bottom:0!important;
    background:#f1f1f1!important;
    color:#000!important;
    font-weight:900!important;
  }
  .invoice-print-document .inv-table{
    color:#000!important;
    border-collapse:collapse!important;
  }
  .invoice-print-document .inv-table th{
    border:.35mm solid #444!important;
    background:#e9e9e9!important;
    color:#000!important;
    -webkit-text-fill-color:#000!important;
    font-weight:900!important;
  }
  .invoice-print-document .inv-table td{
    border:.3mm solid #555!important;
    background:#fff!important;
    color:#000!important;
    font-weight:600!important;
  }
  .invoice-print-document .inv-table td:nth-child(2),
  .invoice-print-document .inv-table td:nth-child(3){
    font-weight:700!important;
  }
  .invoice-print-document .inv-sum-row td{
    background:#f7f7f7!important;
    font-weight:750!important;
  }
  .invoice-print-document .inv-vat-row td{
    background:#f5f5f5!important;
    font-weight:750!important;
  }
  .invoice-print-document .inv-total-row td{
    border-top:.45mm solid #333!important;
    background:#ececec!important;
    color:#000!important;
    font-weight:900!important;
  }
  .invoice-print-document .inv-remaining-amount{
    color:#000!important;
    font-weight:900!important;
  }

  /* Tiền bằng chữ, ghi chú, QR */
  .invoice-print-document .inv-words{
    border:.3mm solid #777!important;
    background:#fff!important;
    font-weight:650!important;
  }
  .invoice-print-document .inv-payment-qr{
    border:.3mm solid #777!important;
    background:#fff!important;
  }
  .invoice-print-document .inv-payment-qr-image{
    image-rendering:auto!important;
    filter:contrast(1.12)!important;
  }
  .invoice-print-document .inv-order-note{
    border-left:1mm solid #444!important;
    background:#f7f7f7!important;
    font-weight:650!important;
  }
  .invoice-print-document .inv-note{
    border:.3mm solid #888!important;
    color:#111!important;
    font-weight:600!important;
  }

  /* Khối chữ ký: đường viền và chữ rõ hơn */
  .invoice-print-document>.v517-doc-signatures{
    border:.35mm solid #555!important;
    background:#fff!important;
  }
  .invoice-print-document>.v517-doc-signatures>div{
    border-left:.3mm solid #777!important;
  }
  .invoice-print-document>.v517-doc-signatures>div:first-child{
    border-left:0!important;
  }
  .invoice-print-document>.v517-doc-signatures strong{
    color:#000!important;
    font-weight:900!important;
  }
  .invoice-print-document>.v517-doc-signatures small{
    color:#333!important;
    font-weight:600!important;
  }
  .invoice-print-document>.v517-doc-signatures b{
    color:#000!important;
    font-weight:900!important;
  }

  /* Chữ ký / dấu giữ ảnh tự nhiên nhưng tăng độ rõ nhẹ */
  .invoice-print-document>.v517-doc-signatures .v517-employee-sign,
  .invoice-print-document>.v517-doc-signatures .v517-company-sign{
    filter:contrast(1.10) saturate(1.04)!important;
    image-rendering:auto!important;
  }
  .invoice-print-document>.v517-doc-signatures .v517-company-stamp{
    opacity:1!important;
    filter:contrast(1.12) saturate(1.20)!important;
    image-rendering:auto!important;
  }

  /* Không dùng bóng/bo trang khi in */
  .invoice-print-document,
  .invoice-print-document .inv-page{
    box-shadow:none!important;
    border-radius:0!important;
  }
}


/* ==========================================================
   V530 - PHIEU DAT HANG: BO CUC CHUAN CHINH / PROFESSIONAL
   Giữ nguyên dữ liệu, nghiệp vụ, chữ ký/dấu của V529.
   ========================================================== */

/* ---- Desktop / screen ---- */
.invoice-print-document{
  max-width:1040px!important;
}
.invoice-print-document .inv-page{
  padding:24px 30px 20px!important;
}

/* Header cân 3 vùng: logo | công ty | MST */
.invoice-print-document .inv-header{
  grid-template-columns:132px minmax(0,1fr) 128px!important;
  gap:18px!important;
  align-items:center!important;
  padding:15px 0 14px!important;
}
.invoice-print-document .inv-logo{
  align-self:center!important;
}
.invoice-print-document .inv-logo-image{
  width:122px!important;
  max-height:68px!important;
}
.invoice-print-document .inv-company{
  min-width:0!important;
}
.invoice-print-document .inv-company-name{
  font-size:14px!important;
  line-height:1.25!important;
}
.invoice-print-document .inv-company-sub{
  max-width:610px!important;
}
.invoice-print-document .inv-mst{
  align-self:center!important;
}

/* Tiêu đề có khoảng thở nhưng không lãng phí chiều cao */
.invoice-print-document .inv-title-block{
  margin:0 0 14px!important;
  padding:10px 0 12px!important;
}
.invoice-print-document .inv-title{
  font-size:30px!important;
}

/* Thông tin: 2 cột bằng nhau, thẳng hàng */
.invoice-print-document .inv-info{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
  align-items:stretch!important;
  margin-bottom:14px!important;
}
.invoice-print-document .inv-info-left,
.invoice-print-document .inv-info-right{
  min-height:132px!important;
  padding:12px 14px!important;
}
.invoice-print-document .inv-infoline{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:start!important;
}
.invoice-print-document .inv-infoline-k{
  white-space:nowrap!important;
}

/* Bảng: tỷ lệ cột cân hơn cho màn hình 12-15 inch */
.invoice-print-document .inv-table th:nth-child(1),
.invoice-print-document .inv-table td:nth-child(1){width:5%!important}
.invoice-print-document .inv-table th:nth-child(2),
.invoice-print-document .inv-table td:nth-child(2){width:24%!important}
.invoice-print-document .inv-table th:nth-child(3),
.invoice-print-document .inv-table td:nth-child(3){width:7%!important}
.invoice-print-document .inv-table th:nth-child(4),
.invoice-print-document .inv-table td:nth-child(4){width:10%!important}
.invoice-print-document .inv-table th:nth-child(5),
.invoice-print-document .inv-table td:nth-child(5){width:8%!important}
.invoice-print-document .inv-table th:nth-child(6),
.invoice-print-document .inv-table td:nth-child(6){width:13%!important}
.invoice-print-document .inv-table th:nth-child(7),
.invoice-print-document .inv-table td:nth-child(7){width:15%!important}
.invoice-print-document .inv-table th:nth-child(8),
.invoice-print-document .inv-table td:nth-child(8){width:9%!important}
.invoice-print-document .inv-table th:nth-child(9),
.invoice-print-document .inv-table td:nth-child(9){width:9%!important}

.invoice-print-document .inv-table th{
  vertical-align:middle!important;
}
.invoice-print-document .inv-table td{
  vertical-align:middle!important;
}
.invoice-print-document .inv-table td:nth-child(1),
.invoice-print-document .inv-table td:nth-child(3),
.invoice-print-document .inv-table td:nth-child(4),
.invoice-print-document .inv-table td:nth-child(5){
  text-align:center!important;
}
.invoice-print-document .inv-table td:nth-child(6),
.invoice-print-document .inv-table td:nth-child(7),
.invoice-print-document .inv-table td:nth-child(8),
.invoice-print-document .inv-table td:nth-child(9){
  text-align:right!important;
  white-space:nowrap!important;
}

/* Khối sau bảng: tiền bằng chữ + QR gọn */
.invoice-print-document .inv-words{
  margin-top:10px!important;
}
.invoice-print-document .inv-payment-qr{
  display:grid!important;
  grid-template-columns:104px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  padding:10px 12px!important;
}
.invoice-print-document .inv-payment-qr-image{
  width:96px!important;
  height:96px!important;
}
.invoice-print-document .inv-payment-qr-copy{
  min-width:0!important;
}

/* Ghi chú không quá nặng */
.invoice-print-document .inv-order-note,
.invoice-print-document .inv-note{
  line-height:1.5!important;
}

/* Khối ký: 3 cột bằng nhau, tiêu đề và tên cùng trục */
.invoice-print-document>.v517-doc-signatures{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:calc(100% - 60px)!important;
  margin:10px 30px 20px!important;
}
.invoice-print-document>.v517-doc-signatures>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  min-height:198px!important;
  padding:14px 10px 11px!important;
}
.invoice-print-document>.v517-doc-signatures>div>strong{
  min-height:17px!important;
}
.invoice-print-document>.v517-doc-signatures>div>small{
  min-height:15px!important;
}
.invoice-print-document>.v517-doc-signatures .v517-sign-space,
.invoice-print-document>.v517-doc-signatures .v517-blank-sign{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:122px!important;
  flex:0 0 122px!important;
  position:relative!important;
}
.invoice-print-document>.v517-doc-signatures>div>b{
  width:100%!important;
  min-height:18px!important;
  margin-top:0!important;
  text-align:center!important;
}

/* Nhân viên vẫn cao hơn nhẹ theo yêu cầu V528 */
.invoice-print-document>.v517-doc-signatures>div:nth-child(2) .v517-employee-sign{
  transform:translateY(-14px)!important;
}

/* Đại diện VIFOOD giữ kích thước lớn V525 */
.invoice-print-document>.v517-doc-signatures .v517-company-sign{
  max-width:270px!important;
  max-height:120px!important;
  transform:translateX(24px)!important;
}
/* Dấu trái, chồng khoảng 1/3 chữ ký */
.invoice-print-document>.v517-doc-signatures .v517-company-stamp{
  width:138px!important;
  height:138px!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-88%,-49%) rotate(-6deg)!important;
}

/* ---- Mobile: xem chứng từ sạch, không vỡ bố cục ---- */
@media(max-width:820px) and (not print){
  .invoice-print-toolbar{
    padding:10px 12px!important;
  }
  .invoice-print-preview{
    padding:8px!important;
  }
  .invoice-print-document .inv-page{
    padding:14px 12px!important;
  }
  .invoice-print-document .inv-header{
    grid-template-columns:94px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
  }
  .invoice-print-document .inv-logo-image{
    width:88px!important;
  }
  .invoice-print-document .inv-mst{
    grid-column:1/-1!important;
  }
  .invoice-print-document .inv-title{
    font-size:24px!important;
  }
  .invoice-print-document .inv-info{
    grid-template-columns:1fr!important;
  }
  .invoice-print-document .inv-info-left,
  .invoice-print-document .inv-info-right{
    min-height:0!important;
  }
  .invoice-print-document .inv-infoline{
    grid-template-columns:98px minmax(0,1fr)!important;
  }
  .invoice-print-document .inv-payment-qr{
    grid-template-columns:86px minmax(0,1fr)!important;
  }
  .invoice-print-document .inv-payment-qr-image{
    width:80px!important;
    height:80px!important;
  }
  .invoice-print-document>.v517-doc-signatures{
    width:calc(100% - 24px)!important;
    margin:10px 12px 16px!important;
  }
}

/* ---- A4 / Save PDF: tỷ lệ chuẩn và đồng nhất ---- */
@media print{
  @page{
    size:A4 portrait;
    margin:7mm;
  }

  .invoice-print-document{
    width:196mm!important;
    max-width:196mm!important;
  }
  .invoice-print-document .inv-page{
    width:196mm!important;
    padding:0!important;
  }

  .invoice-print-document .inv-header{
    grid-template-columns:28mm minmax(0,1fr) 29mm!important;
    gap:3.5mm!important;
    padding:3mm 0 3.2mm!important;
  }
  .invoice-print-document .inv-logo-image{
    width:26mm!important;
    max-height:15mm!important;
  }
  .invoice-print-document .inv-company-name{
    font-size:8.5pt!important;
  }
  .invoice-print-document .inv-company-sub{
    font-size:6pt!important;
    line-height:1.35!important;
  }
  .invoice-print-document .inv-title-block{
    margin-bottom:2.8mm!important;
    padding:2.2mm 0 2.5mm!important;
  }
  .invoice-print-document .inv-title{
    font-size:17.5pt!important;
  }

  .invoice-print-document .inv-info{
    grid-template-columns:1fr 1fr!important;
    gap:2.8mm!important;
    margin-bottom:2.8mm!important;
  }
  .invoice-print-document .inv-info-left,
  .invoice-print-document .inv-info-right{
    min-height:25mm!important;
    padding:2.2mm 2.5mm!important;
  }
  .invoice-print-document .inv-infoline{
    grid-template-columns:23mm minmax(0,1fr)!important;
    gap:1.5mm!important;
    margin-top:.8mm!important;
  }

  /* Bảng A4: cột tiền đủ rộng, tên hàng ưu tiên */
  .invoice-print-document .inv-table th:nth-child(1),
  .invoice-print-document .inv-table td:nth-child(1){width:5%!important}
  .invoice-print-document .inv-table th:nth-child(2),
  .invoice-print-document .inv-table td:nth-child(2){width:24%!important}
  .invoice-print-document .inv-table th:nth-child(3),
  .invoice-print-document .inv-table td:nth-child(3){width:7%!important}
  .invoice-print-document .inv-table th:nth-child(4),
  .invoice-print-document .inv-table td:nth-child(4){width:10%!important}
  .invoice-print-document .inv-table th:nth-child(5),
  .invoice-print-document .inv-table td:nth-child(5){width:8%!important}
  .invoice-print-document .inv-table th:nth-child(6),
  .invoice-print-document .inv-table td:nth-child(6){width:13%!important}
  .invoice-print-document .inv-table th:nth-child(7),
  .invoice-print-document .inv-table td:nth-child(7){width:15%!important}
  .invoice-print-document .inv-table th:nth-child(8),
  .invoice-print-document .inv-table td:nth-child(8){width:9%!important}
  .invoice-print-document .inv-table th:nth-child(9),
  .invoice-print-document .inv-table td:nth-child(9){width:9%!important}

  .invoice-print-document .inv-payment-qr{
    grid-template-columns:22mm minmax(0,1fr)!important;
    gap:2.5mm!important;
    padding:2mm!important;
  }
  .invoice-print-document .inv-payment-qr-image{
    width:20mm!important;
    height:20mm!important;
  }

  /* Khối ký A4 */
  .invoice-print-document>.v517-doc-signatures{
    width:196mm!important;
    margin:3mm 0 0!important;
    grid-template-columns:repeat(3,1fr)!important;
  }
  .invoice-print-document>.v517-doc-signatures>div{
    min-height:34mm!important;
    padding:2.5mm 2mm 2mm!important;
  }
  .invoice-print-document>.v517-doc-signatures .v517-sign-space,
  .invoice-print-document>.v517-doc-signatures .v517-blank-sign{
    height:22mm!important;
    flex-basis:22mm!important;
  }
  .invoice-print-document>.v517-doc-signatures>div:nth-child(2) .v517-employee-sign{
    transform:translateY(-3mm)!important;
  }
  .invoice-print-document>.v517-doc-signatures .v517-company-sign{
    max-width:53mm!important;
    max-height:23mm!important;
    transform:translateX(5mm)!important;
  }
  .invoice-print-document>.v517-doc-signatures .v517-company-stamp{
    width:27mm!important;
    height:27mm!important;
    transform:translate(-88%,-49%) rotate(-6deg)!important;
  }

  /* Giữ các khối quan trọng không bị cắt xấu qua trang */
  .invoice-print-document .inv-info,
  .invoice-print-document .inv-words,
  .invoice-print-document .inv-payment-qr,
  .invoice-print-document .inv-order-note,
  .invoice-print-document>.v517-doc-signatures{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}


/* ==========================================================
   V531 - FIX IN A4: KHONG DAY KHOI CHU KY SANG TRANG 2
   ========================================================== */
@media print{
  /* The signature section must use the remaining blank area on page 1. */
  .invoice-print-document>.v517-doc-signatures{
    break-inside:auto!important;
    page-break-inside:auto!important;
    break-before:auto!important;
    page-break-before:auto!important;
    break-after:auto!important;
    page-break-after:auto!important;
    margin-top:2mm!important;
  }

  /* Compact the signature area slightly so it fits naturally on page 1. */
  .invoice-print-document>.v517-doc-signatures>div{
    min-height:29mm!important;
    padding:2mm 1.8mm 1.5mm!important;
  }
  .invoice-print-document>.v517-doc-signatures .v517-sign-space,
  .invoice-print-document>.v517-doc-signatures .v517-blank-sign{
    height:18.5mm!important;
    flex-basis:18.5mm!important;
  }

  /* Keep signatures readable while reducing wasted vertical space. */
  .invoice-print-document>.v517-doc-signatures .v517-employee-sign{
    max-height:15.5mm!important;
    transform:translateY(-2mm)!important;
  }
  .invoice-print-document>.v517-doc-signatures .v517-company-sign{
    max-width:49mm!important;
    max-height:20.5mm!important;
    transform:translateX(4.5mm)!important;
  }
  .invoice-print-document>.v517-doc-signatures .v517-company-stamp{
    width:24.5mm!important;
    height:24.5mm!important;
    transform:translate(-88%,-49%) rotate(-6deg)!important;
  }

  /* Reduce vertical gaps before the signature block. */
  .invoice-print-document .inv-words{
    margin-top:1.5mm!important;
  }
  .invoice-print-document .inv-payment-qr{
    margin-top:1.5mm!important;
    padding:1.5mm!important;
  }
  .invoice-print-document .inv-order-note{
    margin-top:1.5mm!important;
    padding:1.5mm 2mm!important;
  }
  .invoice-print-document .inv-note{
    margin-top:1.3mm!important;
    padding:1.5mm 2mm!important;
  }

  /* These blocks can remain together, but do not reserve the signature
     block as one large unbreakable object that forces a new sheet. */
  .invoice-print-document .inv-info,
  .invoice-print-document .inv-words,
  .invoice-print-document .inv-payment-qr,
  .invoice-print-document .inv-order-note{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}


/* ==========================================================
   V532 - FIX TRIỆT ĐỂ: CHỮ KÝ PHIẾU ĐẶT HÀNG CÙNG LUỒNG TRANG 1
   ========================================================== */

/* Signature is now inside .inv-page, so style descendant instead of only direct child. */
.invoice-print-document .inv-page>.v517-doc-signatures{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  margin:10px 0 0!important;
  border:1px solid #9fb2a5!important;
  border-radius:8px!important;
  background:#fff!important;
  overflow:visible!important;
  break-inside:auto!important;
  page-break-inside:auto!important;
}
.invoice-print-document .inv-page>.v517-doc-signatures>div{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  min-height:190px!important;
  padding:14px 10px 10px!important;
  border-left:1px solid #d2dbd5!important;
  overflow:visible!important;
}
.invoice-print-document .inv-page>.v517-doc-signatures>div:first-child{
  border-left:0!important;
}
.invoice-print-document .inv-page>.v517-doc-signatures strong{
  color:#0d5b32!important;
  font-size:10px!important;
  font-weight:900!important;
}
.invoice-print-document .inv-page>.v517-doc-signatures small{
  margin-top:3px!important;
  color:#68756d!important;
  font-size:8px!important;
}
.invoice-print-document .inv-page>.v517-doc-signatures .v517-sign-space,
.invoice-print-document .inv-page>.v517-doc-signatures .v517-blank-sign{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:118px!important;
  position:relative!important;
}
.invoice-print-document .inv-page>.v517-doc-signatures .v517-employee-sign{
  display:block!important;
  margin:auto!important;
  max-width:190px!important;
  max-height:82px!important;
  transform:translateY(-14px)!important;
  object-fit:contain!important;
}
.invoice-print-document .inv-page>.v517-doc-signatures .v517-company-sign{
  position:relative!important;
  z-index:2!important;
  max-width:270px!important;
  max-height:120px!important;
  transform:translateX(24px)!important;
  object-fit:contain!important;
}
.invoice-print-document .inv-page>.v517-doc-signatures .v517-company-stamp{
  position:absolute!important;
  z-index:3!important;
  left:50%!important;
  top:50%!important;
  width:138px!important;
  height:138px!important;
  transform:translate(-88%,-49%) rotate(-6deg)!important;
  opacity:.97!important;
  object-fit:contain!important;
}
.invoice-print-document .inv-page>.v517-doc-signatures b{
  width:100%!important;
  text-align:center!important;
  color:#111!important;
  font-size:9.5px!important;
  font-weight:900!important;
}

@media print{
  /* Critical: overflow:hidden on .print-area can make it a print-fragment boundary.
     Remove that boundary and all artificial page starts/heights. */
  .invoice-print-document,
  .invoice-print-document>.print-area,
  .invoice-print-document .print-area,
  .invoice-print-document .inv-page{
    display:block!important;
    position:static!important;
    float:none!important;
    overflow:visible!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    break-before:auto!important;
    page-break-before:auto!important;
    break-after:auto!important;
    page-break-after:auto!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }

  /* Match the browser's inline @page margin 8mm: printable width = 194mm.
     Avoid 196mm width overflow that can destabilize print fragmentation. */
  .invoice-print-document,
  .invoice-print-document .inv-page{
    box-sizing:border-box!important;
    width:194mm!important;
    min-width:194mm!important;
    max-width:194mm!important;
    margin:0 auto!important;
  }

  /* Keep signature inside the actual invoice page flow. */
  .invoice-print-document .inv-page>.v517-doc-signatures{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    width:100%!important;
    margin:2mm 0 0!important;
    border:.35mm solid #555!important;
    border-radius:1.5mm!important;
    break-before:auto!important;
    page-break-before:auto!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  .invoice-print-document .inv-page>.v517-doc-signatures>div{
    min-height:27mm!important;
    padding:1.8mm 1.6mm 1.2mm!important;
    border-left:.3mm solid #777!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  .invoice-print-document .inv-page>.v517-doc-signatures>div:first-child{
    border-left:0!important;
  }
  .invoice-print-document .inv-page>.v517-doc-signatures strong{
    color:#000!important;
    font-size:6.1pt!important;
    font-weight:900!important;
  }
  .invoice-print-document .inv-page>.v517-doc-signatures small{
    color:#333!important;
    font-size:5pt!important;
    font-weight:600!important;
  }
  .invoice-print-document .inv-page>.v517-doc-signatures .v517-sign-space,
  .invoice-print-document .inv-page>.v517-doc-signatures .v517-blank-sign{
    height:17mm!important;
    min-height:17mm!important;
  }
  .invoice-print-document .inv-page>.v517-doc-signatures .v517-employee-sign{
    max-width:38mm!important;
    max-height:14.5mm!important;
    transform:translateY(-1.8mm)!important;
  }
  .invoice-print-document .inv-page>.v517-doc-signatures .v517-company-sign{
    max-width:49mm!important;
    max-height:20mm!important;
    transform:translateX(4.5mm)!important;
  }
  .invoice-print-document .inv-page>.v517-doc-signatures .v517-company-stamp{
    width:24mm!important;
    height:24mm!important;
    transform:translate(-88%,-49%) rotate(-6deg)!important;
    opacity:1!important;
  }
  .invoice-print-document .inv-page>.v517-doc-signatures b{
    margin-top:-.8mm!important;
    color:#000!important;
    font-size:5.7pt!important;
    font-weight:900!important;
  }

  /* Remove avoid rules from nearby footer/notes so the browser can use
     remaining page-1 space instead of reserving a large block. */
  .invoice-print-document .inv-words,
  .invoice-print-document .inv-payment-qr,
  .invoice-print-document .inv-order-note,
  .invoice-print-document .inv-note{
    break-inside:auto!important;
    page-break-inside:auto!important;
    break-before:auto!important;
    page-break-before:auto!important;
  }
}


/* ==========================================================
   V533 - PHIẾU ĐẶT HÀNG: GHI CHÚ NGANG HÀNG MÃ QR THANH TOÁN
   ========================================================== */

/* Desktop preview: QR bên trái, GHI CHÚ bên phải */
@media(min-width:821px) and (not print){
  .invoice-print-document .inv-payment-qr{
    float:left!important;
    box-sizing:border-box!important;
    width:58%!important;
    margin:9px 2% 9px 0!important;
  }
  .invoice-print-document .inv-payment-qr + .inv-note,
  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    box-sizing:border-box!important;
    width:40%!important;
    min-height:116px!important;
    margin:9px 0!important;
    padding:10px 12px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    color:#222!important;
    line-height:1.5!important;
  }
  .invoice-print-document .inv-payment-qr + .inv-note::first-line,
  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note::first-line{
    font-weight:800!important;
  }
  .invoice-print-document .inv-sign,
  .invoice-print-document .inv-page>.v517-doc-signatures{
    clear:both!important;
  }
}

/* A4/PDF: tận dụng chiều ngang để giảm chiều cao phiếu */
@media print{
  .invoice-print-document .inv-payment-qr{
    float:left!important;
    box-sizing:border-box!important;
    width:58%!important;
    margin:1.5mm 2% 1.5mm 0!important;
  }

  .invoice-print-document .inv-payment-qr + .inv-note,
  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    box-sizing:border-box!important;
    float:none!important;
    width:40%!important;
    min-height:22mm!important;
    margin:1.5mm 0!important;
    padding:1.5mm 2mm!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    border:.3mm solid #888!important;
    background:#fff!important;
    color:#000!important;
    font-size:5.6pt!important;
    line-height:1.4!important;
    font-weight:600!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  /* Nếu có ghi chú riêng của đơn hàng, giữ nó dưới khối QR rồi mới tới ghi chú chuẩn. */
  .invoice-print-document .inv-payment-qr + .inv-order-note{
    box-sizing:border-box!important;
    width:40%!important;
    margin:1.5mm 0 .8mm 60%!important;
  }
  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    margin-left:60%!important;
  }

  /* Khối chữ ký bắt đầu sau hàng QR + GHI CHÚ, không bị float đè. */
  .invoice-print-document .inv-sign,
  .invoice-print-document .inv-page>.v517-doc-signatures{
    clear:both!important;
  }
}

/* Mobile vẫn xếp dọc để dễ đọc */
@media(max-width:820px) and (not print){
  .invoice-print-document .inv-payment-qr,
  .invoice-print-document .inv-note{
    float:none!important;
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* ==========================================================
   V534 - PREVIEW GIỐNG BẢN IN:
   QR / THANH TOÁN bên trái + GHI CHÚ bên phải cùng hàng
   ========================================================== */

/* Áp dụng cho bản thể hiện trước khi in trên desktop */
@media screen and (min-width:821px){
  .invoice-print-document .inv-payment-qr{
    float:left!important;
    box-sizing:border-box!important;
    width:58%!important;
    min-height:118px!important;
    margin:10px 2% 10px 0!important;
  }

  /* Trường hợp không có ghi chú riêng của đơn */
  .invoice-print-document .inv-payment-qr + .inv-note{
    float:right!important;
    box-sizing:border-box!important;
    width:40%!important;
    min-height:118px!important;
    margin:10px 0!important;
    padding:10px 12px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    border:1px solid #d9e0dc!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#303833!important;
    font-size:8.8px!important;
    line-height:1.5!important;
  }

  /* Trường hợp có "GHI CHÚ ĐƠN HÀNG" nằm giữa QR và ghi chú chuẩn */
  .invoice-print-document .inv-payment-qr + .inv-order-note{
    float:right!important;
    box-sizing:border-box!important;
    width:40%!important;
    margin:10px 0 6px!important;
  }

  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    float:right!important;
    box-sizing:border-box!important;
    width:40%!important;
    min-height:82px!important;
    margin:0 0 10px!important;
    padding:10px 12px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    border:1px solid #d9e0dc!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#303833!important;
    font-size:8.8px!important;
    line-height:1.5!important;
  }

  /* Tăng độ rõ tiêu đề/dòng cảnh báo trên preview */
  .invoice-print-document .inv-payment-qr + .inv-note,
  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    font-weight:600!important;
  }

  /* Sau hàng QR + ghi chú, các khối tiếp theo trở về luồng bình thường */
  .invoice-print-document .inv-sign,
  .invoice-print-document .inv-page>.v517-doc-signatures{
    clear:both!important;
  }

  /* Dọn float nếu DOM chưa có chữ ký (ví dụ dữ liệu đang tải) */
  .invoice-print-document .inv-page::after{
    content:""!important;
    display:block!important;
    clear:both!important;
  }
}

/* Mobile vẫn xếp dọc, nhưng giữ cùng style với bản in */
@media screen and (max-width:820px){
  .invoice-print-document .inv-payment-qr,
  .invoice-print-document .inv-payment-qr + .inv-note,
  .invoice-print-document .inv-payment-qr + .inv-order-note,
  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    float:none!important;
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* ==========================================================
   V535 - FIX CHỮ KÝ KHÔNG NHẢY TRANG SAU QR + GHI CHÚ
   ========================================================== */
@media print{

  /* Remove all artificial page fragmentation around the lower half. */
  .invoice-print-document .inv-payment-qr,
  .invoice-print-document .inv-note,
  .invoice-print-document .inv-order-note,
  .invoice-print-document .inv-page>.v517-doc-signatures{
    break-before:auto!important;
    page-break-before:auto!important;
    break-after:auto!important;
    page-break-after:auto!important;
  }

  /* Critical: QR/ghi chú are floated in V533/V534.
     Clear floats before signatures but do NOT create a new page/fragment. */
  .invoice-print-document .inv-page>.v517-doc-signatures{
    clear:both!important;
    float:none!important;
    position:relative!important;
    display:grid!important;
    width:100%!important;
    max-width:100%!important;
    margin:1.2mm 0 0!important;
    padding:0!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
    contain:none!important;
  }

  /* Compact signature row enough to fit the visible blank space on page 1. */
  .invoice-print-document .inv-page>.v517-doc-signatures>div{
    min-height:22mm!important;
    height:22mm!important;
    padding:1.3mm 1.2mm .8mm!important;
    overflow:visible!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }

  .invoice-print-document .inv-page>.v517-doc-signatures>div>strong{
    min-height:0!important;
    margin:0!important;
    font-size:5.7pt!important;
    line-height:1.05!important;
  }
  .invoice-print-document .inv-page>.v517-doc-signatures>div>small{
    min-height:0!important;
    margin:.5mm 0 0!important;
    font-size:4.7pt!important;
    line-height:1.05!important;
  }

  .invoice-print-document .inv-page>.v517-doc-signatures .v517-sign-space,
  .invoice-print-document .inv-page>.v517-doc-signatures .v517-blank-sign{
    height:13.5mm!important;
    min-height:13.5mm!important;
    flex-basis:13.5mm!important;
    margin:0!important;
  }

  .invoice-print-document .inv-page>.v517-doc-signatures .v517-employee-sign{
    max-width:35mm!important;
    max-height:12mm!important;
    transform:translateY(-1mm)!important;
  }

  .invoice-print-document .inv-page>.v517-doc-signatures .v517-company-sign{
    max-width:43mm!important;
    max-height:16.5mm!important;
    transform:translateX(4mm)!important;
  }

  .invoice-print-document .inv-page>.v517-doc-signatures .v517-company-stamp{
    width:20.5mm!important;
    height:20.5mm!important;
    transform:translate(-88%,-49%) rotate(-6deg)!important;
  }

  .invoice-print-document .inv-page>.v517-doc-signatures b{
    min-height:0!important;
    margin-top:-.4mm!important;
    font-size:5.2pt!important;
    line-height:1!important;
  }

  /* Reduce the bottom-space consumed by QR + note row. */
  .invoice-print-document .inv-payment-qr{
    min-height:0!important;
    margin-bottom:.8mm!important;
    padding:1.2mm 1.5mm!important;
  }

  .invoice-print-document .inv-payment-qr + .inv-note,
  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    min-height:0!important;
    margin-bottom:.8mm!important;
    padding:1.2mm 1.5mm!important;
  }

  .invoice-print-document .inv-order-note{
    min-height:0!important;
    margin-bottom:.6mm!important;
    padding:1.1mm 1.5mm!important;
  }

  /* Eliminate accidental full-page minimums inherited from older CSS. */
  .invoice-print-document,
  .invoice-print-document>.print-area,
  .invoice-print-document .print-area,
  .invoice-print-document .inv-page{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }

  /* Avoid a blank second page caused by tiny overflow. */
  .invoice-print-document .inv-page{
    margin-bottom:0!important;
  }
}

/* Preview should visually match the compact print ending. */
@media screen and (min-width:821px){
  .invoice-print-document .inv-page>.v517-doc-signatures{
    clear:both!important;
    margin-top:8px!important;
  }
}


/* ==========================================================
   V536 - ANCHOR KHỐI CHỮ KÝ VÀO TRANG A4 SỐ 1 KHI CÒN ĐỦ CHỖ
   ========================================================== */
@media print{
  /* Normal state remains flow-based for long orders. */
  .invoice-print-document .inv-page{
    box-sizing:border-box!important;
    position:relative!important;
  }

  /* Runtime JS adds this class only when all content + signature fits in page 1. */
  .invoice-print-document .inv-page.v536-page1-anchor{
    box-sizing:border-box!important;
    position:relative!important;
    width:194mm!important;
    min-width:194mm!important;
    max-width:194mm!important;

    /* 297mm A4 - 16mm print margins = 281mm printable page height */
    height:281mm!important;
    min-height:281mm!important;
    max-height:281mm!important;

    padding-bottom:calc(var(--v536-sign-h, 22mm) + 2mm)!important;
    overflow:visible!important;

    break-after:page!important;
    page-break-after:always!important;
  }

  .invoice-print-document .inv-page.v536-page1-anchor > .v517-doc-signatures{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;

    width:100%!important;
    max-width:100%!important;
    margin:0!important;

    clear:none!important;
    float:none!important;

    break-before:auto!important;
    page-break-before:auto!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    break-after:auto!important;
    page-break-after:auto!important;

    z-index:5!important;
    background:#fff!important;
  }

  /* Prevent a trailing blank page from old wrappers. */
  .invoice-print-document.v536-has-page1-anchor,
  .invoice-print-document .print-area{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
  }
}

/* Screen preview remains unchanged. */


/* ==========================================================
   V537 - KHUNG CHỮ KÝ NẰM SÁT DƯỚI QR + GHI CHÚ
   Bỏ cơ chế ghim đáy trang của V536.
   ========================================================== */

/* Neutralize V536 anchor if class remains from cache/runtime. */
.invoice-print-document .inv-page.v536-page1-anchor{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding-bottom:0!important;
  position:relative!important;
}
.invoice-print-document .inv-page.v536-page1-anchor > .v517-doc-signatures{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin:6px 0 0!important;
}

/* Preview: khung ký bắt đầu ngay sau hàng QR + GHI CHÚ. */
@media screen{
  .invoice-print-document .inv-page>.v517-doc-signatures{
    clear:both!important;
    float:none!important;
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    margin:6px 0 0!important;
    padding:0!important;
    break-before:auto!important;
    page-break-before:auto!important;
  }

  /* Không để khoảng trắng thừa giữa phần thanh toán và chữ ký. */
  .invoice-print-document .inv-payment-qr,
  .invoice-print-document .inv-payment-qr + .inv-note,
  .invoice-print-document .inv-payment-qr + .inv-order-note,
  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    margin-bottom:0!important;
  }

  .invoice-print-document .inv-page::after{
    content:""!important;
    display:block!important;
    clear:both!important;
    height:0!important;
  }
}

/* Print/PDF: đặt khung ký sát ngay dưới QR + ghi chú, trong cùng luồng. */
@media print{
  .invoice-print-document .inv-page{
    position:static!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding-bottom:0!important;
    overflow:visible!important;
  }

  .invoice-print-document .inv-page>.v517-doc-signatures,
  .invoice-print-document .inv-page.v536-page1-anchor>.v517-doc-signatures{
    clear:both!important;
    float:none!important;
    position:static!important;

    width:100%!important;
    max-width:100%!important;
    margin:1mm 0 0!important;
    padding:0!important;

    break-before:auto!important;
    page-break-before:auto!important;
    break-after:auto!important;
    page-break-after:auto!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }

  /* QR + ghi chú kết thúc gọn, không tạo khoảng trắng lớn. */
  .invoice-print-document .inv-payment-qr{
    margin-bottom:0!important;
  }
  .invoice-print-document .inv-payment-qr + .inv-note,
  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    margin-bottom:0!important;
  }
  .invoice-print-document .inv-payment-qr + .inv-order-note{
    margin-bottom:.5mm!important;
  }

  /* Giữ khối ký tương đối gọn nhưng không ép xuống đáy trang. */
  .invoice-print-document .inv-page>.v517-doc-signatures>div{
    min-height:23mm!important;
    height:auto!important;
    padding:1.5mm 1.4mm 1mm!important;
  }

  .invoice-print-document .inv-page>.v517-doc-signatures .v517-sign-space,
  .invoice-print-document .inv-page>.v517-doc-signatures .v517-blank-sign{
    height:14mm!important;
    min-height:14mm!important;
    flex-basis:14mm!important;
  }

  .invoice-print-document .inv-page>.v517-doc-signatures .v517-employee-sign{
    max-height:12.5mm!important;
    transform:translateY(-1mm)!important;
  }

  .invoice-print-document .inv-page>.v517-doc-signatures .v517-company-sign{
    max-width:45mm!important;
    max-height:17mm!important;
    transform:translateX(4mm)!important;
  }

  .invoice-print-document .inv-page>.v517-doc-signatures .v517-company-stamp{
    width:21mm!important;
    height:21mm!important;
    transform:translate(-88%,-49%) rotate(-6deg)!important;
  }
}


/* ==========================================================
   V538 - PRINT: CHỮ KÝ BÁM SÁT NGAY DƯỚI QR/GHI CHÚ
   ========================================================== */
@media print{
  /* Normal fallback for long orders */
  .invoice-print-document .inv-page{
    position:relative!important;
  }

  /* Only enabled by JS when signature truly fits on page 1 */
  .invoice-print-document .inv-page.v538-sign-after-qr{
    position:relative!important;
    min-height:var(--v538-page-min-height,0)!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }

  .invoice-print-document .inv-page.v538-sign-after-qr > .v517-doc-signatures{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:var(--v538-sign-top)!important;
    bottom:auto!important;

    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;

    clear:none!important;
    float:none!important;

    break-before:auto!important;
    page-break-before:auto!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    break-after:auto!important;
    page-break-after:auto!important;

    z-index:10!important;
    background:#fff!important;
  }

  /* Make sure no inherited V536 anchor can interfere. */
  .invoice-print-document .inv-page.v538-sign-after-qr.v536-page1-anchor{
    height:auto!important;
    min-height:var(--v538-page-min-height,0)!important;
    max-height:none!important;
    padding-bottom:0!important;
  }

  /* Compact but readable signature row for reliable page-1 fit. */
  .invoice-print-document .inv-page.v538-sign-after-qr > .v517-doc-signatures>div{
    min-height:23mm!important;
    height:auto!important;
    padding:1.5mm 1.4mm 1mm!important;
  }
  .invoice-print-document .inv-page.v538-sign-after-qr > .v517-doc-signatures .v517-sign-space,
  .invoice-print-document .inv-page.v538-sign-after-qr > .v517-doc-signatures .v517-blank-sign{
    height:14mm!important;
    min-height:14mm!important;
    flex-basis:14mm!important;
  }
  .invoice-print-document .inv-page.v538-sign-after-qr > .v517-doc-signatures .v517-employee-sign{
    max-height:12.5mm!important;
    transform:translateY(-1mm)!important;
  }
  .invoice-print-document .inv-page.v538-sign-after-qr > .v517-doc-signatures .v517-company-sign{
    max-width:45mm!important;
    max-height:17mm!important;
    transform:translateX(4mm)!important;
  }
  .invoice-print-document .inv-page.v538-sign-after-qr > .v517-doc-signatures .v517-company-stamp{
    width:21mm!important;
    height:21mm!important;
    transform:translate(-88%,-49%) rotate(-6deg)!important;
  }
}

/* Screen preview unchanged: signature remains directly below QR/note in normal flow. */


/* ==========================================================
   V539 - FINAL: QR + GHI CHÚ + CHỮ KÝ THÀNH MỘT KHỐI LIỀN
   ========================================================== */

.invoice-print-document .v539-payment-signature-zone{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:8px 0 0!important;
  padding:0!important;
  clear:both!important;
  float:none!important;
  position:static!important;
  overflow:visible!important;
}

.invoice-print-document .v539-payment-row{
  display:grid!important;
  grid-template-columns:minmax(0,58%) minmax(0,42%)!important;
  gap:10px!important;
  align-items:stretch!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

.invoice-print-document .v539-payment-row .inv-payment-qr{
  float:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  height:auto!important;
  min-height:0!important;
  align-self:stretch!important;
}

.invoice-print-document .v539-note-column{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

.invoice-print-document .v539-note-column .inv-order-note,
.invoice-print-document .v539-note-column .inv-note{
  float:none!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  flex:1 1 auto!important;
}

.invoice-print-document .v539-note-column .inv-note{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

/* The key rule: signature is directly attached below the payment row. */
.invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  max-width:100%!important;
  margin:6px 0 0!important;
  padding:0!important;
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  clear:both!important;
  float:none!important;
  border:1px solid #9fb2a5!important;
  border-radius:8px!important;
  background:#fff!important;
  overflow:visible!important;
  break-before:auto!important;
  page-break-before:auto!important;
  break-after:auto!important;
  page-break-after:auto!important;
  break-inside:auto!important;
  page-break-inside:auto!important;
}

.invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures>div{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  min-height:176px!important;
  height:auto!important;
  padding:12px 10px 9px!important;
  border-left:1px solid #d2dbd5!important;
  overflow:visible!important;
}

.invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures>div:first-child{
  border-left:0!important;
}

.invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures strong{
  color:#0d5b32!important;
  font-size:10px!important;
  font-weight:900!important;
}

.invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures small{
  margin-top:3px!important;
  color:#68756d!important;
  font-size:8px!important;
}

.invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures .v517-sign-space,
.invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures .v517-blank-sign{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:108px!important;
  min-height:108px!important;
  position:relative!important;
}

.invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures .v517-employee-sign{
  display:block!important;
  margin:auto!important;
  max-width:190px!important;
  max-height:82px!important;
  transform:translateY(-12px)!important;
  object-fit:contain!important;
}

.invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures .v517-company-sign{
  position:relative!important;
  z-index:2!important;
  max-width:270px!important;
  max-height:120px!important;
  transform:translateX(24px)!important;
  object-fit:contain!important;
}

.invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures .v517-company-stamp{
  position:absolute!important;
  z-index:3!important;
  left:50%!important;
  top:50%!important;
  width:138px!important;
  height:138px!important;
  transform:translate(-88%,-49%) rotate(-6deg)!important;
  opacity:.97!important;
  object-fit:contain!important;
}

.invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures b{
  width:100%!important;
  margin-top:-4px!important;
  text-align:center!important;
  color:#111!important;
  font-size:9.5px!important;
  font-weight:900!important;
}

/* Remove old absolute-anchor behavior if stale classes survive cache. */
.invoice-print-document .inv-page.v538-sign-after-qr > .v517-doc-signatures,
.invoice-print-document .inv-page.v536-page1-anchor > .v517-doc-signatures{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
}

/* Mobile */
@media screen and (max-width:820px){
  .invoice-print-document .v539-payment-row{
    grid-template-columns:1fr!important;
  }
  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures{
    grid-template-columns:1fr!important;
  }
  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures>div{
    border-left:0!important;
    border-top:1px solid #d2dbd5!important;
  }
  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures>div:first-child{
    border-top:0!important;
  }
}

/* A4 / PDF */
@media print{
  .invoice-print-document .v539-payment-signature-zone{
    display:block!important;
    width:100%!important;
    margin:1.5mm 0 0!important;
    padding:0!important;
    clear:both!important;
    position:static!important;
    overflow:visible!important;
    break-before:auto!important;
    page-break-before:auto!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }

  .invoice-print-document .v539-payment-row{
    display:grid!important;
    grid-template-columns:minmax(0,58%) minmax(0,42%)!important;
    gap:2mm!important;
    align-items:stretch!important;
    width:100%!important;
    margin:0!important;
  }

  .invoice-print-document .v539-payment-row .inv-payment-qr{
    float:none!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:1.2mm 1.5mm!important;
  }

  .invoice-print-document .v539-note-column{
    gap:1mm!important;
  }

  .invoice-print-document .v539-note-column .inv-order-note,
  .invoice-print-document .v539-note-column .inv-note{
    float:none!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:1.2mm 1.5mm!important;
    font-size:5.5pt!important;
    line-height:1.35!important;
  }

  /* Exactly 1mm below QR/note row */
  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    width:100%!important;
    margin:1mm 0 0!important;
    padding:0!important;
    position:static!important;
    clear:both!important;
    float:none!important;

    border:.3mm solid #666!important;
    border-radius:1.2mm!important;

    break-before:auto!important;
    page-break-before:auto!important;
    break-after:auto!important;
    page-break-after:auto!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }

  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures>div{
    min-height:22mm!important;
    height:22mm!important;
    padding:1.2mm 1.3mm .8mm!important;
    border-left:.25mm solid #777!important;
  }

  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures>div:first-child{
    border-left:0!important;
  }

  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures strong{
    color:#000!important;
    font-size:5.7pt!important;
    font-weight:900!important;
  }

  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures small{
    color:#333!important;
    font-size:4.7pt!important;
  }

  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures .v517-sign-space,
  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures .v517-blank-sign{
    height:13.5mm!important;
    min-height:13.5mm!important;
  }

  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures .v517-employee-sign{
    max-width:35mm!important;
    max-height:12mm!important;
    transform:translateY(-1mm)!important;
  }

  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures .v517-company-sign{
    max-width:43mm!important;
    max-height:16.5mm!important;
    transform:translateX(4mm)!important;
  }

  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures .v517-company-stamp{
    width:20.5mm!important;
    height:20.5mm!important;
    transform:translate(-88%,-49%) rotate(-6deg)!important;
  }

  .invoice-print-document .v539-payment-signature-zone > .v517-doc-signatures b{
    margin-top:-.5mm!important;
    color:#000!important;
    font-size:5.2pt!important;
    font-weight:900!important;
  }

  /* Ensure old wrappers do not reserve vertical space. */
  .invoice-print-document,
  .invoice-print-document .print-area,
  .invoice-print-document .inv-page{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }
}


/* ==========================================================
   V540 - DIRECT SIGNATURE SLOT AFTER QR/NOTE
   ========================================================== */

/* Legacy signature block stays hidden. */
.invoice-print-document .inv-sign{
  display:none!important;
}

/* Stable direct slot rendered inside InvoiceVIFOOD. */
.invoice-print-document .v540-signature-slot{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  clear:both!important;
  float:none!important;
  position:static!important;
  margin:6px 0 0!important;
  padding:0!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}

/* Signature is rendered inside the slot, not appended elsewhere. */
.invoice-print-document .v540-signature-slot>.v517-doc-signatures{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  clear:both!important;
  float:none!important;
  border:1px solid #9fb2a5!important;
  border-radius:8px!important;
  background:#fff!important;
  overflow:visible!important;
  break-before:auto!important;
  page-break-before:auto!important;
  break-after:auto!important;
  page-break-after:auto!important;
  break-inside:auto!important;
  page-break-inside:auto!important;
}

.invoice-print-document .v540-signature-slot>.v517-doc-signatures>div{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  min-height:176px!important;
  padding:12px 10px 9px!important;
  border-left:1px solid #d2dbd5!important;
  overflow:visible!important;
}
.invoice-print-document .v540-signature-slot>.v517-doc-signatures>div:first-child{
  border-left:0!important;
}
.invoice-print-document .v540-signature-slot>.v517-doc-signatures strong{
  color:#0d5b32!important;
  font-size:10px!important;
  font-weight:900!important;
}
.invoice-print-document .v540-signature-slot>.v517-doc-signatures small{
  margin-top:3px!important;
  color:#68756d!important;
  font-size:8px!important;
}
.invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-sign-space,
.invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-blank-sign{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:108px!important;
  min-height:108px!important;
  position:relative!important;
}
.invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-employee-sign{
  display:block!important;
  margin:auto!important;
  max-width:190px!important;
  max-height:82px!important;
  transform:translateY(-12px)!important;
  object-fit:contain!important;
}
.invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-company-sign{
  position:relative!important;
  z-index:2!important;
  max-width:270px!important;
  max-height:120px!important;
  transform:translateX(24px)!important;
  object-fit:contain!important;
}
.invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-company-stamp{
  position:absolute!important;
  z-index:3!important;
  left:50%!important;
  top:50%!important;
  width:138px!important;
  height:138px!important;
  transform:translate(-88%,-49%) rotate(-6deg)!important;
  opacity:.97!important;
  object-fit:contain!important;
}
.invoice-print-document .v540-signature-slot>.v517-doc-signatures b{
  width:100%!important;
  margin-top:-4px!important;
  text-align:center!important;
  color:#111!important;
  font-size:9.5px!important;
  font-weight:900!important;
}

/* Screen layout: QR left, note right, signature immediately below. */
@media screen and (min-width:821px){
  .invoice-print-document .inv-payment-qr{
    float:left!important;
    box-sizing:border-box!important;
    width:58%!important;
    margin:9px 2% 0 0!important;
  }
  .invoice-print-document .inv-payment-qr + .inv-note{
    float:right!important;
    box-sizing:border-box!important;
    width:40%!important;
    min-height:116px!important;
    margin:9px 0 0!important;
  }
  .invoice-print-document .inv-payment-qr + .inv-order-note{
    float:right!important;
    box-sizing:border-box!important;
    width:40%!important;
    margin:9px 0 6px!important;
  }
  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    float:right!important;
    box-sizing:border-box!important;
    width:40%!important;
    margin:0!important;
  }
  .invoice-print-document .v540-signature-slot{
    clear:both!important;
    margin-top:6px!important;
  }
}

/* A4/PDF: direct natural flow, signature 1mm below QR/note. */
@media print{
  .invoice-print-document,
  .invoice-print-document .print-area,
  .invoice-print-document .inv-page{
    position:static!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:0!important;
    break-before:auto!important;
    page-break-before:auto!important;
    break-after:auto!important;
    page-break-after:auto!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }

  .invoice-print-document .inv-payment-qr{
    float:left!important;
    box-sizing:border-box!important;
    width:58%!important;
    margin:1.2mm 2% 0 0!important;
    min-height:0!important;
  }
  .invoice-print-document .inv-payment-qr + .inv-note{
    float:right!important;
    box-sizing:border-box!important;
    width:40%!important;
    margin:1.2mm 0 0!important;
    min-height:0!important;
  }
  .invoice-print-document .inv-payment-qr + .inv-order-note{
    float:right!important;
    box-sizing:border-box!important;
    width:40%!important;
    margin:1.2mm 0 .6mm!important;
  }
  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    float:right!important;
    box-sizing:border-box!important;
    width:40%!important;
    margin:0!important;
    min-height:0!important;
  }

  .invoice-print-document .v540-signature-slot{
    clear:both!important;
    float:none!important;
    display:block!important;
    width:100%!important;
    margin:1mm 0 0!important;
    padding:0!important;
    position:static!important;
    break-before:auto!important;
    page-break-before:auto!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    width:100%!important;
    margin:0!important;
    border:.3mm solid #666!important;
    border-radius:1.2mm!important;
    break-before:auto!important;
    page-break-before:auto!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures>div{
    min-height:22mm!important;
    height:22mm!important;
    padding:1.2mm 1.3mm .8mm!important;
    border-left:.25mm solid #777!important;
  }
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures>div:first-child{
    border-left:0!important;
  }
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures strong{
    color:#000!important;
    font-size:5.7pt!important;
    font-weight:900!important;
  }
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures small{
    color:#333!important;
    font-size:4.7pt!important;
  }
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-sign-space,
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-blank-sign{
    height:13.5mm!important;
    min-height:13.5mm!important;
  }
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-employee-sign{
    max-width:35mm!important;
    max-height:12mm!important;
    transform:translateY(-1mm)!important;
  }
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-company-sign{
    max-width:43mm!important;
    max-height:16.5mm!important;
    transform:translateX(4mm)!important;
  }
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-company-stamp{
    width:20.5mm!important;
    height:20.5mm!important;
    transform:translate(-88%,-49%) rotate(-6deg)!important;
  }
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures b{
    margin-top:-.5mm!important;
    color:#000!important;
    font-size:5.2pt!important;
    font-weight:900!important;
  }

  /* Neutralize stale older anchor classes. */
  .invoice-print-document .inv-page.v536-page1-anchor,
  .invoice-print-document .inv-page.v538-sign-after-qr{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding-bottom:0!important;
    position:static!important;
  }
}

/* Mobile */
@media screen and (max-width:820px){
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures{
    grid-template-columns:1fr!important;
  }
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures>div{
    border-left:0!important;
    border-top:1px solid #d2dbd5!important;
  }
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures>div:first-child{
    border-top:0!important;
  }
}


/* V541 - Ẩn/hiện cột Đại diện VIFOOD trên Phiếu đặt hàng/Hóa đơn */
.invoice-print-document .v517-doc-signatures.v541-no-company-representative,
.invoice-print-document .v540-signature-slot>.v517-doc-signatures.v541-no-company-representative{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media print{
  .invoice-print-document .v517-doc-signatures.v541-no-company-representative,
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures.v541-no-company-representative{
    grid-template-columns:repeat(2,1fr)!important;
  }
}


/* ==========================================================
   V542 - PHIẾU ĐẶT HÀNG RESPONSIVE PROFESSIONAL
   Desktop 12-15 inch + Mobile
   Chỉ tác động màn hình, không thay đổi @media print hiện có.
   ========================================================== */

/* ---------- DESKTOP / LAPTOP ---------- */
@media screen and (min-width:1101px){
  .invoice-print-screen{
    background:#f4f7f9!important;
  }

  .invoice-print-toolbar{
    min-height:64px!important;
    padding:10px 18px!important;
    gap:14px!important;
  }

  .invoice-print-toolbar-heading{
    min-width:0!important;
  }

  .invoice-print-title{
    font-size:15px!important;
    line-height:1.25!important;
  }

  .invoice-print-preview{
    width:100%!important;
    max-width:1180px!important;
    margin:0 auto!important;
    padding:14px 18px 28px!important;
  }

  .invoice-print-hint{
    max-width:1040px!important;
    margin:0 auto 10px!important;
  }

  .invoice-print-document{
    width:100%!important;
    max-width:1040px!important;
    margin:0 auto!important;
    border-radius:12px!important;
    box-shadow:0 12px 34px rgba(15,23,42,.06)!important;
  }

  .invoice-print-document .inv-page{
    padding:24px 30px 22px!important;
  }

  /* Header */
  .invoice-print-document .inv-header{
    grid-template-columns:132px minmax(0,1fr) 124px!important;
    gap:18px!important;
    align-items:center!important;
  }

  .invoice-print-document .inv-logo-image{
    width:122px!important;
    max-height:68px!important;
  }

  .invoice-print-document .inv-company{
    text-align:center!important;
  }

  .invoice-print-document .inv-company-name{
    font-size:14px!important;
    line-height:1.25!important;
  }

  .invoice-print-document .inv-company-sub{
    max-width:620px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    font-size:9.5px!important;
    line-height:1.45!important;
  }

  .invoice-print-document .inv-mst{
    align-self:center!important;
  }

  /* Title */
  .invoice-print-document .inv-title-block{
    margin-bottom:14px!important;
    padding:10px 0 11px!important;
  }

  .invoice-print-document .inv-title{
    font-size:30px!important;
  }

  /* Info cards */
  .invoice-print-document .inv-info{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:14px!important;
    align-items:stretch!important;
    margin-bottom:14px!important;
  }

  .invoice-print-document .inv-info-left,
  .invoice-print-document .inv-info-right{
    min-height:136px!important;
    padding:12px 14px!important;
    border-radius:8px!important;
  }

  .invoice-print-document .inv-info-section-label{
    margin-bottom:7px!important;
    padding-bottom:6px!important;
    border-bottom:1px solid #e3e9e5!important;
    font-size:9px!important;
  }

  .invoice-print-document .inv-infoline{
    display:grid!important;
    grid-template-columns:118px minmax(0,1fr)!important;
    gap:8px!important;
    margin-top:4px!important;
    align-items:start!important;
    font-size:9.5px!important;
  }

  .invoice-print-document .inv-infoline-k{
    white-space:nowrap!important;
  }

  .invoice-print-document .inv-infoline-v,
  .invoice-print-document .inv-infoline-v-strong{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }

  /* Product table */
  .invoice-print-document .inv-table-caption{
    padding:8px 10px!important;
    font-size:8.8px!important;
  }

  .invoice-print-document .inv-table{
    table-layout:fixed!important;
    font-size:8.8px!important;
  }

  .invoice-print-document .inv-table th{
    padding:7px 4px!important;
    font-size:7.9px!important;
    line-height:1.2!important;
    vertical-align:middle!important;
  }

  .invoice-print-document .inv-table td{
    padding:6px 5px!important;
    line-height:1.25!important;
    vertical-align:middle!important;
  }

  .invoice-print-document .inv-table td:nth-child(2){
    font-weight:700!important;
  }

  /* Lower section */
  .invoice-print-document .inv-words{
    margin-top:9px!important;
    padding:8px 10px!important;
  }

  .invoice-print-document .inv-payment-qr{
    min-height:132px!important;
    padding:10px 12px!important;
    border-radius:8px!important;
  }

  .invoice-print-document .inv-payment-qr-image{
    width:96px!important;
    height:96px!important;
  }

  .invoice-print-document .inv-payment-qr-content{
    min-width:0!important;
  }

  .invoice-print-document .inv-payment-qr-title{
    font-size:9.5px!important;
  }

  .invoice-print-document .inv-payment-qr-line,
  .invoice-print-document .inv-payment-qr-note,
  .invoice-print-document .inv-payment-qr-help{
    font-size:8.5px!important;
    line-height:1.35!important;
  }

  .invoice-print-document .inv-note,
  .invoice-print-document .inv-order-note{
    font-size:8.5px!important;
    line-height:1.5!important;
  }

  /* Signature */
  .invoice-print-document .v540-signature-slot{
    margin-top:7px!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures{
    border-radius:8px!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures>div{
    min-height:176px!important;
    padding:12px 10px 10px!important;
  }
}

/* ---------- TABLET / SMALL LAPTOP ---------- */
@media screen and (min-width:821px) and (max-width:1100px){
  .invoice-print-preview{
    width:100%!important;
    max-width:100%!important;
    padding:12px!important;
  }

  .invoice-print-document{
    max-width:100%!important;
  }

  .invoice-print-document .inv-page{
    padding:18px 18px 16px!important;
  }

  .invoice-print-document .inv-header{
    grid-template-columns:110px minmax(0,1fr) 110px!important;
    gap:12px!important;
  }

  .invoice-print-document .inv-logo-image{
    width:100px!important;
  }

  .invoice-print-document .inv-company-name{
    font-size:12px!important;
  }

  .invoice-print-document .inv-company-sub{
    font-size:8.5px!important;
  }

  .invoice-print-document .inv-info{
    gap:10px!important;
  }

  .invoice-print-document .inv-info-left,
  .invoice-print-document .inv-info-right{
    padding:10px!important;
  }

  .invoice-print-document .inv-infoline{
    grid-template-columns:96px minmax(0,1fr)!important;
    gap:6px!important;
    font-size:8.8px!important;
  }

  .invoice-print-document .inv-table{
    font-size:8.1px!important;
  }

  .invoice-print-document .inv-table th{
    font-size:7.3px!important;
    padding:6px 3px!important;
  }

  .invoice-print-document .inv-table td{
    padding:5px 3px!important;
  }
}

/* ---------- MOBILE ---------- */
@media screen and (max-width:820px){
  .invoice-print-screen{
    min-height:100dvh!important;
    background:#f4f7f9!important;
    overflow-x:hidden!important;
  }

  .invoice-print-toolbar{
    position:sticky!important;
    top:0!important;
    z-index:50!important;
    min-height:auto!important;
    padding:9px 10px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
  }

  .invoice-print-toolbar-heading{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:8px!important;
    min-width:0!important;
  }

  .invoice-print-eyebrow{
    font-size:8px!important;
  }

  .invoice-print-title{
    font-size:13px!important;
    line-height:1.25!important;
    word-break:break-word!important;
  }

  .invoice-print-actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
  }

  .invoice-print-actions button{
    min-width:0!important;
    width:100%!important;
    min-height:38px!important;
    padding:0 7px!important;
    font-size:10px!important;
  }

  .invoice-print-preview{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:8px!important;
    overflow:visible!important;
  }

  .invoice-print-hint{
    margin:0 0 8px!important;
    padding:7px 8px!important;
    font-size:9px!important;
    line-height:1.4!important;
  }

  .invoice-print-document{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    border-radius:9px!important;
    overflow:hidden!important;
    box-shadow:0 6px 18px rgba(15,23,42,.05)!important;
  }

  .invoice-print-document .inv-page{
    width:100%!important;
    max-width:100%!important;
    padding:12px 10px 14px!important;
    overflow:visible!important;
  }

  /* Header becomes compact stack */
  .invoice-print-document .inv-brand-strip{
    min-height:26px!important;
    padding:6px 8px!important;
    font-size:7.5px!important;
    line-height:1.3!important;
  }

  .invoice-print-document .inv-header{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:9px!important;
    align-items:center!important;
    padding:11px 0 10px!important;
  }

  .invoice-print-document .inv-logo-image{
    width:78px!important;
    max-height:50px!important;
  }

  .invoice-print-document .inv-company{
    text-align:left!important;
  }

  .invoice-print-document .inv-company-kicker{
    font-size:7px!important;
  }

  .invoice-print-document .inv-company-name{
    font-size:11px!important;
    line-height:1.25!important;
  }

  .invoice-print-document .inv-company-sub{
    font-size:7.5px!important;
    line-height:1.35!important;
  }

  .invoice-print-document .inv-mst{
    grid-column:1/-1!important;
    width:100%!important;
    margin-top:2px!important;
  }

  .invoice-print-document .inv-mst-box{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    align-items:center!important;
    gap:8px!important;
    padding:7px 9px!important;
  }

  .invoice-print-document .inv-title-block{
    margin-bottom:10px!important;
    padding:8px 0 9px!important;
  }

  .invoice-print-document .inv-title-kicker{
    font-size:7px!important;
  }

  .invoice-print-document .inv-title{
    font-size:22px!important;
    line-height:1.1!important;
  }

  /* Customer / delivery cards stack */
  .invoice-print-document .inv-info{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-bottom:10px!important;
  }

  .invoice-print-document .inv-info-left,
  .invoice-print-document .inv-info-right{
    min-height:0!important;
    padding:10px!important;
    border-radius:7px!important;
  }

  .invoice-print-document .inv-info-section-label{
    margin-bottom:6px!important;
    padding-bottom:5px!important;
    border-bottom:1px solid #e4eae6!important;
    font-size:8.5px!important;
  }

  .invoice-print-document .inv-infoline{
    display:grid!important;
    grid-template-columns:94px minmax(0,1fr)!important;
    gap:6px!important;
    margin-top:4px!important;
    font-size:8.5px!important;
    line-height:1.35!important;
  }

  .invoice-print-document .inv-infoline-k{
    white-space:normal!important;
  }

  .invoice-print-document .inv-infoline-v,
  .invoice-print-document .inv-infoline-v-strong{
    overflow-wrap:anywhere!important;
  }

  /* Table: horizontal scroll only for table, not whole page */
  .invoice-print-document .inv-table-caption{
    min-width:760px!important;
    padding:7px 8px!important;
    font-size:8px!important;
  }

  .invoice-print-document .inv-table{
    min-width:760px!important;
    width:760px!important;
    table-layout:fixed!important;
    font-size:7.8px!important;
  }

  .invoice-print-document .inv-table th{
    padding:6px 3px!important;
    font-size:7px!important;
    line-height:1.15!important;
  }

  .invoice-print-document .inv-table td{
    padding:5px 3px!important;
    line-height:1.2!important;
  }

  .invoice-print-document .inv-table-wrap,
  .invoice-print-document:has(.inv-table){
    -webkit-overflow-scrolling:touch!important;
  }

  /* Lower section stacks */
  .invoice-print-document .inv-words{
    margin-top:8px!important;
    padding:8px!important;
    font-size:8px!important;
  }

  .invoice-print-document .inv-payment-qr{
    float:none!important;
    width:100%!important;
    margin:8px 0 0!important;
    display:grid!important;
    grid-template-columns:88px minmax(0,1fr)!important;
    gap:10px!important;
    padding:9px!important;
  }

  .invoice-print-document .inv-payment-qr-visual{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .invoice-print-document .inv-payment-qr-image{
    width:82px!important;
    height:82px!important;
  }

  .invoice-print-document .inv-payment-qr-content{
    min-width:0!important;
  }

  .invoice-print-document .inv-payment-qr-title{
    font-size:8.8px!important;
  }

  .invoice-print-document .inv-payment-qr-amount{
    font-size:11px!important;
  }

  .invoice-print-document .inv-payment-qr-line,
  .invoice-print-document .inv-payment-qr-note,
  .invoice-print-document .inv-payment-qr-help{
    font-size:7.7px!important;
    line-height:1.35!important;
    overflow-wrap:anywhere!important;
  }

  .invoice-print-document .inv-payment-qr-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    margin-top:7px!important;
  }

  .invoice-print-document .inv-payment-qr-action{
    min-width:0!important;
    padding:6px 7px!important;
    font-size:7.5px!important;
  }

  .invoice-print-document .inv-order-note,
  .invoice-print-document .inv-note{
    float:none!important;
    width:100%!important;
    margin:7px 0 0!important;
    padding:8px!important;
    font-size:7.8px!important;
    line-height:1.45!important;
  }

  /* Signature: cards stack cleanly on mobile */
  .invoice-print-document .v540-signature-slot{
    clear:both!important;
    width:100%!important;
    margin-top:7px!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures{
    grid-template-columns:1fr!important;
    border-radius:7px!important;
    overflow:hidden!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures>div{
    min-height:142px!important;
    padding:10px 8px 8px!important;
    border-left:0!important;
    border-top:1px solid #d2dbd5!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures>div:first-child{
    border-top:0!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-sign-space,
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-blank-sign{
    height:88px!important;
    min-height:88px!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-employee-sign{
    max-width:170px!important;
    max-height:72px!important;
    transform:translateY(-8px)!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-company-sign{
    max-width:205px!important;
    max-height:88px!important;
    transform:translateX(18px)!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-company-stamp{
    width:116px!important;
    height:116px!important;
    transform:translate(-86%,-49%) rotate(-6deg)!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures.v541-no-company-representative{
    grid-template-columns:1fr!important;
  }
}

/* Very small phones */
@media screen and (max-width:480px){
  .invoice-print-actions{
    grid-template-columns:1fr 1fr!important;
  }

  .invoice-print-actions button:last-child{
    grid-column:1/-1!important;
  }

  .invoice-print-document .inv-header{
    grid-template-columns:70px minmax(0,1fr)!important;
  }

  .invoice-print-document .inv-logo-image{
    width:66px!important;
  }

  .invoice-print-document .inv-title{
    font-size:20px!important;
  }

  .invoice-print-document .inv-infoline{
    grid-template-columns:84px minmax(0,1fr)!important;
  }

  .invoice-print-document .inv-payment-qr{
    grid-template-columns:1fr!important;
    text-align:left!important;
  }

  .invoice-print-document .inv-payment-qr-image{
    width:96px!important;
    height:96px!important;
  }

  .invoice-print-document .inv-payment-qr-visual{
    justify-content:flex-start!important;
  }
}


/* ==========================================================
   V543 - MOBILE FIX: TIỀN HÀNG / VAT / TỔNG CỘNG / CÒN LẠI
   Desktop + Print giữ nguyên.
   ========================================================== */
@media screen and (max-width:820px){

  /* Summary rows are independent from product-column widths. */
  .invoice-print-document .inv-table tbody tr.inv-mobile-summary-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    align-items:center!important;
    border-left:1px solid #aeb8b1!important;
    border-right:1px solid #aeb8b1!important;
    border-bottom:1px solid #aeb8b1!important;
    background:#fff!important;
  }

  /* Reset table-cell behaviour inside summary rows. */
  .invoice-print-document .inv-table tbody tr.inv-mobile-summary-row>td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    border:0!important;
    padding:8px 9px!important;
    background:transparent!important;
    white-space:normal!important;
  }

  .invoice-print-document .inv-table tbody tr.inv-mobile-summary-row>td.inv-mobile-summary-label{
    grid-column:1!important;
    text-align:left!important;
    color:#27302b!important;
    font-size:9.5px!important;
    line-height:1.3!important;
    font-weight:700!important;
  }

  .invoice-print-document .inv-table tbody tr.inv-mobile-summary-row>td.inv-mobile-summary-value{
    grid-column:2!important;
    text-align:right!important;
    white-space:nowrap!important;
    color:#111!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:900!important;
    font-variant-numeric:tabular-nums!important;
  }

  /* Hide the two legacy empty cells after the amount. */
  .invoice-print-document .inv-table tbody tr.inv-mobile-summary-row>td:not(.inv-mobile-summary-label):not(.inv-mobile-summary-value){
    display:none!important;
  }

  /* VAT row remains clear without orange text being too light. */
  .invoice-print-document .inv-table tbody tr.inv-vat-row.inv-mobile-summary-row{
    background:#fffaf2!important;
  }

  /* Total / remaining gets a stronger visual hierarchy. */
  .invoice-print-document .inv-table tbody tr.inv-mobile-summary-total{
    margin-top:2px!important;
    border-top:2px solid #26332b!important;
    background:#f4f7f5!important;
  }

  .invoice-print-document .inv-table tbody tr.inv-mobile-summary-total>td.inv-mobile-summary-label{
    color:#111!important;
    font-size:10px!important;
    font-weight:900!important;
  }

  .invoice-print-document .inv-table tbody tr.inv-mobile-summary-total>td.inv-mobile-summary-value{
    color:#d71920!important;
    font-size:11.5px!important;
    font-weight:950!important;
  }

  /* Keep product rows scrollable, but summary rows visually clean. */
  .invoice-print-document .inv-table{
    min-width:680px!important;
    width:680px!important;
  }

  /* Give mobile user a little less horizontal burden than V542. */
  .invoice-print-document .inv-table-caption{
    min-width:680px!important;
  }
}

/* Very small phones: tighter summary spacing, value never wraps. */
@media screen and (max-width:480px){
  .invoice-print-document .inv-table tbody tr.inv-mobile-summary-row>td{
    padding:7px 8px!important;
  }
  .invoice-print-document .inv-table tbody tr.inv-mobile-summary-row>td.inv-mobile-summary-label{
    font-size:9px!important;
  }
  .invoice-print-document .inv-table tbody tr.inv-mobile-summary-row>td.inv-mobile-summary-value{
    font-size:9.8px!important;
  }
  .invoice-print-document .inv-table tbody tr.inv-mobile-summary-total>td.inv-mobile-summary-value{
    font-size:11px!important;
  }
}


/* ==========================================================
   V544 - MOBILE: TÁCH TỔNG TIỀN KHỎI BẢNG SẢN PHẨM
   ========================================================== */

/* Hidden on desktop and print. */
.invoice-print-document .inv-mobile-payment-summary{
  display:none!important;
}

@media screen and (max-width:820px){

  /* Product table stays horizontally scrollable. */
  .invoice-print-document .inv-table{
    min-width:680px!important;
    width:680px!important;
  }

  /* Hide old table-based summary rows on mobile only. */
  .invoice-print-document .inv-table tbody tr.inv-mobile-summary-row,
  .invoice-print-document .inv-table tbody tr.inv-total-row{
    display:none!important;
  }

  /* Dedicated summary block uses real viewport/document width. */
  .invoice-print-document .inv-mobile-payment-summary{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:10px 0 0!important;
    padding:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    border:1px solid #bcc8c0!important;
    border-radius:8px!important;
    background:#fff!important;
  }

  .invoice-print-document .inv-mobile-payment-summary-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(110px,auto)!important;
    align-items:center!important;
    gap:10px!important;
    min-height:48px!important;
    padding:10px 12px!important;
    box-sizing:border-box!important;
    border-bottom:1px solid #d9e1dc!important;
    background:#fff!important;
  }

  .invoice-print-document .inv-mobile-payment-summary-row:last-child{
    border-bottom:0!important;
  }

  .invoice-print-document .inv-mobile-payment-summary-label{
    min-width:0!important;
    color:#233028!important;
    font-size:10px!important;
    line-height:1.3!important;
    font-weight:800!important;
    overflow-wrap:anywhere!important;
  }

  .invoice-print-document .inv-mobile-payment-summary-value{
    min-width:110px!important;
    max-width:48vw!important;
    text-align:right!important;
    white-space:nowrap!important;
    color:#111!important;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:900!important;
    font-variant-numeric:tabular-nums!important;
  }

  /* Highlight Tổng cộng */
  .invoice-print-document .inv-mobile-payment-summary-row:nth-last-child(2){
    background:#fffaf2!important;
    border-top:1px solid #d3c7b1!important;
  }

  /* Highlight amount remaining */
  .invoice-print-document .inv-mobile-payment-summary-total{
    background:#f4f7f5!important;
    border-top:2px solid #26332b!important;
  }

  .invoice-print-document .inv-mobile-payment-summary-total .inv-mobile-payment-summary-label{
    color:#111!important;
    font-size:10.2px!important;
    font-weight:900!important;
  }

  .invoice-print-document .inv-mobile-payment-summary-total .inv-mobile-payment-summary-value{
    color:#d71920!important;
    font-size:12px!important;
    font-weight:950!important;
  }

  /* Amount in words sits directly below summary. */
  .invoice-print-document .inv-mobile-payment-summary + .inv-words{
    margin-top:8px!important;
  }
}

@media screen and (max-width:480px){
  .invoice-print-document .inv-mobile-payment-summary-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    min-height:46px!important;
    padding:9px 10px!important;
  }

  .invoice-print-document .inv-mobile-payment-summary-label{
    font-size:9.4px!important;
  }

  .invoice-print-document .inv-mobile-payment-summary-value{
    min-width:92px!important;
    max-width:46vw!important;
    font-size:10.5px!important;
  }

  .invoice-print-document .inv-mobile-payment-summary-total .inv-mobile-payment-summary-value{
    font-size:11.5px!important;
  }
}

/* Print keeps original table summary only. */
@media print{
  .invoice-print-document .inv-mobile-payment-summary{
    display:none!important;
  }
}


/* V545 - Mobile: tiêu đề CHI TIẾT HÀNG HÓA luôn màu đen */
@media screen and (max-width:820px){
  .invoice-print-document .inv-table-caption,
  .invoice-print-document .inv-table-caption *,
  .invoice-print-document .inv-table-caption strong,
  .invoice-print-document .inv-table-caption b{
    color:#000!important;
    -webkit-text-fill-color:#000!important;
    opacity:1!important;
    text-shadow:none!important;
  }
}


/* V546 - Mobile: ẩn khối KÝ HIỆU / 01/VFI */
@media screen and (max-width:820px){
  .invoice-print-document .inv-mst{
    display:none!important;
  }
}


/* ==========================================================
   V547 - DESKTOP: CHI TIẾT HÀNG HÓA DỄ ĐỌC HƠN
   Chỉ áp dụng màn hình desktop >1100px.
   ========================================================== */
@media screen and (min-width:1101px){

  /* Tiêu đề khu vực */
  .invoice-print-document .inv-table-caption{
    font-size:10px!important;
    font-weight:900!important;
    line-height:1.3!important;
    color:#111!important;
    padding:9px 11px!important;
  }

  /* Tiêu đề cột */
  .invoice-print-document .inv-table th{
    font-size:8.6px!important;
    font-weight:900!important;
    line-height:1.25!important;
    padding:8px 5px!important;
    color:#111!important;
  }

  /* Nội dung hàng hóa */
  .invoice-print-document .inv-table td{
    font-size:9.7px!important;
    line-height:1.35!important;
    padding:7px 6px!important;
    color:#111!important;
  }

  /* Tên hàng rõ hơn */
  .invoice-print-document .inv-table td:nth-child(2){
    font-size:10px!important;
    font-weight:800!important;
  }

  /* Các ô số lượng / giá / thành tiền */
  .invoice-print-document .inv-table td.inv-td-r,
  .invoice-print-document .inv-table td.tabular{
    font-size:10px!important;
    font-weight:800!important;
    font-variant-numeric:tabular-nums!important;
  }

  /* Dòng tổng tiền */
  .invoice-print-document .inv-table .inv-sum-row td,
  .invoice-print-document .inv-table .inv-vat-row td,
  .invoice-print-document .inv-table .inv-total-row td{
    font-size:10px!important;
    line-height:1.3!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }

  /* Giá trị tiền nổi bật hơn nhưng không quá lớn */
  .invoice-print-document .inv-table .inv-sum-row .tabular,
  .invoice-print-document .inv-table .inv-vat-row .tabular{
    font-size:10.3px!important;
    font-weight:900!important;
  }

  .invoice-print-document .inv-table .inv-total-row .inv-remaining-amount{
    font-size:11px!important;
    font-weight:950!important;
  }
}


/* ==========================================================
   V548 - PHIẾU ĐẶT HÀNG A4 PROFESSIONAL
   Tối ưu riêng bản in/PDF A4, không ảnh hưởng desktop/mobile.
   ========================================================== */
@media print{
  @page{
    size:A4 portrait;
    margin:7mm 7mm 7mm 7mm;
  }

  html,body{
    width:210mm!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }

  .invoice-print-document{
    width:196mm!important;
    max-width:196mm!important;
    margin:0 auto!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }

  .invoice-print-document .inv-page{
    width:196mm!important;
    max-width:196mm!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    background:#fff!important;
  }

  /* Header compact, balanced and sharp */
  .invoice-print-document .inv-brand-strip{
    min-height:6mm!important;
    padding:1.2mm 2mm!important;
    font-size:6pt!important;
    line-height:1.25!important;
  }

  .invoice-print-document .inv-header{
    display:grid!important;
    grid-template-columns:29mm minmax(0,1fr) 29mm!important;
    gap:3mm!important;
    align-items:center!important;
    padding:2.5mm 0 2.2mm!important;
  }

  .invoice-print-document .inv-logo-image{
    width:27mm!important;
    max-height:15mm!important;
  }

  .invoice-print-document .inv-company-name{
    font-size:9.5pt!important;
    line-height:1.2!important;
    font-weight:900!important;
  }

  .invoice-print-document .inv-company-sub{
    font-size:5.8pt!important;
    line-height:1.35!important;
  }

  .invoice-print-document .inv-mst-box{
    padding:1.5mm!important;
  }

  .invoice-print-document .inv-mst-label{
    font-size:5.2pt!important;
  }

  .invoice-print-document .inv-mst-value{
    font-size:7.2pt!important;
    font-weight:900!important;
  }

  /* Document title */
  .invoice-print-document .inv-title-block{
    margin:0 0 2.4mm!important;
    padding:1.8mm 0 2mm!important;
  }

  .invoice-print-document .inv-title-kicker{
    font-size:5.5pt!important;
  }

  .invoice-print-document .inv-title{
    font-size:18pt!important;
    line-height:1.05!important;
    letter-spacing:.2mm!important;
  }

  /* Customer / delivery information */
  .invoice-print-document .inv-info{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:2.5mm!important;
    margin:0 0 2.5mm!important;
  }

  .invoice-print-document .inv-info-left,
  .invoice-print-document .inv-info-right{
    min-height:24mm!important;
    padding:2mm 2.3mm!important;
    border-radius:1.2mm!important;
  }

  .invoice-print-document .inv-info-section-label{
    margin-bottom:1.2mm!important;
    padding-bottom:1mm!important;
    font-size:5.7pt!important;
    line-height:1.2!important;
  }

  .invoice-print-document .inv-infoline{
    display:grid!important;
    grid-template-columns:25mm minmax(0,1fr)!important;
    gap:1.3mm!important;
    margin-top:.8mm!important;
    font-size:5.8pt!important;
    line-height:1.25!important;
  }

  /* Product detail table */
  .invoice-print-document .inv-table-caption{
    padding:1.5mm 2mm!important;
    color:#000!important;
    font-size:6.2pt!important;
    font-weight:900!important;
    line-height:1.2!important;
  }

  .invoice-print-document .inv-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    font-size:6.2pt!important;
  }

  .invoice-print-document .inv-table th{
    padding:1.5mm .8mm!important;
    color:#000!important;
    background:#eef1ef!important;
    font-size:5.7pt!important;
    font-weight:900!important;
    line-height:1.15!important;
    vertical-align:middle!important;
  }

  .invoice-print-document .inv-table td{
    padding:1.35mm .9mm!important;
    color:#000!important;
    font-size:6.1pt!important;
    line-height:1.2!important;
    vertical-align:middle!important;
  }

  .invoice-print-document .inv-table td:nth-child(2){
    font-weight:800!important;
  }

  .invoice-print-document .inv-table .tabular{
    font-variant-numeric:tabular-nums!important;
  }

  .invoice-print-document .inv-table .inv-sum-row td,
  .invoice-print-document .inv-table .inv-vat-row td{
    padding-top:1.2mm!important;
    padding-bottom:1.2mm!important;
    font-size:6.1pt!important;
    font-weight:800!important;
  }

  .invoice-print-document .inv-table .inv-total-row td{
    padding-top:1.4mm!important;
    padding-bottom:1.4mm!important;
    color:#000!important;
    font-size:6.4pt!important;
    font-weight:900!important;
    border-top:.45mm solid #333!important;
  }

  .invoice-print-document .inv-table .inv-remaining-amount{
    font-size:7pt!important;
    font-weight:900!important;
  }

  /* Amount in words */
  .invoice-print-document .inv-words{
    margin:1.5mm 0 0!important;
    padding:1.5mm 2mm!important;
    font-size:5.8pt!important;
    line-height:1.3!important;
  }

  /* Payment + note compact enough to leave signature on same page */
  .invoice-print-document .inv-payment-qr{
    width:58%!important;
    min-height:22mm!important;
    margin:1.5mm 2% 0 0!important;
    padding:1.5mm 1.8mm!important;
  }

  .invoice-print-document .inv-payment-qr-image{
    width:18mm!important;
    height:18mm!important;
  }

  .invoice-print-document .inv-payment-qr-title{
    font-size:6pt!important;
  }

  .invoice-print-document .inv-payment-qr-line,
  .invoice-print-document .inv-payment-qr-note,
  .invoice-print-document .inv-payment-qr-help{
    font-size:5.2pt!important;
    line-height:1.25!important;
  }

  .invoice-print-document .inv-note,
  .invoice-print-document .inv-order-note{
    width:40%!important;
    padding:1.5mm 1.8mm!important;
    font-size:5.2pt!important;
    line-height:1.3!important;
  }

  /* Signature immediately below QR/note */
  .invoice-print-document .v540-signature-slot{
    clear:both!important;
    width:100%!important;
    margin:1mm 0 0!important;
    padding:0!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures{
    width:100%!important;
    margin:0!important;
    border:.25mm solid #666!important;
    border-radius:1mm!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures>div{
    min-height:21mm!important;
    height:21mm!important;
    padding:1mm 1.2mm .7mm!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures strong{
    font-size:5.4pt!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures small{
    font-size:4.5pt!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-sign-space,
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-blank-sign{
    height:12.8mm!important;
    min-height:12.8mm!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-employee-sign{
    max-width:34mm!important;
    max-height:11.5mm!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-company-sign{
    max-width:42mm!important;
    max-height:15.5mm!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-company-stamp{
    width:19.5mm!important;
    height:19.5mm!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures b{
    font-size:5pt!important;
  }

  /* Never print mobile duplicate summary */
  .invoice-print-document .inv-mobile-payment-summary{
    display:none!important;
  }

  /* Avoid browser-created unnecessary page breaks */
  .invoice-print-document .inv-header,
  .invoice-print-document .inv-title-block,
  .invoice-print-document .inv-info,
  .invoice-print-document .inv-words,
  .invoice-print-document .v540-signature-slot{
    break-before:auto!important;
    page-break-before:auto!important;
    break-after:auto!important;
    page-break-after:auto!important;
  }

  .invoice-print-document .inv-info-left,
  .invoice-print-document .inv-info-right,
  .invoice-print-document .inv-table tr{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}


/* ==========================================================
   V549 - DESKTOP PREVIEW COMPACT SPACING
   Thu gọn khoảng cách giữa các khối trong bản xem trước.
   Không tác động mobile và @media print.
   ========================================================== */
@media screen and (min-width:1101px){

  /* Phiếu gọn hơn theo chiều dọc */
  .invoice-print-document .inv-page{
    padding-top:18px!important;
    padding-bottom:18px!important;
  }

  /* Header -> tiêu đề */
  .invoice-print-document .inv-header{
    padding-top:8px!important;
    padding-bottom:8px!important;
  }

  .invoice-print-document .inv-title-block{
    margin-top:0!important;
    margin-bottom:8px!important;
    padding-top:7px!important;
    padding-bottom:8px!important;
  }

  /* Tiêu đề -> thông tin */
  .invoice-print-document .inv-info{
    gap:10px!important;
    margin-top:0!important;
    margin-bottom:8px!important;
  }

  .invoice-print-document .inv-info-left,
  .invoice-print-document .inv-info-right{
    min-height:0!important;
    padding:9px 12px!important;
  }

  .invoice-print-document .inv-info-section-label{
    margin-bottom:5px!important;
    padding-bottom:4px!important;
  }

  .invoice-print-document .inv-infoline{
    margin-top:3px!important;
  }

  /* Thông tin -> chi tiết hàng hóa */
  .invoice-print-document .inv-table-caption{
    margin-top:0!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }

  /* Bảng gọn vừa đủ */
  .invoice-print-document .inv-table th{
    padding-top:6px!important;
    padding-bottom:6px!important;
  }

  .invoice-print-document .inv-table td{
    padding-top:5px!important;
    padding-bottom:5px!important;
  }

  .invoice-print-document .inv-table .inv-sum-row td,
  .invoice-print-document .inv-table .inv-vat-row td,
  .invoice-print-document .inv-table .inv-total-row td{
    padding-top:5px!important;
    padding-bottom:5px!important;
  }

  /* Bảng -> số tiền bằng chữ */
  .invoice-print-document .inv-words{
    margin-top:6px!important;
    padding-top:6px!important;
    padding-bottom:6px!important;
  }

  /* Số tiền bằng chữ -> QR / ghi chú */
  .invoice-print-document .inv-payment-qr{
    margin-top:6px!important;
    min-height:118px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }

  .invoice-print-document .inv-payment-qr + .inv-note{
    margin-top:6px!important;
    min-height:118px!important;
  }

  .invoice-print-document .inv-payment-qr + .inv-order-note{
    margin-top:6px!important;
  }

  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    margin-top:0!important;
  }

  .invoice-print-document .inv-note,
  .invoice-print-document .inv-order-note{
    padding-top:8px!important;
    padding-bottom:8px!important;
  }

  /* QR/Ghi chú -> chữ ký */
  .invoice-print-document .v540-signature-slot{
    margin-top:5px!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures>div{
    min-height:158px!important;
    padding-top:9px!important;
    padding-bottom:8px!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-sign-space,
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-blank-sign{
    height:94px!important;
    min-height:94px!important;
  }
}


/* ==========================================================
   V550 - DESKTOP PREVIEW: PROFESSIONAL FRAME COMPOSITION
   Chỉ bản xem trước desktop >1100px. Print/mobile giữ nguyên.
   ========================================================== */
@media screen and (min-width:1101px){

  .invoice-print-document{
    max-width:1060px!important;
    border:1px solid #d9e2dc!important;
    border-radius:10px!important;
    background:#fff!important;
    box-shadow:0 10px 30px rgba(20,40,30,.07)!important;
  }

  .invoice-print-document .inv-page{
    padding:18px 22px 20px!important;
  }

  /* 1. Header */
  .invoice-print-document .inv-header{
    grid-template-columns:120px minmax(0,1fr) 112px!important;
    gap:14px!important;
    padding:7px 4px 9px!important;
    border-bottom:1px solid #cbd7cf!important;
  }

  .invoice-print-document .inv-title-block{
    margin:0 0 9px!important;
    padding:9px 0 10px!important;
  }

  /* 2. Customer / delivery: equal cards */
  .invoice-print-document .inv-info{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    align-items:stretch!important;
    margin:0 0 10px!important;
  }

  .invoice-print-document .inv-info-left,
  .invoice-print-document .inv-info-right{
    height:100%!important;
    min-height:126px!important;
    padding:10px 13px!important;
    border:1px solid #c9d6ce!important;
    border-radius:7px!important;
    background:#fbfcfb!important;
    box-sizing:border-box!important;
  }

  .invoice-print-document .inv-info-section-label{
    margin:0 0 6px!important;
    padding:0 0 5px!important;
    border-bottom:1px solid #dce5df!important;
  }

  .invoice-print-document .inv-infoline{
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:7px!important;
    margin-top:3px!important;
  }

  /* 3. Product section as one coherent frame */
  .invoice-print-document .inv-table-caption{
    margin:0!important;
    padding:7px 10px!important;
    border:1px solid #aebeb4!important;
    border-bottom:0!important;
    border-radius:6px 6px 0 0!important;
    background:#f2f6f3!important;
  }

  .invoice-print-document .inv-table{
    margin:0!important;
    border:1px solid #aebeb4!important;
    border-top:0!important;
  }

  .invoice-print-document .inv-table th{
    background:#edf3ef!important;
    border-color:#aebeb4!important;
  }

  .invoice-print-document .inv-table td{
    border-color:#b8c5bd!important;
  }

  /* 4. Amount in words becomes a slim information bar */
  .invoice-print-document .inv-words{
    margin:7px 0 0!important;
    padding:7px 10px!important;
    min-height:0!important;
    border:1px solid #d2ddd6!important;
    border-radius:6px!important;
    background:#fbfcfb!important;
  }

  /* 5. Payment / note row balanced 58/42 */
  .invoice-print-document .inv-payment-qr{
    float:left!important;
    width:57.5%!important;
    min-height:122px!important;
    margin:7px 1.5% 0 0!important;
    padding:9px 11px!important;
    border:1px solid #cbd7cf!important;
    border-radius:7px!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }

  .invoice-print-document .inv-payment-qr + .inv-note{
    float:right!important;
    width:41%!important;
    min-height:122px!important;
    margin:7px 0 0!important;
    padding:10px 12px!important;
    border:1px solid #cbd7cf!important;
    border-radius:7px!important;
    background:#fbfcfb!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  .invoice-print-document .inv-payment-qr + .inv-order-note{
    float:right!important;
    width:41%!important;
    margin:7px 0 5px!important;
    padding:8px 10px!important;
    border:1px solid #cbd7cf!important;
    border-radius:7px!important;
    box-sizing:border-box!important;
  }

  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    float:right!important;
    width:41%!important;
    margin:0!important;
    padding:8px 10px!important;
    border:1px solid #cbd7cf!important;
    border-radius:7px!important;
    box-sizing:border-box!important;
  }

  /* 6. Signature follows payment row without a large dead zone */
  .invoice-print-document .v540-signature-slot{
    clear:both!important;
    width:100%!important;
    margin:7px 0 0!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures{
    border:1px solid #b9c8bf!important;
    border-radius:7px!important;
    background:#fff!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures>div{
    min-height:150px!important;
    padding:10px 10px 8px!important;
  }

  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-sign-space,
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures .v517-blank-sign{
    height:88px!important;
    min-height:88px!important;
  }

  /* 2-column mode when VIFOOD representative is hidden */
  .invoice-print-document .v540-signature-slot>.v517-doc-signatures.v541-no-company-representative{
    grid-template-columns:1fr 1fr!important;
  }
}


/* V551 - Desktop preview: bóp chiều ngang phiếu gọn hơn */
@media screen and (min-width:1101px){
  .invoice-print-preview{
    max-width:1000px!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .invoice-print-document{
    width:100%!important;
    max-width:920px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .invoice-print-document .inv-page{
    padding-left:20px!important;
    padding-right:20px!important;
  }

  /* Giữ hai khung thông tin cân đối khi phiếu hẹp lại */
  .invoice-print-document .inv-info{
    gap:10px!important;
  }

  .invoice-print-document .inv-infoline{
    grid-template-columns:104px minmax(0,1fr)!important;
  }

  /* Thanh toán / ghi chú vẫn cân đối */
  .invoice-print-document .inv-payment-qr{
    width:57%!important;
    margin-right:1.5%!important;
  }

  .invoice-print-document .inv-payment-qr + .inv-note,
  .invoice-print-document .inv-payment-qr + .inv-order-note,
  .invoice-print-document .inv-payment-qr + .inv-order-note + .inv-note{
    width:41.5%!important;
  }
}


/* ==========================================================
   V552 - DESKTOP PREVIEW NARROWER + EQUAL STATUS COLUMNS
   ========================================================== */
@media screen and (min-width:1101px){

  /* Bóp chiều ngang thêm: 920px -> 850px */
  .invoice-print-preview{
    max-width:930px!important;
  }

  .invoice-print-document{
    width:100%!important;
    max-width:850px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .invoice-print-document .inv-page{
    padding-left:18px!important;
    padding-right:18px!important;
  }

  /* Hai cột HOÀN TẤT và TRẢ VỀ bằng nhau, cùng nhỏ gọn */
  .invoice-print-document .inv-table th:nth-child(7),
  .invoice-print-document .inv-table td:nth-child(7),
  .invoice-print-document .inv-table th:nth-child(8),
  .invoice-print-document .inv-table td:nth-child(8){
    width:9%!important;
    min-width:0!important;
    max-width:9%!important;
    padding-left:3px!important;
    padding-right:3px!important;
    text-align:center!important;
  }

  /* Nhường diện tích cho tên hàng */
  .invoice-print-document .inv-table th:nth-child(2),
  .invoice-print-document .inv-table td:nth-child(2){
    width:28%!important;
  }
}


/* ==========================================================
   V553 - DESKTOP PREVIEW: COMPACT QUANTITY/AMOUNT COLUMNS
   + LARGER PRODUCT AND MONEY TEXT
   ========================================================== */
@media screen and (min-width:1101px){

  /* SỐ LƯỢNG nhỏ thêm */
  .invoice-print-document .inv-table th:nth-child(4),
  .invoice-print-document .inv-table td:nth-child(4){
    width:8%!important;
    min-width:0!important;
    padding-left:3px!important;
    padding-right:3px!important;
    text-align:center!important;
  }

  /* THÀNH TIỀN nhỏ thêm nhưng vẫn đủ cho số tiền */
  .invoice-print-document .inv-table th:nth-child(6),
  .invoice-print-document .inv-table td:nth-child(6){
    width:13%!important;
    min-width:0!important;
    padding-left:4px!important;
    padding-right:4px!important;
  }

  /* TÊN HÀNG được ưu tiên diện tích và chữ lớn hơn */
  .invoice-print-document .inv-table th:nth-child(2),
  .invoice-print-document .inv-table td:nth-child(2){
    width:31%!important;
  }

  .invoice-print-document .inv-table tbody tr:not(.inv-sum-row):not(.inv-vat-row):not(.inv-total-row) td:nth-child(2){
    font-size:11.2px!important;
    line-height:1.35!important;
    font-weight:850!important;
    color:#0b0f0c!important;
  }

  /* Số lượng / giá bán / thành tiền trong danh sách sản phẩm rõ hơn */
  .invoice-print-document .inv-table tbody tr:not(.inv-sum-row):not(.inv-vat-row):not(.inv-total-row) td:nth-child(4),
  .invoice-print-document .inv-table tbody tr:not(.inv-sum-row):not(.inv-vat-row):not(.inv-total-row) td:nth-child(5),
  .invoice-print-document .inv-table tbody tr:not(.inv-sum-row):not(.inv-vat-row):not(.inv-total-row) td:nth-child(6){
    font-size:10.8px!important;
    line-height:1.3!important;
    font-weight:900!important;
    font-variant-numeric:tabular-nums!important;
  }

  /* Các dòng tiền phía cuối bảng lớn và rõ hơn */
  .invoice-print-document .inv-table .inv-sum-row td,
  .invoice-print-document .inv-table .inv-vat-row td{
    font-size:11px!important;
    line-height:1.3!important;
    font-weight:850!important;
  }

  .invoice-print-document .inv-table .inv-sum-row td.tabular,
  .invoice-print-document .inv-table .inv-vat-row td.tabular{
    font-size:11.5px!important;
    font-weight:950!important;
    white-space:nowrap!important;
  }

  .invoice-print-document .inv-table .inv-total-row td{
    font-size:11.2px!important;
    line-height:1.3!important;
    font-weight:900!important;
  }

  .invoice-print-document .inv-table .inv-total-row .inv-remaining-amount{
    font-size:12.2px!important;
    line-height:1.2!important;
    font-weight:950!important;
    white-space:nowrap!important;
  }

  /* Tiền bằng chữ dễ đọc hơn */
  .invoice-print-document .inv-words{
    font-size:10.5px!important;
    line-height:1.4!important;
  }

  .invoice-print-document .inv-words b,
  .invoice-print-document .inv-words strong{
    font-size:10.7px!important;
    font-weight:900!important;
  }
}


/* ==========================================================
   V554 - DESKTOP: NHẤN MẠNH TIỀN HÀNG / TỔNG CỘNG / CÒN LẠI
   ========================================================== */
@media screen and (min-width:1101px){

  /* Tiền hàng / các dòng cộng */
  .invoice-print-document .inv-table .inv-sum-row{
    background:#f6faf7!important;
  }

  .invoice-print-document .inv-table .inv-sum-row td{
    color:#163a26!important;
    font-size:11.4px!important;
    font-weight:900!important;
  }

  .invoice-print-document .inv-table .inv-sum-row td.tabular{
    color:#0b6b3a!important;
    font-size:13px!important;
    font-weight:950!important;
    letter-spacing:.1px!important;
  }

  /* VAT nếu có: màu riêng nhưng vẫn rõ */
  .invoice-print-document .inv-table .inv-vat-row{
    background:#fff9ef!important;
  }

  .invoice-print-document .inv-table .inv-vat-row td{
    color:#6b4510!important;
    font-size:11.4px!important;
    font-weight:900!important;
  }

  .invoice-print-document .inv-table .inv-vat-row td.tabular{
    color:#a65a00!important;
    font-size:13px!important;
    font-weight:950!important;
  }

  /* Dòng còn lại: nổi bật nhất */
  .invoice-print-document .inv-table .inv-total-row{
    background:#fff3f3!important;
    border-top:2px solid #b4232d!important;
  }

  .invoice-print-document .inv-table .inv-total-row td{
    color:#7f1d1d!important;
    font-size:12px!important;
    font-weight:950!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }

  .invoice-print-document .inv-table .inv-total-row .inv-remaining-amount{
    color:#c51622!important;
    font-size:15px!important;
    font-weight:950!important;
    letter-spacing:.15px!important;
    white-space:nowrap!important;
  }

  /* Nhãn Tổng cộng nếu nằm trong inv-sum-row được nhấn mạnh hơn */
  .invoice-print-document .inv-table .inv-sum-row td:first-child b,
  .invoice-print-document .inv-table .inv-sum-row td.inv-mobile-summary-label b{
    font-weight:950!important;
  }
}


/* V555 - Desktop preview: căn giữa số tiền trong cột THÀNH TIỀN */
@media screen and (min-width:1101px){
  .invoice-print-document .inv-table th:nth-child(6),
  .invoice-print-document .inv-table td:nth-child(6){
    text-align:center!important;
  }

  .invoice-print-document .inv-table tbody tr:not(.inv-sum-row):not(.inv-vat-row):not(.inv-total-row) td:nth-child(6){
    text-align:center!important;
    vertical-align:middle!important;
  }
}


/* V556 - Desktop preview: thông tin Khách hàng / Giao nhận đậm, rõ hơn */
@media screen and (min-width:1101px){
  .invoice-print-document .inv-info-left .inv-infoline,
  .invoice-print-document .inv-info-right .inv-infoline{
    font-weight:800!important;
    color:#111!important;
  }

  .invoice-print-document .inv-info-left .inv-infoline-k,
  .invoice-print-document .inv-info-right .inv-infoline-k{
    font-weight:900!important;
    color:#111!important;
  }

  .invoice-print-document .inv-info-left .inv-infoline-v,
  .invoice-print-document .inv-info-left .inv-infoline-v-strong,
  .invoice-print-document .inv-info-right .inv-infoline-v,
  .invoice-print-document .inv-info-right .inv-infoline-v-strong{
    font-weight:850!important;
    color:#111!important;
  }
}


/* ==========================================================
   V557 - DESKTOP: CỘT THÀNH TIỀN AUTO THEO ĐỘ DÀI SỐ TIỀN
   ========================================================== */
@media screen and (min-width:1101px){

  /* Cho phép bảng tính cột THÀNH TIỀN theo nội dung thay vì width cố định. */
  .invoice-print-document .inv-table{
    table-layout:auto!important;
  }

  /* Giữ các cột nhỏ ở mức ổn định. */
  .invoice-print-document .inv-table th:nth-child(1),
  .invoice-print-document .inv-table td:nth-child(1){
    width:5%!important;
  }

  .invoice-print-document .inv-table th:nth-child(3),
  .invoice-print-document .inv-table td:nth-child(3){
    width:7%!important;
  }

  .invoice-print-document .inv-table th:nth-child(4),
  .invoice-print-document .inv-table td:nth-child(4){
    width:8%!important;
  }

  .invoice-print-document .inv-table th:nth-child(7),
  .invoice-print-document .inv-table td:nth-child(7),
  .invoice-print-document .inv-table th:nth-child(8),
  .invoice-print-document .inv-table td:nth-child(8){
    width:9%!important;
  }

  /* TÊN HÀNG là cột co giãn chính. */
  .invoice-print-document .inv-table th:nth-child(2),
  .invoice-print-document .inv-table td:nth-child(2){
    width:auto!important;
    min-width:180px!important;
  }

  /* GIÁ BÁN vừa đủ, không chiếm quá rộng. */
  .invoice-print-document .inv-table th:nth-child(5),
  .invoice-print-document .inv-table td:nth-child(5){
    width:1%!important;
    white-space:nowrap!important;
  }

  /* THÀNH TIỀN tự co theo số tiền thực tế. */
  .invoice-print-document .inv-table th:nth-child(6),
  .invoice-print-document .inv-table td:nth-child(6){
    width:1%!important;
    min-width:92px!important;
    max-width:150px!important;
    white-space:nowrap!important;
    text-align:center!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }

  /* Số tiền càng dài vẫn giữ 1 dòng, cột tự mở trong giới hạn. */
  .invoice-print-document .inv-table tbody tr:not(.inv-sum-row):not(.inv-vat-row):not(.inv-total-row) td:nth-child(6){
    font-variant-numeric:tabular-nums!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
}


/* ==========================================================
   V558 - DESKTOP: NHÃN TỔNG TIỀN BÁM SÁT CẠNH SỐ TIỀN
   ========================================================== */
@media screen and (min-width:1101px){

  /* Các dòng tổng không trải nhãn từ đầu bảng nữa */
  .invoice-print-document .inv-table .inv-sum-row,
  .invoice-print-document .inv-table .inv-vat-row,
  .invoice-print-document .inv-table .inv-total-row{
    position:relative!important;
  }

  /* Ô nhãn co lại và đẩy sang phải gần cột số tiền */
  .invoice-print-document .inv-table .inv-sum-row td:first-child,
  .invoice-print-document .inv-table .inv-vat-row td:first-child,
  .invoice-print-document .inv-table .inv-total-row td:first-child{
    text-align:right!important;
    padding-right:8px!important;
    white-space:nowrap!important;
  }

  /* Nhãn đậm, gọn */
  .invoice-print-document .inv-table .inv-sum-row td:first-child b,
  .invoice-print-document .inv-table .inv-vat-row td:first-child b,
  .invoice-print-document .inv-table .inv-total-row td:first-child b{
    display:inline-block!important;
    white-space:nowrap!important;
    text-align:right!important;
  }

  /* Cột số tiền giữ sát ngay bên cạnh */
  .invoice-print-document .inv-table .inv-sum-row td.tabular,
  .invoice-print-document .inv-table .inv-vat-row td.tabular,
  .invoice-print-document .inv-table .inv-total-row td.inv-remaining-amount{
    text-align:left!important;
    padding-left:8px!important;
    white-space:nowrap!important;
  }

  /* Giảm cảm giác khoảng trống giữa nhãn và số */
  .invoice-print-document .inv-table .inv-sum-row td:first-child,
  .invoice-print-document .inv-table .inv-vat-row td:first-child,
  .invoice-print-document .inv-table .inv-total-row td:first-child{
    width:auto!important;
  }

  .invoice-print-document .inv-table .inv-sum-row td.tabular,
  .invoice-print-document .inv-table .inv-vat-row td.tabular,
  .invoice-print-document .inv-table .inv-total-row td.inv-remaining-amount{
    width:1%!important;
  }
}


/* V559 - Desktop preview: tiền sản phẩm trong cột THÀNH TIỀN nằm chính giữa */
@media screen and (min-width:1101px){
  .invoice-print-document .inv-table th:nth-child(6){
    text-align:center!important;
    vertical-align:middle!important;
  }

  .invoice-print-document .inv-table tbody tr:not(.inv-sum-row):not(.inv-vat-row):not(.inv-total-row) td:nth-child(6){
    text-align:center!important;
    vertical-align:middle!important;
    padding-left:4px!important;
    padding-right:4px!important;
    white-space:nowrap!important;
  }
}


/* ==========================================================
   V560 - DESKTOP: TẤT CẢ SỐ TIỀN DÒNG TỔNG CĂN GIỮA
   Tiền hàng / VAT / Phí giao hàng / Tổng cộng / Còn lại
   ========================================================== */
@media screen and (min-width:1101px){

  .invoice-print-document .inv-table .inv-sum-row td.tabular,
  .invoice-print-document .inv-table .inv-vat-row td.tabular,
  .invoice-print-document .inv-table .inv-total-row td.inv-remaining-amount,
  .invoice-print-document .inv-table .inv-mobile-summary-value{
    text-align:center!important;
    vertical-align:middle!important;
    padding-left:4px!important;
    padding-right:4px!important;
    white-space:nowrap!important;
  }

  /* Giữ nhãn bám sát cạnh cột tiền như V558 */
  .invoice-print-document .inv-table .inv-sum-row td:first-child,
  .invoice-print-document .inv-table .inv-vat-row td:first-child,
  .invoice-print-document .inv-table .inv-total-row td:first-child{
    text-align:right!important;
    padding-right:8px!important;
  }
}


/* V561 - Desktop preview: thu nhỏ thêm cột THÀNH TIỀN */
@media screen and (min-width:1101px){
  .invoice-print-document .inv-table th:nth-child(6),
  .invoice-print-document .inv-table td:nth-child(6){
    width:1%!important;
    min-width:78px!important;
    max-width:125px!important;
    padding-left:3px!important;
    padding-right:3px!important;
    white-space:nowrap!important;
    text-align:center!important;
  }

  /* Phần chiều ngang tiết kiệm được ưu tiên lại cho tên hàng */
  .invoice-print-document .inv-table th:nth-child(2),
  .invoice-print-document .inv-table td:nth-child(2){
    width:auto!important;
    min-width:195px!important;
  }
}


/* V562 - Desktop preview: thu nhỏ thêm cột THÀNH TIỀN */
@media screen and (min-width:1101px){
  .invoice-print-document .inv-table th:nth-child(6),
  .invoice-print-document .inv-table td:nth-child(6){
    width:1%!important;
    min-width:68px!important;
    max-width:108px!important;
    padding-left:2px!important;
    padding-right:2px!important;
    white-space:nowrap!important;
    text-align:center!important;
  }

  /* Số tiền vẫn rõ và tự vừa trong cột hẹp */
  .invoice-print-document .inv-table tbody tr:not(.inv-sum-row):not(.inv-vat-row):not(.inv-total-row) td:nth-child(6){
    font-size:10.4px!important;
    letter-spacing:-0.1px!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  /* Nhường thêm không gian cho tên hàng */
  .invoice-print-document .inv-table th:nth-child(2),
  .invoice-print-document .inv-table td:nth-child(2){
    width:auto!important;
    min-width:205px!important;
  }
}
