.billing-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.billing-stats>div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px}.billing-stats small{display:block;color:var(--muted)}.billing-stats b{display:block;font-size:20px;margin-top:5px}.billing-filters{display:grid;grid-template-columns:150px 150px minmax(170px,1fr) minmax(170px,1fr) minmax(260px,2fr);gap:8px;margin-bottom:10px}.billing-filters input,.billing-filters select,.billing-form input,.billing-form select,.billing-form textarea{border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}.billing-client-totals>div,.vendor-cost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.billing-client-totals span,.vendor-cost-grid button{display:grid;grid-template-columns:1fr auto;gap:3px;background:#f4f7fb;border:1px solid transparent;border-radius:8px;padding:10px;text-align:left;color:inherit}.vendor-cost-grid button{cursor:pointer;width:100%}.vendor-cost-grid button:hover,.vendor-cost-grid button:focus-visible{border-color:var(--accent);background:#eef7ff}.billing-client-totals small,.vendor-cost-grid small,.billing-table small{display:block;color:var(--muted)}.billing-client-totals strong,.vendor-cost-grid strong{grid-row:1/3;grid-column:2;font-size:15px}.billing-table-head,.billing-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.billing-table-head h3,.billing-panel-head h3{margin:0}.billing-panel-head p,.billing-help{margin:4px 0;color:var(--muted);font-size:9px}.billing-table tr[data-billing-project]{cursor:pointer}.billing-table tr[data-billing-project]:hover{background:#f7fbff}.fallback-cost-row{background:#fff8e8}.vendor-detail-table td:nth-child(4),.vendor-detail-table td:nth-child(5){white-space:nowrap}.billing-state{display:inline-block;background:#edf1f6;color:#42536a;border-radius:99px;padding:4px 8px;font-size:9px;font-weight:800}.s-入金済{background:#dff3e9;color:#146b48}.s-入金待ち,.s-請求済{background:#fff1d8;color:#87520b}.s-保留{background:#f0e6f6;color:#6a387d}.billing-form{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.billing-form label{display:grid;gap:4px;font-size:9px}.billing-form .full{grid-column:1/-1}.billing-actions{display:flex!important;justify-content:flex-end;gap:8px}.billing-actions button{border:1px solid var(--line);border-radius:8px;padding:9px 13px;background:#fff}@media(max-width:1100px){.billing-filters{grid-template-columns:1fr 1fr 1fr}.billing-filters #billingSearch{grid-column:1/-1}}@media(max-width:800px){.billing-stats{grid-template-columns:1fr 1fr}.billing-filters,.billing-form{grid-template-columns:1fr}.billing-filters #billingSearch{grid-column:auto}.billing-client-totals>div,.vendor-cost-grid{grid-template-columns:1fr}.billing-form .full{grid-column:auto}}
.billing-page-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.billing-page-actions h2{margin:0}.billing-page-actions p{margin:4px 0;color:var(--muted)}.billing-page-actions button{border:0;border-radius:9px;padding:11px 15px;font-weight:800}.billing-batch-dialog{width:min(980px,calc(100vw - 28px));max-width:none;border:0;border-radius:15px;padding:0;box-shadow:0 24px 70px #081a3190}.billing-batch-dialog::backdrop{background:#07182d99}.billing-batch-dialog form{display:grid;gap:13px;padding:18px;max-height:calc(100vh - 40px);overflow:auto}.billing-batch-dialog-head,.billing-batch-candidate-head,.billing-batch-candidate-head>div,.billing-batch-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.billing-batch-dialog-head h2,.billing-batch-candidate-head h3{margin:0}.billing-batch-dialog-head>button{border:0;background:#eef2f6;border-radius:50%;width:34px;height:34px;font-size:20px}.billing-draft-safety{margin:0;padding:10px 12px;border-radius:8px;background:#fff5d9;color:#72520d;font-weight:700}.billing-batch-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.billing-batch-fields label{display:grid;gap:4px;font-size:10px}.billing-batch-fields input,.billing-batch-fields select,.billing-batch-fields textarea{border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}.billing-batch-fields .full{grid-column:1/-1}.billing-batch-fields textarea{min-height:58px}.billing-batch-candidates{display:grid;gap:6px;max-height:330px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:7px}.billing-batch-candidate{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;background:#f5f8fc}.billing-batch-candidate:hover{background:#edf5ff}.billing-batch-candidate small{display:block;color:var(--muted);margin-top:2px}.billing-batch-candidate strong{white-space:nowrap}.billing-batch-candidate.disabled{opacity:.58;background:#f1f1f1}.billing-batch-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.billing-batch-totals span{display:grid;gap:3px;padding:9px;border-radius:8px;background:#eef3f8}.billing-batch-totals strong{font-size:17px;color:#0b5e44}.billing-batch-dialog-actions{justify-content:flex-end}.billing-batch-dialog-actions button,.billing-batch-row-actions button{border:1px solid var(--line);border-radius:8px;padding:8px 11px;background:#fff;font-weight:700}.billing-batch-dialog-actions .primary{border:0;background:var(--accent);color:#fff}.billing-batch-row-actions{display:flex;gap:5px;white-space:nowrap}.billing-batch-state{display:inline-block;padding:4px 8px;border-radius:99px;background:#fff0c9;color:#79520a;font-weight:800;font-size:9px}.billing-batch-state.state-取消{background:#eceff3;color:#687385}.cancelled-batch{opacity:.65}.billing-batch-paper{position:relative}.billing-draft-mark{position:absolute;z-index:1;right:18mm;top:30mm;border:4px double #bd7a00;color:#965f00;padding:8px 16px;transform:rotate(-8deg);font-size:22px;font-weight:900;letter-spacing:.18em;opacity:.55}.billing-draft-mark.cancelled{border-color:#a73030;color:#a73030}.billing-batch-document-table td:nth-child(2){min-width:220px}.billing-batch-document-table td:nth-child(5),.billing-batch-document-table td:nth-child(6){white-space:nowrap}@media(max-width:800px){.billing-page-actions{align-items:stretch;flex-direction:column}.billing-batch-fields,.billing-batch-totals{grid-template-columns:1fr 1fr}.billing-batch-fields .full{grid-column:1/-1}.billing-batch-candidate{grid-template-columns:auto 1fr}.billing-batch-candidate strong{grid-column:2}.billing-batch-dialog-actions{display:grid;grid-template-columns:1fr}.billing-batch-dialog-actions button{width:100%}}@media print{body.billing-batch-printing .shell>aside,body.billing-batch-printing main>header,body.billing-batch-printing main>section:not(#billingBatchDocumentPage){display:none!important}body.billing-batch-printing main{padding:0!important}body.billing-batch-printing #billingBatchDocumentPage{display:block!important}body.billing-batch-printing .billing-draft-mark{display:block!important}.billing-batch-paper{border:0;box-shadow:none;max-width:none;padding:8mm}.billing-batch-paper thead{display:table-header-group}.billing-batch-paper tfoot{display:table-footer-group}.billing-batch-paper tr{break-inside:avoid}}
.billing-payment-dialog{width:min(860px,calc(100vw - 24px))}.billing-payment-help{margin:0;padding:10px 12px;border-radius:9px;background:#eaf6ff;color:#164f72;line-height:1.55}.billing-payment-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.billing-payment-summary span{display:grid;gap:3px;padding:10px;border:1px solid #d8e2ec;border-radius:9px;background:#f7fafc}.billing-payment-summary small{color:var(--muted)}.billing-payment-summary b{font-size:17px}.billing-payment-summary .overpayment{border-color:#d77878;background:#fff1f1;color:#a32828}.billing-payment-preview{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 12px;border-radius:9px;background:#f2f7f4}.billing-payment-preview strong{font-size:19px;color:#075f43}.billing-payment-preview span{font-weight:800;color:#8a4b00}.billing-payment-history{border-top:1px solid var(--line);padding-top:12px}.billing-payment-entry{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(260px,1.5fr) auto;align-items:center;gap:12px;padding:10px;border-bottom:1px solid var(--line)}.billing-payment-entry>div{display:grid;gap:3px}.billing-payment-entry small{display:block;color:var(--muted);line-height:1.45}.billing-payment-entry button{border:1px solid #d98787;background:#fff5f5;color:#9d2929;border-radius:7px;padding:7px 10px;font-weight:800}.billing-payment-entry.voided{opacity:.64;background:#f2f3f5}.void-label{font-weight:800;color:#6c7582}.void-label small{max-width:180px}.billing-payment-state{display:block;width:max-content;padding:3px 7px;border-radius:99px;background:#eef2f5;color:#586574;font-size:9px;font-weight:900;margin-bottom:3px}.billing-payment-state.payment-一部入金{background:#fff1c9;color:#755510}.billing-payment-state.payment-入金済{background:#dff5e8;color:#0d6945}.billing-payment-state.payment-過入金{background:#ffe0e0;color:#a22626}.overpayment-text{color:#a22626!important;font-weight:900}.billing-batch-row-actions .payment-button{background:#e8f6ef;border-color:#83c8a4;color:#075f43}@media(max-width:800px){.billing-payment-summary{grid-template-columns:1fr 1fr}.billing-payment-entry{grid-template-columns:1fr}.billing-payment-entry button{width:100%}}
.billing-page-action-buttons{display:flex;align-items:center;gap:8px}.billing-page-action-buttons button:first-child{border:1px solid var(--line);background:#fff;color:#17314f}.billing-page-action-buttons button:disabled{opacity:.45;cursor:not-allowed}.billing-receivable-panel{margin-top:14px}.billing-receivable-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.billing-receivable-stats button{display:grid;gap:4px;text-align:left;border:1px solid #d6e0e9;border-radius:11px;padding:12px;background:#f8fafc;color:#21364d;cursor:pointer}.billing-receivable-stats button:hover{border-color:#7ca3c6;background:#f1f7fc}.billing-receivable-stats small{color:var(--muted);font-weight:800}.billing-receivable-stats b{font-size:20px}.billing-receivable-stats span{font-size:10px;color:var(--muted)}.billing-receivable-stats .critical{border-color:#d77474;background:#fff0f0;color:#9a2727}.billing-receivable-stats .warning{border-color:#d7a75d;background:#fff7e6;color:#82520a}@media(max-width:800px){.billing-page-action-buttons{display:grid;grid-template-columns:1fr 1fr}.billing-receivable-stats{grid-template-columns:1fr 1fr}.billing-filters{grid-template-columns:1fr 1fr}.billing-filters input,.billing-filters select{min-width:0}}
.billing-batch-fields .wide{grid-column:span 2}.billing-batch-row-actions{flex-wrap:wrap}.billing-batch-row-actions .primary-soft{background:#e9f2ff;color:#145ca8;border-color:#b9d3f3}.billing-batch-row-actions .approve-soft{background:#e1f4e9;color:#176b45;border-color:#aad8bf}.billing-batch-row-actions .issue-button{background:#0b5e44;color:#fff;border-color:#0b5e44}.billing-batch-state.state-承認済み,.billing-batch-state.state-発行済{background:#dff3e9;color:#146b48}.billing-batch-state.state-承認待ち{background:#fff0c9;color:#79520a}.billing-delivery-dialog{width:min(760px,calc(100vw - 28px))}@media(max-width:800px){.billing-batch-fields .wide{grid-column:1/-1}}
.billing-collection-dialog{width:min(900px,calc(100vw - 24px))}.billing-collection-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-batch-row-actions .collection-button{background:#fff5d9;border-color:#dbb95c;color:#6d4c00}.billing-collection-state{display:block;width:max-content;max-width:100%;margin-top:4px;padding:4px 7px;border-radius:7px;background:#fff1c9;color:#6f5208;font-size:10px;font-weight:900}.billing-collection-state.due{background:#ffe1e1;color:#9f2525}.billing-collection-entry{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(300px,1.5fr);gap:12px;padding:11px;border-bottom:1px solid var(--line)}.billing-collection-entry>div{display:grid;align-content:start;gap:4px}.billing-collection-entry small{color:var(--muted);line-height:1.45}.billing-collection-entry .billing-collection-state{margin:0}@media(max-width:800px){.billing-collection-fields,.billing-collection-entry{grid-template-columns:1fr}.billing-collection-dialog .billing-batch-dialog-actions{position:sticky;bottom:0;background:#fff;padding-top:10px}}
