/* เอกสารสัญญา — สีขาวดำแบบกระดาษเสมอ (อ่านได้ทั้งธีมสว่าง/มืด และพิมพ์ A4) */
.ppc{background:#fff;color:#111;font-family:"Sarabun","TH SarabunPSK","TH Sarabun New",system-ui,sans-serif;font-size:15.5px;line-height:1.75;padding:40px 44px;max-width:820px;margin:0 auto;border:1px solid #d6dde6;border-radius:6px;box-shadow:0 6px 24px rgba(40,30,20,.08)}
.ppc h1{font-size:1.35rem;text-align:center;margin:18px 0 4px;font-weight:700;color:#111}
.ppc h2{font-size:1.02rem;margin:22px 0 8px;font-weight:700;color:#111;border-bottom:1px solid #cfd6df;padding-bottom:4px}
.ppc p{margin:8px 0}
.ppc-date{text-align:center;color:#444;font-size:14px}
.ppc-h{box-shadow:0 3px 0 -1px #D4AF37;display:flex;justify-content:space-between;gap:16px;font-size:13px;color:#333;line-height:1.55;border-bottom:3px solid #8A6514;padding-bottom:10px;flex-wrap:wrap}
.ppc-h b{font-size:14.5px;color:#111}
.ppc-no{text-align:right}
.ppc-draft{background:#FFF4D6;color:#7A5300;border:1px dashed #D9A400;border-radius:6px;padding:6px 12px;font-size:13.5px;margin-bottom:12px;text-align:center}
.ppc-cl{padding-left:22px;margin:10px 0}
.ppc-cl li{margin:6px 0;padding-left:4px}
.ppc-du{padding-left:22px;font-size:14.5px}
.ppc-t{width:100%;border-collapse:collapse;font-size:14.5px}
.ppc-t th,.ppc-t td{border:1px solid #cfd6df;padding:6px 10px;text-align:left;vertical-align:top}
.ppc-t th{width:34%;background:#FBF5E4;font-weight:600}
.ppc-small{font-size:12.5px;color:#555}
.ppc .blank{color:#999}
.ppc-sign{display:grid;grid-template-columns:1fr 1fr;gap:34px 40px;margin-top:36px;text-align:center;font-size:14.5px}
.ppc-sign .line{border-bottom:1px dotted #333;height:40px;margin:0 10% 6px;display:flex;align-items:flex-end;justify-content:center}
.ppc-sign .esig{font-size:1.25rem;font-style:italic;color:#1F1B14}
.ppc-cl2 p{margin:10px 0}
.ppc-opt{line-height:2}
.ppc .ck{font-size:1.1em;margin-right:4px}
.ppc-ab{padding-left:24px;margin:6px 0}
.ppc-hol td,.ppc-hol th{padding:4px 8px;font-size:13.5px}
.ppc-hol th{width:auto}
.ppc-gap{height:22px}
.ppc-sign.three{grid-template-columns:1fr 1fr 1fr;gap:24px}
@media (max-width:600px){.ppc-sign.three{grid-template-columns:1fr}.ppc{padding:22px 16px;font-size:14.5px}.ppc-sign{grid-template-columns:1fr}.ppc-no{text-align:left}}
@media print{
  @page{size:A4;margin:16mm 14mm}
  body *{visibility:hidden}
  .print-area,.print-area *{visibility:visible}
  .print-area{position:absolute;left:0;top:0;width:100%;max-height:none!important;overflow:visible!important}
  .preview-wrap{position:static!important}
  .preview .ppc{font-size:14pt;padding:0}
  .ppc{border:0;box-shadow:none;padding:0;max-width:none;font-size:14pt}
  .ppc-cl li,.ppc-t tr,.ppc-cl2 p{break-inside:avoid}
  .ppc-gap{break-after:page;height:0}
  .no-print{display:none!important}
}
.ppc{position:relative}
.ppc-stamp{position:static;display:block;width:max-content;margin:-24px 0 8px auto;border:2px solid #8A6514;color:#8A6514;border-radius:6px;padding:2px 12px;font-weight:700;font-size:15px;line-height:1.25;text-align:center;transform:rotate(3deg);background:#fff}
.ppc-stamp small{display:block;font-weight:500;font-size:10.5px}
.ppc-stamp.copy{border-color:#555;color:#555}
.ppc-void{background:#FDECEA;color:#9B1C1C;border:1px solid #E7A6A0;border-radius:6px;padding:6px 12px;font-size:13.5px;margin-bottom:10px;text-align:center;font-weight:600}
.ppc-void.renewed{background:#F2F2F2;color:#444;border-color:#ccc}
.ppc-add{border:1px solid #cfd6df;border-radius:6px;padding:12px 16px;margin:10px 0 6px;background:#FCFBF7}
@media (max-width:600px){.ppc-stamp{margin:-8px 0 8px auto;transform:none}}

/* โหมดพิมพ์: แสดงเฉพาะกล่อง #ppPrintRoot */
#ppPrintRoot{display:none}
@media print{
  html.pp-printing body > *:not(#ppPrintRoot){display:none!important}
  html.pp-printing #ppPrintRoot{display:block!important;position:static}
  html.pp-printing #ppPrintRoot, html.pp-printing #ppPrintRoot *{visibility:visible!important}
  html.pp-printing, html.pp-printing body{height:auto!important;min-height:0!important;overflow:visible!important}
  html.pp-printing body{background:#fff!important;margin:0!important;padding:0!important}
  html.pp-printing #ppPrintRoot .ppc{margin:0 auto!important}
  html.pp-printing #ppPrintRoot .ppc:last-child, html.pp-printing #ppPrintRoot .ppc-sign:last-child{margin-bottom:0!important;padding-bottom:0!important}
  html.pp-printing #ppPrintRoot .no-print{display:none!important}
}

/* หัวกระดาษสัญญา: ตราบริษัท + ชื่อ/ที่อยู่กึ่งกลาง (ตามแบบฟอร์มเดิม) */
.ppc-h{display:grid!important;grid-template-columns:76px 1fr 76px;align-items:center;gap:14px;text-align:center;justify-content:stretch}
.ppc-logo{width:76px;height:76px;object-fit:contain;grid-column:3;grid-row:1}
.ppc-co{grid-column:2;grid-row:1;font-size:13px;color:#333;line-height:1.6}
.ppc-co b{font-size:16px;color:#111}
.ppc-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:#444;margin:6px 0 2px}
.ppc-stamp{position:absolute!important;top:28px;left:40px;margin:0!important;transform:rotate(-4deg)!important;z-index:1}
@media (max-width:600px){.ppc-h{grid-template-columns:56px 1fr;text-align:left}.ppc-logo{width:56px;height:56px;grid-column:1}.ppc-co{grid-column:2}.ppc-stamp{position:static!important;margin:0 0 8px auto!important;transform:none!important;width:max-content}}
@media print{.ppc-stamp{top:0;left:0}}

/* ตรา ต้นฉบับ / คู่ฉบับ: ตัวอักษรอย่างเดียว ไม่มีกรอบ */
.ppc-stamp,.ppc-stamp.copy{border:0!important;background:none!important;padding:0!important;transform:none!important;font-size:16px;font-weight:700;letter-spacing:.02em}
.ppc-stamp{color:#6E500E}.ppc-stamp.copy{color:#444}
/* ขนาดตัวอักษรตอนพิมพ์ A4: เนื้อหา 14px (10.5pt) · หัวข้อ 16px (12pt) · ชื่อเอกสาร 18px */
@media print{
  .ppc,.preview .ppc{font-size:10.5pt!important;line-height:1.6!important}
  .ppc h1{font-size:13.5pt!important;margin:10px 0 2px!important}
  .ppc h2{font-size:12pt!important;margin:14px 0 6px!important}
  .ppc-co{font-size:9.5pt!important}.ppc-co b{font-size:12pt!important}
  .ppc-meta,.ppc-date{font-size:9.5pt!important}
  .ppc-t,.ppc-du,.ppc-sign{font-size:10pt!important}
  .ppc-hol td,.ppc-hol th,.ppc-small{font-size:9pt!important}
  .ppc-stamp{font-size:12pt!important}
  .ppc-logo{width:64px!important;height:64px!important}
  .ppc-h{grid-template-columns:64px 1fr 64px!important}
}

/* ลายเซ็นที่วาดออนไลน์ */
.ppc-sign .line{min-height:40px;height:auto!important}
.ppc .esig-img{display:block;max-height:58px;max-width:88%;margin:0 auto -4px;object-fit:contain}
@media print{.ppc .esig-img{max-height:16mm}}

/* มุมมองกระดาษ A4 (ตัวอย่างสัญญาบนจอ) — 210×297 มม. ขอบ 16/14 มม. ตัวอักษรเท่าตอนพิมพ์ */
.a4view{background:#E9E5DC;padding:18px 0;border-radius:10px}
.a4view .a4zoom{width:794px;margin:0 auto}
.a4view .ppc{width:794px;max-width:none;min-height:1123px;box-sizing:border-box;padding:60px 53px;margin:0 auto 18px;border:0;border-radius:2px;box-shadow:0 2px 10px rgba(40,30,20,.18);font-size:14px;line-height:1.6}
.a4view .ppc:last-child{margin-bottom:0}
.a4view .ppc h1{font-size:18px;margin:10px 0 2px}
.a4view .ppc h2{font-size:16px;margin:14px 0 6px}
.a4view .ppc-co{font-size:12.5px}.a4view .ppc-co b{font-size:16px}
.a4view .ppc-meta,.a4view .ppc-date{font-size:12.5px}
.a4view .ppc-t,.a4view .ppc-du,.a4view .ppc-sign{font-size:13.5px}
.a4view .ppc-hol td,.a4view .ppc-hol th,.a4view .ppc-small{font-size:12px}
.a4view .ppc-logo{width:64px;height:64px}
.a4view .ppc-h{grid-template-columns:64px 1fr 64px!important;text-align:center!important}
.a4view .ppc-h .ppc-logo{grid-column:3!important}.a4view .ppc-h .ppc-co{grid-column:2!important}
.a4view .ppc-sign{grid-template-columns:1fr 1fr!important}.a4view .ppc-sign.three{grid-template-columns:1fr 1fr 1fr!important}
.a4view .ppc-stamp{position:absolute!important;top:28px!important;left:40px!important;margin:0!important}
.a4view .a4cap{font-size:12px;color:#7a705c;text-align:center;margin:-10px 0 14px}
@media print{.a4view{background:none;padding:0}.a4view .a4zoom{width:auto;zoom:1!important}.a4view .ppc{width:auto;min-height:0;box-shadow:none;padding:0;margin:0}.a4view .a4cap{display:none}}
