.billing-main{max-width:1600px;padding:32px;margin:auto}.billing-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.billing-heading h1{font-size:30px;margin:7px 0 10px}.billing-heading p{color:var(--muted);font-size:15px}.eyebrow{font-size:12px;letter-spacing:.12em}.roof-control{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted);min-width:225px}.roof-control select,.invoice-filters select,.invoice-filters input{background:#fff;border:1px solid #dbe3ee;border-radius:8px;padding:10px 12px;font-size:14px;color:var(--ink);height:44px}.preview-note{font-size:12px;color:var(--muted);margin:17px 0}.billing-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px 24px;display:flex;flex-direction:column;gap:5px}.metric>span{font-size:14px;font-weight:650;color:#596a81}.metric strong{font-size:32px;font-weight:750;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.metric small{color:var(--muted);font-size:12px}.overdue-metric strong{color:#ae4639}.payment-banner{display:flex;align-items:center;gap:15px;padding:19px 22px;background:#eaf2ff;border:1px solid #d3e1f7;border-radius:11px;margin:22px 0}.payment-banner strong{font-size:15px}.payment-banner p{font-size:14px;color:#546a85;margin-top:3px}.payment-banner .text-link{margin-left:auto;white-space:nowrap}.bank-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:white;flex:none;color:var(--blue)}.bank-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6}.text-link{font-size:14px;font-weight:650;border:0;padding:7px 0;background:transparent;color:var(--blue);text-decoration:none}.text-link:hover{text-decoration:underline}.billing-panel{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:clip}.panel-top{display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);gap:20px}.billing-tabs{display:flex;gap:27px}.billing-tabs button{padding:20px 0 17px;border:0;border-bottom:3px solid transparent;font-size:15px;font-weight:650;color:#67758a;background:none}.billing-tabs [aria-selected=true]{border-color:var(--blue);color:var(--blue)}.reconciled{font-size:12px;color:var(--muted)}.invoice-filters{padding:22px 24px 10px;display:flex;gap:12px;align-items:center}.invoice-filters>label{min-width:0}.search-field{flex:1;position:relative}.search-field input{width:100%;padding-left:38px}.search-field svg{position:absolute;top:13px;left:12px;width:18px;height:18px;fill:none;stroke:#73849a;stroke-width:1.7}.list-meta{padding:8px 24px 14px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.invoice-row{border-top:1px solid var(--line);position:relative}.invoice-summary{display:grid;grid-template-columns:minmax(150px,1.35fr) minmax(140px,1.3fr) minmax(100px,.85fr) minmax(108px,.8fr) minmax(120px,1fr) 106px;gap:14px;align-items:center;list-style:none;padding:20px 22px 20px 56px;cursor:pointer;font-size:14px}.invoice-summary::-webkit-details-marker{display:none}.invoice-summary:hover{background:#f8faff}.invoice-summary>div{min-width:0}.invoice-id{font-weight:700;display:block;color:#203b5d;overflow-wrap:anywhere}.invoice-summary small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.invoice-summary .cell-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#79879a;font-weight:650;margin:0 0 5px}.invoice-select{position:absolute;left:23px;top:44px;width:17px;height:17px;margin:0;accent-color:var(--blue);z-index:1}.balance-cell{text-align:right}.balance-cell strong{font-size:16px;font-variant-numeric:tabular-nums}.invoice-status{display:inline-flex;font-size:12px;font-weight:650;border-radius:6px;padding:4px 8px;background:#edf3fc;color:#365d94;white-space:nowrap}.invoice-status.overdue{background:#fcece9;color:#ac4236}.invoice-status.partial{background:#fff4e0;color:#936b22}.invoice-status.paid{background:#e8f5ee;color:#227251}.report-indicator{font-size:11px!important;color:#596981!important}.invoice-details[open]>.invoice-summary{background:#f6f9fe}.disclosure{color:var(--blue);font-weight:650;text-align:right;font-size:13px;white-space:nowrap}.disclosure::before{content:'View invoice'}.disclosure::after{content:' ⌄'}.invoice-details[open] .disclosure::before{content:'Close'}.invoice-details[open] .disclosure::after{content:' ⌃'}.invoice-expanded{padding:22px 24px 22px 56px;background:#fcfdff;border-top:1px solid var(--line)}.invoice-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:26px}.detail-kicker{font-size:12px;font-weight:750;color:#728197;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.load-reference{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}.load-reference span{font-size:12px;color:var(--muted)}.invoice-route{font-size:14px;margin:9px 0 13px;color:#546882}.invoice-vehicle{display:flex;justify-content:space-between;gap:10px;padding:8px 0;font-size:13px;border-top:1px solid #e8edf4;flex-wrap:wrap}.invoice-vehicle code{font-size:13px;color:#52677d;overflow-wrap:anywhere}.breakdown{margin:0;font-size:14px}.breakdown div{display:flex;justify-content:space-between;gap:20px;margin-bottom:9px}.breakdown dt{color:#5b6f85}.breakdown dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}.breakdown .balance-total{border-top:1px solid var(--line);padding-top:10px;margin-top:12px;font-weight:750;font-size:16px}.balance-total dt{color:var(--ink)}.detail-payments{margin-top:18px;padding-top:15px;border-top:1px solid var(--line);font-size:13px}.payment-line{display:flex;flex-wrap:wrap;gap:5px 16px;color:#4f657e;margin:8px 0}.payment-line strong{margin-left:auto;font-variant-numeric:tabular-nums}.payment-report{padding:11px 13px;background:#f1f5fc;border:1px solid #dfe7f3;border-radius:8px;font-size:13px;margin-top:13px}.payment-report strong{font-size:13px}.payment-report p{margin-top:4px;color:#63758c}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:white;border:1px solid var(--blue);border-radius:8px;padding:10px 15px;font-size:14px;font-weight:650;text-decoration:none}.primary:hover{background:#003d90}.primary:disabled{opacity:.5}.note-editor{margin-top:14px;font-size:13px;color:#5e718b}.note-editor summary{cursor:pointer;color:var(--blue);font-weight:600}.note-editor textarea{width:100%;min-height:66px;margin:10px 0 7px;border:1px solid var(--line);border-radius:7px;padding:10px;font-size:14px;resize:vertical;background:#fff}.note-editor .note-status{margin-left:10px;font-size:12px}.batch-bar{position:sticky;bottom:12px;margin:12px 16px;padding:14px 16px;display:flex;align-items:center;gap:17px;border:1px solid #c6d9f3;background:#edf4ff;border-radius:10px;box-shadow:0 6px 20px #264c8020;z-index:5}.batch-bar>div{display:flex;flex-direction:column;gap:3px;margin-right:auto;font-size:14px}.batch-bar span{font-size:12px;color:#58718e}.empty{text-align:center;padding:35px}.empty h3{font-size:17px}.empty p{font-size:14px;color:var(--muted);margin:10px 0 18px}.statement-intro{padding:23px 24px}.statement-intro h2{font-size:17px;margin:0 0 7px}.statement-intro p{font-size:14px;color:var(--muted)}.statement-card{margin:0 24px 16px;padding:22px;border:1px solid var(--line);border-radius:10px}.statement-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.statement-head h3{margin:0 0 4px;font-size:18px}.statement-head p{font-size:13px;color:var(--muted)}.statement-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.statement-amounts span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.statement-amounts strong{font-size:20px;font-variant-numeric:tabular-nums}.statement-card small{display:block;font-size:12px;color:var(--muted);margin-top:16px}.billing-footnote{color:var(--muted);font-size:12px;margin-top:20px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:50;border:1px solid #cedced;border-radius:9px;background:#173b66;color:white;padding:14px 20px;max-width:calc(100% - 32px);font-size:14px;box-shadow:0 8px 32px #173b6630}dialog{width:calc(100% - 32px);max-width:610px;max-height:90dvh;border:0;padding:0;border-radius:14px;color:var(--ink);box-shadow:0 24px 80px #10294850}dialog::backdrop{background:#14283f80;backdrop-filter:blur(2px)}.dialog-header{position:sticky;top:0;background:#fff;z-index:2;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:23px 25px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:21px;margin-top:5px}.close-dialog{font-size:25px;border:0;background:#f0f4fa;border-radius:7px;width:34px;height:34px;color:#596d85;flex:none}.dialog-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:16px 25px;display:flex;gap:10px;justify-content:flex-end}.dialog-footer .close-dialog{font-size:14px;width:auto;height:auto}.dialog-body{padding:22px 25px;font-size:15px}.dialog-muted{color:var(--muted);font-size:14px;margin-top:12px}.method-tabs{display:flex;padding:4px;background:#f0f4fa;border-radius:8px;margin:23px 0}.method-tabs button{flex:1;border:0;border-radius:6px;padding:10px;background:transparent;font-size:14px;color:#60738c;font-weight:650}.method-tabs [aria-selected=true]{background:white;color:var(--blue);box-shadow:0 1px 4px #193b6720}.dialog-body h3{font-size:16px;margin:16px 0}.instruction-fields{margin:0}.instruction-fields>div{padding:12px 0;border-bottom:1px solid var(--line)}.instruction-fields dt{font-size:13px;color:var(--muted);margin-bottom:5px}.instruction-fields dd{margin:0;font-size:14px}.instruction-placeholder,.report-info{padding:12px 14px;margin-top:20px;background:#f2f6fc;border:1px solid #e1e9f5;border-radius:8px;color:#586d86;font-size:13px}.report-roof{font-weight:650}.report-method{margin:21px 0}.report-method label{display:inline-flex;gap:8px;align-items:center;font-size:14px;margin-right:25px}.report-method input{accent-color:var(--blue)}.report-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.allocation{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.allocation strong{font-size:14px}.allocation small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.allocation input{width:130px;border:1px solid #d5dfeb;border-radius:7px;padding:10px;text-align:right;font-size:14px}.report-total{display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:14px}.report-total strong{font-size:21px}.attachment{margin-top:13px}.attachment small{font-size:12px;font-weight:400;color:var(--muted)}.attachment input{font-size:13px}.form-error{color:#ae4237;font-size:14px;margin-top:12px}
@media(max-width:1250px){.invoice-summary{grid-template-columns:minmax(130px,1.1fr) minmax(135px,1.2fr) 90px 100px minmax(112px,1fr);gap:12px}.disclosure{grid-column:5;text-align:left;margin-top:-3px}.reconciled{display:none}.billing-main{padding:25px}.invoice-filters{flex-wrap:wrap}.invoice-filters .search-field{min-width:250px}.invoice-detail-grid{grid-template-columns:minmax(0,1fr) minmax(220px,.85fr)}}
@media(max-width:1000px){.billing-heading{align-items:flex-start}.roof-control{min-width:180px;max-width:210px}.billing-heading h1{font-size:27px}.metric{padding:18px}.metric strong{font-size:27px}.payment-banner{flex-wrap:wrap}.payment-banner .text-link{margin-left:57px}.invoice-summary{grid-template-columns:minmax(150px,1.3fr) minmax(150px,1.2fr) 110px}.invoice-summary .due-cell{grid-column:1;grid-row:2}.balance-cell{grid-column:3;grid-row:1;text-align:right}.status-cell{grid-column:2;grid-row:2}.disclosure{grid-column:3;grid-row:2;text-align:right}.invoice-select{top:43px}.invoice-detail-grid{grid-template-columns:1fr}.invoice-expanded{padding-left:24px}.billing-metrics{gap:12px}.statement-amounts{gap:10px}}
@media(max-width:700px){.billing-main{padding:22px 15px}.billing-heading{flex-direction:column;gap:18px}.billing-heading h1{font-size:26px}.roof-control{max-width:none;min-width:0;width:100%}.preview-note{font-size:12px}.billing-metrics{grid-template-columns:1fr;gap:9px}.metric{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;padding:16px 18px}.metric strong{grid-column:2;grid-row:1/3;font-size:26px}.metric small{grid-column:1}.metric>span{font-size:14px}.payment-banner{padding:16px;gap:12px}.payment-banner>div{flex:1;min-width:170px}.payment-banner .text-link{margin-left:0}.panel-top{padding:0 17px}.billing-tabs{gap:20px}.billing-tabs button{font-size:14px}.invoice-filters{padding:16px;gap:10px}.invoice-filters .search-field{flex-basis:100%;min-width:0}.invoice-filters>label:not(.search-field){flex:1}.invoice-filters select{width:100%}.list-meta{padding:5px 16px 13px}.invoice-summary{grid-template-columns:minmax(0,1fr) minmax(105px,.8fr);padding:19px 16px 19px 43px;gap:12px;font-size:14px}.invoice-select{left:16px;top:42px}.invoice-summary .roof-cell{grid-column:1;grid-row:2}.invoice-summary .due-cell{grid-column:1;grid-row:3}.balance-cell{grid-column:2;grid-row:1}.status-cell{grid-column:2;grid-row:2;align-self:start;text-align:right}.disclosure{grid-column:2;grid-row:3}.invoice-expanded{padding:20px 16px}.load-reference{flex-wrap:wrap}.detail-actions .btn,.detail-actions .primary{flex:1;font-size:13px;white-space:nowrap}.batch-bar{flex-wrap:wrap;margin:10px}.batch-bar>div{min-width:150px}.batch-bar .primary{width:100%}.statement-card{margin:0 16px 16px;padding:17px}.statement-head{align-items:flex-start;flex-wrap:wrap}.statement-amounts{grid-template-columns:1fr;gap:12px}.statement-amounts>div{display:flex;justify-content:space-between;align-items:center}.statement-amounts strong{font-size:18px}.statement-amounts span{font-size:13px;margin:0}.dialog-header,.dialog-body{padding:20px}.dialog-header h2{font-size:20px}.report-fields{grid-template-columns:1fr}.allocation{gap:10px}.allocation input{width:105px}.dialog-footer{padding:16px;flex-wrap:wrap}.dialog-footer .primary{flex:1}.billing-footnote{line-height:1.65}}
