.client-pay-form{margin:0 0 22px}.client-pay-button{display:flex;width:100%;min-height:62px;font-size:22px;color:#fff;font-weight:700}
.payment-month-filter{display:flex;align-items:flex-end;gap:12px;margin:0 0 18px}
.payment-month-field{flex:1;min-width:0}
.payment-month-field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.payment-month-field input{display:block;width:100%;min-width:0;min-height:48px;box-sizing:border-box;border:1px solid var(--portal-border);border-radius:10px;background:#fff;color:inherit;font:inherit;font-size:16px;padding:10px 12px}
.payment-month-filter .portal-button{min-height:48px;flex:none}
.payment-month-field input:focus-visible{outline:3px solid #ad93cf;outline-offset:2px}
.payment-month-summary{padding:22px;background:#fff;border:1px solid var(--portal-border);border-radius:14px;margin:0 0 18px}
.payment-month-summary h2{font-size:17px;line-height:1.4;font-weight:600;margin:0 0 20px}
.payment-month-summary dl{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;margin:0}
.payment-month-summary dl>div{min-width:0}
.payment-month-summary dl>div+div{border-left:1px solid var(--portal-border);padding-left:18px}
.payment-month-summary dt{font-size:14px;color:var(--portal-muted);line-height:1.4;overflow-wrap:anywhere}
.payment-month-summary dd{font-size:36px;line-height:1.25;font-weight:700;color:#7951b4;margin:8px 0 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.payment-month-summary p{font-size:12px;color:var(--portal-muted);line-height:1.5;margin:18px 0 0}
@media(max-width:380px){.payment-month-filter{gap:8px}.payment-month-filter .portal-button{padding-left:12px;padding-right:12px}.payment-month-summary{padding:18px}.payment-month-summary dl{gap:12px}.payment-month-summary dl>div+div{padding-left:12px}.payment-month-summary dd{font-size:30px}}
.payment-alert{background:#fff5e9;border:1px solid #ecd6b6;border-radius:10px;padding:14px 16px;font-size:14px;line-height:1.55;color:#785326;overflow-wrap:anywhere}.payment-alert p{margin-bottom:0}.payment-success{padding:15px 18px;border-radius:10px;background:#eaf6ef;color:#327346;line-height:1.5}
.signature-body{margin:0;background:#faf8fd;color:#2b1c3b}.signature-screen{max-width:1000px;min-height:100dvh;margin:auto;padding:14px 18px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.signature-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px}.signature-header>a{color:#7550bb;text-decoration:none;font-size:14px;min-height:44px;display:flex;align-items:center}.signature-header h1{font-size:18px;margin:0;line-height:1.3}.signature-header>span{font-size:13px;color:#7550bb;font-weight:700}.signature-form{display:flex;flex-direction:column;flex:1;gap:10px;min-height:0}.signature-summary{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:5px 16px;align-items:center;background:#fff;border:1px solid #e9e1f0;border-radius:10px;padding:12px 15px}.signature-summary>strong{font-size:18px;overflow-wrap:anywhere}.signature-summary>span{font-size:12px;line-height:1.4;color:#786d84;grid-column:1;overflow-wrap:anywhere}.signature-summary>label{grid-column:2;grid-row:1;font-size:12px;color:#786d84}.signature-summary>input{grid-column:2;grid-row:2;min-width:0;width:100%;border:1px solid #d8cae5;border-radius:8px;padding:10px;color:#7550bb;font:700 22px Arial;box-sizing:border-box}.signature-ack{font-size:14px;line-height:1.5;margin:3px 0;overflow-wrap:anywhere}.signature-note{margin:0;font-size:12px;color:#786d84;line-height:1.4}.signature-pad{position:relative;min-height:250px;flex:1;border:2px solid #d5c5ea;border-radius:12px;background:#fff;overflow:hidden}.signature-pad canvas{display:block;width:100%;height:100%;min-height:250px;position:absolute;inset:0;touch-action:none;cursor:crosshair}.signature-pad>span{position:absolute;top:46%;left:0;right:0;text-align:center;color:#b3a6bf;pointer-events:none;font-size:20px}.signature-pad.has-ink>span{display:none}.signature-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:44px}.signature-controls button,.signature-cancel button{border:0;background:transparent;color:#7550bb;font:inherit;min-height:44px;padding:8px 0;cursor:pointer}.signature-controls p{font-size:12px;color:#a45b43;line-height:1.4;margin:0}.signature-apply{width:100%;min-height:58px;font-size:20px;color:#fff}.signature-apply:disabled{opacity:.45}.signature-cancel{text-align:center;margin:0}.signature-screen>.payment-alert{margin:0 0 12px}
.payment-history{display:grid;gap:10px;margin:22px 0}.payment-history-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,auto);gap:14px;padding:18px;border:1px solid var(--portal-border);border-radius:11px;background:#fff;text-decoration:none;color:inherit}.payment-history-row>div{min-width:0}.payment-history-row>div:last-child{text-align:right}.payment-history-row strong,.payment-history-row span,.payment-history-row small{display:block;overflow-wrap:anywhere}.payment-history-row small{font-size:11px;line-height:1.5;color:var(--portal-muted);margin-top:5px}.payment-history-row span{font-size:12px;margin-top:5px}.payment-state{color:#876339}.state-accepted{color:#327346}.state-failed{color:#a45b43}.payment-pagination,.receipt-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.receipt-actions form{margin:0}.receipt-actions .hint{width:100%}
.receipt-paper{padding:28px;background:#fff;border:1px solid var(--portal-border);border-radius:12px}.receipt-brand{font-size:25px;font-weight:800;color:#7550bb}.receipt-brand small{display:block;font-size:10px;letter-spacing:5px;margin-top:4px}.receipt-paper h1{font-size:24px;line-height:1.3;margin:22px 0 10px}.receipt-number{font-size:12px;color:var(--portal-muted);overflow-wrap:anywhere}.receipt-amount{font-size:36px;font-weight:700;color:#7550bb;margin:20px 0;overflow-wrap:anywhere}.receipt-details>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--portal-border);font-size:14px;line-height:1.5}.receipt-details dt{color:var(--portal-muted)}.receipt-details dd{margin:0;overflow-wrap:anywhere}.receipt-ack{font-size:14px;line-height:1.6;margin-top:22px;overflow-wrap:anywhere}.receipt-paper h2{font-size:15px}.receipt-signature{display:block;max-width:100%;width:450px;max-height:250px;object-fit:contain;object-position:left center;border-bottom:1px solid var(--portal-border)}
@media(max-width:600px){.signature-screen{padding:10px 14px calc(12px + env(safe-area-inset-bottom))}.signature-header{gap:8px}.signature-header h1{font-size:16px}.signature-header>span{display:none}.signature-summary{grid-template-columns:minmax(0,1fr) 120px;padding:10px;gap:5px 10px}.signature-summary>strong{font-size:15px}.signature-summary>input{font-size:22px}.signature-ack{font-size:13px}.signature-pad{min-height:280px}.signature-pad canvas{min-height:280px}.receipt-paper{padding:20px 16px}.receipt-details>div{grid-template-columns:1fr;gap:4px}.receipt-paper h1{font-size:22px}.receipt-actions>*{width:100%}.receipt-actions .portal-button{width:100%}.payment-history-row{padding:14px;grid-template-columns:minmax(0,1fr) minmax(90px,36%)}.payment-history-row strong{font-size:14px}}
@media(max-height:550px) and (orientation:landscape){.signature-screen{max-width:none}.signature-summary{grid-template-columns:minmax(0,1fr) 160px}.signature-pad,.signature-pad canvas{min-height:240px}.signature-header{padding-bottom:2px}.signature-note{display:none}}
@media print{body{background:#fff}.screen-receipt{padding:0!important;max-width:none!important}.screen-receipt .header,.screen-receipt .bottom-nav,.screen-receipt .footer,.no-print{display:none!important}.screen-receipt .account-main{padding:0!important}.receipt-paper{border:0;padding:0}.receipt-paper h1{font-size:22px}.receipt-details>div{grid-template-columns:180px minmax(0,1fr)}.receipt-signature{max-height:200px}.receipt-paper{break-inside:avoid}}

/* Task765: keep the signing surface large and the actions together. */
.signature-screen{height:100vh;height:100dvh;min-height:540px;padding:8px 14px calc(10px + env(safe-area-inset-bottom))}
.signature-header{flex:none;min-height:44px;padding-bottom:4px}
.signature-form{gap:8px;min-height:0}
.signature-summary{flex:none;grid-template-columns:minmax(0,1fr) 128px;gap:2px 12px;padding:8px 12px}
.signature-summary>strong{font-size:16px;line-height:1.3}
.signature-summary>span{font-size:12px}
.signature-summary>label{font-size:11px;line-height:1.3}
.signature-summary>input{min-height:44px;padding:7px 10px;font-size:24px}
.signature-note{flex:none;font-size:11px;line-height:1.3}
.signature-pad{flex:1 0 300px;min-height:300px}
.signature-pad canvas{min-height:0}
.signature-controls{flex:none;min-height:40px;gap:8px}
.signature-controls button{min-height:40px;padding:6px 0;font-size:15px}
#signature-message{flex:none;margin:0;font-size:12px;line-height:1.4;color:#a45b43}
#signature-message:empty{display:none}
.signature-apply{flex:none;min-height:54px;font-size:20px}
.signature-cancel{display:none}
@media(min-width:601px){.signature-screen{padding:12px 24px 16px}.signature-summary{grid-template-columns:minmax(0,1fr) 180px}.signature-summary>strong{font-size:18px}}
@media(max-width:359px){.signature-screen{padding-left:10px;padding-right:10px}.signature-summary{grid-template-columns:minmax(0,1fr) 104px;padding:8px}.signature-header h1{font-size:15px}.signature-summary>strong{font-size:14px}}

/* Staff collection split, task1123 */
.payment-month-summary .payment-cash-split{margin-top:20px;padding-top:18px;border-top:1px solid var(--portal-border)}
.payment-cash-split dd{font-size:28px;color:#386f50}
.payment-cash-values{display:flex;flex-direction:column;gap:4px;min-width:0;text-align:right;overflow-wrap:anywhere}
.payment-cash-values small{font-size:12px;line-height:1.45;color:var(--portal-muted)}
.payment-cash-values b{color:#386f50;font-variant-numeric:tabular-nums}
@media(max-width:600px){.payment-collector-row{flex-wrap:wrap}.payment-cash-values{flex-basis:100%;text-align:left;padding-left:0;border-top:1px solid var(--portal-border);padding-top:10px}.payment-cash-split dd{font-size:25px}}

@media(max-width:600px){.payment-cash-values{order:2}.payment-collector-row>.portal-icon{order:1}}
/* Owner cash receipts and carryover balances */
.cash-ledger dl>div+div{border-left:0;padding-left:0}.cash-ledger dd{font-size:25px;color:#386f50}
.cash-current{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;background:#f1ebf8;border-radius:12px;margin-top:20px;padding:16px}.cash-current strong{font-size:26px;color:#7951b4}
.cash-receive-form{display:grid;gap:12px;border-top:1px solid var(--portal-border);margin-top:20px;padding-top:20px}.cash-receive-form label{display:grid;gap:6px;font-size:14px}.cash-receive-form input{min-width:0;width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--portal-border);border-radius:8px;font:inherit}.cash-receive-form button{white-space:normal}.cash-receive-form button:disabled{opacity:.5;cursor:not-allowed}
.cash-history{margin-top:20px}.cash-history summary{cursor:pointer;font-size:15px;line-height:1.5}.cash-history-row{display:grid;gap:5px;padding:14px 0;border-bottom:1px solid var(--portal-border);overflow-wrap:anywhere}.cash-history-row small{color:var(--portal-muted)}
@media(max-width:380px){.cash-ledger dl{grid-template-columns:1fr}.cash-current strong{font-size:24px}}

.bottom-nav.bottom-nav-money{grid-template-columns:repeat(6,minmax(0,1fr))}.bottom-nav-money a{white-space:normal;text-align:center;overflow-wrap:anywhere}.bottom-nav-money .bottom-nav-icon{min-width:30px;width:30px}
@media(max-width:400px){.bottom-nav-money a{font-size:10px}}

/* task1146: outstanding amount leads employee figures */
.payment-outstanding{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;min-width:0}.payment-outstanding>strong,.cash-current.cash-current-primary>strong{font-size:clamp(34px,7vw,44px);font-weight:800;line-height:1.15;color:#7951b4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cash-current.cash-current-primary{margin:16px 0 20px;flex-direction:column;align-items:flex-start}
