/* Billing extends the clinic's existing teal controls and typography. */
.billing-workspace .pagehead h2{margin:0 0 5px}.billing-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.billing-metric{padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:#f9fcfb}.billing-metric span{display:block;font-size:12px;color:var(--muted);margin-bottom:9px}.billing-metric strong{font-size:24px;font-weight:650;font-variant-numeric:tabular-nums;color:#195d56}.billing-metric.arrears{background:#fff9ef;border-color:#eddec4}.billing-metric.arrears strong,.billing-debt{color:#a45f20}.billing-view-tabs{border-bottom:1px solid var(--line)}.billing-view-tabs .active{border-bottom:3px solid var(--teal);color:var(--teal);font-weight:650}.billing-filters{align-items:end;gap:10px}.billing-filters>input[type=search]{flex:1;min-width:220px}.billing-filters label{margin:0;font-size:12px;color:var(--muted)}.billing-filters input[type=date]{width:145px;margin-top:5px}.billing-filters select{max-width:155px}.billing-workspace td{font-size:13px}.billing-workspace small{color:var(--muted)}
dialog.billing-dialog{width:min(1410px,97vw);padding:20px;max-height:95vh}dialog.billing-dialog h2{font-size:21px;margin-top:0}.billing-composer{display:grid;grid-template-columns:290px minmax(0,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;gap:0}.billing-picker-column{padding:14px;background:#f5f9f8;border-right:1px solid var(--line);min-width:0}.billing-editor-column{padding:14px;min-width:0;background:#fff}.billing-composer .billing-searchbar{display:flex;flex-wrap:wrap;padding:0;background:none;border:0;gap:7px}.billing-searchbar>label,.billing-searchbar>input{width:100%}.billing-searchbar>[data-add-custom]{font-size:12px;padding:5px 8px}.billing-catalog-filters{display:flex;gap:8px;margin:10px 0}.billing-catalog-filters select{min-width:0;font-size:12px}.billing-catalog-toolbar{flex-wrap:wrap;gap:7px}.billing-catalog-toolbar>span{width:100%;order:3}.billing-catalog-toolbar [data-add-checked]{margin-left:auto;padding:5px;font-size:12px}.billing-composer .billing-results{display:block;max-height:350px;padding:0 7px;background:white}.billing-result{align-items:flex-start;padding:11px 0}.billing-result button{padding:5px;font-size:11px}.billing-result strong{font-size:13px}.billing-message{font-size:12px;line-height:1.5;margin-bottom:0}.billing-composer .billing-table{min-width:660px;width:100%}.billing-composer .billing-table th,.billing-composer .billing-table td{padding:8px 5px}.billing-composer .billing-table th:first-child{width:27%}.billing-composer .billing-table th:nth-child(6){width:13%}.billing-composer .billing-table th:nth-child(7){width:10%}.billing-composer .billing-table th{font-size:12px;white-space:normal}.billing-composer .billing-table input{font-size:13px}.billing-composer .billing-tablewrap{max-height:410px}.billing-lines-heading{margin-top:0}.billing-summary{align-items:flex-start;flex-wrap:wrap}.billing-summary strong{margin-left:auto}.billing-presets-fold{margin-bottom:12px;font-size:13px}.billing-presets-fold .treatment-presets{padding:8px;margin-top:10px}.billing-presets-fold .preset-buttons{grid-template-columns:1fr}.billing-presets-fold .preset-buttons button{font-size:12px}.billing-presets-fold .pagehead{display:block}.billing-presets-fold .pagehead h3{font-size:14px}.billing-presets-fold [data-preset-categories]{display:flex;flex-wrap:wrap}.billing-presets-fold [data-preset-selection]{padding:8px}.billing-own-project{font-size:13px;margin:10px 0;border:1px dashed #94bdb0;padding:10px;border-radius:7px;background:#fff}.billing-own-project .grid{gap:8px}.billing-own-project label{font-size:12px;margin:9px 0}.billing-own-project input{padding:6px}.billing-own-project button{font-size:12px;width:100%}.billing-payment{padding:14px 18px;border:1px solid #c8ddd5;border-radius:10px;background:#f6faf8}.payment-enable{margin:0;display:flex;align-items:center;gap:9px;font-weight:600}.payment-enable input{width:auto;margin:0}.payment-entry-row{display:grid;grid-template-columns:minmax(140px,220px) minmax(140px,220px) auto;gap:12px;align-items:end;margin:10px 0}.payment-entry-row label{margin:0;font-size:13px}.payment-entry-row input,.payment-entry-row select{margin-top:5px}.payment-entry-row button{justify-self:start;margin-bottom:0}.billing-payment .actions{justify-content:flex-start;gap:9px}.billing-payment [data-payment-content]>label{max-width:520px;font-size:13px;margin-top:12px}.billing-payment [data-payment-summary]{font-weight:600;color:var(--teal);font-variant-numeric:tabular-nums}.billing-payment [data-payment-summary].error{color:#ab3c30}.billing-payment .billing-lines-heading{margin:10px 0}.billing-payment .billing-lines-heading span{font-size:12px;color:var(--muted)}dialog.billing-dialog #modal-form>.actions{bottom:-20px;padding:12px 0;box-shadow:0 -5px 12px #fff;z-index:4}.billing-dialog details>summary{padding:6px 0}.billing-dialog .billing-cards{margin-top:8px}.billing-dialog .charge-tooth-panel .quadrants{max-width:100%}
@media(min-width:1450px){.billing-composer{grid-template-columns:330px minmax(0,1fr)}}
@media(max-width:850px){.billing-composer{grid-template-columns:1fr}.billing-picker-column{border-right:0;border-bottom:1px solid var(--line)}.billing-composer .billing-results{max-height:170px}.billing-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-metric strong{font-size:21px}.billing-filters{flex-wrap:wrap}.payment-entry-row{grid-template-columns:1fr 1fr auto}.billing-editor-column,.billing-picker-column{padding:10px}.billing-tablewrap{max-width:100%}.billing-workspace .pagehead{align-items:flex-start;flex-wrap:wrap}.billing-workspace .pagehead>.actions{flex-wrap:wrap}}

/* Keep the catalogue and save controls visible at the reference 1158×675 viewport. */
dialog.billing-dialog:has(#billing-composer) #modal-form>.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}dialog.billing-dialog:has(#billing-composer) #modal-form>.grid>label{margin:0}dialog.billing-dialog:has(#billing-composer) h2{margin-bottom:10px}.billing-composer{height:clamp(340px,53vh,480px)}.billing-picker-column,.billing-editor-column{overflow:auto}.billing-composer .billing-results{max-height:230px}.billing-presets-fold{margin-top:10px;margin-bottom:0}.billing-composer .billing-mode-tabs{margin-bottom:8px}.billing-composer .billing-mode-tabs button{font-size:13px;padding:7px 12px}.billing-own-project{padding:4px 8px;margin:6px 0}.billing-dialog .billing-own-project>summary{padding:3px 0}.billing-catalog-filters{margin:7px 0}.billing-searchbar>[data-add-custom]{padding:3px 7px}.billing-catalog-toolbar{padding:5px 0}.billing-searchbar label{font-size:12px}.billing-composer .billing-searchbar{gap:5px}.billing-picker-column{padding:10px 12px}
@media(max-width:850px){dialog.billing-dialog:has(#billing-composer) #modal-form>.grid{grid-template-columns:1fr 1fr}.billing-composer{height:auto}.billing-picker-column,.billing-editor-column{overflow:visible}.billing-composer .billing-results{max-height:170px}}

.billing-composer .billing-searchbar>label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.billing-lines-heading>[data-add-custom]{margin-left:auto;padding:4px 7px;font-size:12px}

.billing-workspace{padding:18px}.billing-workspace .pagehead{margin-bottom:14px}.billing-workspace .tabs{margin:8px 0 12px}.billing-workspace .toolbar{margin:10px 0}.billing-workspace .billing-cards{margin:12px 0}.billing-workspace .billing-metric{padding:12px 15px}.billing-workspace [data-billing-scope]{margin:9px 0;font-size:12px}

/* Separate charge components without allocating the invoice discount. */
.billing-charge-filter{display:flex;gap:5px;margin:7px 0}.billing-charge-filter button{flex:1;padding:6px 3px;font-size:12px}.billing-charge-filter .active{background:var(--teal);color:white;border-color:var(--teal)}
.catalog-charge-split{font-variant-numeric:tabular-nums;color:#42675f}.charge-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 5px}.charge-metric{padding:10px;border-radius:7px;background:#f0f8f5;border:1px solid #cee1d9;min-width:0}.charge-metric.material{background:#f0f6fc;border-color:#cbdceb}.charge-metric.discount{background:#fff8ed;border-color:#eedcbd}.charge-metric.due{background:#e3f2ee}.charge-metric span{display:block;font-size:12px;color:#526963}.charge-metric strong{display:block;font-size:18px;margin-top:5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.charge-summary-note{font-size:12px;color:var(--muted);margin:5px 0 10px}.charge-kind-badge{display:block;width:fit-content;padding:2px 6px;border-radius:4px;background:#e6f2ec;color:#25604d;font-size:11px;margin-bottom:5px}.billing-table tr[data-charge-kind=material] .charge-kind-badge{background:#e6f0fb;color:#345d83}.billing-table td:nth-child(3){background:#f5faf7}.billing-table td:nth-child(4){background:#f3f8fd}.billing-lines-heading{flex-wrap:wrap;gap:6px}.billing-lines-heading>[data-add-material]{padding:4px 7px;font-size:12px}.billing-editor-column .billing-summary{margin-top:5px}
@media(max-width:650px){.charge-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.charge-metric strong{font-size:17px}}

.billing-table [data-charge-group] th{background:#e8f2ee;color:#245d51;text-align:left;padding:10px}.billing-table [data-charge-group=material] th{background:#e6f0fa;color:#31597d}.billing-table [data-charge-group] span{float:right}.quantity-stepper{display:flex;align-items:center;min-width:108px;gap:2px}.quantity-stepper button{padding:5px;min-width:24px}.quantity-stepper input{min-width:45px;width:48px;text-align:center}.billing-table th:nth-child(2){min-width:110px}[data-combo-conflict]{padding:12px;border:1px solid #d5b476;background:#fff9ed;margin:10px 0;border-radius:8px}[data-combo-conflict] p{font-size:13px}.billing-presets-fold[open] .preset-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-presets-fold .preset-buttons button{white-space:normal;min-height:44px}.billing-presets-fold [data-preset-buttons]{max-height:270px;overflow:auto}.invoice-consent-fees{max-height:250px;overflow:auto;border:1px solid var(--line);padding:12px}

.combo-review{padding:16px;margin:12px 0;background:#f2f8f7;border:1px solid #bfd8d3;border-radius:10px}.combo-review[hidden]{display:none}.combo-review table{width:100%}.combo-review input[type=number]{width:80px}.combo-review input[type=checkbox]{width:auto}.combo-review .charge-summary{margin-top:12px}.combo-review td small{display:block}

/* The two working columns own the full composer height. Auxiliary tools belong
   inside the editor, never new rows in this fixed-height grid. */
dialog.billing-dialog:has(#billing-composer){width:calc(100vw - 24px);max-width:1800px;max-height:calc(100dvh - 24px);padding:16px;margin:auto}
dialog.billing-dialog:has(#billing-composer) .billing-composer{grid-template-columns:minmax(360px,36%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:clamp(480px,66vh,780px);min-height:480px}
.billing-composer>.billing-picker-column,.billing-composer>.billing-editor-column{min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px}
.billing-composer .billing-results{max-height:max(240px,calc(66vh - 270px));min-height:240px;padding:0 10px}
.billing-composer .billing-result{padding:12px 2px;gap:10px}
.billing-composer .billing-result strong{font-size:15px;overflow-wrap:anywhere}
.billing-composer .billing-result small{font-size:12px;line-height:1.5}
.billing-composer .billing-result button{font-size:13px;min-height:36px;padding:7px 10px}
.billing-composer .billing-table{min-width:740px}
.billing-composer .billing-table th:nth-child(2){width:112px}
.billing-composer .billing-tablewrap{max-height:none;min-height:160px}
.billing-composer .billing-lines-heading{position:sticky;top:-14px;background:white;z-index:3;padding:10px 0;margin:-4px 0 8px}
.billing-composer .billing-editor-column>.card{margin:12px 0;padding:10px 12px}
.billing-composer .fee-ai-panel{padding:12px;margin:12px 0}
.billing-composer .fee-ai-panel .pagehead{margin-bottom:6px}
.billing-composer .fee-ai-panel p{font-size:12px;line-height:1.5;margin:8px 0}
dialog.billing-dialog:has(#billing-composer) #modal-form>.actions{bottom:-16px;padding:12px 0;background:white}
@media(max-width:1000px) and (min-width:851px){dialog.billing-dialog:has(#billing-composer) .billing-composer{grid-template-columns:340px minmax(0,1fr)}}
@media(max-width:850px){dialog.billing-dialog:has(#billing-composer){width:calc(100vw - 12px);padding:12px}dialog.billing-dialog:has(#billing-composer) .billing-composer{grid-template-columns:1fr;grid-template-rows:auto auto;height:auto;min-height:0}.billing-composer>.billing-picker-column{max-height:480px}.billing-composer>.billing-editor-column{max-height:none;overflow:visible}.billing-composer .billing-results{min-height:200px}.billing-composer .billing-lines-heading{position:static}}
.billing-composer .billing-favorite-filter{margin:6px 0;font-size:12px}
.billing-composer .billing-catalog-toolbar{display:grid;grid-template-columns:1fr auto;gap:4px;padding:6px 0}
.billing-composer .billing-catalog-toolbar>span{grid-column:1/-1;order:3}
.billing-composer .billing-result{padding:9px 2px}
.billing-composer .billing-presets-fold{margin:8px 0}

.billing-quick-payment{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.billing-quick-payment button{padding:9px 14px;border-color:#8ebeb3;color:#125f55}.billing-quick-payment span{font-size:12px;color:var(--muted)}.billing-patient-search{position:relative}.billing-patient-matches{position:absolute;top:100%;left:0;right:0;z-index:8;padding:6px;background:white;border:1px solid #8ab9af;box-shadow:0 8px 20px #173f3922;border-radius:8px;max-height:260px;overflow:auto}.billing-patient-matches[hidden]{display:none}.billing-patient-matches button{display:block;width:100%;text-align:left;border:0;padding:10px;white-space:normal}.billing-patient-matches button:hover{background:#e7f4ef}.billing-patient-matches small{display:block;padding:10px}

/* Reference billing desk: category browser, wide line editor, persistent checkout. */
dialog.billing-reference-dialog:has(#billing-composer){width:calc(100vw - 24px);height:calc(100dvh - 24px);max-width:none;max-height:none;padding:0;border-radius:6px;overflow:hidden;color:#414b56}
.billing-reference-dialog #modal-content{height:100%;display:flex;flex-direction:column;min-height:0}
.billing-reference-dialog #modal-content>h2{font-size:18px;font-weight:600;padding:16px 22px;margin:0;border-bottom:1px solid #dce2e7;background:#f8f9fa}
.billing-reference-dialog #modal-form{display:flex;flex-direction:column;flex:1;min-height:0}
dialog.billing-reference-dialog:has(#billing-composer) #modal-form>.grid{display:flex;flex-direction:column;flex:1;min-height:0;gap:0}
.billing-desk-context{display:flex;gap:20px;align-items:end;padding:12px 22px;background:#fff;border-bottom:1px solid #dce2e7;flex-wrap:wrap}
.billing-desk-context>label,.billing-desk-context>.billing-patient-search{flex:1;min-width:180px;max-width:310px;margin:0;font-size:12px}
.billing-desk-context .billing-patient{min-width:220px;padding:0;margin:0}.billing-desk-context .billing-patient strong{font-size:20px}.billing-desk-context .billing-patient small{display:block;color:#7c8794;margin-bottom:4px}
dialog.billing-reference-dialog:has(#billing-composer) .billing-composer{flex:1;min-height:0;height:auto;grid-template-columns:300px minmax(0,1fr);border:0;border-radius:0;background:white}
.billing-reference-dialog .billing-composer>.billing-picker-column{padding:0 14px 16px;background:#fafbfc;border-color:#dce2e7}
.billing-reference-dialog .billing-composer>.billing-editor-column{padding:0 18px 20px;background:#fff}
.billing-reference-dialog .billing-directory-title{font-size:15px;font-weight:500;margin:0 -14px 10px;padding:14px 16px;background:#e9ebee;color:#616c78}
.billing-reference-dialog .billing-mode-tabs{display:flex}.billing-reference-dialog .billing-mode-tabs button{flex:1;border-radius:3px}
.billing-reference-dialog .billing-catalog-filters{flex-wrap:wrap}.billing-reference-dialog .billing-catalog-filters select:first-child{width:100%}.billing-reference-dialog .billing-catalog-filters select:not(:first-child){width:calc(50% - 4px);flex:1}
.billing-reference-dialog .billing-composer .billing-results{min-height:0;max-height:none;padding:0;background:transparent;border:0;overflow:visible}
.billing-catalog-branch{border-bottom:1px solid #e5e9ed}.billing-catalog-branch>summary{cursor:pointer;color:#3484a6;list-style-position:inside;font-size:14px;line-height:1.6;padding:12px 4px!important}.billing-catalog-branch[open]>summary{font-weight:600;color:#007e98}
.billing-reference-dialog .billing-result{background:white;border-bottom:1px solid #e8ecef;padding:10px 5px!important}.billing-reference-dialog .billing-result strong{font-size:13px!important}.billing-reference-dialog .billing-result small{font-size:11px!important}.billing-reference-dialog .catalog-charge-split{display:none}
.billing-reference-dialog .billing-composer .billing-desk-search{position:sticky;top:0;z-index:5;background:#e9ebee;margin:0 -18px 0;padding:10px 16px;border:0;display:flex}
.billing-reference-dialog .billing-desk-search input{width:100%;max-width:680px;background:#fff;border-radius:3px;min-height:38px;font-size:14px}
.billing-reference-dialog .billing-composer .billing-lines-heading{position:static;margin:0;padding:12px 0;gap:8px;border-bottom:2px solid #04a5bb;font-size:13px;flex-wrap:wrap}
.billing-reference-dialog .billing-tier-tools{margin-left:auto;font-size:11px}.billing-reference-dialog .billing-tier-tools select{width:110px}.billing-reference-dialog .billing-tier-tools label{font-size:11px}
.billing-reference-dialog .billing-composer .billing-table{min-width:700px;font-size:13px}.billing-reference-dialog .billing-composer .billing-table th{background:#f8fafb;color:#697481;font-weight:500;padding:11px 6px;border-bottom:1px solid #dce2e7}.billing-reference-dialog .billing-table th:first-child{width:30%}.billing-reference-dialog .billing-composer .billing-table td{padding:9px 6px;vertical-align:top}
.billing-reference-dialog .billing-composer .billing-tablewrap{min-height:180px;max-height:none;overflow:auto;border:0}.billing-reference-dialog .billing-table input{border-radius:3px;min-height:32px;padding:6px}.billing-reference-dialog .billing-table .billing-row-price select{font-size:11px;padding:4px;margin:3px 0}
.billing-reference-dialog .charge-summary{gap:0;margin:10px 0 0;border-block:1px solid #e1e6ea}.billing-reference-dialog .charge-metric{border:0;border-radius:0;background:#f8fafb!important;padding:10px 14px}.billing-reference-dialog .charge-metric strong{font-size:16px}.billing-reference-dialog .charge-metric span{font-size:12px}.billing-reference-dialog .charge-summary-note{font-size:11px}
.billing-reference-dialog .billing-summary{padding:10px 0;border:0;background:white}.billing-reference-dialog .billing-payment{margin:12px 0;border-radius:3px;background:#f7f8fa;border:1px solid #e4e8ed;padding:14px}.billing-reference-dialog .billing-quick-payment{margin-bottom:10px}.billing-reference-dialog .billing-quick-payment span{display:none}.billing-reference-dialog .billing-quick-payment button{padding:7px 12px;background:#fff;border-color:#d5dee5;border-radius:3px}
.billing-reference-dialog .billing-links,.billing-reference-dialog .billing-explanation{font-size:12px;color:#697481}.billing-reference-dialog .billing-payment .payment-entry-row{grid-template-columns:minmax(140px,220px) minmax(110px,180px) auto}
.billing-reference-dialog #modal-form>#form-error{flex:none;margin:0;padding:0 20px;max-height:80px;overflow:auto;background:white}
dialog.billing-reference-dialog:has(#billing-composer) #modal-form>.actions{flex:none;position:static;display:flex;align-items:center;gap:10px;margin:0;padding:12px 22px;border-top:1px solid #dce2e7;background:#fff;box-shadow:0 -3px 12px #192e3e08;z-index:10}
.billing-reference-dialog #modal-form>.actions>button{min-width:92px;border-radius:3px;padding:10px 18px}.billing-reference-dialog .billing-footer-total{margin-right:auto;font-size:20px;color:#007e91;font-variant-numeric:tabular-nums}.billing-reference-dialog .primary{background:#00a4bb;border-color:#00a4bb}.billing-reference-dialog .billing-mode-tabs .active{background:#e1f5f8;border-color:#70c5cf;color:#087a8a}
@media(max-width:1100px) and (min-width:721px){dialog.billing-reference-dialog:has(#billing-composer) .billing-composer{grid-template-columns:260px minmax(0,1fr)}.billing-reference-dialog .billing-tier-tools{width:100%}.billing-reference-dialog .billing-composer .billing-table{min-width:660px}}
@media(max-width:720px){dialog.billing-reference-dialog:has(#billing-composer){width:100vw;height:100dvh;border-radius:0}.billing-reference-dialog #modal-content>h2{padding:12px}.billing-desk-context{padding:10px 12px;gap:8px}.billing-desk-context>label,.billing-desk-context>.billing-patient-search{min-width:130px}.billing-desk-context .billing-patient{min-width:130px}.billing-desk-context .billing-patient strong{font-size:16px}dialog.billing-reference-dialog:has(#billing-composer) #modal-form>.grid{overflow:auto;display:block}dialog.billing-reference-dialog:has(#billing-composer) .billing-composer{display:flex;flex-direction:column;height:auto;min-height:0}.billing-reference-dialog .billing-composer>.billing-picker-column{max-height:340px;overflow:auto;padding:0 12px 10px;flex:none}.billing-reference-dialog .billing-composer>.billing-editor-column{overflow:visible;padding:0 12px 12px;flex:none}.billing-reference-dialog .billing-directory-title{padding:10px 12px;margin-bottom:6px}.billing-reference-dialog .billing-composer .billing-desk-search{position:static;margin:0 -12px;padding:10px 12px}.billing-reference-dialog .billing-tier-tools{width:100%}.billing-reference-dialog .billing-composer .billing-tablewrap{min-height:110px}.billing-reference-dialog .charge-metric{padding:8px}.billing-reference-dialog .charge-metric strong{font-size:14px}.billing-reference-dialog .billing-payment .payment-entry-row{grid-template-columns:1fr 1fr auto;gap:6px}.billing-reference-dialog .billing-payment{padding:10px}dialog.billing-reference-dialog:has(#billing-composer) #modal-form>.actions{padding:10px;gap:6px;flex-wrap:wrap}.billing-reference-dialog .billing-footer-total{font-size:17px;flex-basis:100%}.billing-reference-dialog #modal-form>.actions>button{min-width:76px;flex:1;padding:8px}.billing-reference-dialog #modal-form>.actions>button[hidden]{display:none}}
.billing-reference-dialog .billing-source-choice{margin:8px 0}.billing-reference-dialog .billing-source-choice select{width:100%;max-width:none}.billing-reference-dialog .billing-picker-filters{margin:6px 0;font-size:12px}.billing-reference-dialog .billing-picker-filters>summary{cursor:pointer;color:#627585;padding:7px 0}.billing-reference-dialog .billing-catalog-filters select{width:calc(50% - 4px)!important;max-width:none;flex:1}.billing-reference-dialog .billing-catalog-filters{display:flex;flex-wrap:nowrap}

/* Keep settlement visible without another disclosure step. */
.billing-footer-payment{font-size:12px;color:var(--muted);max-width:320px;line-height:1.5}
.billing-reference-dialog .billing-payment .payment-enable{margin:8px 0 12px}
@media(max-width:720px){.billing-footer-payment{flex-basis:100%;max-width:none}.billing-reference-dialog .billing-quick-payment button{flex:1 1 40%;min-height:40px}}

.billing-discount-tools{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.billing-discount-tools label{font-size:12px;display:grid;gap:4px}.billing-discount-tools input{width:145px}.billing-discount-tools small{flex-basis:100%;color:var(--muted)}.billing-discount-tools p{flex-basis:100%;margin:0}.billing-row-discount{display:block;font-size:11px;margin-top:6px;color:var(--muted)}.billing-row-discount input{display:block;width:100%}.billing-discount-tools[hidden]{display:none}

/* The catalogue column owns scrolling; combinations must not be clipped to 240px. */
.billing-composer .billing-combo-list{max-height:none;overflow:visible;margin:0;padding:0;border:0}
.billing-composer .billing-combo-list article{display:flex;align-items:center;gap:8px;padding:9px 0}
.billing-composer .billing-combo-list article>div{flex:1;min-width:0}
.billing-composer .billing-combo-list strong{font-size:13px;line-height:1.5;display:block}
.billing-composer .billing-combo-list small{font-size:11px;line-height:1.4;display:block;color:var(--muted)}
.billing-composer .billing-combo-list button{flex:none;font-size:12px;padding:6px}
.billing-combo-filter{position:sticky;top:0;background:#fafbfc;z-index:2;padding:8px 0}
.billing-combo-filter label{margin:0 0 6px}
.billing-composer .billing-combo-list .billing-choice-row{padding:0;border:0;background:transparent}
.billing-composer .billing-combo-list .billing-combo-choice{display:block;width:100%;text-align:left;border:0!important;background:transparent!important;color:#009dc0;padding:9px 10px;font-size:13px;line-height:1.5;border-radius:3px;box-shadow:none}
.billing-composer .billing-combo-list .billing-combo-choice[aria-pressed=true]{background:#e5f7fb!important}
.billing-composer .billing-combo-list .billing-combo-choice:hover{background:#f0fafc!important}
.combo-review .billing-review-choice{display:flex;align-items:center;gap:12px;justify-content:space-between;text-align:left;width:100%;border:0!important;background:transparent!important;color:#009dc0;padding:8px 4px;box-shadow:none;min-height:36px}
.combo-review .billing-review-choice strong{font-size:13px;font-weight:500}
.combo-review [data-choice-state]{font-size:11px;white-space:nowrap;color:#708995}
.combo-review .billing-choice-selected{background:#e9f8fb}
.combo-review .billing-choice-selected [data-choice-state]{color:#008fae}
.billing-editor-column>[data-preset-selection]:not([hidden]){padding:14px;border:1px solid var(--line);background:#f6faf8;margin:12px 0;border-radius:8px}
.billing-table td:nth-child(5):has([data-row-rate])::before{content:none}
@media(min-width:1101px){dialog.billing-reference-dialog:has(#billing-composer) .billing-composer{grid-template-columns:350px minmax(0,1fr)}}
@media(max-width:720px){.billing-table td:nth-child(5):has([data-row-rate])::before{content:'折扣（%）'}}

/* Read-only context expands independently of the existing payment form. */
.invoice-context{margin:10px 0 16px}.invoice-context-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.invoice-context-tools button{font-size:13px;padding:7px 12px}.invoice-context-panel{margin-top:10px;padding:14px;border:1px solid #cddfe4;border-radius:7px;background:#f8fcfd;max-height:420px;overflow:auto;overscroll-behavior:contain}.invoice-context-panel[hidden]{display:none!important}.invoice-context-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.invoice-context-heading h3{margin:0;font-size:15px}.invoice-context-heading small{font-weight:400;font-size:11px;color:var(--muted);margin-left:8px}.invoice-context-heading button{font-size:12px;padding:4px 9px}.invoice-context-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;margin:0 0 12px}.invoice-context-facts div{min-width:0}.invoice-context-facts dt{font-size:11px;color:var(--muted);margin-bottom:4px}.invoice-context-facts dd{margin:0;font-size:13px;overflow-wrap:anywhere}.invoice-context-allergy{background:#fff8e8;color:#725322;border:1px solid #ead7aa;padding:10px;border-radius:4px;overflow-wrap:anywhere}.invoice-context-clinical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.invoice-context-clinical section,.invoice-context-teeth>div{min-width:0;padding:10px;background:white;border:1px solid #e1e9ed;border-radius:4px}.invoice-context h4{margin:0 0 7px;font-size:13px;color:#3b606c}.invoice-context-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.65;margin:0}.invoice-context-teeth{margin-top:14px}.invoice-context-teeth>div{margin-top:8px}.invoice-context-teeth>div>span{margin-right:8px}.invoice-context-teeth .invoice-context-text{margin-top:6px}.invoice-context-panel [role=alert]{overflow-wrap:anywhere}
@media(max-width:720px){.invoice-context-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-context-clinical{grid-template-columns:1fr}.invoice-context-panel{padding:10px;max-height:50dvh}.invoice-context-tools button{min-height:40px}}
.billing-composer [data-review-error]:empty{display:none}
