.billing-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr);gap:30px;align-items:start}.billing-sidebar{display:grid;gap:24px}.billing-sidebar select{width:100%}.billing-doc-list{display:grid;gap:12px}.billing-doc-list button{text-align:left;justify-content:start}.billing-paper{background:white;border:1px solid #d3dce6;border-radius:12px;padding:32px;margin:25px 0}.billing-paper p,.message-card p{white-space:pre-wrap;overflow-wrap:anywhere}.billing-paper th,.billing-paper td{padding:12px 8px}.billing-paper th:first-child{width:48%}.billing-paper td:not(:first-child){white-space:nowrap}.billing-line{display:grid;grid-template-columns:minmax(100px,2fr) minmax(75px,.6fr) minmax(90px,.8fr) auto;gap:12px;align-items:end;border-bottom:1px solid #d9e0e7;padding:16px 0}.billing-line input{width:100%}.billing-actions{display:flex;flex-wrap:wrap;gap:14px;margin:25px 0}.message-card{border-bottom:1px solid #d9e0e7;padding:18px 0}.message-card time{display:block;font-size:12px;color:#536171}.approval-choice{display:flex;align-items:start;gap:12px}.approval-choice input{min-height:22px;width:22px;flex-shrink:0}.billing-editor input,.billing-editor textarea,.billing-editor select{width:100%}.billing-editor{margin-bottom:25px}.document-state{text-transform:capitalize;color:#064b89;font-weight:600}#billingStatus{position:sticky;top:95px;z-index:2;background:#edf2f8;padding:16px;border-radius:8px}#billingStatus:empty{display:none}#requestSummary{white-space:pre-wrap}.billing-estimate{font-weight:600}
@media(max-width:1000px){.billing-layout{grid-template-columns:1fr}.billing-line{grid-template-columns:1fr 1fr}.billing-line>.field:first-child{grid-column:1/-1}.billing-paper{padding:20px}}
.billing-confirm{max-width:520px;width:calc(100% - 32px);border:1px solid #d3dce6;border-radius:16px;padding:28px;color:#24364a;background:#fff}.billing-confirm::backdrop{background:rgb(8 30 40 / .55)}

.billing-layout{grid-template-columns:minmax(240px,.65fr) minmax(0,1.7fr)}
.billing-sidebar,#documentPanel{min-width:0}#documentPanel{scroll-margin-top:115px}
.billing-paper{font-family:Arial,Helvetica,sans-serif;color:#243449;background:#fff;border:1px solid #dce3eb;border-top:5px solid #07549a;border-radius:2px;padding:36px;margin:24px 0;box-shadow:0 8px 30px #132e4a0a;line-height:1.5;font-size:13px}
.billing-paper p,.billing-paper h2,.billing-paper h3,.billing-paper dl{margin:0}
.document-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(165px,.8fr);gap:24px;padding-bottom:26px;border-bottom:1px solid #dce3eb}
.document-logo{display:block;width:225px;max-width:100%;height:auto;margin:-12px 0 5px -8px}
.document-company{font-size:13px;font-weight:700}.document-contact{font-size:11px;color:#536171;margin-top:5px!important;white-space:pre-line}
.document-identity{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.document-tax{margin-bottom:18px;font-size:12px}.document-tax span{display:block;font-size:9px;font-weight:700;letter-spacing:1px;color:#627083}.document-tax strong{font-size:13px;font-weight:600}
.billing-paper .document-identity h2{font-size:27px;font-weight:500;letter-spacing:2px;color:#07549a;line-height:1.25}
.document-number{font-size:18px;font-weight:700;letter-spacing:.4px;font-variant-numeric:tabular-nums}
.document-badge{text-transform:uppercase;letter-spacing:1px;font-size:9px;padding:3px 9px;background:#eef3f8;color:#52657a;border:1px solid #dce3eb;border-radius:3px}
.document-details{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:24px 0}
.document-label{font-size:9px;letter-spacing:1.4px;font-weight:700;color:#617389;margin-bottom:6px!important}
.billing-paper .document-client h3{font-size:16px;margin:0 0 6px;color:#172d46}.document-client p:not(.document-label){font-size:12px;white-space:pre-line}
.document-meta{font-size:11px;align-self:start}.document-pair{display:flex;justify-content:space-between;gap:16px;padding:5px 0}.document-pair dt{color:#627083}.document-pair dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.document-scope{padding:0 0 18px}.billing-paper .document-scope h3{font-size:14px;font-weight:600}
.document-table-wrap{width:100%;overflow-x:auto}.billing-paper .document-items{border-collapse:collapse;min-width:0;width:100%;table-layout:fixed;font-size:11px}
.billing-paper .document-items th{background:#eef3f8;color:#23405f;font-size:9px;text-transform:uppercase;letter-spacing:.6px;border-top:1px solid #c9d5e1;border-bottom:1px solid #c9d5e1;padding:11px 8px;text-align:right;width:23%}
.billing-paper .document-items th:first-child{width:43%;text-align:left}.billing-paper .document-items th:nth-child(2){width:11%}
.billing-paper .document-items td{padding:14px 8px;border-bottom:1px solid #e4e9ef;vertical-align:top;text-align:right;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere}
.billing-paper .document-items td:first-child{text-align:left;white-space:pre-wrap}.document-summary{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:22px;break-inside:avoid}
.document-summary-note{font-size:11px;color:#68778b;padding-top:10px}.document-summary-note p+p{margin-top:8px}.document-totals{font-size:12px}
.document-grand-total{border-top:2px solid #07549a;margin-top:9px;padding:14px 0 8px;align-items:center}.document-grand-total dt{color:#07549a;font-size:10px;font-weight:700;letter-spacing:.6px}.document-grand-total dd{color:#07549a;font-size:20px;line-height:1.3}
.document-terms{border-top:1px solid #dce3eb;margin-top:28px;padding-top:18px}.billing-paper .document-terms h3{font-size:11px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:7px}.document-terms p{font-size:11px;color:#526174;white-space:pre-wrap;overflow-wrap:anywhere}
.document-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #dce3eb;padding-top:12px;margin-top:32px;font-size:9px;color:#7a8798}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#quoteOriginField{margin:18px 0}#quoteOriginField small{font-size:12px;color:#536171}
@media(max-width:1050px){.billing-layout{grid-template-columns:1fr}}
@media(max-width:560px){.billing-paper{padding:18px 12px;font-size:12px}.document-header{gap:12px;grid-template-columns:1fr 1fr}.document-logo{width:170px;margin-left:-5px}.billing-paper .document-identity h2{font-size:18px;letter-spacing:1px}.document-number{font-size:15px}.document-contact{font-size:9px}.document-details{gap:16px}.document-meta{font-size:10px}.document-pair{gap:8px}.document-summary{grid-template-columns:1fr}.document-summary-note{order:2}.billing-paper .document-items{font-size:9px}.billing-paper .document-items td,.billing-paper .document-items th{padding:9px 4px}.document-grand-total dd{font-size:20px}.document-footer{font-size:8px}}
@media print{
 @page{size:A4;margin:14mm}
 body *:not(:has(#printDocument)):not(#printDocument):not(#printDocument *){display:none!important}
 body *:has(#printDocument){display:block!important;position:static!important;margin:0!important;padding:0!important;width:auto!important;max-width:none!important}
 #printDocument{display:block!important;position:static!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;color:#243449;font-size:10pt;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 #printDocument .document-header{grid-template-columns:1fr 1fr;break-inside:avoid}#printDocument .document-logo{width:55mm}#printDocument .document-identity h2{font-size:23pt}
 #printDocument .document-details{grid-template-columns:1fr 1fr;break-inside:avoid}#printDocument .document-summary{grid-template-columns:1fr 1fr}#printDocument .document-summary-note{order:0}
 #printDocument .document-table-wrap{overflow:visible}#printDocument .document-items{font-size:9pt}#printDocument thead{display:table-header-group}#printDocument tr{break-inside:avoid}#printDocument td,#printDocument th{padding:10px 6px}
 #printDocument h3{break-after:avoid}#printDocument .document-footer{break-inside:avoid}#printDocument .document-terms p{orphans:3;widows:3}
}

.payment-panel{margin-top:24px}.payment-panel .stack label{display:grid;gap:8px}.payment-panel input,.payment-panel select{width:100%;padding:10px}.payment-panel details{margin:12px 0}.payment-panel summary{cursor:pointer}.payment-panel button{margin-top:8px}#staffOverview>details{margin-top:28px}#staffOverview>details textarea{width:100%;min-height:140px}#staffOverview>details label{display:grid;gap:8px}#billingApp>details{margin:28px 0}#billingApp>details textarea{width:100%;min-height:140px}
@media print{.payment-panel,#billingApp>details{display:none!important}}

.direct-quote-dialog{width:min(720px,calc(100% - 32px));max-height:90vh;overflow:auto}.direct-quote-dialog input,.direct-quote-dialog select,.direct-quote-dialog textarea{width:100%}.direct-quote-status{color:#9b2323}

.direct-invoice-dialog{width:min(1400px,calc(100% - 32px))}.invoice-create-layout{display:grid;grid-template-columns:minmax(280px,0.75fr) minmax(450px,1.25fr);gap:28px;align-items:start}.invoice-live-preview{min-width:0}.invoice-edit-controls{margin:24px 0;padding:20px;border:1px solid #d2dfeb;border-radius:12px;background:#f5f9fc}.invoice-edit-controls>summary{cursor:pointer;font-weight:600;margin-bottom:20px}.invoice-create-layout .billing-paper{margin:0}.invoice-create-layout .row-2{grid-template-columns:1fr}@media(max-width:1000px){.invoice-create-layout{grid-template-columns:1fr}}@media print{.invoice-edit-controls{display:none!important}}

.billing-confirm.direct-invoice-dialog{max-width:min(1400px,calc(100vw - 32px));width:calc(100vw - 32px)}
.invoice-composer{padding:28px;border:0;border-radius:18px;color:#18334c;background:#f5f8fc}.composer-heading{display:flex;justify-content:space-between;gap:24px;align-items:start}.composer-heading h2{margin:0}.composer-heading p{margin:8px 0}.composer-start{display:flex;gap:20px;margin:20px 0}.composer-start label{flex:1;display:grid;gap:8px}.invoice-composer label{font-weight:600}.invoice-composer input,.invoice-composer select,.invoice-composer textarea{width:100%;box-sizing:border-box;padding:11px;border:1px solid #bacbdd;border-radius:7px;background:white;color:#18334c;font:inherit}.composer-form section{padding:22px;background:white;border:1px solid #d5e1ed;border-radius:12px;display:grid;gap:16px}.composer-form h3{margin:0}.composer-form details summary{cursor:pointer;padding:12px 0}.composer-form .field{margin:0}.composer-form [data-customer]{margin-top:8px}.composer-line{display:grid;grid-template-columns:minmax(100px,1fr) 70px 100px;gap:10px;border-bottom:1px solid #e2e9f0;padding:12px 0}.composer-line label{display:grid;gap:6px;font-size:13px}.composer-line button{grid-column:1/-1;justify-self:end;padding:5px 12px}.invoice-composer .invoice-create-layout{grid-template-columns:minmax(350px,.85fr) minmax(500px,1.15fr)}.invoice-composer .invoice-live-preview{position:sticky;top:0}.composer-actions{position:sticky;bottom:0;padding:15px;background:white;border-top:1px solid #d5e1ed}.composer-tabs{display:none}.invoice-composer [hidden]{display:none!important}.invoice-composer input[readonly],.invoice-composer select[style*="none"]{background:#edf2f7}.invoice-composer [data-notice]{line-height:1.5}.invoice-composer .billing-paper{font-size:13px}
@media(max-width:1050px){.invoice-composer .invoice-create-layout{display:block}.composer-tabs{display:flex;gap:12px;margin-bottom:16px}.invoice-composer:not([data-view=preview]) .invoice-live-preview{display:none}.invoice-composer[data-view=preview] .composer-form{display:none}.invoice-composer .invoice-live-preview{position:static}.composer-start{flex-direction:column}.invoice-composer{padding:18px}.composer-heading{gap:10px}.composer-line{grid-template-columns:minmax(85px,1fr) 65px 85px}.composer-form section{padding:15px}}
