.voucher-rows .expense-row{grid-template-columns:minmax(0,1fr) 140px 38px}
.voucher-rows .detail-field{grid-column:auto}
.rate-input{position:relative}.rate-input input{padding-right:42px}.rate-input i{position:absolute;right:14px;top:13px;font-style:normal;color:var(--form-muted)}
#wht-category-field[hidden],#wht-rate-field[hidden],#gross-up-help[hidden],#create-50tawi[hidden]{display:none}
.wht-calculation{margin-top:18px;border:1px solid var(--form-line);display:grid;grid-template-columns:repeat(3,1fr)}.wht-calculation>div{padding:14px;border-right:1px solid var(--form-line)}.wht-calculation>div:last-child{border:0}.wht-calculation span,.wht-calculation b{display:block}.wht-calculation span{font-size:.76rem;color:var(--form-muted)}.wht-calculation b{margin-top:3px;font-size:1rem}.wht-calculation .net{background:#111;color:#fff}.wht-calculation .net span{color:#bbb}
.gross-up-help{background:#fff7f1;border-left:3px solid var(--form-orange);padding:10px 12px;color:#75584a;font-size:.8rem}.inline-link{display:inline-block;margin-top:13px;color:var(--form-orange);font-weight:600;font-size:.84rem;border-bottom:1px solid currentColor}
.signature-reminder{display:flex;gap:12px;margin-top:18px;padding:14px 15px;background:#fff7f1;border-left:4px solid var(--form-orange);font-size:.82rem;line-height:1.55}.signature-reminder b{color:var(--form-orange);flex:none}
.document-transfer{margin-top:10px;border:1px solid var(--form-ink);padding:13px 15px;display:flex;align-items:center;justify-content:space-between}.document-transfer small,.document-transfer b{display:block}.document-transfer small{font-size:.7rem;color:var(--form-muted)}.document-transfer strong{font-size:1.25rem}
.voucher-page{font-size:clamp(8px,.72vw,11px);padding:5% 6.5%}.voucher-header{text-align:center;border:2px solid #111;padding:2.3% 26% 2.3% 3%;position:relative;margin-bottom:2.5%}.voucher-header h2{font-size:2.1em;line-height:1.05;margin:0}.voucher-header p{margin:.3% 0 0;font:600 .82em Manrope;letter-spacing:.12em}.voucher-meta{position:absolute;right:2%;top:16%;width:24%;text-align:left;font-size:.84em}.voucher-meta span{display:block;border-bottom:1px dotted #555;margin-bottom:5%}.party-block{border:1px solid #555;padding:1.8%;margin-bottom:2%}.party-block>b{display:block}.party-block p{font-weight:700;font-size:1.1em;margin:.4% 0}.party-block span{display:block;color:#444}.receipt-statement{border:1px solid #555;padding:1.8%;line-height:1.7;margin-bottom:2%}.voucher-table{width:100%;border-collapse:collapse;table-layout:fixed}.voucher-table th,.voucher-table td{border:1px solid #555;padding:1.4%;vertical-align:top}.voucher-table th{background:#eee}.voucher-table th:last-child,.voucher-table td:last-child{width:26%;text-align:right}.voucher-table tbody td{height:3.2em}.voucher-summary{margin-left:43%}.voucher-summary>div{display:grid;grid-template-columns:1fr auto;border:1px solid #555;border-top:0;padding:1.2% 2%}.voucher-summary .voucher-net{border:2px solid #111;font-size:1.08em}.amount-words,.payment-line{border:1px solid #555;border-top:0;margin:0;padding:1.5%}.receiver-signature{text-align:center;margin:4.5% 0 3%}.receiver-signature p{margin:0 0 5%;font-size:.9em}.receiver-signature span,.receiver-signature b,.receiver-signature small{display:block;margin-top:1.4%}.internal-signatures{border-top:1px solid #555;padding-top:2%;display:flex;justify-content:space-between;gap:6%;font-size:.9em}.voucher-note{position:absolute;left:6.5%;right:6.5%;bottom:4.5%;border:1px solid #777;background:#fafafa;padding:1.5%;font-size:.78em}
@media(max-width:680px){.voucher-rows .expense-row{grid-template-columns:1fr}.voucher-rows .detail-field{grid-column:auto;grid-row:auto}.voucher-rows .remove-expense{grid-column:auto;grid-row:auto}.wht-calculation{grid-template-columns:1fr}.wht-calculation>div{border-right:0;border-bottom:1px solid var(--form-line)}.voucher-page{font-size:6.5px}}
@media print{@page{size:A4 portrait;margin:0}.voucher-page{width:210mm;height:296mm;padding:10mm 14mm 11mm;font-size:10pt}.voucher-note{left:14mm;right:14mm;bottom:10mm}.voucher-table tbody td{height:10mm}}

/* Keep long Thai names, addresses and descriptions inside the A4 document. */
.voucher-page{overflow-wrap:anywhere;word-break:break-word}
.voucher-meta span,.party-block,.receipt-statement,.voucher-table td,.amount-words,.payment-line,.internal-signatures span,.voucher-note{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.party-block span{white-space:pre-wrap}.party-block span+span{margin-top:.35em}
.receipt-statement{line-height:1.55;padding-block:1.5%}.receipt-statement p{margin:0}.receipt-statement p+p{margin-top:.35em}.receipt-statement span,.receipt-statement strong{white-space:pre-wrap}
.voucher-table td{white-space:pre-wrap}
.voucher-summary{margin-left:0}.voucher-summary>div{grid-template-columns:74% 26%;padding-inline:0}.voucher-summary>div span{padding-left:1.8%}.voucher-summary>div b{text-align:right;padding-right:5.4%}
.receiver-signature{margin-top:3.8%;overflow-wrap:anywhere}.receiver-signature b span{display:inline;margin:0}.receiver-signature b{max-width:78%;margin-left:auto;margin-right:auto}
.internal-signatures{display:grid;grid-template-columns:1fr 1fr}
.voucher-page.voucher-dense{font-size:clamp(7.2px,.66vw,10px)}.voucher-page.voucher-dense .receiver-signature{margin-top:2.7%}.voucher-page.voucher-dense .voucher-table tbody td{height:2.7em}
.palou-cta button{flex:none;min-width:230px;border:0;background:var(--form-orange);color:#fff;padding:15px 17px;display:flex;justify-content:space-between;gap:18px;font:600 1rem "IBM Plex Sans Thai";cursor:pointer}.palou-cta button b{font-family:Manrope}
#booking-dialog{width:min(640px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow:auto;border:0;padding:42px;box-shadow:0 24px 90px #0005}#booking-dialog::backdrop{background:#000b}#booking-dialog h2{font-size:2rem;margin:0}.dialog-close{position:absolute;right:18px;top:13px;border:0;background:none;font-size:1.8rem;cursor:pointer}.booking-intro{color:var(--form-muted);margin:8px 0 26px}.booking-form{display:grid;gap:18px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-consent{display:flex;gap:11px;align-items:flex-start;cursor:pointer;color:var(--form-muted);font-size:.9rem;line-height:1.5}.booking-consent input{width:19px;height:19px;flex:none;margin-top:2px;accent-color:var(--form-orange)}.booking-status{min-height:24px;margin:0;color:#b53b00;font-weight:600}.booking-status.loading{color:var(--form-muted)}.booking-submit,.booking-done{border:0;background:var(--form-orange);color:#fff;padding:16px 20px;font:600 1rem "IBM Plex Sans Thai";cursor:pointer;width:100%;display:flex;justify-content:space-between}.booking-submit:disabled{opacity:.55;cursor:wait}.booking-success{text-align:center;padding:30px 0 8px}.booking-success>span{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:var(--form-orange);color:#fff;font-size:1.8rem}.booking-success h3{font-size:1.7rem;margin:0}.booking-success p{color:var(--form-muted);line-height:1.6}.booking-done{display:block;margin-top:24px}
@media(max-width:680px){.palou-cta button{min-width:0}#booking-dialog{padding:36px 20px 24px}.booking-grid{grid-template-columns:1fr}}
@media print{.voucher-page.voucher-dense{font-size:9pt}}
