.bi-expense-mapping{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.bi-expense-mapping h3{margin:0 0 12px}.bi-expense-mapping .xsel{max-width:680px;width:100%}.bi-expense-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.bi-expense-chip{display:flex;align-items:center;gap:12px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface)}.bi-expense-chip button{padding:2px 6px;min-height:28px}.bi-review-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin:20px 0}.bi-review-toolbar label{display:flex;flex-direction:column;gap:6px}.bi-review-toolbar [data-review-kind]{min-width:280px}.bi-review-toolbar input[type=number]{width:110px}.bi-review-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.bi-review table{border-collapse:collapse;width:100%;min-width:1000px}.bi-review th,.bi-review td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.bi-review th{color:var(--secondary);font-weight:500}.bi-review td:nth-child(5){white-space:nowrap;text-align:right}.bi-review [data-review-more]{margin-top:16px}.bi-expense-mapping .xopt:disabled{opacity:1;color:var(--secondary)}

.bi-practice-card{max-width:980px}.bi-practice-card h2{margin:18px 0}.bi-practice-field{display:flex;flex-direction:column;gap:8px;margin:18px 0}.bi-practice-field input[type=text]{max-width:680px}.bi-practice-active{display:flex;align-items:center;gap:8px}.bi-practice-staff{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:12px}.bi-practice-staff label{display:flex;align-items:center;gap:10px;padding:6px}.bi-practice-open{border:0;background:none;text-align:left;color:var(--text);padding:0}.bi-practice-open small{display:block;color:var(--secondary);font-weight:400}

.bi-practice-card .bi-practice-active{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;width:max-content;gap:8px;margin:16px 0}
.bi-review .bi-review-map-choice{min-width:340px;max-width:560px}.bi-review-map-choice .xsel{width:100%;max-width:100%}.bi-review-map-choice .xsel-t .lbl{white-space:normal;overflow-wrap:anywhere;text-align:left}.bi-review-map-choice .xsearch{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center}.bi-review-map-choice .xopt{white-space:normal;overflow-wrap:anywhere}.bi-review td:has(>.xsel){text-align:left}.bi-review td:last-child button{white-space:nowrap}


/* Practice staff is a choice grid in both admin and report shells. */
.bi-practice-card .bi-practice-staff,
#bgp-sales .bi-practice-card .bi-practice-staff {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  align-content:start;
  gap:6px;
  min-width:0;
  max-height:360px;
  overflow:auto;
  padding:8px;
  text-align:left;
}
.bi-practice-card .bi-practice-staff > label,
#bgp-sales .bi-practice-card .bi-practice-staff > label {
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  justify-content:start;
  gap:10px;
  min-width:0;
  min-height:44px;
  box-sizing:border-box;
  margin:0;
  padding:10px;
  border:1px solid transparent;
  border-radius:7px;
  text-align:left;
  cursor:pointer;
}
.bi-practice-card .bi-practice-staff > label[hidden],
#bgp-sales .bi-practice-card .bi-practice-staff > label[hidden] {display:none}
.bi-practice-card .bi-practice-staff > label > input[type=checkbox],
#bgp-sales .bi-practice-card .bi-practice-staff > label > input[type=checkbox] {
  width:18px;height:18px;min-width:18px;min-height:0;
  margin:0;padding:0;justify-self:start;accent-color:var(--actual);
}
.bi-practice-card .bi-practice-staff > label > span {
  min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.4;
}
.bi-practice-card .bi-practice-staff > label:hover {background:var(--surface)}
.bi-practice-card .bi-practice-staff > label:has(:checked) {border-color:var(--actual)}
.bi-practice-card .bi-practice-staff > label:focus-within {outline:2px solid var(--actual);outline-offset:-2px}


/* Use the admin workspace, rather than a narrow report-sized practice card. */
.bi-practice-card,
#bgp-sales .bi-practice-card {width:100%;max-width:none;margin:0;min-width:0;box-sizing:border-box;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(420px,calc((100% - 28px)/2))),1fr));gap:20px 28px;container:bi-practice / inline-size}
.bi-practice-card > * {grid-column:1/-1;min-width:0;margin-top:0;margin-bottom:0}
.bi-practice-card > [data-practice-back] {justify-self:start}
#bgp-sales .bi-practice-card > h2 {margin:0;overflow-wrap:anywhere}
.bi-practice-card > .bi-register-display-form {width:100%;max-width:none;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;margin:0;padding-top:20px}
.bi-practice-card > .bi-register-display-form > h3 {grid-column:1/-1;margin:0}
.bi-practice-card > .bi-register-display-form > label {margin:0;min-width:0}
.bi-practice-card > .bi-register-display-form > button {align-self:end;justify-self:start}
.bi-practice-card > .bi-register-display-form > [role=status] {grid-column:1/-1;margin:0}
.bi-practice-card > .bi-register-display-form > [role=status]:empty {display:none}
.bi-practice-card > [data-practice-form] {min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:16px 24px;align-items:start}
#bgp-sales .bi-practice-card > [data-practice-form] > .bi-practice-field {margin:0;min-width:0}
.bi-practice-card [data-practice-name],
#bgp-sales .bi-practice-card [data-practice-name] {width:100%;max-width:none}
.bi-practice-card .xsel-practice-manager {width:100%;max-width:none}
.bi-practice-card > [data-practice-form] > .bi-practice-active {margin:0}
.bi-practice-card > [data-practice-form] > .field-note,
.bi-practice-card > [data-practice-form] > [role=status] {margin:0}
.bi-practice-card > [data-practice-form] > [role=status]:empty {display:none}
.bi-practice-card > [data-practice-form] > button {justify-self:start}
.bi-practice-card > .bi-expense-mapping {grid-column:auto;margin:0;padding-top:20px;min-width:0}
.bi-practice-card > .bi-expense-mapping .xsel {max-width:none}
.bi-practice-card > .bi-expense-mapping .xsel-t .lbl {white-space:normal;overflow-wrap:anywhere;text-align:left}
@container bi-practice (min-width:880px) {
  .bi-practice-card > [data-practice-form] {grid-template-columns:minmax(260px,1fr) minmax(0,2fr);column-gap:28px}
  .bi-practice-card > [data-practice-form] > * {grid-column:1}
  .bi-practice-card > [data-practice-form] > .bi-practice-field:has([data-staff-search]) {grid-column:2;grid-row:1 / span 6;align-self:stretch}
  .bi-practice-card .bi-practice-field:has([data-staff-search]),
  #bgp-sales .bi-practice-card .bi-practice-field:has([data-staff-search]) {grid-template-rows:auto auto minmax(0,1fr);display:grid}
  .bi-practice-card .bi-practice-staff,
  #bgp-sales .bi-practice-card .bi-practice-staff {max-height:480px;min-height:280px}
}
@media(max-width:767px) {
  .bi-practice-card > .bi-register-display-form {grid-template-columns:minmax(0,1fr)}
}

.bi-practice-card > .bi-bitrix-departments{grid-column:1/-1;min-width:0;border-top:1px solid var(--line);padding-top:20px}
.bi-bitrix-departments h3{margin:0 0 12px}.bi-bitrix-departments .xsel{width:100%;max-width:100%}.bi-bitrix-departments .xsel-t .lbl{white-space:normal;overflow-wrap:anywhere;text-align:left}.bi-bitrix-departments .xopt{white-space:normal;overflow-wrap:anywhere}.bi-department-actions{display:flex;flex-wrap:wrap;gap:12px}

.bi-department-menu .xopt{white-space:normal;min-width:0;height:auto}.bi-department-menu .xopt .lbl{white-space:normal;overflow-wrap:anywhere;text-align:left}

/* Immediate save feedback in CFO cards; inherit readable text in all themes. */
.bi-practice-card button.bi-save-pending::before{content:"";display:inline-block;width:.85em;height:.85em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:.55em;vertical-align:-.05em;animation:bi-cfo-save-spin .7s linear infinite}
.bi-practice-card .bi-save-feedback{min-height:1.5em;overflow-wrap:anywhere}
@keyframes bi-cfo-save-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.bi-practice-card button.bi-save-pending::before{animation:none}}
