.finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.finance-summary>div{background:var(--surface,#fff);border:1px solid var(--border,#dbe3ee);border-radius:14px;padding:20px;min-width:0}.finance-summary span{display:block;color:#64748b;font-size:13px;margin-bottom:8px}.finance-summary strong{font-size:20px;overflow-wrap:anywhere}.text-success{color:#15803d}.finance-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.finance-fields .field{min-width:0;margin:0}.finance-fields .field:has(textarea),.finance-fields .field:has([name=proof]),.finance-fields .field:has([name=description]){grid-column:1/-1}.finance-fields select,.finance-fields input{width:100%;height:46px;min-width:0}.finance-fields [hidden]{display:none!important}.finance-table small{display:block;color:#64748b;margin-top:5px;overflow-wrap:anywhere}.revision-list article{padding:16px 0;border-bottom:1px solid #e2e8f0}.revision-values{display:grid;grid-template-columns:1fr 1fr;gap:20px}.revision-values h3{font-size:13px;color:#64748b}.finance-table td{vertical-align:middle}.finance-form{max-width:1000px}
@media(max-width:700px){.finance-summary{grid-template-columns:1fr;gap:8px}.finance-summary>div{padding:14px;display:flex;justify-content:space-between;gap:16px;align-items:center}.finance-summary span{margin:0}.finance-summary strong{font-size:17px}.finance-fields{grid-template-columns:1fr}.revision-values{grid-template-columns:1fr}.finance-table thead{display:none}.finance-table,.finance-table tbody,.finance-table tr,.finance-table td{display:block;width:100%}.finance-table tr{padding:14px 16px;border-bottom:1px solid #e2e8f0}.finance-table td{padding:7px 0;border:0;white-space:normal}.finance-table td[data-label]::before{content:attr(data-label);display:block;font-size:11px;color:#64748b;margin-bottom:4px}.finance-table td .row-actions{justify-content:flex-start}}
.cash-period{display:flex;gap:20px;align-items:flex-end}.cash-period .finance-fields{flex:1;grid-template-columns:1fr 1fr}.cash-period button{flex-shrink:0}.finance-fields>.message{grid-column:1/-1}
@media(max-width:700px){.cash-period{display:block}.cash-period button{margin-top:18px}.cash-period .finance-fields{grid-template-columns:1fr}}

.cancellation-choice{border:1px solid #dbe3ee;border-radius:12px;padding:16px;margin:14px 0}.cancellation-choice label{display:flex;align-items:center;gap:12px;font-weight:600}.cancellation-choice input[type=checkbox]{width:20px;min-height:20px;flex-shrink:0}.cancellation-choice p{font-size:13px;margin:8px 0}
.form-footer{flex-wrap:wrap}.badge.cancelled{background:#fff1ef;color:#ab3c31}.icon-button{width:44px;height:44px;flex-shrink:0}

.filter-dates{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.filter-dates .field{margin:0;min-width:150px}.filter-bar{flex-wrap:wrap}.finance-fields{margin-bottom:20px}.cancellation-choice input{margin-right:8px}code{overflow-wrap:anywhere}
.import-confirm{display:flex;gap:12px;align-items:flex-start;border:1px solid #dbe3ee;border-radius:10px;padding:14px;margin-bottom:18px;line-height:1.6}.import-confirm input[type=checkbox]{width:20px;min-height:20px;height:20px;margin-top:3px;flex-shrink:0}.finance-table td{overflow-wrap:anywhere}

.payment-dialog{border:1px solid #dbe3ee;border-radius:16px;padding:0;width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;background:#fff;color:var(--ink);box-shadow:0 24px 80px #10234a40}
.payment-dialog::backdrop{background:#10234280}
.payment-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px;border-bottom:1px solid var(--line)}
.payment-dialog-header h2{margin:0 0 6px;font-size:21px}.payment-dialog-header p{margin:0;font-size:13px;color:var(--muted)}
.payment-dialog-header .icon-button{font-size:24px;line-height:1;width:44px;height:44px;flex-shrink:0}
.payment-dialog [data-payment-modal-error]{margin:16px 24px}
.payment-dialog-content:empty{display:none}
.payment-dialog .form-body{padding:24px}.payment-dialog .finance-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.payment-dialog .finance-fields .field:has([name=amount]){grid-column:1/-1}
.payment-modal-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#f8fafc;padding:16px 24px;font-size:13px;color:#64748b}.payment-modal-summary strong{color:var(--ink)}
.payment-dialog .form-footer{padding:18px 24px;background:#fafcff;gap:10px}.payment-dialog [data-payment-modal-form]{margin:0}
.payment-modal-open{overflow:hidden}
@media(max-width:600px){.payment-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:14px}.payment-dialog-header{padding:18px}.payment-dialog-header h2{font-size:19px}.payment-dialog .form-body{padding:18px}.payment-dialog .finance-fields{grid-template-columns:1fr}.payment-modal-summary{padding:14px 18px}.payment-dialog .form-footer{padding:16px 18px;display:flex;flex-wrap:nowrap;justify-content:flex-end}.payment-dialog .form-footer .button{min-width:0;font-size:13px}.payment-dialog input{font-size:16px}}

.payment-dialog .form-footer{position:sticky;bottom:0;z-index:3;border-top:1px solid var(--line)}@media(max-width:600px){.payment-dialog .form-footer .button{width:auto}.payment-dialog .form-footer .primary{flex:1}}

.invoice-totals{display:flex;justify-content:flex-end;padding:24px;border-top:1px solid var(--line)}
.invoice-amounts{width:390px;max-width:100%;margin:0;display:grid;gap:12px;font-size:14px;font-variant-numeric:tabular-nums}
.invoice-amounts>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:16px}
.invoice-amounts dt{color:var(--muted);font-weight:400}.invoice-amounts dd{margin:0;text-align:right;color:var(--ink);white-space:nowrap}
.invoice-amounts .invoice-total-row{padding-top:10px;border-top:1px solid #edf1f6}
.invoice-amounts .invoice-total-row dt,.invoice-amounts .invoice-total-row dd{font-weight:600;color:var(--ink)}
.invoice-amounts .invoice-paid-row dd{color:#15803d;font-weight:600}
.invoice-amounts .invoice-balance-row{padding-top:14px;margin-top:2px;border-top:1px solid var(--line)}
.invoice-amounts .invoice-balance-row dt{color:var(--ink);font-weight:650}
.invoice-amounts .invoice-balance-row dd{font-size:22px;font-weight:700;letter-spacing:-.3px}
@media(max-width:600px){.invoice-totals{padding:20px 18px}.invoice-amounts{width:100%;font-size:13px}.invoice-amounts>div{gap:12px}.invoice-amounts .invoice-balance-row dd{font-size:20px}}

#invoice-reset-dialog{width:min(620px,calc(100% - 32px))}#invoice-reset-dialog [data-reset-error]{margin:16px 24px}#invoice-reset-dialog .help{font-size:12px;margin:0 0 18px}#invoice-reset-dialog textarea{min-height:110px}
@media(max-width:600px){#invoice-reset-dialog{width:calc(100% - 20px)}#invoice-reset-dialog textarea{font-size:16px}}

#invoice-reset-dialog .button.danger{background:#b42318;border-color:#b42318;color:#fff}#invoice-reset-dialog .button.danger:hover{background:#991b1b}#invoice-reset-dialog .button:disabled{opacity:.65}

.finance-fields>.field:has([name=extra_invoices]){grid-column:1/-1}.field:has([name=extra_invoices]) label:has(input){display:flex;align-items:flex-start;gap:8px;font-weight:400;line-height:1.6}.field [name=extra_invoices]{width:18px;flex-shrink:0;margin-top:2px}

.advance-period-details>summary{cursor:pointer;list-style:none}.advance-period-details>summary::-webkit-details-marker{display:none}.advance-period-details>summary h2{margin:0;font-size:15px}
