.receipt{color:#172333;background:white;padding:28px;border:1px solid #dfe6e9;font-family:system-ui,-apple-system,sans-serif;min-width:0}.receipt-title{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #172a46;padding-bottom:16px;margin-bottom:20px}.receipt-title h2{margin:0;letter-spacing:.18em}.receipt-title small{font-size:11px;color:#637284}.receipt-issuer{text-align:right;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.receipt-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}.receipt-info div{min-width:0;overflow-wrap:anywhere}.receipt-info span{display:block;color:#637284;font-size:11px;margin-bottom:5px}.receipt-info strong{font-size:13px}.receipt table{width:100%;min-width:0;border-collapse:collapse;font-size:12px;table-layout:fixed}.receipt th,.receipt td{border-bottom:1px solid #dfe6e9;padding:12px 6px;text-align:right;overflow-wrap:anywhere}.receipt th:first-child,.receipt td:first-child{width:42%;text-align:left}.receipt th:nth-child(2){width:12%}.receipt-total{text-align:right;margin-top:20px;font-size:20px;font-weight:700}.receipt-footnote{margin-top:34px;font-size:11px;color:#637284;line-height:1.8;overflow-wrap:anywhere}.receipt-dialog{width:min(800px,calc(100% - 32px))}.receipt-preview{padding:24px}.receipt-actions{display:flex;gap:10px;justify-content:flex-end;padding:0 24px 24px}.job-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:650px){.receipt-preview{padding:12px}.receipt{padding:16px}.receipt-title{gap:10px;flex-wrap:wrap}.receipt-issuer{text-align:left}.receipt-info{gap:12px}.receipt td,.receipt th{padding:10px 3px;font-size:11px}.job-bottom{flex-wrap:wrap}.job-buttons{width:100%}.receipt-actions{padding:0 12px 16px;flex-wrap:wrap}}@media print{@page{size:A4;margin:15mm}body{background:white!important}body:has(#receiptDialog[open])> :not(#receiptDialog){display:none!important}#receiptDialog[open]{display:block!important;position:static!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;box-shadow:none!important}#receiptDialog .dialog-head,#receiptDialog .receipt-actions{display:none!important}#receiptDialog .receipt-preview{padding:0!important;overflow:visible!important}.receipt{position:static!important;border:0!important;padding:0!important;visibility:visible!important}.receipt *{visibility:visible!important}.receipt-title,.receipt-info,.receipt-total{break-inside:avoid}.receipt thead{display:table-header-group}.receipt tr{break-inside:avoid}.receipt-dialog::backdrop{background:transparent}}
.receipt.ambulance-receipt{border:0;padding:0}.ambulance-form{position:relative;width:100%;aspect-ratio:595.2756 / 841.8898;container-type:inline-size;color:#111}.ambulance-form img{display:block;width:100%;height:auto}.form-value{position:absolute;font-size:1.9cqw;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap;font-family:system-ui,-apple-system,sans-serif}.receipt-appendix{padding:24px;overflow-wrap:anywhere;line-height:1.8}.receipt-appendix h2{font-size:18px}@media print{@page{size:A4;margin:0}.ambulance-form{width:210mm;height:297mm;break-inside:avoid}.form-value{font-size:11.3pt}.receipt-appendix{break-before:page;padding:15mm}body:has(.modal .ambulance-receipt)> :not(#modalRoot){display:none!important}body:has(.modal .ambulance-receipt) .modal-backdrop{position:static!important;padding:0!important;background:none!important;display:block!important}body:has(.modal .ambulance-receipt) .modal{position:static!important;max-width:none!important;max-height:none!important;width:100%!important;margin:0!important;box-shadow:none!important;border:0!important;overflow:visible!important}body:has(.modal .ambulance-receipt) .modal-head,body:has(.modal .ambulance-receipt) .modal-foot{display:none!important}body:has(.modal .ambulance-receipt) .modal-body{padding:0!important;max-height:none!important;overflow:visible!important}}
@page ambulance{size:A4;margin:0}
@media print{.ambulance-receipt{page:ambulance}.receipt.ambulance-receipt{padding:0!important;margin:0!important}}
.receipt-patient-strip{position:absolute;left:7.1%;right:7.1%;top:16.9%;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.65fr) minmax(0,.65fr) minmax(0,1.7fr);gap:.6cqw;font-size:1.55cqw;line-height:1.4;color:#111;background:white}.receipt-patient-strip span{min-width:0;overflow-wrap:anywhere}.receipt-patient-info{padding-top:14px;border-top:1px solid #dfe6e9}@media print{.receipt-patient-strip{font-size:9.2pt}}
.ambulance-paper{border:1.5px solid #222;padding:22px;color:#111;font-size:14px;line-height:1.45;font-family:system-ui,-apple-system,sans-serif}.paper-heading{position:relative;text-align:center;padding:4px 70px 14px;margin-bottom:16px;border-bottom:2px solid #222;min-height:86px}.paper-heading h2{font-size:23px;margin:0 0 5px;letter-spacing:.06em;line-height:1.5}.paper-heading h3{margin:0;font-size:21px;letter-spacing:.25em}.paper-stamp{position:absolute;right:0;top:0;width:74px;height:74px;object-fit:contain}.paper-patient{border:1.5px solid #222;padding:14px 16px;margin-bottom:18px;background:#f8fafb}.paper-patient-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:18px;margin-bottom:12px}.paper-field{min-width:0;display:flex;align-items:baseline;gap:12px;padding:7px 0}.paper-field>span{flex-shrink:0;font-size:13px}.paper-field>strong{min-width:0;flex:1;font-size:14px;font-weight:500;border-bottom:1px solid #aaa;padding-bottom:3px;overflow-wrap:anywhere}.paper-patient .paper-field{padding:0;display:block}.paper-patient .paper-field>span{display:block;font-size:14px;margin-bottom:5px;color:#303a46}.paper-patient .paper-field>strong{display:block;font-size:21px;font-weight:700;border:0;line-height:1.45;padding:0}.paper-patient>.paper-field{display:flex;align-items:baseline;gap:20px}.paper-patient>.paper-field>span{margin:0}.paper-two,.paper-three,.paper-crew{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.paper-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:8px}.paper-three .paper-field,.paper-crew .paper-field{display:block}.paper-three .paper-field>strong,.paper-crew .paper-field>strong{display:block;margin-top:3px}.paper-section-title{font-size:14px;margin:14px 0 6px}.paper-fees{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.paper-fee{display:flex;justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:7px 0}.paper-fee span{font-size:13px;min-width:0}.paper-fee strong{font-size:14px;min-width:75px;text-align:right;font-weight:500;border-bottom:1px solid #aaa;white-space:nowrap;padding-bottom:2px}.paper-total{border-top:1.5px solid #222;margin-top:3px}.paper-total span,.paper-total strong{font-size:17px;font-weight:700}.paper-note{margin:14px 0 12px}.paper-note h4{font-size:14px;margin:0 0 5px}.paper-note p{font-size:12px;line-height:1.7;border-bottom:1px solid #aaa;padding:0 0 6px;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.paper-crew{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.paper-signature{border:1px solid #222;padding:8px 14px;margin-top:14px}.paper-signature p{font-size:13px;margin:12px 0 8px;display:flex;gap:12px;align-items:baseline}.paper-sign-line{display:block;flex:1;min-height:20px}.paper-contact{margin-top:16px;font-size:10px;line-height:1.8;text-align:center;overflow-wrap:anywhere}.receipt-patient-info strong{font-size:20px;font-weight:700}.receipt-patient-info span{font-size:14px}@media(max-width:650px){.ambulance-paper{padding:14px;font-size:12px}.paper-heading{padding:4px 50px 12px;min-height:73px}.paper-heading h2{font-size:16px}.paper-heading h3{font-size:17px}.paper-stamp{width:48px;height:48px}.paper-patient{padding:12px;margin-bottom:14px}.paper-patient-row{gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.paper-patient-row>.paper-field:first-child{grid-column:1/-1}.paper-patient .paper-field>strong{font-size:20px}.paper-patient>.paper-field{display:block}.paper-patient>.paper-field>span{margin-bottom:5px}.paper-field{gap:8px}.paper-field>span,.paper-fee span{font-size:11px}.paper-field>strong,.paper-fee strong{font-size:12px}.paper-two,.paper-three{gap:12px}.paper-fees{gap:0 14px}.paper-fee{gap:6px}.paper-fee strong{min-width:50px}.paper-total span,.paper-total strong{font-size:14px}.paper-crew{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.paper-signature{padding:8px 10px}.paper-contact{font-size:9px}}
@page ambulance{size:A4;margin:8mm}@media print{.ambulance-paper{border:1.5px solid #222;padding:6mm;font-size:10pt}.paper-heading{padding:0 20mm 4mm;min-height:22mm;margin-bottom:4mm}.paper-heading h2{font-size:17pt}.paper-heading h3{font-size:15pt}.paper-stamp{width:20mm;height:20mm}.paper-patient{padding:3mm 4mm;margin-bottom:4mm;background:white}.paper-patient-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:5mm;margin-bottom:3mm}.paper-patient-row>.paper-field:first-child{grid-column:auto}.paper-patient .paper-field>span{font-size:11pt}.paper-patient .paper-field>strong{font-size:15pt}.paper-patient>.paper-field{display:flex;gap:5mm}.paper-field>span,.paper-fee span{font-size:10pt}.paper-field>strong,.paper-fee strong{font-size:10pt}.paper-field,.paper-fee{padding:1.5mm 0}.paper-three{grid-template-columns:repeat(3,minmax(0,1fr))}.paper-crew{grid-template-columns:repeat(4,minmax(0,1fr))}.paper-total span,.paper-total strong{font-size:12pt}.paper-section-title{margin:3mm 0 1.5mm;font-size:10pt}.paper-note{margin:3mm 0}.paper-note h4{font-size:10pt}.paper-note p{font-size:9pt}.paper-signature{margin-top:3mm;padding:2mm 3mm}.paper-contact{font-size:8pt;margin-top:3mm}.paper-heading,.paper-patient,.paper-fee,.paper-crew,.paper-signature{break-inside:avoid}}
@media print{.paper-heading{min-height:18mm;padding-bottom:3mm;margin-bottom:3mm}.paper-patient{padding:2.5mm 4mm;margin-bottom:3mm}.paper-field,.paper-fee{padding:1mm 0}.paper-section-title{margin:2mm 0 1mm}.paper-note{margin:2mm 0}.paper-signature p{margin:6px 0}.paper-contact{margin-top:2mm}}
/* 100 mm receipt with an 85 mm text area, including print preview. */
.ambulance-paper{box-sizing:border-box;width:100mm;max-width:100%;margin-inline:auto;border-width:1px;padding:calc(7.5mm - 1px)}
.ambulance-paper *{box-sizing:border-box}
.paper-heading{display:grid;grid-template-columns:minmax(0,1fr) 14mm;gap:3px 8px;padding:0 0 3mm;min-height:0;margin-bottom:3mm;align-items:center}
.paper-heading h2{grid-column:1;font-size:18px;letter-spacing:0;overflow-wrap:anywhere}
.paper-heading h3{grid-column:1;font-size:18px}
.paper-stamp{position:static;grid-column:2;grid-row:1 / 3;width:14mm;height:14mm}
.paper-patient{padding:2.5mm;margin-bottom:3mm}
.paper-patient-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}
.paper-patient-row>.paper-field:first-child{grid-column:1 / -1}
.paper-patient>.paper-field{display:block}
.paper-patient>.paper-field>span{margin-bottom:5px}
.paper-patient .paper-field>strong{font-size:20px}
.paper-two,.paper-three,.paper-crew{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.paper-two .paper-field{display:block}
.paper-two .paper-field>strong{display:block}
.paper-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.paper-field>span,.paper-fee span{font-size:12px}
.paper-field>strong,.paper-fee strong{font-size:13px}
.paper-field,.paper-fee{padding:3px 0}
.paper-fees{grid-template-columns:minmax(0,1fr);gap:0}
.paper-fees>div:empty{display:none}
.paper-fee strong{min-width:70px}
.paper-total span,.paper-total strong{font-size:16px}
.paper-signature{padding:2mm;margin-top:3mm}
.paper-signature>.paper-two{grid-template-columns:minmax(0,1fr)}
.paper-contact{font-size:10px}
.receipt-appendix{box-sizing:border-box;width:100mm;max-width:100%;padding:7.5mm;margin-inline:auto}
@media print{
.ambulance-paper{width:100mm;max-width:100mm;padding:calc(7.5mm - 1px)}
.paper-heading h2{font-size:13.5pt}.paper-heading h3{font-size:13.5pt}
.paper-patient .paper-field>strong{font-size:15pt}
.paper-patient .paper-field>span{font-size:10.5pt}
.paper-field>span,.paper-fee span{font-size:9pt}
.paper-field>strong,.paper-fee strong{font-size:9.75pt}
.paper-total span,.paper-total strong{font-size:12pt}
.paper-contact{font-size:7.5pt}
.receipt-appendix{padding:7.5mm}
}
/* Compact patient details and a centered, pale title stamp. */
.paper-heading{display:block;position:relative;isolation:isolate;text-align:center;min-height:16mm;padding:1mm 0 3mm}
.paper-heading h2,.paper-heading h3{position:relative;z-index:1;text-align:center;width:100%}
.paper-stamp{position:absolute;left:50%;top:50%;right:auto;transform:translate(-50%,-50%);width:17mm;height:17mm;opacity:.16;z-index:0;pointer-events:none}
.paper-patient{padding:2mm}
.paper-patient-row{gap:8px;margin-bottom:7px}
.paper-patient .paper-field>span{font-size:12px;margin-bottom:3px}
.paper-patient .paper-field>strong{font-size:16px;line-height:1.35}
@media print{
.paper-patient .paper-field>span{font-size:9pt}
.paper-patient .paper-field>strong{font-size:12pt}
.paper-stamp{opacity:.16}
}
.receipt-sign-button{display:block;width:100%;min-height:24mm;border:1px dashed #82909b;background:white;color:#46596a;padding:4px;cursor:pointer;font:inherit;font-size:12px}
.receipt-sign-button:hover{border-color:#172a46;background:#f7f9fb}
.receipt-sign-image{display:block;max-width:100%;width:100%;height:24mm;object-fit:contain}
#signatureDialog{width:min(680px,calc(100% - 24px));max-height:90dvh;padding:0;border:0;border-radius:18px;overflow:auto}
.signature-body{padding:20px}.signature-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.signature-fields label{display:grid;gap:6px;font-size:13px;min-width:0}.signature-fields input,.signature-fields select,.signature-fields textarea{width:100%;min-width:0;padding:10px;border:1px solid #ccd6dc;border-radius:7px;font:inherit;background:white}.signature-wide{grid-column:1/-1}.signature-fields textarea{min-height:72px}.signature-body h3{margin-bottom:6px}.signature-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 20px 20px;flex-wrap:wrap}#signatureCanvas{display:block;width:100%;height:auto;aspect-ratio:1000/360;border:1px solid #81909b;background:#fff;touch-action:none;margin:12px 0}
@media(max-width:480px){.signature-body{padding:14px}.signature-fields{grid-template-columns:minmax(0,1fr)}.signature-actions{padding:0 14px 14px}}
@media print{#signatureDialog{display:none!important}.receipt-sign-button{border:0;padding:0;background:none;color:transparent;min-height:24mm}.receipt-sign-image{visibility:visible!important}}
#receiptOutputDialog{width:min(620px,calc(100% - 24px));max-height:90dvh;padding:0;border:0;border-radius:18px;overflow:auto}.output-body{padding:20px}.output-steps{padding-left:24px;margin:0}.output-steps li{padding:0 0 20px}.output-steps p{font-size:13px;line-height:1.6}.output-steps a{display:inline-block;margin:12px;font-size:13px;color:#204a67}.output-body details{border-top:1px solid #dfe6e9;padding:14px 0}.output-body form label{display:grid;gap:6px;font-size:13px;margin:12px 0}.output-body input{width:100%;padding:10px;border:1px solid #ccd6dc;border-radius:7px}.receipt-export-host{position:fixed;left:-10000px;top:0;width:100mm;background:white}.receipt-export-host .ambulance-paper{width:100mm;max-width:100mm}
@media print{#receiptOutputDialog,.receipt-export-host{display:none!important}}
#receiptAutoStatus{margin:0 24px 16px;padding:12px;background:#f1f5f8;border-radius:8px;font-size:12px;line-height:1.6}#receiptAutoStatus p{margin:3px 0}@media print{#receiptAutoStatus{display:none!important}}

/* Shorter 100 mm receipt; shared by preview, print and exported image. */
.receipt-print-compact .ambulance-paper{padding:4mm;line-height:1.35}
.receipt-print-compact .paper-heading{min-height:13mm;margin-bottom:2mm;padding:0 0 2mm}
.receipt-print-compact .paper-heading h2,.receipt-print-compact .paper-heading h3{font-size:16px;line-height:1.3;margin:0}
.receipt-print-compact .paper-patient{padding:1.5mm;margin-bottom:2mm}
.receipt-print-compact .paper-patient-row{margin-bottom:3px;gap:3px 10px}
.receipt-print-compact .paper-patient .paper-field>strong{font-size:15px;line-height:1.3}
.receipt-print-compact .paper-patient .paper-field>span{margin-bottom:1px}
.receipt-print-compact .paper-field{padding:2px 0;line-height:1.35}
.receipt-print-compact .paper-two,.receipt-print-compact .paper-three,.receipt-print-compact .paper-crew{gap:4px 10px}
.receipt-print-compact .paper-duty>.paper-field{display:flex;align-items:baseline;gap:8px}
.receipt-print-compact .paper-duty>.paper-field>span{flex:none}
.receipt-print-compact .paper-duty>.paper-field>strong{min-width:0;overflow-wrap:anywhere}
.receipt-print-compact .paper-section-title{font-size:12px;line-height:1.35;margin:7px 0 3px}
.receipt-print-compact .paper-fees{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px}
.receipt-print-compact .paper-fees>div:empty{display:none}
.receipt-print-compact .paper-fee{gap:3px;padding:3px 0;line-height:1.35}
.receipt-print-compact .paper-fee span{font-size:11px;overflow-wrap:anywhere}
.receipt-print-compact .paper-fee strong{font-size:12px;min-width:44px;padding-bottom:1px}
.receipt-print-compact .paper-total{grid-column:1/-1;margin-top:4px;padding-top:5px}
.receipt-print-compact .paper-total span,.receipt-print-compact .paper-total strong{font-size:16px}
.receipt-print-compact .paper-note{margin:7px 0}
.receipt-print-compact .paper-note h4{font-size:12px;margin:0 0 2px}
.receipt-print-compact .paper-note p{font-size:11px;line-height:1.4;padding-bottom:3px}
.receipt-print-compact .paper-signature{padding:1.5mm;margin-top:2mm}
.receipt-print-compact .paper-signature>.paper-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.receipt-print-compact .paper-signature p{font-size:12px;margin:5px 0}
.receipt-print-compact .receipt-sign-button{min-height:18mm;padding:0}
.receipt-print-compact .receipt-sign-image{height:18mm;object-fit:contain}
.receipt-print-compact .paper-sign-line{min-height:18mm}
.receipt-print-compact .paper-contact{font-size:9px;line-height:1.4;margin-top:7px}
@media print{
.receipt-print-compact .ambulance-paper{width:100mm;max-width:100mm;padding:4mm}
.receipt-print-compact .paper-field>span{font-size:9pt}
.receipt-print-compact .paper-field>strong{font-size:9.5pt}
.receipt-print-compact .paper-patient .paper-field>strong{font-size:11pt}
.receipt-print-compact .paper-heading h2,.receipt-print-compact .paper-heading h3{font-size:12pt}
.receipt-print-compact .paper-fee span{font-size:8.25pt}
.receipt-print-compact .paper-fee strong{font-size:9pt}
.receipt-print-compact .paper-total span,.receipt-print-compact .paper-total strong{font-size:12pt}
.receipt-print-compact .paper-contact{font-size:6.75pt}
}

.paper-patient-row.patient-name-id,.paper-patient-row.patient-sex-age{grid-template-columns:repeat(2,minmax(0,1fr))}.paper-patient-row.patient-name-id>.paper-field:first-child,.paper-patient-row.patient-sex-age>.paper-field:first-child{grid-column:auto}
