.money-input{position:relative}.money-input input{padding-right:54px}.money-input i{position:absolute;right:14px;top:14px;font-style:normal;color:var(--form-muted);font-weight:500}
.field-error{display:none;color:#b53b00;font-size:.76rem;font-weight:600;margin-top:5px}.field.invalid .field-error,.evidence-choice.invalid>.field-error{display:block}.field.invalid .field-error::after,.evidence-choice.invalid>.field-error::after{content:"โปรดระบุข้อมูล"}.field.invalid input,.field.invalid textarea,.field.invalid select{border-color:#d34b17;background:#fff9f5}
.expense-list{display:grid;gap:18px}.expense-card{border:1px solid var(--form-line);background:#fafafa}.expense-card-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#111;color:#fff}.expense-card-head b{font-size:.95rem}.remove-item{border:0;background:none;color:#fff9;font:500 .78rem "IBM Plex Sans Thai";cursor:pointer}.remove-item:hover{color:#fff}.expense-fields{padding:18px}
.evidence-choice{border:0;border-top:1px solid var(--form-line);margin:0;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.evidence-choice legend{float:left;width:100%;font-weight:700;font-size:.92rem;margin-bottom:10px}.evidence-choice legend i{color:var(--form-orange);font-style:normal}.evidence-choice label{display:flex;align-items:center;gap:9px;border:1px solid #bbb;background:#fff;padding:12px;cursor:pointer;min-height:48px}.evidence-choice label:last-of-type{grid-column:1/-1}.evidence-choice input{width:18px;height:18px;accent-color:var(--form-orange);flex:none}.evidence-choice label:has(input:checked){border-color:var(--form-orange);box-shadow:inset 4px 0 var(--form-orange)}
.evidence-panel{border-top:1px solid var(--form-line);padding:0 18px 18px}.evidence-panel:empty{display:none}.evidence-guide{margin:0 0 14px;padding:13px 14px;background:#fff7f1;border-left:4px solid var(--form-orange);font-size:.84rem;color:#65483a}.evidence-guide b{display:block;color:#111;margin-bottom:2px}.quick-check{display:block;margin-top:6px;font-weight:600;color:#111}.original-note{display:block;margin-top:7px;color:#74513e}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload-slot{display:block;border:1px dashed #999;background:#fff;padding:14px;cursor:pointer;min-height:106px}.upload-slot.optional{background:#f6f6f3}.upload-slot strong,.upload-slot span{display:block}.upload-slot strong{font-size:.84rem}.upload-slot span{font-size:.73rem;color:var(--form-muted);margin-top:3px}.upload-slot input{position:absolute;width:1px;height:1px;opacity:0}.upload-slot.has-image{border-style:solid;border-color:#78936b;background:#f4f8f2}.upload-slot.has-image strong::before{content:"✓ ";color:#4f753e}.upload-preview{display:flex;align-items:center;gap:8px;margin-top:8px}.upload-preview img{width:45px;height:45px;object-fit:cover;border:1px solid #ccc}.upload-preview small{font-size:.68rem;line-height:1.25;overflow-wrap:anywhere}.recommendation{margin:13px 0 0;padding-top:12px;border-top:1px solid var(--form-line);font-size:.8rem;color:var(--form-muted)}.recommendation a{display:inline-block;color:var(--form-orange);font-weight:700;margin-top:4px}.add-expense{margin-top:14px;border:1px solid #111;background:#fff;color:#111;padding:11px 14px;font:600 .88rem "IBM Plex Sans Thai";cursor:pointer}
.calculation-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;background:#111;color:#fff}.calculation-strip span{padding:14px;border-right:1px solid #ffffff35;font-size:.78rem}.calculation-strip span:last-child{border-right:0}.calculation-strip b,.calculation-strip strong{display:block;font-size:1rem;margin-top:3px}.calculation-strip strong{color:var(--form-orange)}
.total-request-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:15px 17px;background:#111;color:#fff}.total-request-strip span{font-size:.85rem}.total-request-strip strong{font-size:1.18rem;color:var(--form-orange)}
.draft-box{margin-top:12px;padding:15px;border:1px solid var(--form-line);background:#fff7f1}.draft-box>div:first-child b,.draft-box>div:first-child small{display:block}.draft-box>div:first-child small{margin-top:2px;color:#75584a;font-size:.78rem}.draft-box>div:nth-child(2){display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.draft-box button{border:1px solid var(--form-ink);background:#fff;min-height:38px;padding:8px 12px;font:600 .8rem "IBM Plex Sans Thai";cursor:pointer}.draft-box button:first-child{background:var(--form-orange);color:#fff;border-color:var(--form-orange)}.draft-box p{min-height:18px;margin:7px 0 0;color:#4f6c43;font-size:.76rem}.field input[readonly],.field textarea[readonly]{background:#f1f1ee;color:#555;cursor:not-allowed}
.reimbursement-page{font-size:clamp(7px,.68vw,10.5px);padding:4.5% 6.5% 5.3%;line-height:1.35}.reimbursement-header{display:grid;grid-template-columns:1fr 34%;align-items:center;border:2px solid #111;margin-bottom:1.8%}.reimbursement-header>div:first-child{text-align:center;padding:2.3%}.reimbursement-header h2{font-size:2em;line-height:1.05;margin:0}.reimbursement-header p{margin:.4% 0 0;font:600 .7em Manrope;letter-spacing:.1em}.reimbursement-meta{border-left:1px solid #555;padding:3% 5%;font-size:.82em}.reimbursement-meta span{display:block;border-bottom:1px dotted #777;padding:1% 0}.reimbursement-business{border:1px solid #555;padding:1.5%;display:grid;grid-template-columns:1fr 1fr;gap:.2em 1.3em;margin-bottom:1.5%}.reimbursement-business b{font-size:1.08em}.reimbursement-business span:last-child{grid-column:1/-1;white-space:pre-wrap}.document-block{border:1px solid #555;margin-bottom:1.5%}.document-block h3{font-size:.9em;background:#eee;border-bottom:1px solid #555;margin:0;padding:.75% 1.3%}.info-grid{display:grid;grid-template-columns:1fr 1fr}.info-grid p{min-width:0;margin:0;padding:1.1% 1.4%;border-right:1px solid #aaa;border-bottom:1px solid #aaa}.info-grid p:nth-child(2n){border-right:0}.info-grid p.wide{grid-column:1/-1;border-right:0}.info-grid p:last-child{border-bottom:0}.info-grid span,.info-grid b{display:block;overflow-wrap:anywhere;word-break:break-word}.info-grid span{font-size:.72em;color:#555}.info-grid b{font-size:.92em;white-space:pre-wrap}
.reimbursement-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:1.5%}.reimbursement-table th,.reimbursement-table td{border:1px solid #555;padding:1.1% 1.2%;vertical-align:top;overflow-wrap:anywhere}.reimbursement-table th{background:#eee}.reimbursement-table th:nth-child(1){width:16%}.reimbursement-table th:nth-child(3){width:22%}.reimbursement-table th:nth-child(4){width:19%;text-align:right}.reimbursement-table td:last-child{text-align:right}.reimbursement-table small{display:block;color:#555}.reimbursement-money{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid #111;margin-bottom:1.5%}.reimbursement-money>div{padding:1.2% 1.5%;border-right:1px solid #555}.reimbursement-money>div:last-child{border-right:0}.reimbursement-money span,.reimbursement-money b,.reimbursement-money strong{display:block}.reimbursement-money span{font-size:.72em;color:#555}.reimbursement-money b,.reimbursement-money strong{font-size:1.03em;text-align:right}.payment-summary,.attachment-summary{border:1px solid #555;padding:1.1% 1.4%;margin:0 0 1%;font-size:.82em}.reimbursement-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:3%;text-align:center;margin:3.5% 0 0}.reimbursement-signatures span,.reimbursement-signatures b{display:block;overflow-wrap:anywhere;word-break:break-word}.reimbursement-signatures b{margin-top:1.2%;font-size:.84em}.reimbursement-note{position:absolute;left:6.5%;right:6.5%;bottom:4.2%;border:1px solid #777;background:#fafafa;padding:1.4%;font-size:.75em}.reimbursement-page.dense{font-size:clamp(6.2px,.6vw,9.2px)}
.reimbursement-money.single-total{display:block}.reimbursement-money.single-total>div{display:flex;align-items:center;justify-content:space-between;border-right:0}.reimbursement-money.single-total strong{font-size:1.25em}
.attachment-page{background:#fff;color:#111;width:210mm;height:296mm;box-sizing:border-box;padding:12mm 14mm;font-family:"IBM Plex Sans Thai",sans-serif;break-after:page;page-break-after:always}.attachment-page header{border-bottom:2px solid #111;padding-bottom:4mm;margin-bottom:5mm}.attachment-page h2{font-size:20pt;margin:0}.attachment-page p{margin:1mm 0 0;font-size:9pt}.attachment-page .attachment-copy{float:right;border:1px solid #111;padding:1mm 3mm;font-weight:700}.attachment-page figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:235mm}.attachment-page img{max-width:100%;max-height:218mm;object-fit:contain}.attachment-page figcaption{font-size:9pt;margin-top:3mm;text-align:center}
@media(max-width:680px){.evidence-choice,.upload-grid{grid-template-columns:1fr}.evidence-choice label:last-of-type{grid-column:auto}.draft-box>div:nth-child(2){flex-direction:column}.calculation-strip{grid-template-columns:1fr}.calculation-strip span{border-right:0;border-bottom:1px solid #ffffff35}.reimbursement-page{font-size:5.7px}.reimbursement-signatures{gap:1%}}
@media print{@page{size:A4 portrait;margin:0}.reimbursement-page{width:210mm;height:296mm;padding:9mm 13mm 11mm;font-size:8.7pt}.reimbursement-page.dense{font-size:7.8pt}.reimbursement-note{left:13mm;right:13mm;bottom:9mm}.attachment-page:last-child{break-after:auto;page-break-after:auto}}
.upload-slot.invalid{border-color:#d34b17;background:#fff9f5}.upload-slot.invalid .upload-help{color:#b53b00;font-weight:700}
.evidence-choice label.selected{border-color:var(--form-orange);box-shadow:inset 4px 0 var(--form-orange)}
