/* ============================================================
   PRINT CSS: ĐỊNH DẠNG IN KHỔ A5 NGANG TRÊN MÁY IN KIM
   CÔNG TY TNHH GIA CÔNG THƯƠNG MẠI D&D LONG AN
   Sử dụng font Times New Roman chuẩn hành chính kế toán Việt Nam,
   không lỗi font chữ dấu tiếng Việt, bám sát góc trên bên trái
   ============================================================ */

@page {
  size: auto;             /* Tự động nhả ra ô chọn "Dọc / Ngang" trong hộp thoại in để bạn chỉnh bằng tay */
  margin: 0mm !important; /* Xóa lề để triệt tiêu header & footer của trình duyệt */
}

/* Ẩn vùng in trên màn hình web */
#print-section {
  display: none;
}

@media print {
  @page {
    size: auto;           /* Nhả ra lựa chọn "Dọc / Ngang" trong hộp thoại in của trình duyệt */
    margin: 0mm !important;
  }
  /* Reset toàn bộ trang để không bị căn giữa hay đẩy lề thừa */
  html, body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    background: #ffffff !important;
    color: #000000 !important;
    display: block !important;
  }

  /* Ẩn toàn bộ giao diện phần mềm web */
  body * {
    visibility: hidden;
  }
  
  .no-print, .app-header, .main-container, .modal-overlay, #toast-container {
    display: none !important;
  }

  /* Chỉ hiển thị khu vực phiếu in */
  #print-section, #print-section * {
    visibility: visible;
  }

  #print-section {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    color: #000000 !important;
    font-family: "Times New Roman", Times, serif !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}

/* Bố cục tờ phiếu (từ đây tới cuối file) áp cả trên màn hình để app đo trước khi in (fitPrintToMargins trong app.js).
   #print-section vẫn ẩn trên màn hình nên giao diện web không đổi. */
@media all {
  /* Tận dụng diện tích giấy in kim khổ A5 ngang, dời sang trái 0.5cm (lề trái 11mm, lề phải 21mm) tránh in đè lỗ bên phải */
  .print-page {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 7mm 21mm 2mm 11mm !important; /* Dời nội dung sang trái 0.5cm (5mm): lề trái 11mm, lề phải 21mm để tránh in đè lên hàng lỗ bên phải */
    page-break-inside: avoid;
    font-family: "Times New Roman", Times, serif !important;
  }

  /* 1. ĐẦU PHIẾU: TÊN CÔNG TY VÀ ĐỊA CHỈ CĂN GIỮA */
  .p-header {
    display: block !important;
    text-align: center !important;
    margin: 0 0 3px 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .p-company {
    text-align: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .p-company-name {
    font-family: "Times New Roman", Times, serif !important;
    font-size: 11pt !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    line-height: 1.25 !important;
    color: #000000 !important;
    text-align: center !important;
  }

  .p-company-address {
    font-family: "Times New Roman", Times, serif !important;
    font-size: 9pt !important;
    font-weight: normal !important;
    text-transform: none !important;
    line-height: 1.3 !important;
    color: #000000 !important;
    margin-top: 1px !important;
    text-align: center !important;
  }

  .p-factory-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    width: 100% !important;
    margin-top: 3px !important;
    font-family: "Times New Roman", Times, serif !important;
    font-size: 9.5pt !important;
    line-height: 1.3 !important;
    color: #000000 !important;
  }

  .p-factory-addr {
    text-align: left !important;
    max-width: 65% !important;
    white-space: normal !important;
    word-break: normal !important;
  }

  .p-factory-mst {
    text-align: right !important;
    white-space: nowrap !important;
    margin-left: 10px !important;
  }

  .p-info-lbl {
    font-weight: bold !important;
  }

  /* 2. TIÊU ĐỀ PHIẾU XUẤT KHO: CHỮ TO ĐẬM CHUẨN TIMES NEW ROMAN */
  .p-title-box {
    text-align: center !important;
    margin: 3px 0 5px 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .p-title {
    font-family: "Times New Roman", Times, serif !important;
    font-size: 20pt !important; /* To, rõ ràng, uy nghiêm chuẩn biểu mẫu */
    font-weight: bold !important; /* Dùng bold chuẩn (700) */
    letter-spacing: normal !important;
    text-transform: uppercase !important;
    margin: 0 0 2px 0 !important;
    line-height: 1.2 !important;
    color: #000000 !important;
  }

  .p-sub-info {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    margin: 3px 0 4px 0 !important;
    font-family: "Times New Roman", Times, serif !important;
    color: #000000 !important;
  }

  .p-date {
    font-family: "Times New Roman", Times, serif !important;
    font-size: 10.5pt !important;
    font-style: italic !important;
    color: #000000 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  .p-slip-no {
    font-family: "Times New Roman", Times, serif !important;
    font-size: 10.5pt !important;
    font-weight: bold !important;
    color: #000000 !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  /* 3. THÔNG TIN ĐƠN VỊ, LÝ DO XUẤT, ĐƠN HÀNG & BỘ PHẬN XUẤT KHO */
  .p-meta {
    font-family: "Times New Roman", Times, serif !important;
    font-size: 10.5pt !important;
    margin: 5px 0 14px 0 !important; /* Khoảng cách thông thoáng với bảng số lượng */
    display: grid !important;
    grid-template-columns: 1.15fr 0.85fr !important;
    column-gap: 15px !important;
    row-gap: 6px !important;
    line-height: 1.35 !important;
    width: 100% !important;
  }

  /* 4. BẢNG HÀNG HÓA IN KIM: CĂN GIỮA TRANG, NÉT ĐƠN 1PX ĐEN TRẮNG, CO KHÍT VỪA NỘI DUNG */
  table.p-table {
    font-family: "Times New Roman", Times, serif !important;
    width: auto !important;
    margin: 0 auto 6px auto !important;
    table-layout: auto !important;
    border-collapse: collapse !important;
    font-size: 8.5pt !important;
    line-height: 1.25 !important;
    box-sizing: border-box !important;
  }

  table.p-table th,
  table.p-table td {
    font-family: "Times New Roman", Times, serif !important;
    border: 1px solid #000000 !important;
    padding: 2px 2px !important;
    color: #000000 !important;
    background: transparent !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
  }

  table.p-table th {
    font-weight: bold !important;
    text-align: center !important;
    vertical-align: middle !important;
    padding: 3px 2px !important;
    font-size: 8.5pt !important;
  }

  table.p-table td.text-center { text-align: center !important; }
  table.p-table td.text-right { text-align: right !important; }
  table.p-table td.text-left { text-align: left !important; }
  table.p-table tr { page-break-inside: avoid !important; }

  /* Cột STT: thu gọn tối đa */
  table.p-table th.p-cell-stt,
  table.p-table td.p-cell-stt {
    width: 1% !important;
    white-space: nowrap !important;
    text-align: center !important;
    padding: 2px 2px !important;
    font-size: 8.5pt !important;
  }

  /* Các cột PO, Mã hàng, ĐVT co dãn linh hoạt vừa khít nội dung */
  table.p-table th.p-cell-po,
  table.p-table td.p-cell-po {
    width: 1% !important;
    white-space: nowrap !important;
    text-align: left !important;
    padding: 2px 4px !important;
    font-size: 8.5pt !important;
  }

  table.p-table th.p-cell-ma,
  table.p-table td.p-cell-ma {
    width: 1% !important;
    white-space: nowrap !important;
    text-align: center !important;
    padding: 2px 4px !important;
    font-size: 8.5pt !important;
  }

  table.p-table th.p-cell-chitiet,
  table.p-table td.p-cell-chitiet {
    width: 1% !important;
    white-space: nowrap !important;
    text-align: center !important;
    padding: 2px 4px !important;
    font-size: 8.5pt !important;
  }

  table.p-table th.p-cell-dvt,
  table.p-table td.p-cell-dvt {
    width: 1% !important;
    white-space: nowrap !important;
    text-align: center !important;
    padding: 2px 2px !important;
    font-size: 8.5pt !important;
  }

  /* Ô số lượng size: co khít tối đa theo độ rộng con số, không chừa khoảng trống thừa */
  table.p-table th.p-cell-size,
  table.p-table td.p-cell-size {
    width: 1% !important;
    white-space: nowrap !important;
    text-align: center !important;
    padding: 2px 2px !important;
    font-size: 8.5pt !important;
  }

  /* Ô tổng số lượng */
  table.p-table th.p-cell-total,
  table.p-table td.p-cell-total {
    width: 1% !important;
    white-space: nowrap !important;
    text-align: center !important;
    padding: 2px 4px !important;
    font-size: 8.5pt !important;
  }

  /* Cột Còn lại (bản mới đang thử – admin): ngay sau cột Tổng, 1 số tổng */
  table.p-table th.p-cell-conlai,
  table.p-table td.p-cell-conlai {
    width: 1% !important;
    white-space: nowrap !important;
    text-align: center !important;
    padding: 2px 6px !important;
    font-weight: bold !important;
  }

  /* Chống rớt dòng đối với các ô số liệu, mã hàng, PO */
  table.p-table .nowrap,
  table.p-table td.text-right,
  table.p-table td.text-center {
    white-space: nowrap !important;
  }

  .p-total-row td {
    font-weight: bold !important;
    padding: 3px 2px !important;
  }

  /* Dòng ĐỒNG BỘ ĐÔI (bộ chi tiết JiaYu) */
  .p-dongbo-row td {
    font-weight: bold !important;
    font-style: italic !important;
  }

  /* 5. KHUNG CHỮ KÝ 4 CỘT: Người lập phiếu - Người giao - Người nhận - Giám đốc */
  .p-signatures {
    font-family: "Times New Roman", Times, serif !important;
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important; /* Lập phiếu · Giao · Nhận · Phòng kế hoạch · Giám đốc */
    text-align: center !important;
    margin-top: 14px !important;
    font-size: 10.5pt !important;
    page-break-inside: avoid !important;
    width: 100% !important;
  }

  .p-sig-col {
    text-align: center !important;
    padding: 0 4px !important;
  }

  .p-sig-title {
    font-family: "Times New Roman", Times, serif !important;
    font-weight: bold !important;
    white-space: nowrap !important;
    margin-bottom: 30px !important; /* Chừa khoảng trống ký tên vừa vặn */
    font-size: 10pt !important;
  }

  .p-sig-name {
    font-family: "Times New Roman", Times, serif !important;
    font-style: italic !important;
    font-size: 9.5pt !important;
  }
}

/* ============================================================
   BẢN IN THOÁNG & SANG TRỌNG (10/2026)
   Tự chọn mật độ theo số dòng & số cột size:
   density-1 (≤12 dòng): chữ 11pt, dòng rộng · density-2 (13–20): 10pt · density-3 (>20): 9pt
   ============================================================ */
@media all {
  .print-page .p-title {
    font-size: 20pt !important; /* nhỏ lại 2 cỡ (10/2026) */
    letter-spacing: 0.06em !important;
  }
  .print-page .p-title-box {
    margin: 4px 0 6px 0 !important;
  }
  .print-page .p-sub-info {
    border-bottom: 3px double #000 !important;
    padding-bottom: 4px !important;
    margin-bottom: 6px !important;
  }
  .print-page .p-meta { margin: 6px 0 12px 0 !important; }

  .print-page table.p-table {
    border: 1.6px solid #000 !important;
    line-height: 1.3 !important;
  }
  .print-page table.p-table th {
    border-bottom: 1.6px solid #000 !important;
  }

  /* Dòng cộng: kẻ đôi phía trên, chữ to đậm */
  .print-page .p-total-row td {
    border-top: 3px double #000 !important;
    font-weight: bold !important;
  }

  /* Tiêu đề nhóm "Công cụ, dụng cụ kèm theo" */
  .print-page .p-sub-head td {
    text-align: left !important;
    font-weight: bold !important;
    font-style: italic !important;
    padding-left: 8px !important;
    border-top: 1.6px solid #000 !important;
  }

  /* ---- Mật độ 1: thoáng, chữ to ---- */
  .print-page.density-1 table.p-table td,
  .print-page.density-1 table.p-table td.p-cell-stt,
  .print-page.density-1 table.p-table td.p-cell-po,
  .print-page.density-1 table.p-table td.p-cell-ma,
  .print-page.density-1 table.p-table td.p-cell-chitiet,
  .print-page.density-1 table.p-table td.p-cell-dvt,
  .print-page.density-1 table.p-table td.p-cell-size,
  .print-page.density-1 table.p-table td.p-cell-total {
    font-size: 11pt !important;
    padding: 3px 6px !important; /* thấp hơn 4px/dòng để in được nhiều dòng */
  }
  .print-page.density-1 table.p-table th,
  .print-page.density-1 table.p-table th.p-cell-stt,
  .print-page.density-1 table.p-table th.p-cell-po,
  .print-page.density-1 table.p-table th.p-cell-ma,
  .print-page.density-1 table.p-table th.p-cell-chitiet,
  .print-page.density-1 table.p-table th.p-cell-dvt,
  .print-page.density-1 table.p-table th.p-cell-size,
  .print-page.density-1 table.p-table th.p-cell-total {
    font-size: 10pt !important;
    padding: 4px 6px !important;
  }
  .print-page.density-1 table.p-table td.p-cell-total,
  .print-page.density-1 .p-total-row td { font-size: 12pt !important; }


  /* ---- Mật độ 2: vừa ---- */
  .print-page.density-2 table.p-table td,
  .print-page.density-2 table.p-table td.p-cell-stt,
  .print-page.density-2 table.p-table td.p-cell-po,
  .print-page.density-2 table.p-table td.p-cell-ma,
  .print-page.density-2 table.p-table td.p-cell-chitiet,
  .print-page.density-2 table.p-table td.p-cell-dvt,
  .print-page.density-2 table.p-table td.p-cell-size,
  .print-page.density-2 table.p-table td.p-cell-total {
    font-size: 10pt !important;
    padding: 1px 5px !important;
  }
  .print-page.density-2 table.p-table th,
  .print-page.density-2 table.p-table th.p-cell-stt,
  .print-page.density-2 table.p-table th.p-cell-po,
  .print-page.density-2 table.p-table th.p-cell-ma,
  .print-page.density-2 table.p-table th.p-cell-chitiet,
  .print-page.density-2 table.p-table th.p-cell-dvt,
  .print-page.density-2 table.p-table th.p-cell-size,
  .print-page.density-2 table.p-table th.p-cell-total {
    font-size: 9.5pt !important;
    padding: 2px 5px !important;
  }
  .print-page.density-2 table.p-table td.p-cell-total,
  .print-page.density-2 .p-total-row td { font-size: 11pt !important; }

  /* ---- Mật độ 3: gọn để vừa 1 trang ---- */
  .print-page.density-3 table.p-table td,
  .print-page.density-3 table.p-table td.p-cell-stt,
  .print-page.density-3 table.p-table td.p-cell-po,
  .print-page.density-3 table.p-table td.p-cell-ma,
  .print-page.density-3 table.p-table td.p-cell-chitiet,
  .print-page.density-3 table.p-table td.p-cell-dvt,
  .print-page.density-3 table.p-table td.p-cell-size,
  .print-page.density-3 table.p-table td.p-cell-total {
    font-size: 9pt !important;
    padding: 0 4px !important;
  }
  .print-page.density-3 table.p-table th { font-size: 9pt !important; padding: 1px 4px !important; } /* bằng chữ ô: thu nhỏ cho vừa tờ thì cả bảng cùng xuống 8pt */
  .print-page.density-3 table.p-table td.p-cell-total,
  .print-page.density-3 .p-total-row td { font-size: 10pt !important; }
}

/* ============================================================
   MẪU 10/2026: size chung hàng tiêu đề (36#, in nghiêng đậm), chỗ ký rộng, họ tên to
   ============================================================ */
@media all {
  .print-page table.p-table thead th.p-size-lbl { font-style: italic !important; }

  /* Bảng lệch trái 2mm so với giữa trang */
  .print-page table.p-table { position: relative !important; left: -2mm !important; }

  /* Phiếu dài sang tờ 2: tờ 2 lặp lại hàng tiêu đề (thead), dòng CỘNG chỉ in 1 lần ở cuối,
     lề trên 7mm / lề dưới 2mm lặp lại ở mỗi tờ */
  .print-page table.p-table thead { display: table-header-group !important; }
  .print-page table.p-table tfoot { display: table-row-group !important; }
  .print-page { -webkit-box-decoration-break: clone !important; box-decoration-break: clone !important; }

  /* Ngày căn giữa dưới chữ PHIẾU XUẤT KHO, Số vẫn bên phải */
  .print-page .p-sub-info { display: grid !important; grid-template-columns: 1fr auto 1fr !important; }
  .print-page .p-date { grid-column: 2 !important; text-align: center !important; }
  .print-page .p-slip-no { grid-column: 3 !important; justify-self: end !important; }

  /* Chữ ký: chừa khoảng ký rộng, họ tên to rõ */
  .print-page .p-signatures { margin-top: 10px !important; }
  .print-page .p-sig-title { margin-bottom: 0 !important; font-size: 10.5pt !important; }
  .print-page .p-sig-note { font-style: italic !important; font-size: 8.5pt !important; margin-bottom: 46px !important; }
  .print-page .p-sig-name { font-style: normal !important; font-weight: bold !important; font-size: 12pt !important; min-height: 16pt !important; }
  /* Họ tên luôn 1 dòng: vừa thì căn giữa dưới chức danh, dài hơn cột thì lấn sang trái (chức danh giữ nguyên chỗ) */
  .print-page .p-signatures { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; } /* 5 cột luôn đều, tên dài không làm nở cột */
  .print-page .p-sig-name { display: flex !important; justify-content: flex-end !important; white-space: nowrap !important; }
  .print-page .p-sig-name > span { flex: none !important; margin: 0 auto !important; }
}
