/* หน้าเอกสาร (ใบเสร็จ /receipt/ · สัญญาเช่า /rent-contract/) — ฟอร์มซ้าย กระดาษ A4 ขวา · พิมพ์ได้เฉพาะกระดาษ */
.doc-page .hint{font-size:14px;line-height:1.6;margin:6px 0 0}
.doc-work{display:grid;grid-template-columns:minmax(320px,1fr) minmax(0,1.25fr);gap:18px;align-items:start;margin-top:8px}
.doc-preview{position:sticky;top:90px}
@media (max-width:980px){.doc-work{grid-template-columns:minmax(0,1fr)}.doc-preview{position:static}}
.doc-form input:not([type=checkbox]):not([type=file]):not([type=radio]),.doc-form select,.doc-form textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 11px;width:100%;min-width:0;min-height:44px}
.doc-form textarea{min-height:64px;resize:vertical}
.doc-form input[type=file]{font-size:14px;max-width:100%}
.doc-form label.check{flex-direction:row;align-items:center;gap:8px;font-weight:500}
.doc-form label.check input{width:20px;height:20px;accent-color:var(--brand)}
.linkbtn{font:inherit;font-size:14px;background:none;border:0;color:var(--brand);text-decoration:underline;cursor:pointer;padding:0}
.warn-text{color:var(--danger)}
.items{display:grid;gap:8px}
.item{display:grid;grid-template-columns:minmax(0,1fr) 70px 64px 100px 36px;gap:6px;align-items:end}
.item label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:3px}
.item .del{min-height:44px;border:1px solid var(--line);background:var(--surface);border-radius:10px;cursor:pointer;font-size:18px;color:var(--muted)}
.item .del:hover{color:var(--danger);border-color:var(--danger)}
@media (max-width:520px){.item{grid-template-columns:1fr 1fr 1fr 40px}.item .desc{grid-column:1 / -1}}
#add{margin-top:10px}
.doc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.doc-actions .btn{flex:1 1 180px}
.alert{border-radius:12px;padding:10px 14px;font-size:15px;line-height:1.6;margin-top:10px;background:var(--brand-soft)}
.alert.bad{background:#fde8e8;color:#8a1f1f}
.alert.info{background:#eef4ff;color:#1e3a6b}

/* กระดาษ */
.paper-scroll{overflow:auto;border-radius:var(--radius);background:#e9ece9;padding:14px;max-height:calc(100vh - 120px)}
@media (max-width:980px){.paper-scroll{max-height:none}}
.paper{background:#fff;color:#111;width:100%;max-width:794px;margin:0 auto;padding:44px 48px;box-shadow:0 4px 18px rgba(0,0,0,.12);font-family:Sarabun,"IBM Plex Sans Thai",sans-serif;font-size:15px;line-height:1.55;position:relative}
.paper + .paper{margin-top:14px}
@media (max-width:600px){.paper{padding:22px 18px;font-size:13.5px}}
.paper h2{font-size:24px;margin:0;text-align:right;letter-spacing:.3px}
.paper .p-sub{text-align:right;color:#555;font-size:13px}
.paper .p-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:2px solid #111;padding-bottom:12px;margin-bottom:14px}
.paper .p-logo{max-height:64px;max-width:160px;object-fit:contain;display:block;margin-bottom:6px}
.paper .p-from b{font-size:17px}
.paper .p-small{font-size:13px;color:#333;white-space:pre-line}
.paper .p-meta{display:grid;grid-template-columns:1fr auto;gap:14px;margin-bottom:12px}
.paper .p-meta table td{padding:1px 0 1px 10px;font-size:14px}
.paper .p-meta table td:first-child{color:#555;padding-left:0}
.paper .p-items{width:100%;border-collapse:collapse;margin:6px 0 10px}
.paper .p-items th{background:#f1f3f1;border-top:1px solid #111;border-bottom:1px solid #111;padding:6px 6px;font-weight:600;font-size:13.5px;text-align:left}
.paper .p-items td{padding:6px;border-bottom:1px solid #ddd;vertical-align:top}
.paper .num{text-align:right;white-space:nowrap}
.paper .p-sum{display:grid;grid-template-columns:1fr minmax(220px,auto);gap:16px;align-items:start}
.paper .p-sum table{border-collapse:collapse;width:100%}
.paper .p-sum td{padding:3px 6px}
.paper .p-sum tr.total td{border-top:1px solid #111;border-bottom:3px double #111;font-weight:700;font-size:16px}
.paper .p-words{background:#f6f7f6;border-radius:6px;padding:8px 10px;font-weight:600}
.paper .p-sign{display:flex;justify-content:space-around;gap:20px;margin-top:40px;text-align:center}
.paper .p-sign div{min-width:180px}
.paper .p-sign img{max-height:54px;max-width:170px;display:block;margin:0 auto -6px}
.paper .p-sign .line{border-top:1px dotted #111;margin-top:46px;padding-top:4px}
.paper .p-sign img + .line{margin-top:4px}
.paper .copy-tag{position:absolute;top:16px;left:48px;font-size:12px;border:1px solid #111;padding:1px 8px;border-radius:4px}
.paper .wm{color:#bbb;font-size:12px;text-align:center;margin-top:18px}
/* สัญญา */
.paper.contract{font-size:15.5px;line-height:1.75}
.paper.contract h2{text-align:center;font-size:22px;margin-bottom:4px}
.paper.contract .c-right{text-align:right}
.paper.contract p{margin:0 0 8px;text-indent:2.2em;text-align:left}
.paper.contract p.ni{text-indent:0}
.paper.contract .em{font-weight:700;text-decoration:underline}
.paper.contract table.att{width:100%;border-collapse:collapse;margin-top:8px;font-size:14px}
.paper.contract table.att th,.paper.contract table.att td{border:1px solid #444;padding:5px 6px;text-align:left}
.paper .blank{display:inline-block;min-width:120px;border-bottom:1px dotted #333}

@media print{
  @page{size:A4;margin:0}
  html,body{background:#fff!important}
  .topbar,.foot,.seo,.help-box,.hero,.doc-form,.skip,.doc-note{display:none!important}
  main,.tool-main,.wrap{padding:0!important;margin:0!important;max-width:none!important;width:auto!important}
  .doc-work{display:block;margin:0}
  .doc-preview{position:static}
  .paper-scroll{background:none;padding:0;max-height:none;overflow:visible}
  .paper{box-shadow:none;max-width:none;width:210mm;min-height:297mm;padding:14mm 16mm;margin:0;break-after:page}
  .paper:last-child{break-after:auto}
  .paper + .paper{margin-top:0}
}
/* แทน inline style (CSP ห้าม style="") */
.paper .empty{color:#999;text-align:center;padding:18px}
.paper .c-no{width:36px}
.paper .c-q{width:22%}
.paper .p-label{color:#555}
.paper .p-note{margin-top:10px}
.paper .mt14{margin-top:14px}
.paper .mt22{margin-top:22px}
.paper .blank{min-width:140px}
.paper .blank.wide{min-width:220px}
.paper .blank.narrow{min-width:60px}
