/* =========================================================
   Print Stylesheet (A4)
   สองรูปแบบการพิมพ์ในระบบนี้:
   1) หน้า Request Detail — มี .print-document (เอกสารราชการทางการ) ซ่อน
      เนื้อหาบนจอทั้งหมดด้วย .screen-only แล้วโชว์เฉพาะ .print-document
   2) หน้าอื่น เช่น รายงาน — พิมพ์เนื้อหาบนจอโดยตรง ซ่อนเฉพาะส่วนที่ไม่ต้องการ
      ด้วย .no-print (Filter bar, ปุ่ม ฯลฯ)

   ---------------------------------------------------------
   (แก้ไขรอบ 2) ยังพิมพ์ล้นอยู่ ผู้ใช้ขอให้:
     - ลดขนาดฟอนต์เอกสารเหลือ 14pt (จากเดิม 16pt)
     - ลดช่องว่างระหว่างบรรทัดลงอีก (line-height 1.5 → 1.3)
     - เอาเส้นตารางผู้ร่วมเดินทางออกทั้งหมด (ไม่มีเส้นใต้หัวตาราง/เส้นคั่น)
   ทั้งหมดนี้ช่วยลดความสูงรวมของเอกสารลงอีกมาก ประกอบกับกลไกย่อขนาด
   อัตโนมัติใน print.js (fitPrintDocumentToPage) ที่ยังทำงานอยู่เป็น
   ตัวป้องกันสำรองรอบสุดท้ายเผื่อกรณีข้อมูลยาวผิดปกติจริง ๆ
   ---------------------------------------------------------
   (แก้ไขรอบ 1) ปัญหาเดิม: เอกสารพิมพ์ล้นหน้ากระดาษ A4 (ไหลไปหน้า 2)
   สาเหตุหลัก 2 อย่าง:
     ก) @page กำหนด margin 15mm รอบด้าน "และ" .print-document ยังมี
        padding ซ้อนอีกชั้น (10mm/14mm) รวมเป็นระยะขอบเกือบ 25-29mm
        ต่อด้าน — พื้นที่พิมพ์จริงจึงเหลือน้อยกว่าที่ควร
     ข) line-height ของทั้งเอกสารตั้งไว้ที่ 2 (เว้นบรรทัดคู่) ซึ่งมาก
        เกินความจำเป็นสำหรับแบบฟอร์มราชการ ทำให้ความสูงรวมของเนื้อหา
        บวมขึ้นเกือบเท่าตัว
   แนวทางแก้: (1) ตัด padding ซ้อนออก ให้ @page margin ทำหน้าที่เดียว
   (2) ลด line-height เหลือ 1.5 (ยังอ่านง่าย ไม่อึดอัด) และลดระยะห่าง
   ระหว่างส่วนต่าง ๆ ให้กระชับขึ้น (3) เพิ่ม page-break-inside: avoid
   ให้บล็อกลายเซ็น/ตารางผู้โดยสาร ไม่ให้ถูกตัดครึ่งหากเนื้อหายาวผิดปกติ
   หมายเหตุ: ยังมีกลไกเสริมใน print.js ที่จะ "ย่อขนาด" เอกสารอัตโนมัติ
   ก่อนพิมพ์ (คำนวณจากความสูงจริง) เผื่อกรณีข้อมูลยาวเป็นพิเศษ (เช่น
   มีผู้ร่วมเดินทางหลายคน) ให้ยังคงพอดี 1 หน้าเสมอ — ดูฟังก์ชัน
   fitPrintDocumentToPage() ในไฟล์นั้น ค่า @page margin ด้านล่างนี้ต้อง
   สอดคล้องกับค่าคงที่ PRINT_PAGE ในไฟล์ print.js (คอมเมนต์ไว้ตรงนั้นด้วย)
   ========================================================= */

@page {
  size: A4;
  margin: 15mm;
}

@media print {
  html, body {
    background: #fff !important;
    font-size: 14pt;
  }

  .sidebar,
  .sidebar-backdrop,
  .topbar,
  .no-print {
    display: none !important;
  }

  .app-main { margin-left: 0 !important; }
  .page-content { padding: 0 !important; }

  .card-surface {
    box-shadow: none !important;
    border: none !important;
  }

  a[href]::after { content: none !important; }

  /* โหมด 1: ซ่อนเนื้อหาบนจอทั้งหมด แสดงเฉพาะเอกสารทางการ */
  .screen-only { display: none !important; }
  .print-document { display: block !important; }

  table { page-break-inside: auto; }
  tr { page-break-inside: avoid; page-break-after: auto; }
}

/* นอกโหมด Print ซ่อน .print-document ไว้เสมอ (แสดงเฉพาะตอนสั่งพิมพ์) */
.print-document { display: none; }

/* =========================================================
   Government Document Layout — "แบบบันทึกขอใช้รถยนต์"
   ฟอนต์ TH Sarabun New ขนาด 14pt (ลดจาก 16pt ตามที่ขอ เพื่อให้พอดี
   1 หน้า A4 ได้สบายขึ้น ยังคงอ่านง่ายเพราะ TH Sarabun New ออกแบบมา
   ให้อ่านชัดแม้ขนาดเล็ก)
   หมายเหตุ: หัว/ท้ายกระดาษที่มี URL/วันที่ เป็นของเบราว์เซอร์เอง
   (ตั้งค่าได้ที่กล่องโต้ตอบพิมพ์ > การตั้งค่าเพิ่มเติม > ปิด "หัวกระดาษ
   และท้ายกระดาษ") เว็บไซต์ไม่สามารถบังคับปิดให้อัตโนมัติได้

   *** ไม่ใส่ padding ที่นี่แล้ว — ให้ @page margin (ด้านบน) เป็นระยะขอบ
   เพียงชั้นเดียว เอกสารจึงชิดขอบกระดาษเท่ากันทั้ง 4 ด้าน สวยงามและ
   ใช้พื้นที่กระดาษได้เต็มที่ ***
   ========================================================= */
.print-document {
  font-family: 'TH Sarabun New', 'Sarabun', 'Noto Sans Thai', sans-serif;
  color: #000;
  font-size: 14pt;
  line-height: 1.3;
  padding: 0;
  transform-origin: top left; /* ใช้โดย fitPrintDocumentToPage() ใน print.js เวลาย่อขนาดอัตโนมัติ */
}
.print-doc-title {
  text-align: center;
  font-size: 17pt;
  font-weight: 700;
  margin-bottom: 2px;
}
.print-doc-orgname {
  text-align: center;
  font-size: 14pt;
  font-weight: 700;
  margin-bottom: 3mm;
}
.print-topright {
  text-align: right;
  margin: 0 0 2.5mm;
}
.print-line { margin-bottom: 1mm; }
.print-line .lbl { display: inline-block; min-width: 50px; }
.print-para { margin: 2mm 0; text-align: left; }
.print-center { text-align: center; margin: 4mm 0 2mm; }

/* ข้อมูลที่ดึงมาจากระบบ — ใช้ตัวหนาแทนเส้นประ/เส้นใต้ */
.blank {
  font-weight: 700;
  padding: 0 3px;
}

.pchk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 12px; height: 12px;
  border: 1.3px solid #000;
  font-size: 10px;
  line-height: 1;
  margin: 0 3px;
  vertical-align: middle;
}

/* ตารางผู้ร่วมเดินทาง — เอาเส้นตาราง/เส้นคั่นออกทั้งหมดตามที่ขอ
   (ไม่มี border-bottom ใต้หัวตาราง ไม่มีเส้นคั่นแถว) เหลือเพียงการเยื้อง
   ด้วย padding ให้อ่านเป็นระเบียบแทน */
.print-passenger-block { margin: 2.5mm 0; page-break-inside: avoid; }
.pb-label { font-weight: 700; margin-bottom: 1mm; }
.pb-table { border-collapse: collapse; font-size: 14pt; margin-left: 20px; width: calc(100% - 20px); }
.pb-table th { text-align: left; font-weight: 700; border: none; padding: 1mm 8px 1.5mm; }
.pb-table td { padding: 0.8mm 8px; font-weight: 700; border: none; }
.pb-table .pb-empty { text-align: center; color: #666; font-weight: 400; padding: 1.5mm 0; }

.print-requester-sign {
  width: 260px;
  margin: 3mm 0 0 auto;
  text-align: center;
  page-break-inside: avoid;
}
.print-requester-sign .sig-img-wrap { height: 10mm; display: flex; align-items: flex-end; justify-content: center; }
.print-requester-sign .sig-img-wrap img { max-height: 9mm; max-width: 100%; }
.print-requester-sign .sig-name { margin-top: 1mm; font-weight: 700; }

.print-approval-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 5mm;
  font-size: 14pt;
  page-break-inside: avoid;
}

.print-signature-grid-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 6mm;
  text-align: center;
  font-size: 14pt;
  page-break-inside: avoid;
}
.print-signature-grid-2col .sig-col .sig-img-wrap { height: 10mm; display: flex; align-items: flex-end; justify-content: center; margin-bottom: 1mm; }
.print-signature-grid-2col .sig-col .sig-img-wrap img { max-height: 9mm; max-width: 80%; }
.print-signature-grid-2col .sig-col .sig-line { margin-top: 0.5mm; }
.print-signature-grid-2col .sig-col .sig-role { margin-top: 0.5mm; }
.print-signature-grid-2col .sig-col .sig-name { font-weight: 700; }
