/* Billing desk: directory / line editor / settlement, shared across entry points. */
dialog.billing-reference-dialog:has(#billing-composer){width:calc(100vw - 40px);height:calc(100dvh - 40px);border-radius:4px}
.billing-reference-dialog .billing-desk-context{padding:10px 20px;gap:28px}
.billing-reference-dialog .billing-desk-context .billing-patient strong{font-size:18px}
dialog.billing-reference-dialog:has(#billing-composer) .billing-composer{grid-template-columns:minmax(250px,25%) minmax(0,1fr)}
.billing-reference-dialog .billing-composer>.billing-picker-column{background:#fff;padding:0 14px 14px}
.billing-reference-dialog .billing-directory-title{background:#e8e8e8;padding:13px 16px;margin-bottom:12px}
.billing-reference-dialog .billing-mode-tabs button{padding:8px 4px;font-size:13px}
.billing-reference-dialog .billing-source-choice select{border-radius:2px;min-height:36px}
.billing-reference-dialog .billing-composer .billing-desk-search{flex-wrap:nowrap;gap:8px;padding:8px 12px;background:#e8e8e8;align-items:center}
.billing-reference-dialog .billing-desk-search input{flex:1;min-width:0;max-width:none;margin:0;min-height:36px}
.billing-reference-dialog .billing-directory-toggle{flex:none;padding:8px 10px;background:white;border-radius:2px;font-size:12px}
dialog.billing-reference-dialog:has(#billing-composer) .billing-directory-collapsed{grid-template-columns:minmax(0,1fr)}
.billing-reference-dialog .billing-picker-column[hidden]{display:none}
.billing-reference-dialog .billing-catalog-branch>summary{padding:11px 4px!important;color:#4198ca;font-weight:400}
.billing-reference-dialog .billing-lines-heading{background:white;padding:10px 0!important}
.billing-reference-dialog .billing-pricing-tools{font-size:12px;margin-left:auto}
.billing-reference-dialog .billing-pricing-tools>summary{cursor:pointer;color:#627483}
.billing-reference-dialog .billing-pricing-tools .billing-tier-tools{display:flex;gap:6px;padding:8px 0;flex-wrap:wrap}
.billing-reference-dialog .billing-composer .billing-table th{background:white;font-size:13px;padding:12px 6px;color:#666}
.billing-reference-dialog .billing-composer .billing-table td{background:white}
.billing-reference-dialog .billing-composer .billing-tablewrap{min-height:190px}
.billing-reference-dialog [data-charge-summary] .charge-summary{background:white;border-bottom:1px solid #e4e7ea;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
.billing-reference-dialog .charge-metric{background:white!important;padding:10px 8px}
.billing-reference-dialog .charge-metric.due{border-left:1px solid #e4e7ea;text-align:right}
.billing-reference-dialog .charge-metric.due strong{color:#00a5be;font-size:20px}
.billing-reference-dialog .charge-summary-note{margin:5px 0;color:#87929b}
.billing-reference-dialog .billing-discount-tools{background:#fafafa;padding:10px 12px;gap:8px;border:1px solid #eceff1;border-radius:2px}
.billing-reference-dialog .billing-discount-tools>strong{display:none}
.billing-reference-dialog .billing-discount-tools label{display:flex;align-items:center;gap:10px;margin:0}
.billing-reference-dialog .billing-discount-tools input{width:108px;margin:0;border-radius:2px;min-height:34px}
.billing-reference-dialog .billing-discount-tools button{padding:7px 10px;font-size:12px}
.billing-reference-dialog .billing-discount-tools label:has([data-bill-due]){margin-left:auto}
.billing-reference-dialog .billing-discount-tools small{font-size:11px}
.billing-reference-dialog .billing-payment{background:#f6f6f6;margin-top:12px;padding:12px 14px;border-color:#e6e6e6}
.billing-reference-dialog .billing-quick-payment strong{font-size:13px;color:#717b83}
.billing-reference-dialog .billing-quick-payment button{background:white;color:#009bb5;border-color:#dce4e8;min-height:34px}
.billing-reference-dialog .billing-check-tools{margin:12px 0;font-size:12px;border-top:1px solid #e6eaed;color:#697985}
.billing-reference-dialog .billing-check-tools>summary{cursor:pointer;padding:10px 0}
.billing-reference-dialog .billing-check-tools .fee-ai-panel{margin:8px 0}
.billing-reference-dialog #modal-form>.actions{padding:10px 20px!important}
.billing-reference-dialog .billing-footer-total{font-size:20px}
.billing-reference-dialog #modal-form>.actions>button.primary{background:#00abc2;border-color:#00abc2}
.billing-workspace{border-radius:3px;box-shadow:none}
.billing-workspace .billing-view-tabs{border-bottom:1px solid #dce3e7;gap:0;margin:14px 0}
.billing-workspace .billing-view-tabs button{border-radius:0;background:white;border:1px solid #dce3e7;min-width:110px;padding:10px 18px}
.billing-workspace .billing-view-tabs button.active{color:#009db6;border-top:2px solid #00abc2;background:#f0fbfc}
.billing-workspace .billing-metric{border-radius:3px;box-shadow:none}
.billing-workspace .billing-filters{background:#f7f8fa;padding:12px;border:1px solid #e7ebee;border-radius:2px}
@media(max-width:1100px) and (min-width:721px){dialog.billing-reference-dialog:has(#billing-composer) .billing-composer{grid-template-columns:250px minmax(0,1fr)}.billing-reference-dialog .billing-discount-tools label:has([data-bill-due]){margin-left:0}}
@media(max-width:720px){
 dialog.billing-reference-dialog:has(#billing-composer){width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
 .billing-reference-dialog .billing-desk-context{padding:10px 12px;gap:10px}
 dialog.billing-reference-dialog:has(#billing-composer) .billing-composer{display:flex}
 .billing-reference-dialog .billing-composer .billing-desk-search{position:static;gap:6px}
 .billing-reference-dialog .billing-directory-toggle{padding:8px 6px}
 .billing-reference-dialog .billing-composer .billing-table{min-width:0;display:block;width:100%}
 .billing-reference-dialog .billing-composer .billing-tablewrap{min-height:100px;overflow:visible}
 .billing-reference-dialog .billing-table td{background:transparent}
 .billing-reference-dialog .billing-pricing-tools{width:100%;margin-left:0}
 .billing-reference-dialog .billing-discount-tools label{flex:1 1 55%;justify-content:space-between}
 .billing-reference-dialog .billing-discount-tools label:has([data-bill-due]){margin-left:0}
 .billing-reference-dialog .billing-payment .payment-entry-row{grid-template-columns:1fr!important}
 .billing-reference-dialog #modal-form>.actions{padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important}
 .billing-reference-dialog .billing-footer-total{flex-basis:auto;margin-left:auto;font-size:18px}
 .billing-reference-dialog .billing-footer-payment{max-width:60%;flex-basis:auto}
}
/* Keep settlement in view; repeated reconciliation details remain expandable. */
.billing-reference-dialog .billing-composer .billing-tablewrap{min-height:130px}
.billing-reference-dialog .charge-metric{display:flex;gap:12px;align-items:center;padding:10px 8px}
.billing-reference-dialog .charge-metric strong{margin:0;font-size:16px}
.billing-reference-dialog .charge-metric.due{justify-content:flex-end}
.billing-reference-dialog .charge-summary-note{font-size:10px;margin:4px 0}
.billing-reference-dialog [data-discount-error]:empty{display:none}
.billing-reference-dialog .billing-summary{padding:6px 0;margin:0;font-size:12px}
.billing-reference-dialog .billing-summary>strong{display:none}
.billing-reference-dialog [data-billing-breakdown]{font-size:11px;margin-bottom:5px}
.billing-reference-dialog .billing-discount-tools small{font-size:10px}
@media(max-width:720px){.billing-reference-dialog .charge-metric{display:block}.billing-reference-dialog .charge-metric strong{margin-top:4px}}
@media(max-width:720px){
 .billing-reference-dialog .billing-composer>.billing-picker-column{max-height:220px}
 .billing-reference-dialog #modal-form>.actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .billing-reference-dialog .billing-footer-payment{display:none}
 .billing-reference-dialog .billing-footer-total{grid-column:1/-1;margin:0;text-align:right}
 .billing-reference-dialog #modal-form>.actions>button{min-width:0;padding:9px 3px;font-size:12px;min-height:42px}
 .billing-reference-dialog #modal-form>.actions>button[hidden]{display:none}
}

@media(max-width:720px){
 .billing-reference-dialog .billing-table tr[data-charge-group]{display:block;padding:10px 12px;border-radius:3px;background:#eff9fb}
 .billing-reference-dialog .billing-table tr[data-charge-group] th{display:block;width:100%;min-width:0;padding:0;font-size:13px}
 .billing-reference-dialog .billing-table tr[data-charge-group] span{float:none;display:block;margin-top:4px}
 .billing-reference-dialog .billing-lines-heading{display:flex;gap:6px;align-items:center}
}

/* Desktop keeps the same four actions throughout entry, collection and printing. */
@media screen and (min-width:721px){
 .billing-reference-dialog #modal-form[data-desktop-billing="1"]>.actions{gap:10px}
 .billing-reference-dialog #modal-form[data-desktop-billing="1"]>.actions>[data-invoice-save-only]{display:none}
 .billing-reference-dialog #modal-form[data-desktop-billing="1"]>.actions>button[type=submit]{order:1}
 .billing-reference-dialog #modal-form[data-desktop-billing="1"]>.actions>[data-invoice-prepare-payment]{order:2}
 .billing-reference-dialog #modal-form[data-desktop-billing="1"]>.actions>#cancel-modal{order:3}
 .billing-reference-dialog #modal-form[data-desktop-billing="1"]>.actions>[data-invoice-save-print]{order:4;margin-left:20px;background:#fff;color:#697481}
 .billing-reference-dialog #modal-form[data-desktop-billing="1"] .payment-enable{display:none}
 .billing-reference-dialog .billing-composer .billing-result{border:0;border-bottom:1px solid #e8edf0;border-radius:0;padding:9px 2px;box-shadow:none;gap:5px}
 .billing-reference-dialog .billing-composer .billing-result strong{font-size:13px;font-weight:500}
 .billing-reference-dialog .billing-composer .billing-result small{font-size:11px;line-height:1.5}
 .billing-reference-dialog .billing-result .catalog-category-path,.billing-reference-dialog .billing-result .catalog-charge-split{display:none}
 .billing-reference-dialog .billing-result>button{min-width:42px;padding:6px;font-size:12px;background:#fff;color:#00a5bd;border:0}
 .billing-reference-dialog .billing-catalog-toolbar{border-block:1px solid #eef0f2;padding:8px 0;font-size:11px}
 .billing-reference-dialog .billing-catalog-toolbar>span{display:none}
 .billing-reference-dialog .billing-quick-payment{padding-bottom:10px;border-bottom:1px solid #e2e8ec}
 .billing-reference-dialog .billing-quick-payment strong{display:none}
 .billing-reference-dialog .billing-payment .payment-entry-row{grid-template-columns:minmax(130px,220px) minmax(100px,180px) auto;align-items:end}
 .billing-reference-dialog .billing-payment .payment-entry-row:only-child [data-payment-remove]{visibility:hidden}
 .billing-reference-dialog .billing-payment [data-payment-summary]{margin:6px 0;color:#61737d}
 .billing-reference-dialog .billing-composer .billing-searchbar>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
}
.invoice-print-saved-notice{padding:10px 12px;border:1px solid #cae5e9;background:#f2fbfc;color:#457078;font-size:13px;border-radius:3px;overflow-wrap:anywhere}

@media screen and (min-width:721px){
 .billing-reference-dialog #modal-form[data-desktop-billing="1"] .billing-discount-tools small{display:none}
 .billing-reference-dialog #modal-form[data-desktop-billing="1"] .billing-picker-column>.billing-message{display:block;margin:6px 0;font-size:11px;color:#58727d;line-height:1.5}
 .billing-reference-dialog #modal-form[data-desktop-billing="1"] .billing-payment{margin-top:12px}
 .billing-reference-dialog #modal-form[data-desktop-billing="1"] .billing-check-tools{margin:4px 0}
 .billing-reference-dialog #modal-form[data-desktop-billing="1"] .billing-discount-tools{align-items:center}
 .billing-reference-dialog #modal-form[data-desktop-billing="1"] .billing-discount-tools [data-discount-error]:empty{display:none}
}

@media screen and (min-width:721px){
 .billing-reference-dialog .billing-payment-options{margin:8px 0 0;font-size:12px;color:#75828b}
 .billing-reference-dialog .billing-payment-options>summary{padding:4px 0;cursor:pointer}
 .billing-reference-dialog .billing-payment-options .billing-lines-heading{border:0;background:transparent}
 .billing-reference-dialog .billing-composer .billing-table thead{position:sticky;top:54px;z-index:3;background:#fff}
}
