dialog.statement-dialog{position:fixed;inset:0;margin:auto;width:min(860px,calc(100vw - 32px));max-height:90dvh;overflow:auto;border:1px solid #dce3d7;border-radius:18px;padding:28px;background:#fbfaf5;color:#18392e;font:14px/1.6 "Outfit",sans-serif;box-sizing:border-box}
.statement-dialog::backdrop{background:#10281dc2;backdrop-filter:blur(4px)}
.statement-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #dce3d7;padding-bottom:16px;margin-bottom:22px}
.statement-dialog h2{margin:0;font:500 26px/1.2 "Outfit",sans-serif}
.statement-dialog button,.statement-view,.payment-preference button{font:500 14px/1.4 "Outfit",sans-serif;padding:11px 16px;border:1px solid #bccdb9;border-radius:8px;color:#214a31;background:#f2f5ed;cursor:pointer;min-height:44px}
.statement-dialog>header button{font-size:24px;padding:3px 13px}
.statement-dialog button:hover,.statement-view:hover{background:#e3ecdc}
.statement-dialog button:disabled{opacity:.5;cursor:default}
.statement-dialog footer{border-top:1px solid #dce3d7;margin-top:20px;padding-top:18px;display:flex;justify-content:flex-end}
.statement-dialog footer button,.payment-preference button{background:#173a2d;color:#fff;border-color:#173a2d}
.statement-heading{display:grid;gap:4px}
.statement-heading strong{font-size:21px;font-weight:500;overflow-wrap:anywhere}
.statement-heading p{margin:0;color:#617163}
.statement-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:22px 0}
.statement-facts dt{font-size:12px;color:#6b776c}
.statement-facts dd{margin:3px 0 0;overflow-wrap:anywhere}
.statement-line-scroll{overflow-x:auto}
.statement-line-scroll table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}
.statement-line-scroll caption{text-align:left;padding:12px 0;font-weight:500}
.statement-line-scroll :is(th,td){padding:12px 10px;border-bottom:1px solid #e0e6db;white-space:nowrap}
.statement-line-scroll th{background:#eff3e9;font-weight:500}
.statement-line-scroll small{display:block;color:#816758;font-size:11px}
.statement-total{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#173a2d;color:#faf8ef;padding:18px 20px;border-radius:10px;margin-top:20px}
.statement-total strong{font-size:26px;font-weight:500}
.statement-note{font-size:12px;color:#687565;margin-top:18px}
.statement-warning{padding:12px;background:#fff0df;border:1px solid #e7c89e;border-radius:8px}
.statement-view{margin-top:16px;width:100%;text-align:left}
.payment-preference{margin:20px 0}
.payment-preference summary{cursor:pointer;font-size:17px;font-weight:500;min-height:35px}
.payment-preference p{font-size:13px;color:#667361}
.payment-preference form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.payment-preference label{display:grid;gap:6px;font-size:13px;color:#3b5845}
.payment-preference input,.payment-preference select{width:100%;min-width:0;min-height:44px;box-sizing:border-box;padding:10px 12px;font:16px "Outfit",sans-serif;border:1px solid #cad8c1;border-radius:8px;background:#fff;color:#173a2d}
.payment-preference form>p,.payment-preference [data-payment-contact-field]{grid-column:1/-1}
.payment-preference form>button{justify-self:start}
.payment-preference-owner{padding:12px;border:1px solid #d8e1ce;background:#f1f5eb;font-size:13px;border-radius:8px;overflow-wrap:anywhere}
.statement-dialog :focus-visible,.payment-preference :focus-visible,.statement-view:focus-visible{outline:2px solid #a88645;outline-offset:3px}
@media(max-width:600px){.statement-dialog{padding:18px}.statement-dialog h2{font-size:21px}.statement-facts,.payment-preference form{grid-template-columns:1fr}.statement-total strong{font-size:23px}}
.payment-preference fieldset{grid-column:1/-1;border:1px solid #ccd9c4;border-radius:10px;padding:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.payment-preference fieldset[hidden]{display:none}
.payment-preference fieldset legend{padding:0 8px;font-weight:500}
.payment-preference fieldset>p,.payment-preference .bank-consent{grid-column:1/-1}
.payment-preference .bank-consent{display:flex;align-items:flex-start;gap:10px}
.payment-preference .bank-consent input{width:18px;height:18px;min-height:18px;flex:none;margin-top:3px}
.bank-reveal{white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;border:1px solid #c4d4bf;border-radius:8px;padding:15px;background:#f4f7ee;color:#173a2d;font:14px/1.7 monospace}
@media(max-width:600px){.payment-preference fieldset{grid-template-columns:1fr;padding:12px}}

.payment-record-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.payment-record-form label{display:grid;gap:6px}.payment-record-form input,.payment-record-form select{width:100%;min-width:0;padding:12px;border:1px solid #cad8c1;border-radius:8px;font:16px Outfit,sans-serif;background:white;color:#173a2d}.payment-record-form .wide{grid-column:1/-1}.payment-record-form small{font-size:12px;color:#617163}.payment-record-form footer{gap:10px}.statement-dialog footer{gap:10px;flex-wrap:wrap}.payment-record-dialog{width:min(620px,calc(100vw - 32px))}@media(max-width:600px){.payment-record-form{grid-template-columns:1fr}}
