/* ==========================================================================
   Body Tech CRM — Presentation V12 "Refined Dark Performance"
   The single final presentation authority for the staff product shell.

   src/styles.css is declared inside `@layer legacy`; this file is unlayered, so
   it wins through the normal cascade. Rules here therefore stay at low
   specificity and never use important flags.

   This file sets PRESENTATION only (type, colour, surface, border, radius,
   spacing inside a component). Grid/flow geometry stays with the legacy layer
   unless a section below says otherwise, so responsive behaviour is unchanged.
   ========================================================================== */

/* ---- 1. Tokens ----------------------------------------------------------- */
#app.btv2-v111-shell, #app.staff-auth-active {
  --v12-bg: #0a0b0e;
  --v12-rail: #0d0e12;
  --v12-s1: #13161c;
  --v12-s2: #171a21;
  --v12-s3: #1e222b;
  --v12-line: rgba(255, 255, 255, 0.055);
  --v12-line-strong: rgba(255, 255, 255, 0.11);
  --v12-text: #f1f3f6;
  --v12-text-2: #b6bbc6;
  --v12-text-3: #868c9a;
  --v12-red: var(--action-primary);
  --v12-red-text: #ff6b73;
  --v12-red-tint: rgba(227, 6, 19, 0.12);
  --v12-positive: #3fc4a2;
  --v12-positive-tint: rgba(76, 201, 164, 0.12);
  --v12-amber: #d6a256;
  --v12-amber-tint: rgba(214, 162, 86, 0.12);
  --v12-slate-tint: rgba(182, 187, 198, 0.1);
  --v12-series-1: #e6e9ef;
  --v12-series-2: #4b5261;
  --v12-series-3: #8a92a3;
  /* data palette: structure stays quiet, data carries colour */
  --v12-data-blue: #4f8cff;
  --v12-data-blue-soft: #35568f;
  --v12-data-teal: #35b99a;
  --v12-data-amber: #e5a84b;
  --v12-data-violet: #8b7cf6;
  --v12-data-violet-soft: #4c4589;
  --v12-data-red: #e5484d;
  --v12-data-red-soft: #a8444a;
  --v12-data-slate: #5b6373;
  --v12-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --v12-display: "Inter Tight", "Inter", system-ui, sans-serif;
  --v12-r-card: 12px;
  --v12-r-ctl: 8px;
  --v12-r-chip: 6px;
  --v12-focus: 0 0 0 2px var(--v12-bg), 0 0 0 4px rgba(241, 243, 246, 0.55);

  background: var(--v12-bg);
  color: var(--v12-text);
  font-family: var(--v12-ui);
  font-feature-settings: "cv11", "ss01", "calt";
  -webkit-font-smoothing: antialiased;
}

/* ---- 2. Type reset: one family, sentence case, normal tracking ------------ */
:where(#app.btv2-v111-shell) :where(*) {
  font-family: var(--v12-ui);
  letter-spacing: normal;
  text-transform: none;
}
:where(#app.btv2-v111-shell) :where(h1, h2, h3, h4) {
  color: var(--v12-text);
  font-family: var(--v12-display);
  font-weight: 600;
  letter-spacing: -0.012em;
}
:where(#app.btv2-v111-shell) :where(b, strong, em, small, td, th, dd, dt, time, output) { font-variant-numeric: tabular-nums; }

/* Secondary copy never drops below the 11.5px floor. These tags are never
   figure carriers, so inheriting the container size is always safe. */
:where(#app.btv2-v111-shell) :where(.main) { font-size: 13px; }
:where(#app.btv2-v111-shell) :where(.main) :where(small, span, em, summary, legend, p, li, dt, dd, label, footer, figcaption, th, td, a) { font-size: max(11.5px, 1em); }

/* text roles */
.btv2-v111-shell :where(.v12-figure, .v111-kpi > strong, .btv2-canonical-kpi > strong, .v111-op-tile strong, .v111-op-hero-value strong, .mini-stat strong, .hero-mini-grid strong, .v111-visits-total, .v111-daypass-value, .v111-historical-evidence dd strong, .btv2-owner-movement-chart article > strong) {
  font-family: var(--v12-display);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  letter-spacing: -0.015em;
}

/* ---- 3. Shell -------------------------------------------------------------- */
.btv2-v111-shell .sidebar {
  background: var(--v12-rail);
  background-image: none;
  border-right: 1px solid var(--v12-line);
  box-shadow: none;
}
.btv2-v111-shell .v111-nav-caption { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .v111-nav-item {
  background: transparent;
  background-image: none;
  border: 0;
  border-radius: var(--v12-r-ctl);
  box-shadow: none;
  color: var(--v12-text-2);
  font-size: 14px;
  font-weight: 500;
  position: relative;
}
.btv2-v111-shell .v111-nav-item:hover { background: var(--v12-s1); color: var(--v12-text); }
.btv2-v111-shell .v111-nav-item.active { background: var(--v12-s2); color: var(--v12-text); }
.btv2-v111-shell .v111-nav-item::before { background: transparent; border: 0; box-shadow: none; }
.btv2-v111-shell .v111-nav-item.active::before {
  background: var(--v12-red);
  border-radius: 2px;
  bottom: 10px;
  content: "";
  height: auto;
  inset: 10px auto 10px 0;
  left: 0;
  opacity: 1;
  position: absolute;
  top: 10px;
  width: 2px;
}
.btv2-v111-shell :where(.btv2-desktop-nav-toggle, .btv2-mobile-nav-toggle) {
  background: var(--v12-s1);
  background-image: none;
  border: 1px solid var(--v12-line);
  border-radius: var(--v12-r-ctl);
  box-shadow: none;
  color: var(--v12-text-2);
  font-size: 13px;
  font-weight: 500;
}
.btv2-v111-shell .main { background: var(--v12-bg); background-image: none; }

/* shared page header: title block left, contextual controls right */
.btv2-v111-shell :where(.app-header, .btv2-owner-operations-head, .rc2-members-directory-header) {
  background: transparent;
  background-image: none;
  border: 0;
  border-bottom: 1px solid var(--v12-line);
  border-radius: 0;
  box-shadow: none;
}
.btv2-v111-shell :where(.app-header h1, .v111-page-title h1, .rc2-members-directory-header h1, .btv2-owner-operations-head h1) {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.15;
}
.btv2-v111-shell :where(.rc2-breadcrumb, .v111-breadcrumb, .btv2-shell-context) { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell :where(.app-header .header-title p, .v111-page-strap, .rc2-members-directory-header p) { color: var(--v12-text-3); font-size: 13px; font-weight: 400; }
.btv2-v111-shell :where(.header-controls label, .v111-head-controls label, .btv2-owner-period-control label, .v111-head-controls span) { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }

/* account chip */
.btv2-v111-shell :where(.rc2-account-menu, .rc2-account-menu > summary, .rc2-account-menu > button, .v111-account-chip, .btv2-owner-account) {
  background: transparent;
  background-image: none;
  border-color: var(--v12-line);
  border-radius: var(--v12-r-ctl);
  box-shadow: none;
}
.btv2-v111-shell :where(.rc2-account-menu, .v111-account-chip, .btv2-owner-account) :where(span, b) { color: var(--v12-text); font-size: 13px; font-weight: 500; }
.btv2-v111-shell :where(.rc2-account-menu, .v111-account-chip, .btv2-owner-account) :where(strong, small, em) { color: var(--v12-text-3); font-size: 11.5px; font-weight: 500; }

/* workspace tabs: text tabs with an underline indicator */
.btv2-v111-shell .rc2-workspace-navigation {
  background: transparent;
  background-image: none;
  border: 0;
  border-bottom: 1px solid var(--v12-line);
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}
.btv2-v111-shell .rc2-workspace-navigation > strong { display: none; }
.btv2-v111-shell .rc2-workspace-navigation button {
  background: transparent;
  background-image: none;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  box-shadow: none;
  color: var(--v12-text-3);
  font-size: 13.5px;
  font-weight: 500;
  min-height: 40px;
  padding: 0 12px;
}
.btv2-v111-shell .rc2-workspace-navigation button:hover { color: var(--v12-text); }
.btv2-v111-shell .rc2-workspace-navigation button[aria-current="page"],
.btv2-v111-shell .rc2-workspace-navigation button[aria-current="true"] { border-bottom-color: var(--v12-red); color: var(--v12-text); }

/* ---- 4. Surfaces ------------------------------------------------------------ */
.btv2-v111-shell :where(
  .v111-panel, .btv2-canonical-panel, .v111-kpi, .btv2-canonical-kpi, .v111-op-tile, .v111-op-hero,
  .mini-stat, .v111-members-directory, .v111-member-context, .btv2-owner-today,
  .operations-workbench-group, .v111-operations-card, .v111-historical-evidence,
  .rc2-report-detail, .rc2-report-index > button, .rc2-report-filter-summary > div, .rc2-system-readiness-grid > article,
  .screen-command-header, .hero-mini-grid > *, .rc2-settings-card, .rc2-admin-card, .rc2-workflow-panel, .panel, .card
) {
  background: var(--v12-s1);
  background-image: none;
  border: 1px solid var(--v12-line);
  border-radius: var(--v12-r-card);
  box-shadow: none;
}
.btv2-v111-shell :where(.v111-panel, .btv2-canonical-panel, .operations-workbench-group) > header { border-bottom: 1px solid var(--v12-line); }
.btv2-v111-shell :where(.v111-panel, .btv2-canonical-panel, .operations-workbench-group, .v111-operations-card, .rc2-report-detail) :where(h2, h3) { font-size: 15px; line-height: 1.3; }

/* nested containers lose their chrome: no box-on-box */
.btv2-v111-shell :where(.operations-workbench, .v111-operations-supporting, .screen-command-header .command-hero-copy) {
  background: transparent;
  background-image: none;
  border: 0;
  box-shadow: none;
}
.btv2-v111-shell :where(.operations-workbench, .v111-member-context, .screen-command-header)::before,
.btv2-v111-shell :where(.operations-workbench, .v111-member-context, .screen-command-header)::after { background: none; background-image: none; box-shadow: none; }

/* section headers: no decorative dash */
.btv2-v111-shell .v111-section-label :where(span, strong) { color: var(--v12-text); font-size: 13px; font-weight: 600; }
.btv2-v111-shell :where(.v111-section-label, .v111-op-tile, .v111-kpi, .btv2-canonical-kpi) > i,
.btv2-v111-shell :where(.v111-panel, .btv2-canonical-panel) header i:empty { display: none; }
.btv2-v111-shell :where(.v111-section-head small, .btv2-owner-period-label) { color: var(--v12-text-3); font-size: 12px; font-weight: 400; }

/* captions and metadata */
.btv2-v111-shell :where(.v111-panel-tags small, .v111-panel-foot, .v111-panel-foot span, .v111-chart-axis span, .v111-chart-summary em, .v111-coverage-meters p, .v111-coverage-meters small, .v111-op-hero-meta em, .v111-kpi-tag) {
  color: var(--v12-text-3);
  font-size: 11.5px;
  font-weight: 400;
  line-height: 1.45;
}

/* source notes and safe boundaries: one quiet ruled line */
.btv2-v111-shell :where(.v111-source-note, .operations-workbench-boundary) {
  background: transparent;
  background-image: none;
  border: 0;
  border-left: 2px solid var(--v12-line-strong);
  border-radius: 0;
  box-shadow: none;
  padding: 2px 0 2px 12px;
}
.btv2-v111-shell :where(.v111-source-note strong, .operations-workbench-boundary span) { color: var(--v12-text-2); font-size: 12px; font-weight: 600; }
.btv2-v111-shell :where(.v111-source-note span, .operations-workbench-boundary p) { color: var(--v12-text-3); font-size: 12px; font-weight: 400; }

/* ---- 5. KPIs ---------------------------------------------------------------- */
.btv2-v111-shell :where(.v111-kpi, .btv2-canonical-kpi) { padding: 16px 18px; }
.btv2-v111-shell .btv2-canonical-kpi.v111-kpi > span { color: var(--v12-text-2); font-size: 12.5px; font-weight: 500; grid-column: 1 / -1; justify-self: start; }
.btv2-v111-shell .v111-kpi-tags { display: block; margin-top: 2px; position: static; }
.btv2-v111-shell .v111-kpi-tag { background: transparent; border: 0; padding: 0; }
.btv2-v111-shell :where(.v111-kpi, .btv2-canonical-kpi) > strong { color: var(--v12-text); font-size: 32px; line-height: 1.1; margin-top: 10px; white-space: nowrap; }
.btv2-v111-shell :where(.v111-kpi, .btv2-canonical-kpi) > small { color: var(--v12-text-3); font-size: 12px; font-weight: 400; margin-top: 6px; }
.btv2-v111-shell .v111-kpi[data-alert="true"] { background: var(--v12-s1); border-color: var(--v12-line); box-shadow: none; }
.btv2-v111-shell .v111-kpi[data-alert="true"] > strong { color: var(--v12-red-text); }
.btv2-v111-shell .btv2-canonical-kpi-state { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }

.btv2-v111-shell :where(.v111-op-tile > span, .v111-op-hero-value > span) { color: var(--v12-text-2); font-size: 12.5px; font-weight: 500; }
.btv2-v111-shell :where(.v111-op-tile strong, .v111-op-hero-value strong) { color: var(--v12-text); font-size: 26px; }
.btv2-v111-shell :where(.v111-op-tile p, .v111-op-tile small, .v111-op-hero-meta span) { color: var(--v12-text-3); font-size: 12px; font-weight: 400; }
.btv2-v111-shell :where(.mini-stat span, .hero-mini-grid span) { color: var(--v12-text-2); font-size: 12px; font-weight: 500; }
.btv2-v111-shell :where(.mini-stat strong, .hero-mini-grid strong) { color: var(--v12-text); font-size: 22px; }

/* historical / stale evidence: amber, muted, visibly secondary */
.btv2-v111-shell .v111-historical-evidence { background: transparent; }
.btv2-v111-shell .v111-historical-evidence header strong { color: var(--v12-amber); font-size: 12px; font-weight: 600; }
.btv2-v111-shell .v111-historical-evidence header span { color: var(--v12-text-3); font-size: 12px; }
.btv2-v111-shell .v111-historical-evidence dt { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .v111-historical-evidence dd strong { color: var(--v12-text-2); font-size: 18px; }
.btv2-v111-shell .v111-historical-evidence dd :where(small, em) { color: var(--v12-text-3); font-size: 11.5px; }
.btv2-v111-shell :where(.v111-visits-panel, .v111-daypass-panel) .v111-panel-tags small,
.btv2-v111-shell .v111-history-panel[data-value-state="stale"] .v111-panel-tags small { color: var(--v12-amber); }

/* ---- 6. Charts: neutral series, red only for the flagged point ------------- */
.btv2-v111-shell .btv2-owner-movement-bars i { background-image: none; border-radius: 3px 3px 0 0; box-shadow: none; }
.btv2-v111-shell .btv2-owner-movement-bars i[data-series="starts"] { background: var(--v12-series-1); }
.btv2-v111-shell .btv2-owner-movement-bars i[data-series="endings"] { background: var(--v12-series-2); }
.btv2-v111-shell .btv2-owner-movement-chart article > strong { font-size: 17px; }
.btv2-v111-shell .btv2-owner-movement-chart article :where(span, small) { color: var(--v12-text-3); font-size: 11.5px; }
.btv2-v111-shell .btv2-owner-churn-chart article > i { background: var(--v12-s3); background-image: none; border-radius: 3px; }
.btv2-v111-shell .btv2-owner-churn-chart article > i::after { background: var(--v12-series-3); background-image: none; border-radius: 3px; box-shadow: none; }
.btv2-v111-shell .btv2-owner-churn-chart article[data-churn-risk="peak"] > i::after { background: var(--v12-red); }
.btv2-v111-shell .btv2-owner-churn-chart article :where(span, b, strong) { color: var(--v12-text-2); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .v111-churn-peak-tag { color: var(--v12-red-text); font-size: 11.5px; font-weight: 600; }
.btv2-v111-shell .btv2-owner-chart-legend span { color: var(--v12-text-3); font-size: 12px; font-weight: 400; }
.btv2-v111-shell .btv2-owner-chart-legend span::before { background: var(--v12-series-1); border-radius: 2px; height: 8px; width: 8px; }
.btv2-v111-shell .btv2-owner-chart-legend span[data-series="endings"]::before { background: var(--v12-series-2); }
.btv2-v111-shell .btv2-owner-chart-legend span[data-series="churn"]::before { background: var(--v12-series-3); }
.btv2-v111-shell .btv2-owner-chart-legend span[data-series="churn-peak"]::before { background: var(--v12-red); }
.btv2-v111-shell .btv2-owner-chart-shell > p { color: var(--v12-text-3); font-size: 12px; }
.btv2-v111-shell .v111-visits-histogram i { background: #586072; background-image: none; border-radius: 2px 2px 0 0; }
.btv2-v111-shell .v111-visits-histogram i[data-peak="true"] { background: var(--v12-series-1); }
.btv2-v111-shell .v111-chart-summary b { background: var(--v12-positive-tint); border: 0; border-radius: var(--v12-r-chip); color: var(--v12-positive); font-size: 12px; font-weight: 600; padding: 2px 8px; }
.btv2-v111-shell .v111-chart-summary b[data-direction="down"] { background: var(--v12-red-tint); color: var(--v12-red-text); }
.btv2-v111-shell :where(.v111-gender-panel, .v111-age-panel, .v111-plan-panel, .v111-coverage-panel) :where(b, em, small, span, p, strong) { font-size: 12px; }
.btv2-v111-shell :where(.v111-visits-panel, .v111-daypass-panel) :where(em, small, span, p) { font-size: 12px; }
.btv2-v111-shell .v111-chart-summary strong { color: var(--v12-text); font-family: var(--v12-display); font-size: 30px; font-variant-numeric: tabular-nums; font-weight: 600; letter-spacing: -0.015em; line-height: 1.1; }
.btv2-v111-shell .v111-chart-summary[data-v111-daypass-retained-evidence] strong, .btv2-v111-shell .v111-chart-summary[data-v111-visits-evidence] strong { color: var(--v12-text-2); font-size: 22px; }
.btv2-v111-shell :where(.v111-gender-panel, .v111-age-panel, .v111-plan-panel, .v111-coverage-panel) b { color: var(--v12-text); font-weight: 600; }
.btv2-v111-shell :where(.v111-visits-panel, .v111-daypass-panel) :where(.v111-visits-total, .v111-daypass-value, .v111-chart-value) { font-size: 30px; }
.btv2-v111-shell .v111-donut-centre-value { fill: var(--v12-text); font-family: var(--v12-display); font-size: 30px; font-weight: 600; letter-spacing: -0.015em; }
.btv2-v111-shell .v111-donut-centre-label { fill: var(--v12-text-3); font-family: var(--v12-ui); font-size: 11.5px; font-weight: 500; letter-spacing: normal; }
/* a chart panel takes its own height: no dead space beside a taller neighbour */
.btv2-v111-shell .v111-composition-grid { align-items: start; }

/* ---- 7. Controls ------------------------------------------------------------- */
.btv2-v111-shell :where(button, select, input, textarea, .v111-control, .v111-action) { border-radius: var(--v12-r-ctl); }
.btv2-v111-shell :where(select, textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"])) {
  background-color: var(--v12-s2);
  background-image: none;
  border: 1px solid var(--v12-line-strong);
  box-shadow: none;
  color: var(--v12-text);
  font-size: 13.5px;
  font-weight: 500;
}
.btv2-v111-shell :where(input, textarea)::placeholder { color: var(--v12-text-3); font-weight: 400; }
.btv2-v111-shell :where(button, select, input, textarea, a, summary, [tabindex]):focus-visible { border-color: var(--v12-line-strong); box-shadow: var(--v12-focus); outline: 0; }
.btv2-v111-shell :where(label) { color: var(--v12-text-2); font-size: 12.5px; font-weight: 500; }

/* secondary is the default button */
.btv2-v111-shell :where(.main button:not(.v111-nav-item), .main .button, .main a.button) {
  background: var(--v12-s2);
  background-image: none;
  border: 1px solid var(--v12-line-strong);
  box-shadow: none;
  color: var(--v12-text);
  font-size: 13px;
  font-weight: 600;
}
.btv2-v111-shell :where(.main button:not(.v111-nav-item):hover) { background: var(--v12-s3); }
.btv2-v111-shell :where(.main button:disabled) { color: var(--v12-text-3); opacity: 0.7; }
/* primary: one per view */
.btv2-v111-shell :where(.v111-action--primary, .rc2-add-member-trigger, [data-v12-primary]) {
  background: var(--v12-red);
  background-image: none;
  border: 1px solid transparent;
  box-shadow: none;
  color: #fff;
}
.btv2-v111-shell :where(.v111-action--primary, .rc2-add-member-trigger, [data-v12-primary]):hover { background: var(--action-primary-hover); }
/* apply / search: light neutral emphasis */
.btv2-v111-shell :where(.btv2-member-search-control button, .rc2-member-toolbar-primary button:last-child, .rc2-context-search button, [data-v12-apply]) {
  background: var(--v12-series-1);
  border-color: transparent;
  color: #0b0c0f;
}
.btv2-v111-shell :where(.btv2-member-search-control button, .rc2-member-toolbar-primary button:last-child, .rc2-context-search button, [data-v12-apply]):hover { background: #fff; }
/* tertiary: text treatment */
.btv2-v111-shell :where(.hd-member-details > summary, .rc2-system-readiness-links button, .v111-operations-card button) { background: transparent; border-color: transparent; color: var(--v12-text-2); }
.btv2-v111-shell .v111-action-cta { background: transparent; border: 1px solid var(--v12-line-strong); border-radius: var(--v12-r-ctl); color: var(--v12-text); font-size: 12px; font-weight: 600; }

/* chips: tinted fill, no outline */
.btv2-v111-shell :where(.rc2-member-status-badge, .hd-status, .status-pill, .badge, .pill, .chip, .tag, [class*="status-badge"], [class*="-chip"]:not(button)) {
  background: var(--v12-slate-tint);
  background-image: none;
  border: 0;
  border-radius: var(--v12-r-chip);
  box-shadow: none;
  color: var(--v12-text-2);
  font-size: 11.5px;
  font-weight: 600;
  padding: 2px 8px;
}
.btv2-v111-shell :where([data-tone="positive"], [data-status="active"], [data-state="active"], .is-active-member, .tone-positive):where(.rc2-member-status-badge, .hd-status, .status-pill, .badge, .pill, .chip) { background: var(--v12-positive-tint); color: var(--v12-positive); }
.btv2-v111-shell :where([data-tone="warning"], [data-status="frozen"], [data-state="stale"], .tone-warning):where(.rc2-member-status-badge, .hd-status, .status-pill, .badge, .pill, .chip) { background: var(--v12-amber-tint); color: var(--v12-amber); }
.btv2-v111-shell :where([data-tone="risk"], [data-tone="negative"], [data-status="expired"], .tone-risk):where(.rc2-member-status-badge, .hd-status, .status-pill, .badge, .pill, .chip) { background: var(--v12-red-tint); color: var(--v12-red-text); }

/* ---- 8. Tables, lists, queues ----------------------------------------------- */
.btv2-v111-shell :where(table) { border-collapse: collapse; }
.btv2-v111-shell :where(th) { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell :where(td) { color: var(--v12-text-2); font-size: 13px; }
.btv2-v111-shell :where(tr, .hd-member-row, .operations-workbench-row, .v111-action-item) { border-color: var(--v12-line); }
.btv2-v111-shell :where(.hd-member-row, .operations-workbench-row) { background: transparent; background-image: none; border-left: 0; border-radius: 0; border-right: 0; box-shadow: none; }
.btv2-v111-shell :where(.hd-member-row, .operations-workbench-row, tbody tr):hover { background: var(--v12-s2); }
.btv2-v111-shell .hd-member-row[data-selected="true"] { background: var(--v12-s2); box-shadow: inset 2px 0 0 var(--v12-text-2); }
.btv2-v111-shell .hd-member-row strong { color: var(--v12-text); font-size: 13.5px; font-weight: 600; }
.btv2-v111-shell :where(.hd-directory-columns span, .hd-directory-columns) { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell :where(dt) { color: var(--v12-text-3); font-size: 12px; font-weight: 400; }
.btv2-v111-shell :where(dd) { color: var(--v12-text); font-size: 12.5px; }

.btv2-v111-shell .operations-workbench-hero h1 { font-size: 22px; line-height: 1.2; }
.btv2-v111-shell .operations-workbench-hero :where(span, strong) { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .operations-workbench-hero p { color: var(--v12-text-2); font-size: 13px; }
.btv2-v111-shell .operations-workbench-group header :where(span, b, strong) { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .operations-workbench-row { column-gap: 16px; grid-template-columns: minmax(0, 1fr) auto auto; }
.btv2-v111-shell .operations-workbench-row strong { color: var(--v12-text); font-size: 13.5px; font-weight: 600; }
.btv2-v111-shell .operations-workbench-row small { color: var(--v12-text-3); font-size: 12px; font-weight: 400; }
.btv2-v111-shell .operations-workbench-row-meta { align-items: baseline; display: flex; gap: 10px; }
.btv2-v111-shell .operations-workbench-row-meta b { color: var(--v12-text-3); font-size: 11.5px; font-weight: 600; }
.btv2-v111-shell .operations-workbench-row-meta b[data-priority="high"], .btv2-v111-shell .operations-workbench-row-meta b[data-priority="critical"] { color: var(--v12-amber); }
.btv2-v111-shell .operations-workbench-row-cta { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .operations-workbench-more { color: var(--v12-text-3); font-size: 12px; }
.btv2-v111-shell .v111-operations-heading > span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .v111-operations-heading h2 { font-size: 18px; line-height: 1.3; max-width: none; }
.btv2-v111-shell .v111-operations-card-icon { background: var(--v12-s2); border-color: transparent; color: var(--v12-text-2); }
.btv2-v111-shell .v111-operations-card p { color: var(--v12-text-3); font-size: 12.5px; }

/* today's actions */
.btv2-v111-shell .btv2-owner-today :where(header span, .v111-meta-line, .btv2-owner-today-meta strong) { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .v111-action-sequence { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .v111-action-copy strong { color: var(--v12-text); font-size: 13.5px; font-weight: 600; }
.btv2-v111-shell .v111-action-meta span { color: var(--v12-text-3); font-size: 12px; font-weight: 400; }
.btv2-v111-shell .v111-action-meta span:first-child { color: var(--v12-amber); font-weight: 500; }

/* ---- 9. Members --------------------------------------------------------------- */
.btv2-v111-shell .members-high-density :where(.members-selected-identity, .v111-member-context, .rc2-member-selected) { backdrop-filter: none; background: var(--v12-s1); background-image: none; box-shadow: none; }
.btv2-v111-shell .members-high-density .members-selected-identity::before { background: none; background-image: none; box-shadow: none; }
.btv2-v111-shell .v111-member-context :where(.v111-primary-action) { background: var(--v12-s3); background-image: none; border: 1px solid var(--v12-line-strong); box-shadow: none; color: var(--v12-text); }
.btv2-v111-shell .rc2-member-active-filters :where(span, strong) { background: transparent; border: 0; color: var(--v12-text-3); font-size: 12px; font-weight: 400; padding: 0; }
.btv2-v111-shell :where(.rc2-workflow-feedback, .hd-directory-foot small, .rc2-member-notes p, .rc2-member-note-form-meta small) { color: var(--v12-text-3); font-size: 12px; }

/* ---- 10. Dialogs and drawers -------------------------------------------------- */
.btv2-v111-shell :where(dialog, [role="dialog"], .modal, .drawer, .rc2-drawer, .rc2-dialog) {
  background: var(--v12-s2);
  background-image: none;
  border: 1px solid var(--v12-line-strong);
  border-radius: var(--v12-r-card);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
  color: var(--v12-text);
}
.btv2-v111-shell :where(dialog, [role="dialog"], .modal) :where(h2, h3) { font-size: 18px; }

/* ---- 11. Page header composition (Dashboard) ----------------------------------- */
@media (min-width: 900px) {
  .btv2-v111-shell .v111-page-head { column-gap: 24px; display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .btv2-v111-shell .v111-page-head > .btv2-owner-operations-head { border-bottom: 0; grid-column: 1; grid-row: 1; }
  .btv2-v111-shell .v111-page-head > .v111-head-controls { align-self: end; grid-column: 2; grid-row: 1; margin: 0; padding-bottom: 14px; }
  .btv2-v111-shell .v111-page-head > .v111-operational { border-top: 1px solid var(--v12-line); grid-column: 1 / -1; padding-top: 16px; }
}

/* ---- 12. Mobile ------------------------------------------------------------------ */
@media (max-width: 640px) {
  .btv2-v111-shell :where(.app-header h1, .v111-page-title h1, .rc2-members-directory-header h1, .btv2-owner-operations-head h1) { font-size: 22px; }
  .btv2-v111-shell :where(.v111-kpi, .btv2-canonical-kpi) { padding: 14px; }
  .btv2-v111-shell :where(.v111-kpi, .btv2-canonical-kpi) > strong { font-size: 24px; }
  .btv2-v111-shell :where(.v111-op-tile strong, .v111-op-hero-value strong) { font-size: 22px; }
  .btv2-v111-shell .operations-workbench-hero h1 { font-size: 20px; }
  .btv2-v111-shell .rc2-workspace-navigation > div { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .btv2-v111-shell .rc2-workspace-navigation button { flex: 0 0 auto; }
}

/* ---- 13. Progress / meter bars: flat neutral fills --------------------------- */
.btv2-v111-shell :where(.v111-age-row, .v111-plan-mix, .v111-coverage-meters, .v111-gender-panel) :where(span, div) > i { background-image: none; border-radius: 3px; }
.btv2-v111-shell :where(.v111-age-row, .v111-plan-mix, .v111-coverage-meters) :where(span, div) > i { background-color: var(--v12-series-3); }
.btv2-v111-shell :where(.v111-age-row, .v111-plan-mix) :where([data-largest="true"], :first-child) > span > i { background-color: var(--v12-series-1); }

/* ---- 14. Small-copy roles (all at or above the 11.5px floor) ------------------ */
.btv2-v111-shell :where(
  .btv2-canonical-section-head span, .v111-meta-line b, .v111-mini-metrics span, .v111-mini-metrics small,
  .v111-operations-card span, .hd-member-plan, .hd-member-site, .hd-member-payment, .hd-member-row small,
  .hd-directory-foot span, .rc2-section-heading span, .rc2-section-heading em, .rc2-row-actions em,
  .rc2-contextual-exports small, .rc2-workflow-grid span, .rc2-member-operational-summary span,
  .rc2-membership-history p, .rc2-member-follow-up-list p, .rc2-workflow-form p, .rc2-workflow-form small,
  .rc2-add-member-form p, .rc2-add-member-form small, .v111-historical-evidence small
) { color: var(--v12-text-3); font-size: 12px; font-weight: 400; }
.btv2-v111-shell :where(.hd-member-plan, .hd-member-site, .hd-member-payment) { color: var(--v12-text-2); font-size: 12.5px; }
.btv2-v111-shell :where(.rc2-member-photo-thumbnail span, .hd-member-identity i span) { font-size: 11.5px; font-weight: 600; }
.btv2-v111-shell :where(.v111-mini-metrics strong) { font-family: var(--v12-display); font-size: 18px; font-weight: 600; }
.btv2-v111-shell :where(.rc2-section-heading h2, .rc2-section-heading h3) { font-size: 15px; }

/* warnings / boundaries inside forms: ruled amber line, not a red box */
.btv2-v111-shell :where(.rc2-member-note-warning, .rc2-add-member-boundary, .rc2-workflow-boundary, .rc2-safe-boundary) {
  background: transparent;
  background-image: none;
  border: 0;
  border-left: 2px solid var(--v12-amber);
  border-radius: 0;
  color: var(--v12-text-3);
  font-size: 12px;
  padding: 2px 0 2px 12px;
}

/* selected member rows / entries */
.btv2-v111-shell .hd-member-entry { background: transparent; background-image: none; box-shadow: none; }
.btv2-v111-shell .hd-member-entry[data-selected="true"] { background: var(--v12-s2); border-left-color: transparent; box-shadow: inset 2px 0 0 var(--v12-text-2); }

/* form submit buttons inside workflow panels are neutral-strong, never a second red */
.btv2-v111-shell :where(.rc2-workflow-form button[type="submit"], .rc2-member-notes button[type="submit"], .v111-workspace button[type="submit"]) {
  background: var(--v12-s3);
  border-color: var(--v12-line-strong);
  color: var(--v12-text);
}
/* a dialog's confirming action is that state's one primary */
.btv2-v111-shell :where(.rc2-add-member-actions button[type="submit"], dialog [data-v12-primary], [role="dialog"] button[type="submit"]) {
  background: var(--v12-red);
  border-color: transparent;
  color: #fff;
}
.btv2-v111-shell:has(dialog[open], [role="dialog"]) .rc2-add-member-trigger { background: var(--v12-s2); border-color: var(--v12-line-strong); color: var(--v12-text); }

/* a long text value in a stat tile is not a figure */
.btv2-v111-shell .mini-stat strong:not([data-v12-figure]) { overflow-wrap: anywhere; }
.btv2-v111-shell .v111-donut-value { fill: var(--v12-text); font-family: var(--v12-display); font-size: 28px; font-weight: 600; letter-spacing: -0.015em; }
.btv2-v111-shell .v111-donut-caption { fill: var(--v12-text-3); font-family: var(--v12-ui); font-size: 11.5px; font-weight: 500; letter-spacing: normal; text-transform: none; }

/* ---- 15. Workspace interiors (Leads, Tasks, Visits, Reporting, Settings, System) -- */
.btv2-v111-shell :where(.screen > section, .screen > article, .screen > form, .screen > details, .rc2-provider-grid > article, .rc2-attendance-summary > article, .v111-attendance-history-metrics > article, .rc2-plan-admin-row, .rc2-staff-create, .rc2-staff-directory, .rc2-staff-editor, .rc2-lead-card-list > *, .rc2-mapping-coverage > div) {
  background-image: none;
  border-color: var(--v12-line);
  box-shadow: none;
}
.btv2-v111-shell :where(.lead-api-toolbar, .rc2-lead-compact-queue, .rc2-directory-ledger, .rc2-provider-safety, .rc2-attendance-live-gap, .rc2-membership-plan-admin, .rc2-report-provenance, .rc2-report-coverage) { background-color: var(--v12-s1); border-radius: var(--v12-r-card); }
.btv2-v111-shell :where(.rc2-empty-contract strong, .rc2-attendance-live-gap strong, .rc2-provider-safety strong, .rc2-section-heading b, .rc2-report-index button strong) { color: var(--v12-text-2); font-size: 12.5px; font-weight: 600; }
.btv2-v111-shell :where(.rc2-attendance-summary, .v111-attendance-history-metrics, .rc2-system-readiness-grid, .rc2-mapping-coverage, .rc2-report-filter-summary, .rc2-report-provenance, .rc2-report-coverage) :where(article, div) > strong { color: var(--v12-text); font-family: var(--v12-display); font-size: 18px; font-variant-numeric: tabular-nums; font-weight: 600; }
.btv2-v111-shell :where(.rc2-attendance-summary, .v111-attendance-history-metrics, .rc2-system-readiness-grid, .rc2-mapping-coverage, .rc2-report-filter-summary, .rc2-report-provenance, .rc2-report-coverage, .rc2-attendance-scope) :where(article, div) > span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell :where(.rc2-add-member-actions button, .rc2-pagination button, .rc2-attendance-pagination button, .rc2-plan-status-tabs button) { font-size: 13px; }
.btv2-v111-shell :where(.btv2-cc-label, .btv2-cc-status-lamp span) { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .btv2-cc-status-lamp i { background: var(--v12-series-3); box-shadow: none; }
.btv2-v111-shell .btv2-cc-status-lamp[data-tone="positive"] i { background: var(--v12-positive); }
.btv2-v111-shell :where(input[type="checkbox"], input[type="radio"]) { accent-color: var(--v12-series-1); }
.btv2-v111-shell :where(.rc2-report-index > button[aria-pressed="true"], .rc2-report-index > button[aria-current="true"], .rc2-plan-status-tabs button[aria-pressed="true"]) { background: var(--v12-s3); border-color: var(--v12-line-strong); }
.btv2-v111-shell :where(.rc2-directory-ledger, .v111-members-directory) :where(div, header) > span { font-size: max(12px, 1em); }
.btv2-v111-shell :where(.rc2-staff-location-picker, .rc2-staff-capability-picker) input { accent-color: var(--v12-series-1); background-color: var(--v12-s2); border-color: var(--v12-line-strong); }

/* ---- 16. Second pass ------------------------------------------------------------ */
/* KPI alert: the figure alone carries the state */
.btv2-v111-shell .btv2-canonical-kpi[data-alert="true"] { outline: 0; }
/* churn: neutral bars, the peak month alone is red */
.btv2-v111-shell .btv2-owner-churn-chart article > i { height: 6px; }
.btv2-v111-shell .btv2-owner-churn-chart article > i::before { background: var(--v12-series-3); border-radius: 3px; }
.btv2-v111-shell .btv2-owner-churn-chart article[data-churn-risk="peak"] > i::before { background: var(--v12-red); }
.btv2-v111-shell .btv2-owner-churn-chart article > span { white-space: nowrap; }
/* gender: legend rows are quiet list rows, not boxed buttons */
.btv2-v111-shell .v111-gender-legend button { background: transparent; border: 0; border-bottom: 1px solid var(--v12-line); border-radius: 0; font-weight: 500; }
.btv2-v111-shell .v111-gender-legend li:last-child button { border-bottom: 0; }
.btv2-v111-shell .v111-gender-legend button:hover, .btv2-v111-shell .v111-gender-legend button[aria-pressed="true"] { background: var(--v12-s2); }
.btv2-v111-shell .v111-action-item { background: transparent; border-left: 0; border-radius: 0; border-right: 0; border-top: 0; }
/* workspace intro strip: the page header already carries the title */
.btv2-v111-shell .screen-command-header { background: transparent; border: 0; border-radius: 0; padding-left: 0; padding-right: 0; }
.btv2-v111-shell .command-hero-copy h2 { font-size: 15px; line-height: 1.3; }
.btv2-v111-shell .command-hero-copy p { color: var(--v12-text-3); font-size: 13px; }
@media (min-width: 900px) {
  /* donut beside its legend: the Gender panel matches the Age panel height */
  .btv2-v111-shell .v111-gender-body { align-items: center; column-gap: 24px; display: grid; grid-template-columns: 168px minmax(0, 1fr); }
  .btv2-v111-shell .v111-composition-grid { align-items: stretch; }
  /* Dashboard header: title, scope controls and account on one line */
  .btv2-v111-shell .v111-page-head { grid-template-columns: minmax(0, 1fr) auto auto; }
  .btv2-v111-shell .v111-page-head > .btv2-owner-operations-head { display: contents; }
  .btv2-v111-shell .v111-page-head .v111-page-title { grid-column: 1; grid-row: 1; padding-bottom: 14px; }
  .btv2-v111-shell .v111-page-head > .v111-head-controls { align-items: end; display: flex; gap: 12px; grid-column: 2; grid-row: 1; }
  .btv2-v111-shell .v111-page-head .btv2-owner-operations-head > :not(.v111-page-title) { align-self: end; grid-column: 3; grid-row: 1; margin-bottom: 14px; }
  /* Workspace header: title left, date range + account right, on one line */
  .btv2-v111-shell .app-header { align-items: end; display: flex; gap: 24px; justify-content: space-between; }
  .btv2-v111-shell .app-header .header-controls { align-items: end; display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
}

/* composition rows take their content height: no reserved blank band */
.btv2-v111-shell .v111-composition-grid { grid-auto-rows: auto; }
.btv2-v111-shell .v111-composition { grid-template-rows: none; }
.btv2-v111-shell .v111-composition-grid--secondary { align-items: start; }
@media (min-width: 900px) {
  .btv2-v111-shell .v111-page-head > .v111-head-controls { flex-wrap: nowrap; height: auto; }
  .btv2-v111-shell .v111-page-head > .v111-head-controls > * { flex: 0 0 auto; }
}
.btv2-v111-shell :where(.rc2-members-directory-header, .rc2-add-member-dialog, .rc2-member-locate) :where(div, header) > span { font-size: 12px; }

/* dialogs share the button system */
.btv2-v111-shell :where([role="dialog"] button, dialog button) { background: var(--v12-s3); background-image: none; border: 1px solid var(--v12-line-strong); box-shadow: none; color: var(--v12-text); font-size: 13px; font-weight: 600; }
.btv2-v111-shell :where([role="dialog"] header button, dialog header button) { background: transparent; border-color: transparent; color: var(--v12-text-2); }
.btv2-v111-shell :where(.app-header .header-title) { flex: 1 1 auto; min-width: 0; }
.btv2-v111-shell :where(.app-header h1) { white-space: nowrap; }

/* ---- 17. Semantic status chips and final action hierarchy --------------------- */
.btv2-v111-shell :where(.rc2-member-status-badge, .rc2-plan-status, .hd-status):where([data-status="active"], [data-status="active-member"], [data-status="paid"], [data-status="succeeded"], [data-status="complete"], [data-status="completed"]) { background: var(--v12-positive-tint); color: var(--v12-positive); }
.btv2-v111-shell :where(.rc2-member-status-badge, .rc2-plan-status, .hd-status):where([data-status="frozen"], [data-status="pending"], [data-status="draft"], [data-status="manual-review"], [data-status="manual_review"], [data-status="at-risk"], [data-status="cancellation-requested"]) { background: var(--v12-amber-tint); color: var(--v12-amber); }
.btv2-v111-shell :where(.rc2-member-status-badge, .rc2-plan-status, .hd-status):where([data-status="unpaid"], [data-status="failed"], [data-status="cancelled"], [data-status="expired"]) { background: var(--v12-red-tint); color: var(--v12-red-text); }
.btv2-v111-shell :where(.rc2-plan-status) { border-radius: var(--v12-r-chip); font-size: 11.5px; font-weight: 600; padding: 2px 8px; }
/* apply / search keep the light emphasis inside workspaces */
.btv2-v111-shell :where(.btv2-member-search-control button, .rc2-member-toolbar-primary button:last-child, .rc2-context-search button[type="submit"], .operations-workbench-filters button[type="submit"]) { background: var(--v12-series-1); border-color: transparent; color: #0b0c0f; }
.btv2-v111-shell :where(.btv2-member-search-control button, .rc2-member-toolbar-primary button:last-child, .rc2-context-search button[type="submit"], .operations-workbench-filters button[type="submit"]):hover { background: #fff; }
.btv2-v111-shell :where(.rc2-attendance-chart, .rc2-attendance-analysis) article > strong { color: var(--v12-text-2); font-size: 11.5px; font-variant-numeric: tabular-nums; font-weight: 600; }
.btv2-v111-shell :where(fieldset) { background: transparent; border: 1px solid var(--v12-line); border-radius: var(--v12-r-card); }
.btv2-v111-shell :where(fieldset label) { background: var(--v12-s2); border-color: var(--v12-line); }

/* ==========================================================================
   18. Data colour: calm shell, rich data.
   Colour is semantic: category, state, direction, coverage, history.
   ========================================================================== */
/* restrained response when scope or data changes */
.btv2-v111-shell :where(.v111-age-row i, .v111-plan-mix i, .v111-coverage-meters i, .v12-meter i, .v12-kpi-pair i, .v12-site-distribution i, .v111-visits-histogram i, .btv2-owner-movement-bars i, .v12-kpi-ring-value, .v111-donut-segment) { transition: width 260ms ease, height 260ms ease, stroke-dasharray 260ms ease, opacity 160ms ease; }
@media (prefers-reduced-motion: reduce) { .btv2-v111-shell :where(i, circle) { transition: none; } }

/* age: one blue family, the dominant band is the brightest */
.btv2-v111-shell .v111-age-row span > i { background-color: var(--v12-data-blue-soft); }
.btv2-v111-shell .v111-age-row span > i[data-tone="largest"] { background-color: var(--v12-data-blue); }
.btv2-v111-shell .v111-age-row span > i[data-tone="unknown"] { background-color: var(--v12-data-slate); }
/* plan mix: violet family, leading plan brightest */
.btv2-v111-shell .v111-plan-mix > div span > i { background-color: var(--v12-data-violet-soft); }
.btv2-v111-shell .v111-plan-mix > div:first-child span > i { background-color: var(--v12-data-violet); }
/* visits: blue series, amber peak */
.btv2-v111-shell .v111-visits-histogram i { background: var(--v12-data-blue-soft); }
.btv2-v111-shell .v111-visits-histogram i:hover { background: var(--v12-data-blue); }
.btv2-v111-shell .v111-visits-histogram i.peak { background: var(--v12-data-amber); }
.btv2-v111-shell .v111-daypass-bar { background: var(--v12-data-blue-soft); background-image: none; }
.btv2-v111-shell .v111-daypass-bar.peak { background: var(--v12-data-amber); }
.btv2-v111-shell .v111-chart-summary b[data-tone="negative"] { background: var(--v12-red-tint); color: var(--v12-red-text); }
/* coverage: health reads from colour */
.btv2-v111-shell .v111-coverage-meters span > i[data-v12-level="complete"], .btv2-v111-shell .v12-meter[data-v12-level="complete"] i { background-color: var(--v12-data-teal); }
.btv2-v111-shell .v111-coverage-meters span > i[data-v12-level="partial"], .btv2-v111-shell .v12-meter[data-v12-level="partial"] i { background-color: var(--v12-data-blue); }
.btv2-v111-shell .v111-coverage-meters span > i[data-v12-level="low"], .btv2-v111-shell .v12-meter[data-v12-level="low"] i { background-color: var(--v12-data-amber); }
.btv2-v111-shell .v111-coverage-meters > div[data-available="false"] b { color: var(--v12-text-3); }
.btv2-v111-shell .v111-coverage-meters > div[data-available="true"] b { color: var(--v12-text); }
/* starts vs endings: blue starts, muted red endings */
.btv2-v111-shell .btv2-owner-movement-bars i[data-series="starts"] { background: var(--v12-data-blue); }
.btv2-v111-shell .btv2-owner-movement-bars i[data-series="endings"] { background: var(--v12-data-red-soft); }
.btv2-v111-shell .btv2-owner-chart-legend span::before { background: var(--v12-data-blue); }
.btv2-v111-shell .btv2-owner-chart-legend span[data-series="endings"]::before { background: var(--v12-data-red-soft); }
/* churn: amber normal, red adverse peak */
.btv2-v111-shell .btv2-owner-churn-chart article > i::before, .btv2-v111-shell .btv2-owner-churn-chart article > i::after { background: var(--v12-data-amber); }
.btv2-v111-shell .btv2-owner-churn-chart article[data-churn-risk="peak"] > i::before, .btv2-v111-shell .btv2-owner-churn-chart article[data-churn-risk="peak"] > i::after { background: var(--v12-data-red); }
.btv2-v111-shell .btv2-owner-chart-legend span[data-series="churn"]::before { background: var(--v12-data-amber); }
.btv2-v111-shell .btv2-owner-chart-legend span[data-series="churn-peak"]::before { background: var(--v12-data-red); }
/* a stale movement panel stays amber-labelled and its bars recede */
.btv2-v111-shell .btv2-owner-movement-chart article[data-value-state="stale"] .btv2-owner-movement-bars i { opacity: 0.6; }

/* KPI instruments */
.btv2-v111-shell .v111-kpi-unit { color: var(--v12-text-3); display: block; font-size: 12.5px; font-weight: 500; margin-top: 2px; }
.btv2-v111-shell .v12-kpi-visual { display: grid; gap: 5px; margin-top: 10px; }
.btv2-v111-shell .v12-kpi-visual em { color: var(--v12-text-3); font-size: 11.5px; font-style: normal; }
.btv2-v111-shell .v12-meter { background: var(--v12-s3); border-radius: 3px; height: 6px; overflow: hidden; }
.btv2-v111-shell .v12-meter i { border-radius: 3px; display: block; height: 100%; }
.btv2-v111-shell .v12-kpi-pair > div { align-items: center; display: grid; gap: 8px; grid-template-columns: 52px minmax(0, 1fr) auto; }
.btv2-v111-shell .v12-kpi-pair span { color: var(--v12-text-3); font-size: 11.5px; }
.btv2-v111-shell .v12-kpi-pair span:nth-child(2) { background: var(--v12-s3); border-radius: 3px; height: 6px; overflow: hidden; }
.btv2-v111-shell .v12-kpi-pair i { border-radius: 3px; display: block; height: 100%; }
.btv2-v111-shell .v12-kpi-pair [data-series="starts"] i { background: var(--v12-data-blue); }
.btv2-v111-shell .v12-kpi-pair [data-series="endings"] i { background: var(--v12-data-red-soft); }
.btv2-v111-shell .v12-kpi-pair b { color: var(--v12-text-2); font-size: 11.5px; font-weight: 600; }
.btv2-v111-shell .v12-kpi-ring { height: 40px; margin-top: 8px; width: 40px; }
.btv2-v111-shell .v12-kpi-ring-track { stroke: var(--v12-s3); }
.btv2-v111-shell .v12-kpi-ring-value { stroke: var(--v12-data-teal); }
.btv2-v111-shell .v12-site-pips { display: flex; gap: 4px; }
.btv2-v111-shell .v12-site-pips i { background: var(--v12-s3); border-radius: 2px; flex: 1 1 0; height: 6px; max-width: 36px; }
.btv2-v111-shell .v12-site-pips i[data-filled="true"] { background: var(--v12-data-blue); }
.btv2-v111-shell .v12-site-distribution { border-radius: 3px; display: flex; gap: 2px; height: 6px; margin-top: 8px; overflow: hidden; }
.btv2-v111-shell .v12-site-distribution i { display: block; height: 100%; min-width: 3px; }
.btv2-v111-shell .v111-op-hero { height: auto; }
/* a figure that fills its card never clips: the unit sits on its own line */
.btv2-v111-shell :where(.v111-kpi, .btv2-canonical-kpi) > strong { overflow: visible; text-overflow: clip; }
/* attention, not alarm: work waiting is amber */
.btv2-v111-shell .v111-op-tile--urgent strong { color: var(--v12-data-amber); }
.btv2-v111-shell .v111-op-tile strong.is-live { color: var(--v12-positive); }

/* historical commercial evidence (real markup: dt / dd / small) */
.btv2-v111-shell .v111-historical-evidence { border-color: var(--v12-line); border-left: 2px solid var(--v12-data-amber); }
.btv2-v111-shell .v111-historical-evidence .v12-historical-tag { background: var(--v12-amber-tint); border-radius: var(--v12-r-chip); color: var(--v12-data-amber); font-size: 11.5px; font-weight: 600; padding: 2px 8px; }
.btv2-v111-shell .v111-historical-evidence dd { color: var(--v12-text-2); font-family: var(--v12-display); font-size: 18px; font-variant-numeric: tabular-nums; font-weight: 600; letter-spacing: -0.01em; line-height: 1.2; }
.btv2-v111-shell .v111-historical-evidence dl small { color: var(--v12-data-amber); font-size: 11.5px; font-weight: 500; opacity: 0.85; }

/* Dashboard period control: the truth stays, as supporting copy under the control */
.btv2-v111-shell .btv2-owner-period-control { max-width: 230px; }
.btv2-v111-shell .btv2-owner-period-note { color: var(--v12-text-3); display: block; font-size: 11.5px; font-weight: 400; line-height: 1.35; margin-top: 4px; }
@media (min-width: 900px) { .btv2-v111-shell .v111-page-head > .v111-head-controls { align-items: start; } }

/* dialog confirm: the single red primary of that state (declared after the shared dialog button rule) */
.btv2-v111-shell :where(.rc2-add-member-actions button[type="submit"], [role="dialog"] form button[type="submit"]) { background: var(--v12-red); border-color: transparent; color: #fff; }
.btv2-v111-shell :where(.rc2-add-member-actions button[type="submit"], [role="dialog"] form button[type="submit"]):hover { background: var(--action-primary-hover); }
.btv2-v111-shell :where(.rc2-add-member-actions button[type="submit"]):disabled { opacity: 0.6; }
/* elevation only for genuinely floating UI */
.btv2-v111-shell :where([role="dialog"], dialog) { box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55); }
/* tile instruments span the whole KPI card */
.btv2-v111-shell .btv2-canonical-kpi.v111-kpi > :where(.v12-kpi-visual, .v111-kpi-unit, .v12-kpi-ring) { grid-column: 1 / -1; }
.btv2-v111-shell .btv2-canonical-kpi.v111-kpi > .v12-kpi-visual { width: 100%; }
/* donut caption: SVG user units (the ring renders at about 1.2x) */
.btv2-v111-shell .v111-donut-caption { font-size: 10px; }

/* ==========================================================================
   19. Space: every pixel earns its place.
   Tiles are as tall as their content needs; only real chart canvases hold height.
   ========================================================================== */
.btv2-v111-shell :where(.v111-panel, .btv2-canonical-panel, .v111-kpi, .btv2-canonical-kpi, .v111-op-tile, .mini-stat) { height: auto; min-height: 0; }
.btv2-v111-shell .v111-owner-dashboard { row-gap: 14px; }
.btv2-v111-shell .v111-page-title { row-gap: 2px; }
.btv2-v111-shell .v111-page-strap { margin: 0; }

/* operational row: the hero reads in two lines, tiles match it */
.btv2-v111-shell .v111-operational-grid { align-items: stretch; }
@media (min-width: 1100px) { .btv2-v111-shell .v111-operational-grid { grid-template-columns: minmax(0, 2.2fr) repeat(4, minmax(0, 1fr)); } }
.btv2-v111-shell .v111-op-tile { padding: 12px 14px; }
.btv2-v111-shell .v111-op-hero-meta { display: flex; flex-wrap: wrap; gap: 2px 10px; }
.btv2-v111-shell .v111-op-hero-meta :where(span, em) { font-size: 12px; line-height: 1.35; }

/* commercial row: cards share the full row, however many are authoritative */
.btv2-v111-shell .v111-kpi-grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.btv2-v111-shell :where(.v111-kpi, .btv2-canonical-kpi) { align-content: start; padding: 14px 16px; }
.btv2-v111-shell :where(.v111-kpi, .btv2-canonical-kpi) > strong { margin-top: 6px; }
.btv2-v111-shell .v111-historical-evidence { padding: 10px 14px; }
.btv2-v111-shell .v111-historical-evidence dl { display: grid; gap: 4px 28px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 6px 0 0; }
.btv2-v111-shell .v111-historical-evidence header { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }

/* composition: one 12-column grid placed by component type */
@media (min-width: 1100px) {
  .btv2-v111-shell .v111-composition { column-gap: 10px; display: grid; grid-auto-flow: dense; grid-template-columns: repeat(12, minmax(0, 1fr)); row-gap: 10px; }
  .btv2-v111-shell .v111-composition > .v111-composition-grid { display: contents; }
  .btv2-v111-shell .v111-composition > :where(.v111-section-head, p, .v111-source-note) { grid-column: 1 / -1; }
  .btv2-v111-shell .v111-composition :where(.v111-gender-panel, .v111-age-panel) { grid-column: span 6; }
  .btv2-v111-shell .v111-composition :where(.v111-plan-panel, .v111-visits-panel, .v111-coverage-panel) { align-self: start; grid-column: span 4; }
  .btv2-v111-shell .v111-composition .v111-daypass-panel { align-self: start; grid-column: span 4; }
  /* plan mix and day passes stack in one column beside the two taller panels */
  .btv2-v111-shell .v111-composition:has(.v111-daypass-panel):has(.v111-plan-panel) .v111-visits-panel { grid-row: span 2; }
  .btv2-v111-shell .v111-composition:not(:has(.v111-plan-panel)) .v111-daypass-panel { grid-column: span 8; }
  /* coverage is the long list: it stands beside two shorter rows */
  .btv2-v111-shell .v111-composition:has(.v111-daypass-panel) .v111-coverage-panel { grid-row: span 2; }
  /* an omitted neighbour hands its columns to the remaining panels */
  .btv2-v111-shell .v111-composition:not(:has(.v111-visits-panel)) .v111-plan-panel { grid-column: span 8; }
  .btv2-v111-shell .v111-composition:not(:has(.v111-plan-panel)) .v111-visits-panel { grid-column: span 8; }
  .btv2-v111-shell .v111-composition:not(:has(.v111-coverage-panel)) .v111-daypass-panel { grid-column: 1 / -1; }
  .btv2-v111-shell .v111-composition:not(:has(.v111-age-panel)) .v111-gender-panel,
  .btv2-v111-shell .v111-composition:not(:has(.v111-gender-panel)) .v111-age-panel { grid-column: 1 / -1; }
}
.btv2-v111-shell :where(.v111-panel, .btv2-canonical-panel) { padding: 14px 16px; }
.btv2-v111-shell .v111-age-row { min-height: 0; padding-block: 0; }
.btv2-v111-shell .v111-age-bars { row-gap: 5px; }
.btv2-v111-shell .v111-plan-mix > div { min-height: 0; padding-block: 1px; }
/* coverage: compact rows, note beside the label where there is room */
.btv2-v111-shell .v111-coverage-meters { row-gap: 8px; }
.btv2-v111-shell .v111-coverage-meters > div { row-gap: 3px; }
.btv2-v111-shell .v111-coverage-meters :where(small, p) { line-height: 1.35; margin: 0; }
/* visits: the chart keeps its canvas; chrome around it is tight */
.btv2-v111-shell .v111-visits-panel .v111-histogram { height: 104px; }
.btv2-v111-shell .v111-mini-metrics > div { padding: 8px 10px; }
.btv2-v111-shell .v111-visits-panel :where(.v111-panel-foot, p) { margin-top: 8px; }
/* day passes without a purchase series: a shallow historical strip */
.btv2-v111-shell .v111-daypass-panel .v111-chart-summary[data-v111-daypass-retained-evidence] { align-items: baseline; display: flex; flex-wrap: wrap; gap: 4px 16px; justify-content: space-between; }
.btv2-v111-shell .v111-daypass-panel :where(.v111-panel-foot, p) { margin-top: 6px; }

/* history: charts keep a canvas, not a poster */
.btv2-v111-shell .btv2-owner-movement-bars { height: 120px; }
.btv2-v111-shell .btv2-owner-churn-chart { row-gap: 8px; }

/* today's actions: a full-width work strip, not a tall third-width column */
.btv2-v111-shell .v111-actions-panel { max-width: none; width: auto; }
@media (min-width: 1100px) {
  .btv2-v111-shell .v111-actions-panel .v111-actions-list { column-gap: 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 700px) and (max-width: 1099px) {
  .btv2-v111-shell .v111-actions-panel .v111-actions-list { column-gap: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.btv2-v111-shell .v111-action-item { min-height: 0; padding-block: 10px; }

/* mobile: compact canvases and padding, no desktop-height cards */
@media (max-width: 640px) {
  .btv2-v111-shell :where(.v111-panel, .btv2-canonical-panel) { padding: 12px; }
  .btv2-v111-shell .v111-owner-dashboard { row-gap: 10px; }
  .btv2-v111-shell .v111-gender-body { align-items: center; column-gap: 12px; display: grid; grid-template-columns: 132px minmax(0, 1fr); }
  .btv2-v111-shell .v111-gender-body .v111-donut { height: 132px; width: 132px; }
  .btv2-v111-shell .v111-donut-caption { font-size: 12.5px; }
  .btv2-v111-shell .v111-donut-value { font-size: 26px; }
  .btv2-v111-shell .v111-gender-legend button { padding-block: 6px; }
  .btv2-v111-shell .v111-visits-panel .v111-histogram, .btv2-v111-shell .btv2-owner-movement-bars { height: 96px; }
  .btv2-v111-shell .btv2-owner-movement-chart { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 10px; }
  .btv2-v111-shell .btv2-owner-movement-chart article > small { display: none; }
  .btv2-v111-shell .v111-action-item { padding-block: 8px; }
}
/* coverage and visits: tighter rhythm, every figure and provenance line kept */
.btv2-v111-shell .v111-coverage-meters { row-gap: 6px; }
.btv2-v111-shell .v111-coverage-meters > div { row-gap: 2px; }
.btv2-v111-shell .v111-coverage-meters > div > span:nth-of-type(2) { height: 5px; }
.btv2-v111-shell .v111-coverage-meters > p { border-top: 1px solid var(--v12-line); margin-top: 4px; padding-top: 8px; }
.btv2-v111-shell .v111-visits-panel .v111-chart-summary { row-gap: 4px; }
.btv2-v111-shell .v111-visits-panel .v111-mini-metrics { margin-top: 8px; }
.btv2-v111-shell .v111-mini-metrics > div { padding: 6px 10px; }
/* other routes: dense rows, compact headers, no empty bands */
.btv2-v111-shell .app-header { padding-block: 14px; }
.btv2-v111-shell .mini-stat { padding: 10px 14px; }
.btv2-v111-shell .hd-member-row { min-height: 0; padding-block: 8px; }
.btv2-v111-shell .hd-member-entry { min-height: 0; }
.btv2-v111-shell .operations-workbench-row { min-height: 0; padding-block: 9px; }
.btv2-v111-shell .operations-workbench-group > header { padding-block: 10px; }
.btv2-v111-shell .operations-workbench-hero { padding-block: 4px 8px; }
.btv2-v111-shell .v111-operations-card { min-height: 0; }
.btv2-v111-shell .rc2-report-index > button { min-height: 0; padding-block: 10px; }
.btv2-v111-shell .screen-command-header { padding-block: 8px; }
.btv2-v111-shell .rc2-system-readiness-grid > article { min-height: 0; padding-block: 12px; }
.btv2-v111-shell .btv2-canonical-kpi.v111-kpi > span { margin-left: 0; padding-left: 0; }
/* the KPI unit flows under its figure (legacy pins every KPI span to the label row) */
.btv2-v111-shell .btv2-canonical-kpi.v111-kpi > span.v111-kpi-unit { grid-row: auto; justify-self: start; }
/* a lone authoritative KPI stays card-sized instead of stretching across the row */
.btv2-v111-shell .v111-kpi-grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.btv2-v111-shell .v111-kpi-grid > .v111-kpi:only-child { max-width: 380px; }
.btv2-v111-shell .v111-kpi-grid > .v111-kpi:first-child:nth-last-child(2), .btv2-v111-shell .v111-kpi-grid > .v111-kpi:first-child:nth-last-child(2) ~ .v111-kpi { max-width: 480px; }

/* ---- 20. Final polish -------------------------------------------------------------- */
/* site distribution key: the recorded per-site values, colour-keyed, always visible */
.btv2-v111-shell .v12-site-key { display: flex; flex-wrap: wrap; gap: 2px 14px; list-style: none; margin: 6px 0 0; padding: 0; }
.btv2-v111-shell .v12-site-key li { align-items: center; color: var(--v12-text-3); display: inline-flex; font-size: 12px; gap: 5px; white-space: nowrap; }
.btv2-v111-shell .v12-site-key i { border-radius: 2px; flex: 0 0 auto; height: 8px; width: 8px; }
.btv2-v111-shell .v12-site-key b { color: var(--v12-text); font-size: 12px; font-variant-numeric: tabular-nums; font-weight: 600; }
/* historical strip: shared provenance stated once; figures sit side by side */
.btv2-v111-shell .v12-historical-provenance { color: var(--v12-data-amber); font-size: 11.5px; font-style: normal; font-weight: 500; }
.btv2-v111-shell .v111-historical-evidence header span { font-size: 12px; }
.btv2-v111-shell .v111-historical-evidence dl[data-v12-shared-provenance="true"] { grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); }
@media (max-width: 640px) {
  .btv2-v111-shell .v111-historical-evidence { padding: 10px 12px; }
  .btv2-v111-shell .v111-historical-evidence header { gap: 4px 8px; }
  .btv2-v111-shell .v111-historical-evidence dl { gap: 8px 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 8px; }
  .btv2-v111-shell .v111-historical-evidence dl[data-v12-shared-provenance="true"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .btv2-v111-shell .v111-historical-evidence dd { font-size: 16px; overflow-wrap: anywhere; }
  .btv2-v111-shell .v12-site-key { gap: 2px 10px; }
}
/* the three-site key stays on one line at desktop widths */
@media (min-width: 1100px) {
  .btv2-v111-shell .v111-operational-grid { grid-template-columns: minmax(0, 2.3fr) repeat(4, minmax(0, 1fr)); }
  .btv2-v111-shell .v12-site-key { column-gap: 10px; }
}

/* ==========================================================================
   21. Shared data tooltip (src/lib/v12DataTooltip.js)
   ========================================================================== */
.btv2-v111-shell .v12-data-tip { background: var(--v12-s3); border: 1px solid var(--v12-line-strong); border-radius: var(--v12-r-ctl); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5); display: grid; gap: 1px; max-width: 260px; min-width: 120px; padding: 8px 10px; pointer-events: none; position: fixed; z-index: 2000; }
.btv2-v111-shell .v12-data-tip[hidden] { display: none; }
.btv2-v111-shell .v12-data-tip-title { color: var(--v12-text-3); font-size: 11.5px; font-weight: 500; }
.btv2-v111-shell .v12-data-tip-value { color: var(--v12-text); font-family: var(--v12-display); font-size: 15px; font-variant-numeric: tabular-nums; font-weight: 600; }
.btv2-v111-shell .v12-data-tip-context { color: var(--v12-text-2); font-size: 11.5px; font-style: normal; }
.btv2-v111-shell .v12-data-tip[data-tone="positive"] .v12-data-tip-value { color: var(--v12-positive); }
.btv2-v111-shell .v12-data-tip[data-tone="warning"] .v12-data-tip-value { color: var(--v12-data-amber); }
.btv2-v111-shell .v12-data-tip[data-tone="negative"] .v12-data-tip-value { color: var(--v12-red-text); }
.btv2-v111-shell [data-v12-tip] { cursor: default; outline: 0; }
.btv2-v111-shell [data-v12-tip]:focus-visible, .btv2-v111-shell [data-v12-tip][data-v12-tip-active="true"] { border-radius: 3px; box-shadow: 0 0 0 2px rgba(241, 243, 246, 0.55); }
.btv2-v111-shell :where(.v111-age-row, .v111-plan-mix > div, .v111-coverage-meters > div)[data-v12-tip-active="true"] { background: var(--v12-s2); box-shadow: none; }
.btv2-v111-shell .v111-visits-histogram i[data-v12-tip-active="true"] { background: var(--v12-data-blue); box-shadow: none; }
.btv2-v111-shell .v111-visits-histogram i.peak[data-v12-tip-active="true"] { background: var(--v12-data-amber); }

/* ==========================================================================
   22. Dashboard: a lone authoritative KPI is a compact evidence strip
   ========================================================================== */
@media (min-width: 900px) {
  .btv2-v111-shell .v111-kpi-grid > .v111-kpi:only-child { align-items: center; column-gap: 28px; display: grid; grid-template-columns: minmax(220px, 1.4fr) auto auto minmax(200px, 1.6fr); grid-template-rows: auto auto; max-width: none; padding: 12px 18px; row-gap: 2px; }
  .btv2-v111-shell .v111-kpi-grid > .v111-kpi:only-child > span:not(.v111-kpi-unit) { grid-column: 1; grid-row: 1; }
  .btv2-v111-shell .v111-kpi-grid > .v111-kpi:only-child > .v111-kpi-tags { grid-column: 1; grid-row: 2; margin: 0; }
  .btv2-v111-shell .v111-kpi-grid > .v111-kpi:only-child > strong { font-size: 30px; grid-column: 2; grid-row: 1 / span 2; margin: 0; }
  .btv2-v111-shell .v111-kpi-grid > .v111-kpi:only-child > span.v111-kpi-unit { align-self: center; grid-column: 3; grid-row: 1 / span 2; margin: 6px 0 0; }
  .btv2-v111-shell .v111-kpi-grid > .v111-kpi:only-child > .v12-kpi-visual { grid-column: 4; grid-row: 1; margin: 0; max-width: 320px; }
  .btv2-v111-shell .v111-kpi-grid > .v111-kpi:only-child > small { grid-column: 4; grid-row: 2; margin: 0; }
}
.btv2-v111-shell .v111-kpi-grid > .v111-kpi:first-child:nth-last-child(2), .btv2-v111-shell .v111-kpi-grid > .v111-kpi:first-child:nth-last-child(2) ~ .v111-kpi { max-width: none; }

/* ==========================================================================
   23. Operations: an action workbench
   ========================================================================== */
.btv2-v111-shell .operations-workbench-summary { background: var(--v12-s1); border: 1px solid var(--v12-line); border-radius: var(--v12-r-card); display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); margin: 10px 0; }
.btv2-v111-shell .operations-workbench-summary > div { border-left: 1px solid var(--v12-line); display: grid; gap: 1px; padding: 10px 14px; }
.btv2-v111-shell .operations-workbench-summary > div:first-child { border-left: 0; }
.btv2-v111-shell .operations-workbench-summary span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .operations-workbench-summary strong { color: var(--v12-text); font-family: var(--v12-display); font-size: 22px; font-variant-numeric: tabular-nums; font-weight: 600; line-height: 1.15; }
.btv2-v111-shell .operations-workbench-summary small { color: var(--v12-text-3); font-size: 11.5px; }
.btv2-v111-shell .operations-workbench-summary > div[data-tone="warning"] strong { color: var(--v12-data-amber); }
.btv2-v111-shell .operations-workbench-filters { align-items: end; display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 12px; }
.btv2-v111-shell .operations-workbench-filters label { display: grid; gap: 3px; min-width: 190px; }
.btv2-v111-shell .operations-workbench-filters select { min-height: 36px; }
.btv2-v111-shell .operations-workbench-boundary { margin: 0 0 10px; }
.btv2-v111-shell .operations-workbench-groups { align-items: start; display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
.btv2-v111-shell .operations-workbench-group { align-self: start; height: auto; min-height: 0; }
@media (min-width: 1100px) {
  .btv2-v111-shell .operations-workbench-groups:not([data-operations-queue-count="1"]) { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
  .btv2-v111-shell .operations-workbench-group[data-operations-queue="primary"] { grid-column: 1; grid-row: 1 / span 8; }
  .btv2-v111-shell .operations-workbench-group[data-operations-queue="secondary"] { grid-column: 2; }
}
@media (max-width: 1099px) {
  .btv2-v111-shell .operations-workbench-group[data-operations-queue="secondary"] { order: -1; }
}
.btv2-v111-shell .operations-workbench-group > header { align-items: center; display: flex; gap: 12px; justify-content: space-between; padding: 10px 14px; }
.btv2-v111-shell .operations-workbench-group > header h2 { font-size: 15px; }
.btv2-v111-shell .operations-workbench-group > header > strong { background: var(--v12-slate-tint); border-radius: var(--v12-r-chip); color: var(--v12-text); font-size: 12px; font-variant-numeric: tabular-nums; font-weight: 600; padding: 2px 8px; }
.btv2-v111-shell .operations-workbench-row { padding: 8px 14px; width: 100%; }
.btv2-v111-shell .operations-workbench-row-main { display: grid; gap: 1px; min-width: 0; text-align: left; }
.btv2-v111-shell .operations-workbench-row-meta b[data-priority="high"], .btv2-v111-shell .operations-workbench-row-meta b[data-priority="critical"] { background: var(--v12-amber-tint); border-radius: var(--v12-r-chip); padding: 1px 7px; }
.btv2-v111-shell .operations-workbench-row-meta b[data-priority="critical"] { background: var(--v12-red-tint); color: var(--v12-red-text); }
.btv2-v111-shell .operations-workbench-rest > summary { align-items: center; border-top: 1px solid var(--v12-line); color: var(--v12-text); cursor: pointer; display: flex; font-size: 13px; font-weight: 600; gap: 10px; justify-content: space-between; list-style: none; padding: 10px 14px; }
.btv2-v111-shell .operations-workbench-rest > summary::-webkit-details-marker { display: none; }
.btv2-v111-shell .operations-workbench-rest > summary:hover { background: var(--v12-s2); }
.btv2-v111-shell .operations-workbench-rest > summary small { color: var(--v12-text-3); font-size: 12px; font-weight: 400; }
.btv2-v111-shell .operations-workbench-rest[open] > summary span { display: none; }
.btv2-v111-shell .operations-workbench-rest[open] > summary::before { color: var(--v12-text-2); content: "Show fewer"; font-size: 13px; font-weight: 600; }
.btv2-v111-shell .operations-workbench-rest[open] > summary small { display: none; }
.btv2-v111-shell .operations-workbench-more { border-top: 1px solid var(--v12-line); margin: 0; padding: 8px 14px; }
.btv2-v111-shell .v111-operations-grid { gap: 10px; }
.btv2-v111-shell .v111-operations-card { padding: 12px 14px; }

/* ==========================================================================
   24. Reporting: control bar + catalogue / report workspace
   ========================================================================== */
.btv2-v111-shell .rc2-report-filter-summary { align-items: center; background: var(--v12-s1); border: 1px solid var(--v12-line); border-radius: var(--v12-r-card); display: flex; flex-wrap: wrap; gap: 6px 22px; padding: 8px 14px; }
.btv2-v111-shell .rc2-report-filter-summary > div { align-items: baseline; background: transparent; border: 0; border-radius: 0; display: flex; gap: 7px; padding: 0; }
.btv2-v111-shell .rc2-report-filter-summary > div > span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .rc2-report-filter-summary > div > strong { color: var(--v12-text); font-family: var(--v12-ui); font-size: 13px; font-variant-numeric: tabular-nums; font-weight: 600; }
.btv2-v111-shell .rc2-report-filter-summary > div[data-control="to"] { margin-left: -12px; }
.btv2-v111-shell .rc2-report-filter-summary > div[data-control="to"] > span::before { color: var(--v12-text-3); content: "→ "; }
.btv2-v111-shell .rc2-report-filter-summary > div[data-control="output"] { margin-left: auto; }
.btv2-v111-shell .rc2-report-filter-summary > div[data-control="output"] > strong { background: var(--v12-slate-tint); border-radius: var(--v12-r-chip); font-size: 11.5px; padding: 2px 8px; }
.btv2-v111-shell .rc2-reports-screen .screen-command-header { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; }
.btv2-v111-shell .rc2-reports-screen .hero-mini-grid { background: transparent; border: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.btv2-v111-shell .rc2-reports-screen .hero-mini-grid > * { align-items: baseline; background: transparent; border: 0; display: flex; gap: 6px; padding: 0; }
.btv2-v111-shell .rc2-reports-screen .hero-mini-grid strong { font-family: var(--v12-ui); font-size: 13px; }
.btv2-v111-shell .rc2-report-index { align-content: start; background: var(--v12-s1); border: 1px solid var(--v12-line); border-radius: var(--v12-r-card); display: grid; gap: 0; grid-template-columns: minmax(0, 1fr); overflow: hidden; }
.btv2-v111-shell .rc2-report-index-group { align-items: center; background: var(--v12-s2); color: var(--v12-text-3); display: flex; font-family: var(--v12-ui); font-size: 11.5px; font-weight: 600; justify-content: space-between; letter-spacing: normal; margin: 0; padding: 6px 14px; }
.btv2-v111-shell .rc2-report-index-group small { color: var(--v12-text-3); font-size: 11.5px; font-variant-numeric: tabular-nums; }
.btv2-v111-shell .rc2-report-index > button { background: transparent; border: 0; border-radius: 0; border-top: 1px solid var(--v12-line); column-gap: 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: 9px 14px; row-gap: 2px; text-align: left; }
.btv2-v111-shell .rc2-report-index > button:hover { background: var(--v12-s2); }
.btv2-v111-shell .rc2-report-index > button > strong { color: var(--v12-text); font-size: 13.5px; font-weight: 600; grid-column: 1; }
.btv2-v111-shell .rc2-report-index > button > span { -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: var(--v12-text-3); display: -webkit-box; font-size: 12px; font-weight: 400; grid-column: 1 / -1; line-height: 1.4; overflow: hidden; }
.btv2-v111-shell .rc2-report-index > button > small { display: none; }
.btv2-v111-shell .rc2-report-index > button > em { color: var(--v12-text-3); font-size: 11.5px; font-style: normal; font-weight: 500; grid-column: 2; grid-row: 1; }
.btv2-v111-shell .rc2-report-index > button[aria-pressed="true"] { background: var(--v12-s2); box-shadow: inset 2px 0 0 var(--v12-data-blue); }
.btv2-v111-shell .rc2-report-index > button[aria-pressed="true"] > em { background: rgba(79, 140, 255, 0.14); border-radius: var(--v12-r-chip); color: var(--v12-data-blue); font-weight: 600; padding: 1px 7px; }
@media (min-width: 1100px) {
  .btv2-v111-shell .rc2-reports-screen { align-items: start; column-gap: 12px; display: grid; grid-template-columns: 340px minmax(0, 1fr); row-gap: 10px; }
  .btv2-v111-shell .rc2-reports-screen > * { grid-column: 1 / -1; min-width: 0; }
  .btv2-v111-shell .rc2-reports-screen > .rc2-report-index { grid-column: 1; max-height: calc(100vh - 150px); overflow-y: auto; position: sticky; top: 8px; }
  .btv2-v111-shell .rc2-reports-screen > .rc2-report-detail { grid-column: 2; margin: 0; }
}
.btv2-v111-shell .rc2-report-detail { padding: 14px 16px; }
.btv2-v111-shell :where(.rc2-report-provenance, .rc2-report-coverage) { display: grid; gap: 8px 18px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); padding: 10px 14px; }
.btv2-v111-shell :where(.rc2-report-provenance, .rc2-report-coverage) > div > strong { font-family: var(--v12-ui); font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.btv2-v111-shell .rc2-report-table-row { border-color: var(--v12-line); }

/* ==========================================================================
   25. System: membership plans and imported plan mapping
   ========================================================================== */
.btv2-v111-shell .rc2-plan-admin-header { align-items: end; display: flex; flex-wrap: wrap; gap: 10px 20px; justify-content: space-between; }
.btv2-v111-shell .rc2-plan-admin-header h1 { font-size: 22px; line-height: 1.2; }
.btv2-v111-shell .rc2-plan-admin-header p { color: var(--v12-text-3); font-size: 13px; margin: 2px 0 0; }
.btv2-v111-shell .rc2-plan-status-tabs { border-bottom: 1px solid var(--v12-line); display: flex; gap: 2px; margin: 8px 0 10px; }
.btv2-v111-shell .rc2-plan-status-tabs button { background: transparent; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: var(--v12-text-3); font-size: 13.5px; font-weight: 500; min-height: 36px; padding: 0 12px; }
.btv2-v111-shell .rc2-plan-status-tabs button:hover { background: transparent; color: var(--v12-text); }
.btv2-v111-shell .rc2-plan-status-tabs button[aria-current="page"] { border-bottom-color: var(--v12-red); color: var(--v12-text); }
.btv2-v111-shell .rc2-plan-admin-list { background: var(--v12-s1); border: 1px solid var(--v12-line); border-radius: var(--v12-r-card); overflow: hidden; }
.btv2-v111-shell .rc2-plan-admin-row { background: transparent; border: 0; border-radius: 0; border-top: 1px solid var(--v12-line); padding: 10px 14px; }
.btv2-v111-shell .rc2-plan-admin-row.rc2-plan-admin-columns { background: var(--v12-s2); border-top: 0; padding-block: 7px; }
.btv2-v111-shell .rc2-plan-admin-columns span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .rc2-plan-admin-row:not(.rc2-plan-admin-columns):hover { background: var(--v12-s2); }
.btv2-v111-shell .rc2-plan-admin-row [role="cell"] { align-content: start; display: grid; gap: 1px; }
.btv2-v111-shell .rc2-plan-admin-row [role="cell"] > strong { color: var(--v12-text); font-size: 13.5px; font-variant-numeric: tabular-nums; font-weight: 600; }
.btv2-v111-shell .rc2-plan-admin-row [role="cell"]:first-child > strong { font-size: 14px; }
.btv2-v111-shell .rc2-plan-admin-row [role="cell"] > :where(span, small) { color: var(--v12-text-3); font-size: 12px; }
.btv2-v111-shell .rc2-plan-admin-row [role="cell"] > .rc2-plan-status { justify-self: start; }
.btv2-v111-shell .rc2-plan-row-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.btv2-v111-shell .rc2-plan-row-actions button { min-height: 30px; padding: 0 10px; }
.btv2-v111-shell .rc2-plan-row-actions button[data-v12-lifecycle="archive"] { background: transparent; border-color: transparent; color: var(--v12-text-3); }
.btv2-v111-shell .rc2-plan-row-actions button[data-v12-lifecycle="archive"]:hover:not(:disabled) { background: var(--v12-red-tint); color: var(--v12-red-text); }
.btv2-v111-shell .rc2-plan-admin-boundary { margin: 10px 0 0; }
.btv2-v111-shell .rc2-imported-plan-mapping { background: var(--v12-s1); border: 1px solid var(--v12-line); border-radius: var(--v12-r-card); margin-top: 14px; padding: 14px 16px; }
.btv2-v111-shell .rc2-imported-plan-mapping > .rc2-section-heading { align-items: center; border: 0; display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; margin: 0; padding: 0; }
.btv2-v111-shell .rc2-imported-plan-mapping > .rc2-section-heading > strong { background: var(--v12-amber-tint); border-radius: var(--v12-r-chip); color: var(--v12-data-amber); font-size: 11.5px; font-weight: 600; padding: 2px 8px; }
.btv2-v111-shell .rc2-imported-plan-mapping > p { color: var(--v12-text-3); font-size: 12.5px; margin: 4px 0 10px; }
.btv2-v111-shell .rc2-mapping-coverage { background: transparent; border: 0; border-block: 1px solid var(--v12-line); display: grid; gap: 0; grid-template-columns: repeat(4, minmax(0, 0.7fr)) repeat(2, minmax(0, 1.3fr)); margin: 0 0 10px; padding: 0; }
.btv2-v111-shell .rc2-mapping-coverage > div { background: transparent; border: 0; border-left: 1px solid var(--v12-line); border-radius: 0; display: grid; gap: 1px; padding: 8px 14px; }
.btv2-v111-shell .rc2-mapping-coverage > div:first-child { border-left: 0; padding-left: 0; }
.btv2-v111-shell .rc2-mapping-coverage > div[data-tone="warning"] > strong { color: var(--v12-data-amber); }
.btv2-v111-shell .rc2-mapping-coverage > div[data-tone="positive"] > strong { color: var(--v12-positive); }
.btv2-v111-shell .rc2-mapping-coverage .v12-kpi-visual { margin-top: 4px; }
.btv2-v111-shell .rc2-mapping-coverage .v12-kpi-visual em { display: none; }
.btv2-v111-shell .rc2-mapping-filters { align-items: end; display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 8px; }
.btv2-v111-shell .rc2-mapping-filters label { display: grid; gap: 3px; min-width: 200px; }
.btv2-v111-shell .rc2-mapping-filters select, .btv2-v111-shell .rc2-mapping-filters button { min-height: 36px; }
.btv2-v111-shell .rc2-mapping-review-list > article { background: var(--v12-s2); border: 1px solid var(--v12-line); border-radius: var(--v12-r-ctl); padding: 10px 12px; }
@media (max-width: 760px) {
  .btv2-v111-shell .rc2-mapping-coverage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .btv2-v111-shell .rc2-mapping-coverage > div { border-left: 0; border-top: 1px solid var(--v12-line); padding-left: 0; }
  .btv2-v111-shell .rc2-mapping-coverage > div:nth-child(-n+2) { border-top: 0; }
  .btv2-v111-shell .rc2-plan-admin-row.rc2-plan-admin-columns { display: none; }
  .btv2-v111-shell .rc2-plan-admin-row { display: grid; gap: 8px 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .btv2-v111-shell .rc2-plan-admin-row [role="cell"]:first-child, .btv2-v111-shell .rc2-plan-row-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .btv2-v111-shell .operations-workbench-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .btv2-v111-shell .operations-workbench-summary > div:nth-child(odd) { border-left: 0; }
  .btv2-v111-shell .operations-workbench-summary > div:nth-child(n+3) { border-top: 1px solid var(--v12-line); }
  .btv2-v111-shell .operations-workbench-row { grid-template-columns: minmax(0, 1fr) auto; row-gap: 2px; }
  .btv2-v111-shell .operations-workbench-row-cta { display: none; }
  .btv2-v111-shell .rc2-report-filter-summary > div[data-control="output"] { margin-left: 0; }
}

/* Operations: tight workbench chrome; filters and the boundary statement share one row */
.btv2-v111-shell .v111-operations-overview { padding-top: 12px; }
.btv2-v111-shell .operations-workbench-hero { margin: 0; padding: 0 0 2px; }
.btv2-v111-shell .operations-workbench-hero p { margin: 2px 0 0; }
@media (min-width: 1100px) {
  .btv2-v111-shell .operations-workbench { column-gap: 24px; display: grid; grid-template-columns: auto minmax(0, 1fr); }
  .btv2-v111-shell .operations-workbench > * { grid-column: 1 / -1; min-width: 0; }
  .btv2-v111-shell .operations-workbench > .operations-workbench-hero { grid-row: 1; }
  .btv2-v111-shell .operations-workbench > .operations-workbench-summary { grid-row: 2; }
  .btv2-v111-shell .operations-workbench > .operations-workbench-filters { grid-column: 1; grid-row: 3; }
  .btv2-v111-shell .operations-workbench > .operations-workbench-boundary { align-self: end; grid-column: 2; grid-row: 3; margin: 0 0 12px; }
  .btv2-v111-shell .operations-workbench > .operations-workbench-feedback { grid-row: 4; }
  .btv2-v111-shell .operations-workbench > :where(.operations-workbench-groups, .operations-workbench-state, .operations-workbench-detail) { grid-row: 5; }
}

/* ---- 26. Visual-critique corrections --------------------------------------------- */
/* breadcrumb stays on one line */
.btv2-v111-shell .rc2-breadcrumb { white-space: nowrap; }
/* Reporting: the page header already says "Reports"; the intro keeps only its sentence */
.btv2-v111-shell .rc2-reports-screen .command-hero-copy h2 { display: none; }
.btv2-v111-shell .rc2-reports-screen .command-hero-copy p { margin: 0; max-width: 72ch; }
.btv2-v111-shell :where(.rc2-report-provenance, .rc2-report-coverage) { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.btv2-v111-shell :where(.rc2-report-provenance, .rc2-report-coverage) > div { background: transparent; border: 0; padding: 0; }
.btv2-v111-shell :where(.rc2-report-provenance, .rc2-report-coverage) > div > strong { overflow-wrap: break-word; word-break: normal; }
/* Operations: supporting workspaces are compact link tiles, not tall cards */
.btv2-v111-shell .v111-operations-supporting { margin-top: 18px; }
.btv2-v111-shell .v111-operations-heading h2 { font-size: 15px; }
.btv2-v111-shell .v111-operations-heading p { color: var(--v12-text-3); font-size: 12.5px; margin: 2px 0 8px; }
.btv2-v111-shell .v111-operations-grid { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.btv2-v111-shell .v111-operations-card { align-items: center; column-gap: 12px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; min-height: 0; padding: 10px 12px; row-gap: 0; }
.btv2-v111-shell .v111-operations-card > .v111-operations-card-icon { grid-column: 1; height: 32px; width: 32px; }
.btv2-v111-shell .v111-operations-card > div:not(.v111-operations-card-icon) { grid-column: 2; min-width: 0; }
.btv2-v111-shell .v111-operations-card > div:not(.v111-operations-card-icon) > span { display: none; }
.btv2-v111-shell .v111-operations-card h3 { font-size: 13.5px; margin: 0; }
.btv2-v111-shell .v111-operations-card p { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.btv2-v111-shell .v111-operations-card > button { grid-column: 3; min-height: 30px; }
/* Membership plans: a table without cell boxes; notes are quiet ruled lines */
.btv2-v111-shell .rc2-plan-admin-row :where([role="cell"], [role="columnheader"]) { border: 0; padding-block: 0; }
.btv2-v111-shell :where(.rc2-plan-status, .rc2-member-status-badge, .hd-status):where([data-status="ACTIVE" i], [data-status="active-member" i]) { background: var(--v12-positive-tint); color: var(--v12-positive); }
.btv2-v111-shell :where(.rc2-plan-status):where([data-status="DRAFT" i]) { background: var(--v12-amber-tint); color: var(--v12-amber); }
.btv2-v111-shell :where(.rc2-plan-status):where([data-status="ARCHIVED" i]) { background: var(--v12-slate-tint); color: var(--v12-text-2); }
.btv2-v111-shell :where(.rc2-plan-admin-boundary, .rc2-imported-plan-mapping > p:last-child, .rc2-mapping-boundary) { background: transparent; border: 0; border-left: 2px solid var(--v12-line-strong); border-radius: 0; color: var(--v12-text-3); font-size: 12px; padding: 2px 0 2px 12px; }
.btv2-v111-shell .rc2-membership-plan-admin > .rc2-workflow-feedback { margin: 6px 0 0; }

/* ---- 27. Classification sweep corrections (B surfaces) ---------------------------- */
/* workspace tabs: the inner wrapper never carries a pill background */
.btv2-v111-shell .rc2-workspace-navigation > div { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 0; }
/* retained command-centre interiors (Leads, Payments, Recovery...) get the shell gutter */
.btv2-v111-shell .main > .screen.btv2-command-centre:not(.v111-workspace) { box-sizing: border-box; padding: 12px 24px 24px; }
@media (max-width: 640px) { .btv2-v111-shell .main > .screen.btv2-command-centre:not(.v111-workspace) { padding: 10px 16px 20px; } }
/* workspace intro stats: values are often words, so they read at text scale */
.btv2-v111-shell .hero-mini-grid strong { font-family: var(--v12-ui); font-size: 14px; font-weight: 600; line-height: 1.3; }
.btv2-v111-shell .hero-mini-grid > * { padding: 8px 12px; }

/* ---- 28. Pass-2 alignment ---------------------------------------------------------- */
.btv2-v111-shell .main > .app-header { padding-inline: 24px; }
@media (max-width: 640px) { .btv2-v111-shell .main > .app-header { padding-inline: 14px; } }
@media (min-width: 900px) {
  /* the strip reads edge to edge: identity left, figure centre, reporting sites right */
  .btv2-v111-shell .v111-kpi-grid > .v111-kpi:only-child { grid-template-columns: minmax(220px, 1fr) auto auto minmax(220px, 1fr); }
  .btv2-v111-shell .v111-kpi-grid > .v111-kpi:only-child > .v12-kpi-visual { justify-self: end; width: 240px; }
  .btv2-v111-shell .v111-kpi-grid > .v111-kpi:only-child > small { justify-self: end; text-align: right; }
}

/* ---- 29. Hosted QA: imported plan mapping review records ---------------------------- */
:where(#app.btv2-v111-shell) :where(.main) :where(time, output, code) { font-size: max(11.5px, 1em); }
/* one dense record: identity left, the single resolve action right, ignore tucked below */
.btv2-v111-shell .rc2-mapping-review-list { display: grid; gap: 6px; }
.btv2-v111-shell .rc2-mapping-review-list > article { display: grid; gap: 6px 18px; padding: 10px 12px; }
.btv2-v111-shell .rc2-mapping-review-list > article > header { align-items: start; display: grid; gap: 1px; }
.btv2-v111-shell .rc2-mapping-review-list > article > header strong { color: var(--v12-text); font-size: 13.5px; font-weight: 600; overflow-wrap: anywhere; }
.btv2-v111-shell .rc2-mapping-review-list > article > header :where(span, small, time) { color: var(--v12-text-3); font-size: 12px; }
.btv2-v111-shell .rc2-mapping-review-list > article > form { align-items: end; display: flex; flex-wrap: wrap; gap: 8px 10px; }
.btv2-v111-shell .rc2-mapping-review-list > article > form > label { display: grid; flex: 1 1 240px; gap: 3px; min-width: 0; }
.btv2-v111-shell .rc2-mapping-review-list > article > form select, .btv2-v111-shell .rc2-mapping-review-list > article > form button { min-height: 34px; }
.btv2-v111-shell .rc2-mapping-effective { display: grid; gap: 1px; }
.btv2-v111-shell .rc2-mapping-effective :where(span, time) { color: var(--v12-text-3); font-size: 12px; }
.btv2-v111-shell .rc2-mapping-review-list > article > details > summary { color: var(--v12-text-3); cursor: pointer; font-size: 12px; font-weight: 500; }
@media (min-width: 1100px) {
  .btv2-v111-shell .rc2-mapping-review-list > article { grid-template-columns: minmax(240px, 1fr) minmax(0, 2fr); }
  .btv2-v111-shell .rc2-mapping-review-list > article > header { grid-column: 1; grid-row: 1 / span 2; }
  .btv2-v111-shell .rc2-mapping-review-list > article > form { grid-column: 2; }
  .btv2-v111-shell .rc2-mapping-review-list > article > details { grid-column: 2; }
}
.btv2-v111-shell .rc2-mapping-effective { flex: 1 1 150px; min-width: 0; }
.btv2-v111-shell .rc2-mapping-effective span { font-weight: 500; }
.btv2-v111-shell .rc2-mapping-review-list > article > form > button { flex: 0 0 auto; }
.btv2-v111-shell .rc2-mapping-review-list > article > header small { line-height: 1.35; }

/* ---- 30. Closure pass: work-item view (Recovery, Cancellations, Leads, Tasks) and Exports ---- */
/* one compact record: identity and priority, a single ruled fact row, then the permitted step */
.btv2-v111-shell .operations-workbench[data-operations-detail-domain] > .operations-workbench-hero { align-items: end; display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; }
.btv2-v111-shell .operations-workbench[data-operations-detail-domain] > .operations-workbench-hero > div > span { display: none; }
.btv2-v111-shell .operations-workbench-detail { background: var(--v12-s1); border: 1px solid var(--v12-line); border-radius: var(--v12-r-card); box-shadow: none; display: grid; gap: 12px; justify-items: start; margin-top: 10px; padding: 14px 16px; }
.btv2-v111-shell .operations-workbench-detail > * { margin: 0; min-width: 0; }
.btv2-v111-shell .operations-workbench-detail-head { align-items: start; display: flex; gap: 12px; justify-content: space-between; justify-self: stretch; }
.btv2-v111-shell .operations-workbench-detail-head > div { display: grid; gap: 2px; min-width: 0; }
.btv2-v111-shell .operations-workbench-detail-head span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .operations-workbench-detail-head h2 { color: var(--v12-text); font-family: var(--v12-display); font-size: 20px; font-weight: 600; line-height: 1.2; margin: 0; }
.btv2-v111-shell .operations-workbench-detail-head p { color: var(--v12-text-3); font-size: 12px; margin: 0; overflow-wrap: anywhere; }
.btv2-v111-shell .operations-workbench-detail-head > strong { background: var(--v12-slate-tint); border-radius: var(--v12-r-chip); color: var(--v12-text-2); flex: none; font-size: 12px; font-weight: 600; padding: 2px 8px; white-space: nowrap; }
.btv2-v111-shell .operations-workbench-detail-head > strong:where([data-priority="high"], [data-priority="HIGH"]) { background: var(--v12-amber-tint); color: var(--v12-amber); }
.btv2-v111-shell .operations-workbench-detail-head > strong:where([data-priority="critical"], [data-priority="CRITICAL"]) { background: var(--v12-red-tint); color: var(--v12-red-text); }
.btv2-v111-shell .operations-workbench-facts { border-block: 1px solid var(--v12-line); display: grid; gap: 10px 20px; grid-template-columns: repeat(5, minmax(0, 1fr)); justify-self: stretch; padding: 10px 0; }
.btv2-v111-shell .operations-workbench-facts > div { background: transparent; border: 0; display: grid; gap: 1px; padding: 0; }
.btv2-v111-shell .operations-workbench-facts dt { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .operations-workbench-facts dd { color: var(--v12-text); font-size: 13.5px; font-variant-numeric: tabular-nums; font-weight: 500; margin: 0; }
.btv2-v111-shell .operations-workbench-detail > button { width: auto; }
.btv2-v111-shell .operations-workbench-member-unavailable { color: var(--v12-text-3); font-size: 12.5px; }
.btv2-v111-shell .operations-workbench-action-panel { align-items: center; background: var(--v12-s2); border: 1px solid var(--v12-line); border-radius: var(--v12-r-ctl); display: flex; flex-wrap: wrap; gap: 8px 16px; justify-self: stretch; padding: 10px 12px; }
.btv2-v111-shell .operations-workbench-action-panel > div { display: grid; gap: 1px; margin-right: auto; }
.btv2-v111-shell .operations-workbench-action-panel span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .operations-workbench-action-panel h3 { color: var(--v12-text); font-family: var(--v12-ui); font-size: 14px; font-weight: 600; margin: 0; }
.btv2-v111-shell .operations-workbench-action-panel p { color: var(--v12-text-2); flex: 1 1 100%; font-size: 12.5px; margin: 0; }
@media (min-width: 1100px) { .btv2-v111-shell .operations-workbench[data-operations-detail-domain] > .operations-workbench-detail { grid-row: 2; } }
@media (max-width: 640px) { .btv2-v111-shell .operations-workbench-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Exports: the scope statement reads as label, scope, limits; the history header keeps the card gutter */
.btv2-v111-shell .rc2-export-boundary { align-items: baseline; column-gap: 12px; }
.btv2-v111-shell .rc2-export-boundary > strong { color: var(--v12-text-2); font-size: 12px; font-weight: 600; }
.btv2-v111-shell .rc2-export-history > .rc2-section-heading { padding-inline: 14px; }

/* ---- 31. Closure pass: guided membership and payment setup journey ------------------ */
.btv2-v111-shell .rc2-membership-journey { background: var(--v12-s1); border: 1px solid var(--v12-line-strong); border-radius: var(--v12-r-card); box-shadow: 0 24px 64px rgba(0, 0, 0, 0.5); display: flex; flex-direction: column; overflow: hidden; }
.btv2-v111-shell .rc2-membership-journey > header { align-items: center; background: transparent; border-bottom: 1px solid var(--v12-line); padding: 14px 18px; }
.btv2-v111-shell .rc2-membership-journey > header span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .rc2-membership-journey > header h2 { color: var(--v12-text); font-family: var(--v12-display); font-size: 20px; font-weight: 600; line-height: 1.2; margin: 0; }
/* progress reads as quiet text steps: done, current (the one red marker), upcoming */
.btv2-v111-shell .rc2-membership-progress { background: transparent; border: 0; border-bottom: 1px solid var(--v12-line); gap: 0; margin: 0; padding: 0 10px; }
.btv2-v111-shell .rc2-membership-progress > li { background: transparent; border: 0; border-bottom: 2px solid transparent; border-radius: 0; box-shadow: none; padding: 9px 8px 7px; }
.btv2-v111-shell .rc2-membership-progress > li > span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; white-space: nowrap; }
.btv2-v111-shell .rc2-membership-progress > li[data-state="complete"] > span { color: var(--v12-text-2); }
.btv2-v111-shell .rc2-membership-progress > li[data-state="current"] { border-bottom-color: var(--v12-red); }
.btv2-v111-shell .rc2-membership-progress > li[data-state="current"] > span { color: var(--v12-text); font-weight: 600; }
.btv2-v111-shell .rc2-membership-journey-body { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 16px 18px; }
.btv2-v111-shell .rc2-membership-journey-body h3 { color: var(--v12-text); font-family: var(--v12-ui); font-size: 14px; font-weight: 600; margin: 0 0 8px; }
.btv2-v111-shell .rc2-membership-journey-body :where(p, label) { color: var(--v12-text-2); font-size: 12.5px; }
.btv2-v111-shell .rc2-membership-journey-body fieldset { border: 0; margin: 0; min-width: 0; padding: 0; }
.btv2-v111-shell .rc2-membership-journey-body legend { color: var(--v12-text-3); font-size: 12px; font-weight: 500; margin-bottom: 6px; padding: 0; }
.btv2-v111-shell .rc2-membership-person-summary { align-items: baseline; display: flex; flex-wrap: wrap; gap: 4px 10px; margin-bottom: 12px; }
.btv2-v111-shell .rc2-membership-person-summary span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .rc2-membership-person-summary strong { color: var(--v12-text); font-size: 14px; font-weight: 600; }
.btv2-v111-shell .rc2-membership-person-summary em { color: var(--v12-text-2); font-size: 12.5px; font-style: normal; }
.btv2-v111-shell .rc2-membership-commercial-summary { border-block: 1px solid var(--v12-line); gap: 10px 20px; margin-bottom: 12px; padding: 10px 0; }
.btv2-v111-shell .rc2-membership-commercial-summary > div { background: transparent; border: 0; display: grid; gap: 1px; padding: 0; }
.btv2-v111-shell .rc2-membership-commercial-summary span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .rc2-membership-commercial-summary strong { color: var(--v12-text); font-size: 14px; font-variant-numeric: tabular-nums; font-weight: 600; }
.btv2-v111-shell .rc2-membership-plan-list { display: grid; gap: 6px; }
.btv2-v111-shell .rc2-membership-plan-list > label { align-items: center; background: var(--v12-s2); border: 1px solid var(--v12-line); border-radius: var(--v12-r-ctl); column-gap: 12px; cursor: pointer; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; padding: 10px 12px; row-gap: 2px; }
.btv2-v111-shell .rc2-membership-plan-list > label[data-selected="true"] { background: var(--v12-s3); border-color: var(--v12-line-strong); box-shadow: inset 2px 0 0 var(--v12-data-blue); }
.btv2-v111-shell .rc2-membership-plan-list > label > input { grid-column: 1; grid-row: 1 / span 3; margin: 0; }
.btv2-v111-shell .rc2-membership-plan-list > label > span { display: grid; gap: 1px; grid-column: 2; min-width: 0; }
.btv2-v111-shell .rc2-membership-plan-list > label strong { color: var(--v12-text); font-size: 13.5px; font-weight: 600; }
.btv2-v111-shell .rc2-membership-plan-list > label small { color: var(--v12-text-3); font-size: 12px; }
.btv2-v111-shell .rc2-membership-plan-list > label > b { color: var(--v12-text); font-size: 13.5px; font-variant-numeric: tabular-nums; font-weight: 600; grid-column: 3; grid-row: 1; white-space: nowrap; }
.btv2-v111-shell .rc2-membership-plan-list > label > em { color: var(--v12-text-2); font-size: 12px; font-style: normal; font-variant-numeric: tabular-nums; grid-column: 2 / -1; }
.btv2-v111-shell .rc2-membership-plan-list > label > small { grid-column: 2 / -1; }
.btv2-v111-shell .rc2-membership-person-results > button em { color: var(--v12-text-2); font-size: 12px; font-style: normal; }
.btv2-v111-shell .rc2-membership-journey .rc2-form-actions { gap: 8px; margin-top: 14px; }
.btv2-v111-shell .rc2-membership-journey > footer { background: transparent; border-top: 1px solid var(--v12-line); padding: 10px 18px; }
.btv2-v111-shell .rc2-membership-journey > footer :where(span, strong) { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
@media (max-width: 640px) {
  .btv2-v111-shell .rc2-membership-progress { grid-template-columns: repeat(9, max-content); overflow-x: auto; scrollbar-width: none; }
  .btv2-v111-shell .rc2-membership-journey { border-radius: 0; }
  .btv2-v111-shell .rc2-membership-journey > header { align-items: center; flex-direction: row; }
  .btv2-v111-shell .rc2-membership-journey > footer { gap: 2px; }
  .btv2-v111-shell .rc2-membership-progress > li { align-self: end; }
  .btv2-v111-shell .rc2-membership-plan-list > label { grid-template-columns: auto minmax(0, 1fr); }
  .btv2-v111-shell .rc2-membership-plan-list > label > b { grid-column: 2; grid-row: auto; }
}
/* person step: two quiet panels at content height; search is a secondary action, one primary per step */
.btv2-v111-shell .rc2-membership-person-grid { align-items: start; gap: 12px; }
.btv2-v111-shell .rc2-membership-person-grid > section { background: var(--v12-s2); border: 1px solid var(--v12-line); border-radius: var(--v12-r-ctl); padding: 12px 14px; }
.btv2-v111-shell .rc2-membership-journey form[data-membership-person-search] { align-items: end; grid-template-columns: minmax(0, 1fr) auto; }
.btv2-v111-shell .rc2-membership-journey form[data-membership-person-search] > button { background: var(--v12-series-1); border-color: transparent; color: #0b0c0f; }
.btv2-v111-shell .rc2-membership-journey form > button { justify-self: start; width: auto; }
.btv2-v111-shell .rc2-membership-person-results { display: grid; gap: 6px; }
.btv2-v111-shell .rc2-membership-person-results > button { background: var(--v12-s1); border: 1px solid var(--v12-line); border-radius: var(--v12-r-ctl); }
/* dates, terms and review: ruled facts, one row of date inputs, a real checkbox line */
.btv2-v111-shell .rc2-membership-commercial-summary { background: transparent; }
.btv2-v111-shell .rc2-membership-journey-body form > small { color: var(--v12-text-3); font-size: 12px; }
.btv2-v111-shell .rc2-membership-journey label.rc2-confirm { align-items: start; color: var(--v12-text); display: flex; font-size: 13px; font-weight: 500; gap: 10px; }
.btv2-v111-shell .rc2-membership-journey label.rc2-confirm > input { accent-color: var(--v12-data-blue); flex: none; height: 16px; margin: 2px 0 0; min-height: 0; padding: 0; width: 16px; }
.btv2-v111-shell .rc2-membership-terms { background: transparent; border: 0; border-block: 1px solid var(--v12-line); gap: 6px 20px; padding: 10px 0; }
.btv2-v111-shell .rc2-membership-terms > span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .rc2-membership-terms > strong { color: var(--v12-text); font-size: 13px; font-weight: 500; }
.btv2-v111-shell .rc2-membership-review-grid { border-top: 1px solid var(--v12-line); column-gap: 24px; row-gap: 0; }
.btv2-v111-shell .rc2-membership-review-grid > div { background: transparent; border: 0; border-bottom: 1px solid var(--v12-line); border-radius: 0; display: grid; gap: 1px; padding: 8px 0; }
.btv2-v111-shell .rc2-membership-review-grid span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .rc2-membership-review-grid strong { color: var(--v12-text); font-size: 13.5px; font-variant-numeric: tabular-nums; font-weight: 600; }
.btv2-v111-shell .rc2-membership-review-grid small { color: var(--v12-text-2); font-size: 12px; }
@media (min-width: 900px) {
  .btv2-v111-shell .rc2-membership-journey form[data-membership-terms-step] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .btv2-v111-shell .rc2-membership-journey form[data-membership-terms-step] > :not(label:not(.rc2-confirm)) { grid-column: 1 / -1; }
}
.btv2-v111-shell .rc2-membership-outcome { background: transparent; border: 0; display: grid; gap: 10px; padding: 0; }
.btv2-v111-shell .rc2-membership-outcome > dl { border-top: 1px solid var(--v12-line); display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); column-gap: 24px; margin: 0; }
.btv2-v111-shell .rc2-membership-outcome > dl > div { border-bottom: 1px solid var(--v12-line); display: grid; gap: 1px; padding: 8px 0; }
.btv2-v111-shell .rc2-membership-outcome dt { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .rc2-membership-outcome dd { color: var(--v12-text); font-size: 13.5px; font-weight: 600; margin: 0; }
.btv2-v111-shell .rc2-membership-journey > .rc2-workflow-feedback { border-bottom: 1px solid var(--v12-line); color: var(--v12-text-2); font-size: 12.5px; margin: 0; padding: 8px 18px; }
/* member timeline entries carry a neutral rule, not a red one */
.btv2-v111-shell .rc2-workflow-timeline > article { border-left-color: var(--v12-line-strong); }
@media (max-width: 640px) { .btv2-v111-shell .rc2-membership-commercial-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---- 32. Closure pass: the signed-out staff gate speaks the same language ------------ */
.staff-auth-shell { background: var(--v12-bg); color: var(--v12-text); font-family: var(--v12-ui); }
.staff-auth-shell :where(h1, h2, p, span, label, input, button) { font-family: var(--v12-ui); letter-spacing: 0; text-transform: none; }
.staff-auth-layout { background: var(--v12-s1); border: 1px solid var(--v12-line); border-radius: var(--v12-r-card); box-shadow: none; }
.staff-auth-brand { background: var(--v12-s2); background-image: none; border-right: 1px solid var(--v12-line); }
.staff-auth-brand img { height: auto; max-width: 132px; }
.staff-auth-brand span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.staff-auth-brand h1 { color: var(--v12-text); font-family: var(--v12-display); font-size: 30px; font-weight: 600; line-height: 1.15; margin: 6px 0 10px; max-width: 16ch; }
.staff-auth-brand p { color: var(--v12-text-2); font-size: 13.5px; line-height: 1.5; }
.staff-auth-panel { background: transparent; }
.staff-auth-panel h2 { color: var(--v12-text); font-family: var(--v12-display); font-size: 22px; font-weight: 600; line-height: 1.2; }
.staff-auth-panel p { color: var(--v12-text-2); font-size: 13px; }
.staff-auth-panel label { color: var(--v12-text-2); font-size: 12.5px; font-weight: 500; }
.staff-auth-panel input { background: var(--v12-bg); border: 1px solid var(--v12-line-strong); border-radius: var(--v12-r-ctl); color: var(--v12-text); font-size: 14px; min-height: 40px; }
.staff-auth-panel input:focus-visible { border-color: var(--v12-focus); outline: 2px solid var(--v12-focus); outline-offset: 1px; }
.staff-auth-panel button[type="submit"] { background: var(--v12-red); border: 0; border-radius: var(--v12-r-ctl); color: #fff; font-size: 14px; font-weight: 600; min-height: 40px; }
.staff-auth-panel .staff-auth-boundary { color: var(--v12-text-3); font-size: 12px; }
.staff-auth-panel .staff-auth-error { color: var(--v12-red-text); font-size: 12.5px; }
@media (max-width: 640px) { .staff-auth-brand { border-bottom: 1px solid var(--v12-line); border-right: 0; } .staff-auth-brand h1 { font-size: 24px; } }

/* ---- 33. Surface convergence: no second design dialect inside a V12 page ------------- */
/* Legacy rules live in @layer legacy, so V12 only wins where it names something. Retained
   command-centre pages inherited their rule colours from four older generations of CSS.
   One zero-specificity default gives every rule inside a retained page the V12 line; any
   V12 component rule (specificity > 0) still decides its own border. The Dashboard is the
   accepted benchmark and is left exactly as it is. */
:where(.btv2-v111-shell .main > .screen:not(.btv2-canonical-dashboard)) :where(*) { border-color: var(--v12-line); }
/* the page container is never a framed panel */
.btv2-v111-shell .main > .screen:not(.btv2-canonical-dashboard) { background: transparent; border: 0; border-radius: 0; box-shadow: none; }

/* one empty / no-data state everywhere: quiet, solid, one surface */
.btv2-v111-shell :where(.rc2-empty-contract, .lead-screen-empty-state, .operations-workbench-state) { background: var(--v12-s2); background-image: none; border: 1px solid var(--v12-line); border-radius: var(--v12-r-ctl); box-shadow: none; padding: 12px 14px; }
.btv2-v111-shell :where(.rc2-empty-contract, .lead-screen-empty-state) :where(strong, h3) { color: var(--v12-text); font-family: var(--v12-ui); font-size: 13.5px; font-weight: 600; line-height: 1.35; margin: 0; }
.btv2-v111-shell :where(.rc2-empty-contract, .lead-screen-empty-state) p { color: var(--v12-text-2); font-size: 12.5px; line-height: 1.45; margin: 2px 0 0; }
.btv2-v111-shell .lead-screen-empty-state .lead-visual-heading span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
/* inside a framed ledger or table the empty state is content, not a second frame */
.btv2-v111-shell :where(.rc2-lead-directory-table, .rc2-lead-card-list) > .rc2-empty-contract { background: transparent; border: 0; border-radius: 0; padding: 14px; }
/* a ledger that holds nothing but its empty state gives up its own frame, so there is one surface, not two */
.btv2-v111-shell :where(.rc2-ledger, .rc2-session-agenda, .rc2-report-visual-grid):has(> :where(.rc2-empty-contract, p):only-child) { background: transparent; border: 0; box-shadow: none; padding: 0; }
.btv2-v111-shell .rc2-ledger > p:only-child { background: var(--v12-s2); border: 1px solid var(--v12-line); border-radius: var(--v12-r-ctl); color: var(--v12-text-2); font-size: 12.5px; margin: 0; padding: 12px 14px; }

/* Leads: evidence strip reads as V12 figures on one surface */
.btv2-v111-shell .rc2-lead-coverage-strip { background: var(--v12-s1); border: 1px solid var(--v12-line); border-radius: var(--v12-r-card); display: grid; gap: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; padding: 0; }
.btv2-v111-shell .rc2-lead-coverage-strip > span { background: transparent; border: 0; border-left: 1px solid var(--v12-line); color: var(--v12-text-3); display: grid; font-size: 12px; font-weight: 500; gap: 1px; padding: 10px 14px; }
.btv2-v111-shell .rc2-lead-coverage-strip > span:first-child { border-left: 0; }
.btv2-v111-shell .rc2-lead-coverage-strip > span strong { color: var(--v12-text); font-family: var(--v12-display); font-size: 18px; font-variant-numeric: tabular-nums; font-weight: 600; line-height: 1.2; }
@media (max-width: 640px) {
  .btv2-v111-shell .rc2-lead-coverage-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .btv2-v111-shell .rc2-lead-coverage-strip > span:nth-child(odd) { border-left: 0; }
  .btv2-v111-shell .rc2-lead-coverage-strip > span:nth-child(n + 3) { border-top: 1px solid var(--v12-line); }
}
/* Leads pipeline: a V12 card with a ruled, borderless table */
.btv2-v111-shell .rc2-operator-leads .rc2-directory-ledger { border: 1px solid var(--v12-line); overflow: hidden; }
.btv2-v111-shell .rc2-operator-leads .rc2-directory-ledger > .rc2-section-heading { padding: 12px 14px 8px; }
.btv2-v111-shell .rc2-operator-leads .rc2-directory-ledger > :where(.rc2-directory-pagination, .rc2-pagination, nav, footer) { padding: 10px 14px 12px; }
.btv2-v111-shell .rc2-lead-directory-table { background: transparent; border: 0; border-radius: 0; border-top: 1px solid var(--v12-line); }
.btv2-v111-shell .rc2-lead-directory-row { border: 0; border-bottom: 1px solid var(--v12-line); }
.btv2-v111-shell .rc2-lead-directory-row > * { border: 0; }
.btv2-v111-shell .rc2-lead-directory-row.rc2-directory-head > span { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }

/* retained panels that still carried a legacy black */
.btv2-v111-shell .rc2-workflow-grid > section { background: var(--v12-s2); border: 1px solid var(--v12-line); border-radius: var(--v12-r-ctl); }
.btv2-v111-shell :where(.rc2-contextual-exports, .rc2-attendance-sessions) { border-radius: var(--v12-r-card); }
/* Leads populated: priority queue rows and mobile cards are V12 list rows, not legacy gradient tiles */
.btv2-v111-shell .rc2-lead-compact-rows { display: grid; gap: 0; }
.btv2-v111-shell .rc2-lead-compact-rows > article { background: transparent; background-image: none; border: 0; border-bottom: 1px solid var(--v12-line); border-radius: 0; box-shadow: none; padding: 9px 2px; }
.btv2-v111-shell .rc2-lead-compact-rows > article:last-child { border-bottom: 0; }
.btv2-v111-shell .rc2-lead-compact-rows > article > b { color: var(--v12-text-3); font-family: var(--v12-ui); font-size: 12px; font-variant-numeric: tabular-nums; font-weight: 500; }
.btv2-v111-shell .rc2-lead-compact-rows > article strong { color: var(--v12-text); font-size: 13.5px; font-weight: 600; }
.btv2-v111-shell .rc2-lead-compact-rows > article span { color: var(--v12-text-2); font-size: 12.5px; }
.btv2-v111-shell .rc2-lead-compact-rows > article > em { background: var(--v12-slate-tint); border: 0; border-radius: var(--v12-r-chip); color: var(--v12-text-2); font-size: 12px; font-style: normal; font-weight: 600; justify-self: start; padding: 1px 7px; }
.btv2-v111-shell .rc2-lead-compact-rows > article:where([data-priority="urgent"], [data-priority="high"]) > em { background: var(--v12-amber-tint); color: var(--v12-amber); }
.btv2-v111-shell .rc2-lead-card-list { gap: 8px; padding: 0 14px; }
.btv2-v111-shell .rc2-lead-card-list > article { background: var(--v12-s2); border: 1px solid var(--v12-line); border-radius: var(--v12-r-ctl); box-shadow: none; padding: 10px 12px; }
.btv2-v111-shell .rc2-lead-card-list > article > header { border: 0; }
.btv2-v111-shell .rc2-lead-card-list > article > header strong { color: var(--v12-text); font-size: 13.5px; font-weight: 600; }
.btv2-v111-shell .rc2-lead-card-list > article > header em { background: var(--v12-slate-tint); border-radius: var(--v12-r-chip); color: var(--v12-text-2); font-size: 12px; font-style: normal; font-weight: 600; padding: 1px 7px; }
.btv2-v111-shell .rc2-lead-card-list > article dl > div { border: 0; border-top: 1px solid var(--v12-line); }
.btv2-v111-shell .rc2-lead-card-list > article dt { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .rc2-lead-card-list > article dd { color: var(--v12-text); font-size: 12.5px; font-weight: 500; margin: 0; overflow-wrap: anywhere; }
.btv2-v111-shell :where(.rc2-empty-contract, .lead-screen-empty-state) { margin: 0; }
.btv2-v111-shell .rc2-lead-card-list > .rc2-empty-contract { padding: 12px 0; }
.btv2-v111-shell .rc2-lead-directory-row.rc2-directory-head { background: transparent; }
/* selected-record workflow (Lead, Task, Member): summary at content height beside ruled action forms */
.btv2-v111-shell .rc2-workflow-grid { align-items: start; gap: 14px; }
.btv2-v111-shell .rc2-workflow-grid > section { align-content: start; align-self: start; display: grid; gap: 6px; padding: 12px 14px; }
.btv2-v111-shell .rc2-workflow-grid > section > strong { color: var(--v12-text); font-size: 14px; font-weight: 600; }
.btv2-v111-shell .rc2-workflow-grid > section > span { color: var(--v12-text-3); font-size: 12px; }
.btv2-v111-shell .rc2-workflow-grid > div { align-content: start; display: grid; gap: 0; }
.btv2-v111-shell .rc2-workflow-grid > div > .rc2-workflow-form { background: transparent; border: 0; border-bottom: 1px solid var(--v12-line); border-radius: 0; padding: 10px 0 12px; }
.btv2-v111-shell .rc2-workflow-grid > div > .rc2-workflow-form:first-child { padding-top: 0; }
.btv2-v111-shell .rc2-workflow-grid > div > .rc2-workflow-form:last-child { border-bottom: 0; padding-bottom: 0; }
.btv2-v111-shell .rc2-workflow-form input:where([type="checkbox"], [type="radio"]) { accent-color: var(--v12-data-blue); flex: none; height: 16px; min-height: 0; padding: 0; width: 16px; }
.btv2-v111-shell .rc2-workflow-form label:has(> input[type="checkbox"]) { align-items: start; color: var(--v12-text); display: flex; font-size: 12.5px; gap: 8px; }
/* conversion: heading, the exact candidate as ruled facts, the boundary sentence, then confirm + one action */
.btv2-v111-shell .rc2-workflow-form[data-rc2-lead-convert] { align-items: start; display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr) auto; }
.btv2-v111-shell .rc2-workflow-form[data-rc2-lead-convert] > :where(strong, dl, p) { grid-column: 1 / -1; margin: 0; }
.btv2-v111-shell .rc2-conversion-preview { column-gap: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.btv2-v111-shell .rc2-conversion-preview > div { display: grid; gap: 1px; padding: 4px 0; }
.btv2-v111-shell .rc2-conversion-preview dt { color: var(--v12-text-3); font-size: 12px; font-weight: 500; }
.btv2-v111-shell .rc2-conversion-preview dd { color: var(--v12-text); font-size: 12.5px; font-weight: 500; margin: 0; overflow-wrap: anywhere; }
.btv2-v111-shell .rc2-workflow-form[data-rc2-lead-convert] > p { color: var(--v12-text-3); font-size: 12px; }
/* shared ledger (Tasks, Audit, Export history, Staff audit, Visits): populated rows are ruled V12 rows on one card */
.btv2-v111-shell .rc2-ledger:not(:has(> :where(.rc2-empty-contract, p):only-child)) { background: var(--v12-s1); border: 1px solid var(--v12-line); border-radius: var(--v12-r-card); gap: 0; overflow: hidden; }
.btv2-v111-shell .rc2-ledger > article { background: transparent; background-image: none; border: 0; border-bottom: 1px solid var(--v12-line); border-radius: 0; box-shadow: none; padding: 10px 14px; }
.btv2-v111-shell .rc2-ledger > article:last-child { border-bottom: 0; }
.btv2-v111-shell .rc2-ledger > article strong { color: var(--v12-text); font-size: 13.5px; font-weight: 600; }
.btv2-v111-shell .rc2-ledger > article :where(span, small) { color: var(--v12-text-2); font-size: 12.5px; }
.btv2-v111-shell .rc2-ledger > article small { color: var(--v12-text-3); font-size: 12px; }
.btv2-v111-shell .rc2-ledger > article > em { background: var(--v12-slate-tint); border: 0; justify-self: start; width: fit-content; border-radius: var(--v12-r-chip); color: var(--v12-text-2); font-size: 12px; font-style: normal; font-weight: 600; padding: 1px 7px; }
.btv2-v111-shell .rc2-ledger > article:where([data-task-due-state="overdue"]) > em { background: var(--v12-amber-tint); color: var(--v12-amber); }
/* staff capability groups and the sticky save bar */
.btv2-v111-shell .rc2-capability-groups > details { background: var(--v12-s2); border: 1px solid var(--v12-line); border-radius: var(--v12-r-ctl); }
.btv2-v111-shell .rc2-staff-workspace .rc2-form-actions { background: var(--v12-s1); }
