/* Business customers, team and the shared list, record and form pages every business module uses (bz-). */
.bz-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.bz-chips a { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border: 1px solid #cbd7e2; border-radius: 999px; background: #fff; color: #22517a; font-weight: 700; font-size: 12px; }
.bz-chips a span { background: #e8eff6; color: #3d5166; border-radius: 999px; padding: 0 7px; font-size: 11px; font-weight: 700; }
.bz-chips a.on { background: var(--brand-primary); border-color: var(--brand-primary); color: #fff; }
.bz-chips a.on span { background: rgba(255, 255, 255, .25); color: #fff; }
.bz-bulk { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 10px 12px; border-bottom: 1px solid #e0e7ed; }
.bz-bulk select { max-width: 280px; }
.bz-bulk .bz-pin { flex: 0 0 130px; width: 130px; }
.bz-tick { width: 32px; }
.bz-tbl td .sub, .bz-tbl td small { display: block; color: var(--muted); font-size: 11.5px; }
.bz-tbl td:first-child { min-width: 170px; }
.bz-tbl .ref { white-space: nowrap; font-weight: 700; }
.bz-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 14px; }
.bz-grid > div { min-width: 0; }
.bz-grid .bz-wide { grid-column: 1 / -1; }
.bz-submit { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.bz-note { margin-top: 4px; padding: 6px 8px; background: #f5f8fb; border-left: 3px solid #cbd7e2; font-size: 12px; color: #3d5166; }
.bz-actions .ct-btn, .bz-actions form { width: 100%; }
.bz-actions form .ct-btn { width: 100%; }
.bz-anote { margin-top: -4px; }
.bz-intro { color: var(--text2); }
.bz-checks { border: 0; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; }
.bz-checks legend { font-weight: 700; margin-bottom: 6px; font-size: 12.5px; }
.bz-checks .hint, .bz-checks .err { grid-column: 1 / -1; }
.bz-perm { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; font-size: 12.5px; }
.bz-perm .no { color: #a0adbb; }
.bz-disclose { font-size: 12.5px; }
.bz-disclose dt { color: var(--muted); }
.bz-disclose .total { font-size: 16px; font-weight: 700; }
.bz-tree { list-style: none; margin: 0; padding: 0; }
.bz-tree li { padding: 8px 0 8px 22px; position: relative; border-bottom: 1px solid #eef2f6; }
.bz-tree li.child { margin-left: 22px; }
.bz-tree li:before { content: "\F3E8"; font-family: bootstrap-icons; position: absolute; left: 0; top: 8px; color: var(--brand-primary); }
.bz-tree li.child:before { content: "\F138"; color: #8a9bb0; }
.bz-tree .r { float: right; text-align: right; }

/* The business switcher in the customer top bar. */
.bz-switch { position: relative; }
.bz-switch summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 10px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 4px; color: #fff; font-size: 12px; max-width: 260px; }
.bz-switch summary::-webkit-details-marker { display: none; }
.bz-switch summary b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bz-switch summary small { color: #b7cbe0; display: block; font-size: 10.5px; }
.bz-switch .menu { position: absolute; right: 0; top: calc(100% + 6px); background: #fff; color: var(--text); border: 1px solid var(--line); border-radius: 5px; box-shadow: var(--shadow); min-width: 280px; z-index: 60; padding: 6px; }
.bz-switch .menu button { display: flex; width: 100%; text-align: left; gap: 8px; align-items: center; padding: 8px; border: 0; background: none; cursor: pointer; border-radius: 4px; font: inherit; color: inherit; }
.bz-switch .menu button:hover { background: #eef5fc; }
.bz-switch .menu button.on { background: #e4f0ff; }
.bz-switch .menu small { display: block; color: var(--muted); }
@media (max-width: 760px) {
    .bz-grid, .bz-checks { grid-template-columns: minmax(0, 1fr); }
    .bz-switch summary { max-width: 150px; }
    .bz-switch summary small { display: none; }
    .bz-switch .menu { right: -60px; min-width: 240px; }
}
/* Text cells wrap so tables fit their panel; references, amounts and the bold first line never wrap. */
.bz-tbl td { white-space: normal; }
.bz-tbl td.num, .bz-tbl td.r, .bz-tbl .ref, .bz-tbl .ct-pill { white-space: nowrap; }
.bz-tbl td .sub { white-space: normal; }
.bz-switch summary span { min-width: 0; overflow: hidden; }
@media (max-width: 480px) {
    .bz-switch summary { padding: 0 9px; }
    .bz-switch summary span, .bz-switch summary .bi-chevron-down { display: none; }
    .bz-switch .menu { position: fixed; left: 12px; right: 12px; top: 58px; min-width: 0; }
    .bz-switch:not([open]) .menu { display: none; }
}
/* Money in KPI cards breaks only between the figure and the currency on phones. */
@media (max-width: 480px) {
    .ct-kpi { padding-right: 12px; min-height: 96px; }
    .ct-kpi .ico { display: none; }
    .ct-kpi strong { font-size: 19px; overflow-wrap: normal; }
}
