/* Billing */
.billing{display:grid;gap:12px}
.bl-tabs button span{display:inline-block;min-width:18px;margin-left:4px;padding:0 6px;border-radius:9px;background:#e3f2f6;color:#0b6f88;font-size:11px}
.bl-lead{margin:0 0 10px}
.bl-table td.num,.bl-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.bl-table td{vertical-align:middle}
.bl-table small{display:block;color:#7b96a0;font-size:11px}
.bl-act{text-align:right;white-space:nowrap}.bl-act small{margin-top:4px;white-space:normal}
.bl-inline{display:inline;font-size:inherit}
.bl-pill{display:inline-block;border:1px solid #b1dce7;background:#e5f5f9;color:#177b95;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;white-space:nowrap;vertical-align:middle}
.bl-pill.waiting{border-color:#ecd9a3;background:#fdf6e1;color:#8a6510}
.bl-pill.void{border-color:#d6dde0;background:#f1f4f5;color:#6b7f86}
.bl-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.bl-filters input{flex:1 1 260px;max-width:420px;height:40px;border:1px solid #cce0e0;border-radius:5px;padding:0 12px;font:inherit;background:#fff}
.bl-filters select{height:40px;border:1px solid #cce0e0;border-radius:5px;padding:0 10px;font:inherit;background:#fff}
.bl-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:6px}
.bl-head h2{margin:0;font-size:22px;flex:1;min-width:200px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.bl-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bl-danger{color:#a12a2a!important;border-color:#ebb5b5!important}
.bl-bad{color:#a12a2a}
.bl-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:#d3e6eb;border:1px solid #d3e6eb;border-radius:8px;overflow:hidden;margin-bottom:12px}
.bl-meta>div{background:#fff;padding:10px 14px;display:grid;gap:3px;align-content:start;min-width:0}
.bl-meta span,.bl-parties span,.bl-memo label{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#63808b}
.bl-meta small{color:#6e8b94;font-size:12px}
.bl-parties{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:12px}
.bl-parties>div{background:#fff;border:1px solid #d3e6eb;border-radius:8px;padding:10px 14px}
.bl-parties p{margin:4px 0 0;white-space:pre-line;font-size:13px;line-height:1.6}
.bl-in{height:34px;border:1px solid #cce0e0;border-radius:4px;padding:0 8px;font:inherit;font-size:13px;background:#fff;width:100%;box-sizing:border-box}
.bl-price{max-width:120px;text-align:right}
.bl-lines td:nth-child(2){min-width:220px}
.bl-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:20px;align-items:start;margin-top:12px}
.bl-memo{display:grid;gap:6px}.bl-memo textarea{border:1px solid #cce0e0;border-radius:5px;padding:8px 10px;font:inherit;font-size:13px;resize:vertical}
.bl-memo p{margin:0;font-size:13px;white-space:pre-wrap}
.bl-totals{width:100%;border-collapse:collapse;background:#fff;border:1px solid #d3e6eb;border-radius:8px;font-size:13px}
.bl-totals th{text-align:left;font-weight:500;padding:8px 12px;color:#45616a}.bl-totals td{text-align:right;padding:8px 12px;font-variant-numeric:tabular-nums;vertical-align:top}
.bl-totals small{display:block;color:#7b96a0;font-weight:400}
.bl-total th,.bl-total td{font-weight:700;font-size:16px;border-top:1px solid #d3e6eb;color:#123f4a}
.bl-tax{display:grid;gap:6px;margin-top:6px}.bl-tax label{display:flex;gap:6px;align-items:center;font-size:12px}
.bl-tax select,.bl-tax input[type=number]{height:32px;border:1px solid #cce0e0;border-radius:4px;padding:0 8px;font:inherit;font-size:12px;background:#fff}
.bl-qbnote{margin-top:12px;font-size:12px}
@media(max-width:720px){.bl-bottom{grid-template-columns:1fr}.bl-head h2{font-size:18px}}
.bl-tax input[type=checkbox]{width:16px;height:16px;min-height:0;margin:0;padding:0;accent-color:#087e9c}
#bl-msg{color:#1d7a43;min-height:18px;margin:0 0 6px}#bl-msg.bl-bad{color:#a12a2a}
.bl-addline{margin-top:8px}
.bl-small{padding:4px 10px;min-height:0;font-size:12px}
.bl-applied h3,.bl-apply h3{font-size:13px;margin:14px 0 6px}.bl-apply h3 small{font-weight:400;color:#6e8b94;margin-left:6px}
.bl-applied ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.bl-applied li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#fff;border:1px solid #d3e6eb;border-radius:6px;padding:6px 10px;font-size:13px}
.bl-applied li span{flex:1}.bl-applied li small{color:#7b96a0}
.bl-apply{background:#f1f9fb;border:1px dashed #87c3d2;border-radius:8px;padding:4px 12px 12px;margin-top:12px}
.bl-apply-row{display:flex;flex-wrap:wrap;gap:8px}
.bl-apply-row select{flex:1 1 240px;height:36px;border:1px solid #cce0e0;border-radius:4px;padding:0 8px;font:inherit;font-size:13px;background:#fff}
.bl-apply-row input{width:120px;height:36px;border:1px solid #cce0e0;border-radius:4px;padding:0 8px;font:inherit;font-size:13px;text-align:right}
.bl-lines td small{display:block;color:#7b96a0;font-size:11px}

.bl-top-msg{margin:0;min-height:0;color:#1d7a43;font-size:13px}.bl-top-msg:empty{display:none}.bl-top-msg.bl-bad{color:#a12a2a}
.bl-route{background:#fff;border:1px solid #d3e6eb;border-radius:10px;padding:12px;margin-bottom:12px;display:grid;gap:10px}
.bl-route>header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.bl-route>header strong{font-size:15px}.bl-route>header small{display:block;color:#6e8b94;font-size:12px;margin-top:2px}
.bl-route .crm-table-scroll{border:0}
.bl-banner{background:#fdf6e1;border:1px solid #ecd9a3;color:#6e520d;border-radius:8px;padding:8px 12px;margin-bottom:10px;font-size:13px}
.bl-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;background:#fff;border:1px solid #d3e6eb;border-radius:8px;padding:14px;margin-bottom:12px}
.bl-form label{display:grid;gap:4px;font-size:12px;color:#567882}
.bl-form input,.bl-form select{height:38px;border:1px solid #cce0e0;border-radius:5px;padding:0 10px;font:inherit;font-size:13px;background:#fff;min-width:0}
.bl-form .bl-wide{grid-column:1/-1}
.bl-h3{display:flex;align-items:center;gap:10px;font-size:14px;margin:6px 0 8px}
.bl-paysum{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:18px;margin-top:12px;padding:12px 14px;background:#fff;border:1px solid #d3e6eb;border-radius:8px;font-size:14px}
.bl-deptotal{font-size:16px;font-variant-numeric:tabular-nums}
/* Balances, collections, customer billing */
.bl-kpis{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 14px}.bl-kpis>div{flex:1 1 150px;background:#fff;border:1px solid #d3e6eb;border-radius:8px;padding:12px 14px}.bl-kpis small{display:block;font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:#6e8b94;margin-bottom:6px}.bl-kpis strong{font-size:18px;color:#1d4f5a}.bl-kpis strong small{display:inline;text-transform:none;letter-spacing:0;font-weight:400}
.bl-late{color:#b42318!important}.bl-aging tfoot th{background:#f3f8fa;font-size:12px;letter-spacing:0;text-transform:none;color:#1d4f5a}.bl-aging td:first-child{min-width:180px}.bl-aging td:nth-child(2){min-width:0}
.bl-aging-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #d3e6eb;border-radius:8px;background:#fff;margin-bottom:18px}.bl-aging-bar span{padding:10px 12px;border-left:1px solid #e8f0f2}.bl-aging-bar span:first-child{border-left:0}.bl-aging-bar small{display:block;font-size:10px;color:#6e8b94;margin-bottom:4px}.bl-aging-bar strong{font-size:14px;color:#1d4f5a}
.bl-body h3{font-size:14px;margin:22px 0 10px;color:#1d4f5a}.bl-note{background:#fdf1ef;border:1px solid #f1c9c2;color:#8a2f22;border-radius:6px;padding:9px 12px;font-size:12px}
.bl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.bl-card{background:#fff;border:1px solid #d3e6eb;border-radius:8px;padding:14px}.bl-card.bl-due{border-color:#f0a33a;box-shadow:inset 3px 0 #f0a33a}.bl-card header{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.bl-card-nums{display:flex;gap:16px;margin:12px 0 8px}.bl-card-nums small{display:block;font-size:10px;color:#6e8b94}.bl-card-nums strong{font-size:15px;color:#1d4f5a}.bl-card-contact{font-size:12px;color:#4f6f78;margin:4px 0}.bl-card-note{font-size:12px;line-height:1.6;color:#436470;background:#f5fafb;border-radius:6px;padding:8px 10px;margin:8px 0 0}
.bl-noteform{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:10px}.bl-noteform textarea{flex:1 1 320px;border:1px solid #cce0e0;border-radius:4px;padding:10px;font:inherit;font-size:13px}.bl-noteform label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#567882}.bl-noteform input{height:40px}
.bl-notes{list-style:none;padding:0;margin:0;display:grid;gap:8px}.bl-notes li{background:#fff;border:1px solid #e1edf0;border-radius:6px;padding:9px 12px}.bl-notes small{color:#6e8b94;font-size:11px}.bl-notes p{margin:4px 0 0;font-size:13px;color:#2f5560;white-space:pre-wrap}
@media(max-width:720px){.bl-aging-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.bl-aging-bar span{border-left:0;border-top:1px solid #e8f0f2}.bl-kpis>div{flex-basis:130px}.bl-cards{grid-template-columns:1fr}}
#billing-content>*{min-width:0}
/* QuickBooks entry list and QuickBooks names */
.qb-sub,.qb-seg{display:inline-flex;flex-wrap:wrap;gap:0;border:1px solid #cce0e0;border-radius:8px;overflow:hidden;background:#fff;margin:0 0 10px}
.qb-sub button,.qb-seg button{border:0;border-left:1px solid #e1edf0;background:transparent;padding:8px 14px;font:inherit;font-size:13px;color:#2f5560;cursor:pointer;min-height:38px}
.qb-sub button:first-child,.qb-seg button:first-child{border-left:0}
.qb-sub button.active,.qb-seg button.active{background:var(--th-accent,#087e9c);color:#fff}
.qb-sub button span{display:inline-block;min-width:18px;margin-left:4px;padding:0 6px;border-radius:10px;background:#fdf6e1;color:#8a6510;font-size:11px;font-weight:700}
.qb-seg{margin:0}
#qb-msg{min-height:0;margin:0 0 8px;color:#1d7a43}#qb-msg:empty{display:none}#qb-msg.bl-bad{color:#a12a2a}
.qb-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}.qb-bar .bl-lead{flex:1 1 320px;margin:0}
.qb-day>h3{display:flex;align-items:baseline;gap:8px}.qb-day>h3 small{font-weight:400;color:#6e8b94;font-size:12px}
.qb-card{background:#fff;border:1px solid #d3e6eb;border-radius:10px;padding:12px 14px;margin-bottom:12px;display:grid;gap:10px}
.qb-card.qb-blocked{border-color:#ecd9a3}
.qb-card>header{display:flex;gap:10px;align-items:flex-start}.qb-card>header strong{font-size:14px;color:#1d4f5a;overflow-wrap:anywhere}
.qb-card>header small{display:block;color:#6e8b94;font-size:12px;margin-top:3px}
.qb-pick{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:#087e9c}
.qb-where{margin:0;font-size:12px;color:#4f6f78}.qb-where b{color:#1d4f5a}
.qb-warn{margin:0;background:#fdf6e1;border:1px solid #ecd9a3;color:#6e520d;border-radius:6px;padding:7px 10px;font-size:12px}
.qb-tip{margin:0;background:#f1f9fb;border:1px dashed #87c3d2;color:#245562;border-radius:6px;padding:7px 10px;font-size:12px}
.qb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.qb-grid.qb-two{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.qb-f{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:start;background:#f7fbfc;border:1px solid #e1edf0;border-radius:6px;padding:6px 8px;min-width:0}
.qb-f span{grid-column:1/-1;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:#6e8b94}
.qb-f b{font-size:13px;color:#16404a;overflow-wrap:anywhere;font-weight:600}
.qb-copy{border:1px solid #cce0e0;background:#fff;color:#087e9c;border-radius:4px;padding:1px 7px;font:inherit;font-size:11px;cursor:pointer;min-height:24px;white-space:nowrap}
.qb-copy:hover{background:#e5f5f9}
.qb-lines td{vertical-align:middle}.qb-lines td .qb-copy{margin-left:4px}
.qb-sum{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:16px;font-size:13px;color:#2f5560}.qb-sum strong{font-size:15px;color:#16404a}
.qb-card>footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;border-top:1px solid #e8f0f2;padding-top:10px}
.qb-links{font-size:12px;color:#6e8b94}
.qb-in{display:grid;gap:3px;font-size:11px;color:#567882;flex:1 1 200px;max-width:340px;margin-left:auto}
.qb-in input{height:36px;border:1px solid #cce0e0;border-radius:5px;padding:0 10px;font:inherit;font-size:13px;background:#fff;min-width:0}
.qb-filters label{display:flex;align-items:center;gap:6px;font-size:13px;color:#567882}.qb-filters input[type=date]{flex:none;width:auto}
.qb-names td small{display:block;color:#7b96a0;font-size:11px}.qb-names .qb-long{color:#b42318}
.qb-nin{width:100%;min-width:180px;height:34px;border:1px solid #cce0e0;border-radius:4px;padding:0 8px;font:inherit;font-size:13px}
.qb-names tr.qb-dirty td{background:#fffbea}
.qb-tick{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:13px}.qb-tick input{width:18px;height:18px;margin:0;accent-color:#087e9c}
@media(max-width:720px){.qb-card{padding:10px}.qb-grid,.qb-grid.qb-two{grid-template-columns:1fr}.qb-in{max-width:none;margin-left:0}.qb-card>footer .bl-actions{width:100%}.qb-card>footer .bl-actions button{flex:1}.qb-sub{display:flex}.qb-sub button{flex:1;padding:8px}}
