.campSettlementStart{display:flex;align-items:end;gap:12px;margin:20px 0}.campSettlementStart label{flex:1}.campSettlementStart select{width:100%}.campSettlementSection{padding:18px;display:grid;gap:16px}.campSettlementFields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.campSettlementRow{border:1px solid #cbd5e1;border-left:4px solid #cbd5e1;border-radius:12px;padding:16px;margin:12px 0;display:grid;gap:12px;background:white}.campSettlementRow.confirmed{border-left-color:#10b981}.campSettlementRowHead{display:flex;align-items:center;justify-content:space-between;gap:8px}.campSettlementBaseline{padding:12px;background:#f1f5f9;border-radius:8px;color:#475569;font-size:.88rem}.campSettlementComparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.campSettlementComparison span{display:grid;font-size:.8rem;color:#64748b}.campSettlementComparison b{font-size:1rem;color:#0f172a}.campSettlementConfirm{display:flex!important;align-items:center;gap:10px;font-weight:600}.campSettlementConfirm input{width:18px!important;height:18px}.campSettlementReceipts{display:grid;gap:10px;border-top:1px solid #e2e8f0;padding-top:12px}.campSettlementReceipts>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.campSettlementUpload{font-size:.85rem}.campSettlementTotals{background:#eef6ff;padding:20px;border-radius:14px;margin-top:20px}.campSettlementTotals>div{padding:12px 0;border-bottom:1px solid #cbd5e1}.campSettlementActions{position:sticky;bottom:8px;background:#fff;box-shadow:0 2px 20px #0002;border-radius:10px;padding:14px;display:flex;align-items:center;gap:12px;z-index:5}.campSettlementException{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px;background:#f8fafc}.campSettlementException input[type=checkbox]{width:auto}.campReceiptOverlay{position:fixed;inset:0;background:#0f172aaa;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px}.campReceiptDialog{background:#fff;border-radius:16px;padding:20px;width:min(1150px,98vw);max-height:96vh;overflow:auto;display:grid;gap:12px}.campReceiptTools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.campReceiptCanvasWrap{background:#e2e8f0;overflow:auto;text-align:center;max-height:62vh;padding:18px}.campReceiptCanvasWrap canvas{max-width:100%;height:auto;touch-action:none;display:block;margin:auto}.campReceiptDialog textarea{width:100%}#financeCampSettlements fieldset{border:0;padding:0;margin:0;min-width:0}#financeCampSettlements label{display:grid;gap:5px}#financeCampSettlements input,#financeCampSettlements select,#financeCampSettlements textarea{max-width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:7px}#financeCampSettlements summary{padding:15px;font-weight:700;cursor:pointer}#financeCampSettlements details{margin:12px 0}@media(max-width:600px){.campSettlementStart,.campSettlementActions{flex-wrap:wrap}.campSettlementComparison{gap:6px}.campSettlementComparison b{font-size:.85rem}.campSettlementSection{padding:10px}.campReceiptOverlay{padding:3px}.campReceiptDialog{padding:10px}}

/* Reuse the established camp-budget colour, section and picker vocabulary. */
#financeCampSettlements .campBudgetForm fieldset{display:grid;gap:14px}
#financeCampSettlements details.campBudgetSection{margin:0}
#financeCampSettlements .campBudgetSectionHead{font-weight:inherit}
#financeCampSettlements .campBudgetSectionHead h4{font-size:1rem}
#financeCampSettlements .campSettlementSection{padding:18px}
#financeCampSettlements input[type=checkbox]{width:18px!important;height:18px;flex:none}
#financeCampSettlements .campSettlementCheck,#financeCampSettlements .campBudgetExceptionDates label{display:flex;align-items:center;gap:7px}
#financeCampSettlements [hidden]{display:none!important}
#financeCampSettlements .campSettlementBaseline{background:rgba(255,255,255,.7);border:1px solid #dbe4f0}
#financeCampSettlements .campSettlementRow{box-shadow:none;border-left-width:3px;background:rgba(255,255,255,.92)}
#financeCampSettlements .campSettlementTotals{margin:0;background:transparent}
.campSettlementReceiptCard{padding:16px;border:1px solid #dbe4f0;border-radius:13px;background:white;min-width:0}
.campSettlementReceiptCard>div:first-child{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.campSettlementReceiptCard strong{overflow-wrap:anywhere}
.campSettlementReceiptCard ul{padding-left:20px}
.campAllocationColor{display:inline-block;width:12px;height:12px;border:1px solid #94a3b8;border-radius:3px;margin-right:6px}
.campAllocationNew{padding:12px;border:1px solid #dbe4f0;border-radius:12px;background:#f8fafc}
.campAllocationNew summary{cursor:pointer;font-weight:700;margin-bottom:10px}
.campSettlementPicker{z-index:10010}
.campSettlementPicker .schoolTripChoiceChip{display:grid;text-align:left;gap:6px}
@media(max-width:680px){#financeCampSettlements .campSettlementSection{padding:12px}#financeCampSettlements .campSettlementRowHead{flex-wrap:wrap}.campReceiptDialog .campSettlementFields{grid-template-columns:1fr}.campReceiptDialog{max-width:100%;box-sizing:border-box}}
.campReceiptDialog label{display:grid;gap:6px;min-width:0;font-size:.85rem;font-weight:650;color:#475569}
.campReceiptDialog input:not([type=range]),.campReceiptDialog select{width:100%;min-width:0;box-sizing:border-box}
.campReceiptDialog [data-allocation-row]{grid-template-columns:minmax(220px,2fr) minmax(100px,1fr) minmax(130px,1fr) minmax(120px,1fr) auto;align-items:end}
#financeCampSettlements [data-pane=summary]{margin-top:14px}
@media(max-width:800px){.campReceiptDialog [data-allocation-row]{grid-template-columns:1fr 1fr}.campReceiptDialog [data-allocation-row]>label:first-child{grid-column:1/-1}}
@media(max-width:480px){.campReceiptDialog [data-allocation-row]{grid-template-columns:1fr}}

/* One workspace: document stays visible while assigning and checking amounts. */
.campReceiptUnified{width:min(1500px,98vw);grid-template-rows:auto auto minmax(0,1fr) auto auto;overflow:hidden;box-sizing:border-box;height:96vh}
.campReceiptUnified .sectionHeader>label{flex:1;max-width:800px}
.campReceiptWorkspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr);gap:20px;min-height:0}
.campReceiptDocument,.campReceiptAssignments{min-width:0;min-height:0;overflow:auto}
.campReceiptDocument{display:flex;flex-direction:column}
.campReceiptUnified .campReceiptCanvasWrap{flex:1;min-height:160px;max-height:none;padding:10px}
.campReceiptAssignments{display:flex;flex-direction:column;gap:12px;padding:0 8px 8px 0}
.campReceiptTotals{position:sticky;top:0;z-index:1;background:#eff6ff;padding:12px;border:1px solid #bfdbfe;border-radius:10px}
.campReceiptUnified [data-allocation-row]{display:grid;grid-template-columns:1fr;gap:10px;padding:14px;border:1px solid #cbd5e1;border-left:6px solid #cbd5e1;border-radius:10px;margin-bottom:12px;background:#f8fafc}
.campReceiptPair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.campMarkedAmounts>div{display:grid;gap:7px;padding:10px;margin:8px 0;border:1px solid #cbd5e1;border-radius:8px;background:white}
.campReceiptUnified .campMarkConfirm{display:flex;align-items:center;gap:8px}
.campReceiptUnified input[type=checkbox]{width:18px;height:18px}
.campReceiptUnified input,.campReceiptUnified select,.campReceiptUnified textarea{padding:8px;border:1px solid #94a3b8;border-radius:7px;font:inherit;box-sizing:border-box}
.campReceiptUnified [data-a-amount][readonly]{background:#e2e8f0;font-weight:700}
.campReceiptFooter{border-top:1px solid #e2e8f0;padding-top:10px;display:flex;flex-wrap:wrap;gap:12px}
.campReceiptFooter [data-delete-receipt]{margin-left:auto;color:#b91c1c}
@media(max-width:850px){.campReceiptWorkspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(180px,42%) minmax(0,1fr);gap:10px}.campReceiptTools{gap:5px}.campReceiptTools button{font-size:.75rem}.campReceiptDocument [data-help]{font-size:.75rem;margin:5px 0}.campReceiptUnified{padding:10px;height:98dvh;max-height:98dvh}.campReceiptUnified .sectionHeader{gap:8px}.campReceiptUnified .campReceiptCanvasWrap{min-height:80px}.campReceiptFooter{gap:5px}.campReceiptFooter button{font-size:.8rem}.campReceiptPair{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.campReceiptUnified .sectionHeader{display:flex;align-items:end;flex-wrap:nowrap}.campReceiptUnified .sectionHeader>button{flex:none}.campReceiptTools{flex-wrap:nowrap;overflow-x:auto;flex-shrink:0;min-height:65px;padding-bottom:5px}.campReceiptTools>*{flex-shrink:0}.campReceiptTools select{max-width:240px}.campReceiptDocument [data-help]{display:none}.campReceiptFooter [data-delete-receipt]{margin-left:auto}.campReceiptWorkspace{grid-template-rows:minmax(190px,44%) minmax(0,1fr)}}

/* Individual positions start collapsed; their summary retains the key facts. */
#financeCampSettlements details.campSettlementRow{display:block;padding:0;min-width:0}
#financeCampSettlements .campSettlementRowHead{display:flex;flex-wrap:wrap;list-style:revert}
#financeCampSettlements .campSettlementRowHead .campSettlementComparison{flex-basis:100%;width:100%}
.campSettlementRowBody{display:grid;gap:12px;padding:16px;min-width:0}
#financeCampSettlements .campSettlementRowHead::before{content:'▸';color:#475569}
#financeCampSettlements .campSettlementRow[open]>.campSettlementRowHead::before{content:'▾'}
