/* Lighthouse · Consent tab (assets/js/lighthouse-consent.js; docs/lighthouse-consent-spec.md §3).
   Every rule is scoped under #wlf-lighthouse .lh-cx-root (the module's own wrapper inside the tab; the ID beats the page's
   #wlf-lighthouse button / th / td resets); no global rules. The sidebar facets reuse
   the map's .lh-fx classes from lighthouse.css. Colours and fonts come from the page's --lh-* and --ch-* tokens, with the same
   values as fallbacks. Evidence badges are the shared .lh-ev-c / .lh-ev-i / .lh-ev-u. Neutral grey and ink only: mismatch counts
   use ink, never --lh-sys red or --lh-unfav amber. Light theme only, like the page. */
#wlf-lighthouse .lh-cx-root {
  display: flex; flex-direction: column; gap: 12px; min-width: 0; margin: 0; padding: 24px;
  background: var(--lh-card, #ffffff); border: 1px solid var(--lh-card-border, #d5dbe6); border-radius: 12px; box-shadow: var(--lh-e0, 0 1px 2px rgba(15, 27, 61, .06));
  color: var(--lh-ink, #1e2a4a);
  font: 400 14px/20px var(--lh-f-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif);
}
#wlf-lighthouse .lh-cx-root, #wlf-lighthouse .lh-cx-root *, #wlf-lighthouse .lh-cx-root *::before, #wlf-lighthouse .lh-cx-root *::after { box-sizing: border-box; }
#wlf-lighthouse .lh-cx-root [hidden] { display: none !important; }
#wlf-lighthouse .lh-cx-root p, #wlf-lighthouse .lh-cx-root h3, #wlf-lighthouse .lh-cx-root ul, #wlf-lighthouse .lh-cx-root li { margin: 0; padding: 0; }
#wlf-lighthouse .lh-cx-root .lcx-vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
#wlf-lighthouse .lh-cx-root .lcx-h { margin: 0; font: 600 18px/26px var(--lh-f-sans, sans-serif); color: var(--lh-ink, #1e2a4a); letter-spacing: normal; text-transform: none; }
#wlf-lighthouse .lh-cx-root .lcx-h-sm { font-size: 16px; line-height: 24px; }
#wlf-lighthouse .lh-cx-root .lcx-sub { margin: 4px 0 0; color: var(--lh-ink-muted, #4f5b76); font-size: 14px; line-height: 20px; max-width: 90ch; }
#wlf-lighthouse .lh-cx-root .lcx-caps { font: 600 12px/16px var(--lh-f-sans, sans-serif); letter-spacing: .04em; text-transform: uppercase; color: var(--lh-ink-muted, #4f5b76); white-space: nowrap; }
#wlf-lighthouse .lh-cx-root .lcx-faint { color: var(--lh-ink-faint, #5f6b85); }
#wlf-lighthouse .lh-cx-root .lcx-small { font-size: 12px; line-height: 16px; }
#wlf-lighthouse .lh-cx-root .lcx-mono { font-family: var(--lh-f-mono, ui-monospace, "SF Mono", Consolas, monospace); font-variant-numeric: tabular-nums; }
#wlf-lighthouse .lh-cx-root button:focus-visible, #wlf-lighthouse .lh-cx-root input:focus-visible, #wlf-lighthouse .lh-cx-root tr:focus-visible, #wlf-lighthouse .lh-cx-root [tabindex="0"]:focus-visible {
  outline: 2px solid var(--lh-focus, #2f6fdb); outline-offset: 2px;
}

/* ---------- views nav ---------- */
#wlf-lighthouse .lh-cx-root .lcx-nav { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--lh-border, #e3e7ef); }
#wlf-lighthouse .lh-cx-root .lcx-tab {
  appearance: none; margin: 0 0 -1px; padding: 8px 14px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; box-shadow: none;
  font: 600 14px/20px var(--lh-f-sans, sans-serif); color: var(--lh-ink-muted, #4f5b76); letter-spacing: normal; text-transform: none; cursor: pointer;
}
#wlf-lighthouse .lh-cx-root .lcx-tab:hover { color: var(--lh-ink, #1e2a4a); background: var(--lh-hover-bg, #eef1f6); }
#wlf-lighthouse .lh-cx-root .lcx-tab.lcx-on { color: var(--lh-ink, #1e2a4a); border-bottom-color: var(--lh-primary, #0f1b3d); }

/* ---------- filter bar ---------- */
#wlf-lighthouse .lh-cx-root .lcx-fbar { display: flex; flex-direction: column; gap: 8px; padding: 12px; background: var(--lh-surface-2, #f8f9fc); border: 1px solid var(--lh-border, #e3e7ef); border-radius: 8px; }
#wlf-lighthouse .lh-cx-root .lcx-fbar-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; min-width: 0; }
#wlf-lighthouse .lh-cx-root .lcx-count { font-variant-numeric: tabular-nums; white-space: nowrap; }
#wlf-lighthouse .lh-cx-root .lcx-count strong { font-weight: 700; }
#wlf-lighthouse .lh-cx-root .lcx-chips { display: flex; flex-wrap: wrap; gap: 6px; flex: 1; min-width: 0; align-items: center; }
#wlf-lighthouse .lh-cx-root .lcx-chip { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; padding: 2px 4px 2px 10px; border-radius: 999px; background: var(--lh-chip-bg, #e6ebf5); color: var(--lh-ink, #1e2a4a); font-size: 13px; line-height: 20px; }
#wlf-lighthouse .lh-cx-root .lcx-chip-t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
#wlf-lighthouse .lh-cx-root .lcx-chip-x { appearance: none; border: 0; background: none; padding: 0 6px; margin: 0; min-height: 0; border-radius: 999px; font: 600 15px/20px var(--lh-f-sans, sans-serif); color: var(--lh-ink-muted, #4f5b76); cursor: pointer; box-shadow: none; }
#wlf-lighthouse .lh-cx-root .lcx-chip-x:hover { background: var(--lh-active-bg, #e3e7ef); color: var(--lh-ink, #1e2a4a); }
#wlf-lighthouse .lh-cx-root .lcx-search { display: inline-flex; align-items: center; gap: 8px; }
#wlf-lighthouse .lh-cx-root .lcx-q {
  width: 120px; height: 32px; padding: 0 10px; margin: 0; border: 1px solid var(--lh-control-border, #6b7590); border-radius: 8px; box-shadow: none;
  background: var(--lh-card, #ffffff); color: var(--lh-ink, #1e2a4a); font: 400 14px/20px var(--lh-f-sans, sans-serif);
}
#wlf-lighthouse .lh-cx-root .lcx-qhint { font-size: 12px; }
#wlf-lighthouse .lh-cx-root .lcx-old { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; font-size: 13px; color: var(--lh-ink, #1e2a4a); cursor: pointer; }
#wlf-lighthouse .lh-cx-root .lcx-old input { margin: 0; }
#wlf-lighthouse .lh-cx-root .lcx-note { font-size: 14px; line-height: 20px; color: var(--lh-ink-muted, #4f5b76); padding-left: 12px; border-left: 2px solid var(--lh-rail, #c9d0dd); }
#wlf-lighthouse .lh-cx-root .lcx-note-sub { font-size: 13px; }

/* ---------- views ---------- */
#wlf-lighthouse .lh-cx-root .lcx-view { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
#wlf-lighthouse .lh-cx-root .lcx-card { padding: 16px; border: 1px solid var(--lh-border, #e3e7ef); border-radius: 8px; background: var(--lh-card, #ffffff); min-width: 0; display: flex; flex-direction: column; gap: 8px; }
#wlf-lighthouse .lh-cx-root .lcx-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 12px; }
#wlf-lighthouse .lh-cx-root .lcx-head { display: flex; flex-direction: column; gap: 2px; }
#wlf-lighthouse .lh-cx-root .lcx-cov { font-size: 12px; line-height: 16px; color: var(--lh-ink-faint, #5f6b85); max-width: 110ch; }

/* KPI tiles: grey and neutral, no comparisons (§3.3) */
#wlf-lighthouse .lh-cx-root .lcx-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
#wlf-lighthouse .lh-cx-root .lcx-kpi {
  display: flex; flex-direction: column; gap: 4px; min-width: 0; margin: 0; padding: 12px 14px; text-align: left;
  border: 1px solid var(--lh-border, #e3e7ef); border-radius: 8px; background: var(--lh-surface-2, #f8f9fc); color: var(--lh-ink, #1e2a4a);
  font: inherit; letter-spacing: normal; text-transform: none; box-shadow: none;
}
#wlf-lighthouse .lh-cx-root .lcx-kpi-btn { cursor: pointer; }
#wlf-lighthouse .lh-cx-root .lcx-kpi-btn:hover { background: var(--lh-hover-bg, #eef1f6); border-color: var(--lh-control-border, #6b7590); }
#wlf-lighthouse .lh-cx-root .lcx-kpi-l { font: 600 12px/16px var(--lh-f-sans, sans-serif); letter-spacing: .04em; text-transform: uppercase; color: var(--lh-ink-muted, #4f5b76); }
#wlf-lighthouse .lh-cx-root .lcx-kpi-v { font: 600 24px/30px var(--lh-f-cond, sans-serif); font-variant-numeric: tabular-nums; color: var(--lh-ink, #1e2a4a); overflow-wrap: anywhere; }
#wlf-lighthouse .lh-cx-root .lcx-kpi-txt .lcx-kpi-v { font-size: 18px; line-height: 26px; color: var(--lh-ink-muted, #4f5b76); }
#wlf-lighthouse .lh-cx-root .lcx-kpi-s { font-size: 12px; line-height: 16px; color: var(--lh-ink-faint, #5f6b85); font-variant-numeric: tabular-nums; }
/* Salesforce consent tile (rev 3 R6): a full-width row of the tile grid, counts per value as small neutral filter buttons, then the note */
#wlf-lighthouse .lh-cx-root .lcx-kpi-wide { grid-column: 1 / -1; }
#wlf-lighthouse .lh-cx-root .lcx-sf-list { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 0; padding: 0; }
#wlf-lighthouse .lh-cx-root .lcx-sf-pick {
  appearance: none; display: inline-flex; align-items: baseline; gap: 6px; margin: 0; padding: 2px 10px; min-height: 0; border: 1px solid var(--lh-border, #e3e7ef); border-radius: 999px;
  background: var(--lh-card, #ffffff); box-shadow: none; font: 400 13px/20px var(--lh-f-sans, sans-serif); color: var(--lh-ink, #1e2a4a); letter-spacing: normal; text-transform: none; cursor: pointer;
}
#wlf-lighthouse .lh-cx-root .lcx-sf-pick b { font-weight: 600; font-variant-numeric: tabular-nums; }
#wlf-lighthouse .lh-cx-root .lcx-sf-pick:hover { background: var(--lh-hover-bg, #eef1f6); border-color: var(--lh-control-border, #6b7590); }
#wlf-lighthouse .lh-cx-root .lcx-sf-pick.lcx-on { background: var(--lh-selected-bg, #0f1b3d); border-color: var(--lh-selected-bg, #0f1b3d); color: var(--lh-selected-ink, #ffffff); }
#wlf-lighthouse .lh-cx-root .lcx-sf-pick.lcx-zero { color: var(--lh-ink-faint, #5f6b85); }
#wlf-lighthouse .lh-cx-root .lcx-kpi-note { margin: 4px 0 0; font-size: 12px; line-height: 16px; color: var(--lh-ink-muted, #4f5b76); max-width: 110ch; }
#wlf-lighthouse .lh-cx-root .lcx-table td.lcx-sf { min-width: 110px; }

/* stage bars ("From first touch to journey"): every bar is the same grey; the Regal opt-in bar is stacked in greys */
#wlf-lighthouse .lh-cx-root .lcx-stages { display: flex; flex-direction: column; gap: 6px; }
#wlf-lighthouse .lh-cx-root .lcx-stage { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) 96px; gap: 12px; align-items: center; }
#wlf-lighthouse .lh-cx-root .lcx-stage-l {
  appearance: none; margin: 0; padding: 2px 6px; border: 0; border-radius: 4px; background: none; box-shadow: none; text-align: left; min-height: 0;
  font: 400 14px/20px var(--lh-f-sans, sans-serif); color: var(--lh-ink, #1e2a4a); letter-spacing: normal; text-transform: none; cursor: pointer;
}
#wlf-lighthouse .lh-cx-root button.lcx-stage-l:hover { background: var(--lh-hover-bg, #eef1f6); text-decoration: underline; }
#wlf-lighthouse .lh-cx-root .lcx-stage-l.lcx-on { background: var(--lh-selected-bg, #0f1b3d); color: var(--lh-selected-ink, #ffffff); }
#wlf-lighthouse .lh-cx-root .lcx-stage-static { cursor: default; font-weight: 600; }
#wlf-lighthouse .lh-cx-root .lcx-stage-t { display: flex; height: 16px; background: var(--lh-band, #e9edf4); border-radius: 4px; overflow: hidden; }
#wlf-lighthouse .lh-cx-root .lcx-stage-fill { display: block; height: 100%; background: var(--lh-step-2, #6b7385); }
#wlf-lighthouse .lh-cx-root .lcx-seg { appearance: none; display: block; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; min-height: 0; box-shadow: none; cursor: pointer; }
#wlf-lighthouse .lh-cx-root .lcx-seg + .lcx-seg { border-left: 1px solid var(--lh-card, #ffffff); }
#wlf-lighthouse .lh-cx-root .lcx-seg.lcx-on { outline: 2px solid var(--lh-ink, #1e2a4a); outline-offset: -2px; }
#wlf-lighthouse .lh-cx-root .lcx-stage-n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
#wlf-lighthouse .lh-cx-root .lcx-stage-n small, #wlf-lighthouse .lh-cx-root .lcx-bar-n small { color: var(--lh-ink-faint, #5f6b85); font-size: 12px; }
#wlf-lighthouse .lh-cx-root .lcx-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12px; color: var(--lh-ink-muted, #4f5b76); }
#wlf-lighthouse .lh-cx-root .lcx-leg { display: inline-flex; align-items: center; gap: 6px; }
#wlf-lighthouse .lh-cx-root .lcx-leg i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; }

/* horizontal bars ("Why no journey", "How journeys stopped") */
#wlf-lighthouse .lh-cx-root .lcx-bars { display: flex; flex-direction: column; gap: 4px; }
#wlf-lighthouse .lh-cx-root .lcx-bar {
  appearance: none; display: grid; grid-template-columns: minmax(0, 1fr) 84px; grid-template-rows: auto 6px; gap: 2px 12px; width: 100%; margin: 0; padding: 6px 8px;
  border: 1px solid transparent; border-radius: 6px; background: none; box-shadow: none; text-align: left; min-height: 0;
  font: 400 14px/20px var(--lh-f-sans, sans-serif); color: var(--lh-ink, #1e2a4a); letter-spacing: normal; text-transform: none; cursor: pointer;
}
#wlf-lighthouse .lh-cx-root .lcx-bar:hover { background: var(--lh-hover-bg, #eef1f6); }
#wlf-lighthouse .lh-cx-root .lcx-bar.lcx-on { border-color: var(--lh-ink, #1e2a4a); background: var(--lh-row-current, #e8eefb); }
#wlf-lighthouse .lh-cx-root .lcx-bar-static { cursor: default; }
#wlf-lighthouse .lh-cx-root .lcx-bar-static:hover { background: none; }
#wlf-lighthouse .lh-cx-root .lcx-bar.lcx-zero { color: var(--lh-ink-faint, #5f6b85); }
#wlf-lighthouse .lh-cx-root .lcx-bar-l { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
#wlf-lighthouse .lh-cx-root .lcx-bar-n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
#wlf-lighthouse .lh-cx-root .lcx-bar-t { grid-column: 1 / -1; height: 6px; background: var(--lh-band, #e9edf4); border-radius: 3px; overflow: hidden; }
#wlf-lighthouse .lh-cx-root .lcx-bar-t > span { display: block; height: 100%; background: var(--lh-step-2, #6b7385); }

/* ---------- tables (Leads, Journeys) ---------- */
#wlf-lighthouse .lh-cx-root .lcx-scroll { overflow: auto; max-height: 70vh; max-width: 100%; min-width: 0; border-top: 1px solid var(--lh-border, #e3e7ef); -webkit-overflow-scrolling: touch; }
#wlf-lighthouse .lh-cx-root .lcx-table { width: 100%; border-collapse: collapse; border: 0; margin: 0; font-size: 13px; line-height: 18px; }
#wlf-lighthouse .lh-cx-root .lcx-table th {
  position: sticky; top: 0; z-index: 1; background: var(--lh-card, #ffffff);
  font: 600 11px/16px var(--lh-f-sans, sans-serif); letter-spacing: .04em; text-transform: uppercase; color: var(--lh-ink-faint, #5f6b85);
  text-align: left; padding: 6px 8px; border: 0; border-bottom: 1px solid var(--lh-border, #e3e7ef); white-space: nowrap;
}
#wlf-lighthouse .lh-cx-root .lcx-table td { padding: 7px 8px; border: 0; border-bottom: 1px solid var(--lh-border, #e3e7ef); text-align: left; vertical-align: top; white-space: nowrap; background: transparent; }
#wlf-lighthouse .lh-cx-root .lcx-table td.lcx-wrap { white-space: normal; min-width: 160px; max-width: 300px; }
#wlf-lighthouse .lh-cx-root .lcx-table td.lcx-clip { max-width: 200px; overflow: hidden; text-overflow: ellipsis; }
#wlf-lighthouse .lh-cx-root .lcx-table .lcx-n { text-align: right; font-variant-numeric: tabular-nums; }
#wlf-lighthouse .lh-cx-root .lcx-table tbody tr[data-lead-id] { cursor: pointer; }
#wlf-lighthouse .lh-cx-root .lcx-table tbody tr:hover td { background: var(--lh-surface-2, #f8f9fc); }
#wlf-lighthouse .lh-cx-root .lcx-table tbody tr:focus-visible { outline-offset: -2px; }
#wlf-lighthouse .lh-cx-root .lcx-table tbody tr.lcx-row-current td, #wlf-lighthouse .lh-cx-root .lcx-table tbody tr.lcx-on td { background: var(--lh-row-current, #e8eefb); }
#wlf-lighthouse .lh-cx-root .lcx-table tbody tr.lcx-row-current td:first-child { box-shadow: inset 3px 0 0 var(--lh-selected-bg, #0f1b3d); }
#wlf-lighthouse .lh-cx-root .lcx-sort, #wlf-lighthouse .lh-cx-root .lcx-link {
  appearance: none; border: 0; background: none; padding: 0; margin: 0; min-height: 0; box-shadow: none; font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer;
}
#wlf-lighthouse .lh-cx-root .lcx-sort { color: var(--lh-ink, #1e2a4a); }
#wlf-lighthouse .lh-cx-root .lcx-sort.lcx-on { text-decoration: underline; }
#wlf-lighthouse .lh-cx-root .lcx-link { text-align: left; color: var(--lh-ink, #1e2a4a); text-decoration: underline dotted; }
#wlf-lighthouse .lh-cx-root .lcx-link:hover { text-decoration: underline solid; }
#wlf-lighthouse .lh-cx-root .lcx-more { margin-top: 4px; }
#wlf-lighthouse .lh-cx-root .lcx-rules-box { padding-top: 12px; border-top: 1px solid var(--lh-border, #e3e7ef); display: flex; flex-direction: column; gap: 8px; }
#wlf-lighthouse .lh-cx-root .lcx-rules { list-style: disc; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; color: var(--lh-ink-muted, #4f5b76); max-width: 110ch; }
#wlf-lighthouse .lh-cx-root .lcx-rules strong { color: var(--lh-ink, #1e2a4a); }

/* ---------- Mismatches: ink counts, neutral blocks ---------- */
#wlf-lighthouse .lh-cx-root .lcx-mm-list { display: flex; flex-direction: column; gap: 8px; }
#wlf-lighthouse .lh-cx-root .lcx-mm { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--lh-border, #e3e7ef); border-radius: 8px; background: var(--lh-surface-2, #f8f9fc); }
#wlf-lighthouse .lh-cx-root .lcx-mm-h { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#wlf-lighthouse .lh-cx-root .lcx-mm-l { font-weight: 600; }
#wlf-lighthouse .lh-cx-root .lcx-mm-n { font-variant-numeric: tabular-nums; color: var(--lh-ink, #1e2a4a); font-weight: 600; }

/* ---------- 1.21.0 (docs/lighthouse-ui-overhaul-spec.md, CONSENT items) ---------- */
/* C-04: Regal's opt-ins and journeys in a grey, smaller secondary row */
#wlf-lighthouse .lh-cx-root .lcx-kpis-sec .lcx-kpi { background: var(--lh-card, #ffffff); border-style: dashed; padding: 10px 12px; }
#wlf-lighthouse .lh-cx-root .lcx-kpis-sec .lcx-kpi-v { font-size: 18px; line-height: 24px; color: var(--lh-ink-muted, #4f5b76); }
#wlf-lighthouse .lh-cx-root .lcx-kpis-sec .lcx-kpi-l { color: var(--lh-ink-faint, #5f6b85); }
#wlf-lighthouse .lh-cx-root .lcx-kpi-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 6px; }
#wlf-lighthouse .lh-cx-root .lh-basis { font-size: 12px; line-height: 16px; color: var(--lh-ink-muted, #4f5b76); }
#wlf-lighthouse .lh-cx-root .lh-delta { font-size: 12px; line-height: 16px; color: var(--lh-ink-faint, #5f6b85); font-variant-numeric: tabular-nums; }
#wlf-lighthouse .lh-cx-root .lcx-nocmp { font-size: 12px; line-height: 16px; color: var(--lh-ink-muted, #4f5b76); }
/* W-16: Salesforce consent coverage line; the breakdown greys out under 50% coverage */
#wlf-lighthouse .lh-cx-root .lcx-kpi-cov { margin: 2px 0 0; font-size: 13px; line-height: 18px; color: var(--lh-ink, #1e2a4a); }
#wlf-lighthouse .lh-cx-root .lcx-kpi-few { margin: 2px 0 0; font-size: 12px; line-height: 16px; color: var(--lh-ink-muted, #4f5b76); }
#wlf-lighthouse .lh-cx-root .lcx-sf-list.lcx-grey .lcx-sf-pick { color: var(--lh-ink-faint, #5f6b85); background: var(--lh-surface-2, #f8f9fc); }
#wlf-lighthouse .lh-cx-root .lcx-sf-list.lcx-grey .lcx-sf-pick.lcx-on { background: var(--lh-selected-bg, #0f1b3d); color: var(--lh-selected-ink, #ffffff); }
/* C-08: the second denominator of a bar, on its own line */
#wlf-lighthouse .lh-cx-root .lcx-stage-alt { display: block; font-size: 12px; line-height: 16px; color: var(--lh-ink-muted, #4f5b76); white-space: normal; }
#wlf-lighthouse .lh-cx-root .lcx-stage { grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) 130px; }
/* headers with tools (K-01 export buttons, C-22 chooser and page size) */
#wlf-lighthouse .lh-cx-root .lcx-tools, #wlf-lighthouse .lh-cx-root .lcx-head-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#wlf-lighthouse .lh-cx-root .lcx-tools { justify-content: flex-end; }
#wlf-lighthouse .lh-cx-root .lcx-range { margin-right: auto; font-size: 13px; color: var(--lh-ink-muted, #4f5b76); }
#wlf-lighthouse .lh-cx-root .lcx-card-h, #wlf-lighthouse .lh-cx-root .lcx-head-row { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 8px 16px; }
#wlf-lighthouse .lh-cx-root .lcx-head-row { flex-direction: row; }
#wlf-lighthouse .lh-cx-root .lcx-chart { min-height: 40px; }
#wlf-lighthouse .lh-cx-root .lcx-psize-l { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--lh-ink-muted, #4f5b76); }
#wlf-lighthouse .lh-cx-root .lcx-psize { height: 30px; padding: 0 6px; margin: 0; border: 1px solid var(--lh-control-border, #6b7590); border-radius: 6px; background: var(--lh-card, #ffffff); color: var(--lh-ink, #1e2a4a); font: 400 13px/18px var(--lh-f-sans, sans-serif); }
#wlf-lighthouse .lh-cx-root .lcx-cols { position: relative; }
#wlf-lighthouse .lh-cx-root .lcx-cols > summary { cursor: pointer; list-style: none; padding: 4px 10px; border: 1px solid var(--lh-control-border, #6b7590); border-radius: 6px; font-size: 13px; line-height: 20px; }
#wlf-lighthouse .lh-cx-root .lcx-cols > summary::-webkit-details-marker { display: none; }
#wlf-lighthouse .lh-cx-root .lcx-cols-list { position: absolute; right: 0; top: calc(100% + 4px); z-index: 5; display: flex; flex-direction: column; gap: 4px; min-width: 240px; padding: 10px 12px;
  background: var(--lh-card, #ffffff); border: 1px solid var(--lh-border, #e3e7ef); border-radius: 8px; box-shadow: 0 6px 20px rgba(15, 27, 61, .14); }
#wlf-lighthouse .lh-cx-root .lcx-col-opt { display: flex; align-items: center; gap: 8px; font-size: 13px; cursor: pointer; }
#wlf-lighthouse .lh-cx-root .lcx-col-opt input { margin: 0; }
/* C-22: the table grows with the page (no 70vh box); the first two columns stay in view when it scrolls sideways */
#wlf-lighthouse .lh-cx-root .lcx-scroll.lcx-scroll-page { max-height: none; }
/* the header sticks inside its own scroll box (top 0): the box is overflow:auto, so it can't stick to the page bar */
#wlf-lighthouse .lh-cx-root .lcx-t2 th { top: 0; }
#wlf-lighthouse .lh-cx-root .lcx-t2 .lcx-stick { position: sticky; z-index: 2; background: var(--lh-card, #ffffff); }
#wlf-lighthouse .lh-cx-root .lcx-t2 th.lcx-stick { z-index: 3; }
#wlf-lighthouse .lh-cx-root .lcx-t2 .lcx-stick1 { left: 0; width: 150px; min-width: 150px; max-width: 150px; white-space: normal; }
#wlf-lighthouse .lh-cx-root .lcx-t2 .lcx-stick2 { left: 150px; box-shadow: inset -1px 0 0 var(--lh-border, #e3e7ef); }
#wlf-lighthouse .lh-cx-root .lcx-t2 tbody tr:hover td.lcx-stick, #wlf-lighthouse .lh-cx-root .lcx-t2 tbody tr.lcx-row-current td.lcx-stick { background: var(--lh-surface-2, #f8f9fc); }
/* A-04: "+N more" and the mismatch count open a small popover */
#wlf-lighthouse .lh-cx-root { position: relative; }
#wlf-lighthouse .lh-cx-root .lcx-pop {
  appearance: none; margin: 0; padding: 0 2px; min-height: 0; border: 0; border-radius: 4px; background: none; box-shadow: none; cursor: pointer;
  font: inherit; color: var(--lh-ink, #1e2a4a); letter-spacing: normal; text-transform: none; text-decoration: underline dotted;
}
#wlf-lighthouse .lh-cx-root .lcx-pop:hover { text-decoration: underline solid; }
#wlf-lighthouse .lh-cx-root .lcx-popover { position: absolute; z-index: 20; max-width: min(420px, calc(100% - 16px)); padding: 10px 12px; display: flex; flex-direction: column; gap: 6px;
  background: var(--lh-card, #ffffff); border: 1px solid var(--lh-border, #e3e7ef); border-radius: 8px; box-shadow: 0 6px 20px rgba(15, 27, 61, .18); font-size: 13px; line-height: 18px; }
#wlf-lighthouse .lh-cx-root .lcx-popover ul { list-style: disc; padding-left: 18px; display: flex; flex-direction: column; gap: 2px; }
#wlf-lighthouse .lh-cx-root .lcx-pop-t { font-weight: 600; }
#wlf-lighthouse .lh-cx-root .lcx-pop-x { align-self: flex-end; }
#wlf-lighthouse .lh-cx-root .lcx-chip-ex .lcx-chip-t { text-decoration: line-through; }
/* the older-intakes toggle inside the shell's SHOWING bar (spec 1.6: module rules for extra are scoped to the slot) */
#lh-fslot-consent .lcx-old { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; cursor: pointer; }
#lh-fslot-consent .lcx-old input { margin: 0; }
/* C-06: excluded values in the Consent facets */
#lh-cx-facets .lh-fx-opt.lh-ex .lh-fx-nm > span:not(.lh-fx-not) { text-decoration: line-through; }
#lh-cx-facets .lh-fx-not { margin-left: 6px; padding: 0 5px; border: 1px solid currentColor; border-radius: 4px; font-size: 11px; line-height: 14px; text-transform: uppercase; }
#lh-cx-facets .lh-fx-also { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 6px 0; font-size: 12px; }

/* MB-04: phone width (FEATURES.mobileSheets adds .lcx-ms and .lcx-cardtable): 2-up tiles, leads as cards */
@media (max-width: 600px) {
  #wlf-lighthouse .lh-cx-root.lcx-ms .lcx-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  #wlf-lighthouse .lh-cx-root.lcx-ms .lcx-kpi { padding: 10px; }
  #wlf-lighthouse .lh-cx-root.lcx-ms .lcx-kpi-v { font-size: 20px; line-height: 26px; }
  #wlf-lighthouse .lh-cx-root.lcx-ms .lcx-kpi-wide { grid-column: 1 / -1; }
  #wlf-lighthouse .lh-cx-root .lcx-cardtable thead { display: none; }
  #wlf-lighthouse .lh-cx-root .lcx-cardtable, #wlf-lighthouse .lh-cx-root .lcx-cardtable tbody { display: block; }
  #wlf-lighthouse .lh-cx-root .lcx-cardtable tbody tr { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border: 1px solid var(--lh-border, #e3e7ef); border-radius: 8px; margin: 0 0 8px; }
  #wlf-lighthouse .lh-cx-root .lcx-cardtable td { display: block; padding: 0; border: 0; white-space: normal; max-width: none; min-width: 0; position: static; width: auto; }
  #wlf-lighthouse .lh-cx-root .lcx-cardtable td.lcx-mhide { display: none; }
  #wlf-lighthouse .lh-cx-root .lcx-cardtable td::before { content: attr(data-label) " \00b7  "; color: var(--lh-ink-faint, #5f6b85); font-size: 12px; }
  #wlf-lighthouse .lh-cx-root .lcx-cardtable td.lcx-card-1 { order: 1; }
  #wlf-lighthouse .lh-cx-root .lcx-cardtable td.lcx-card-2 { order: 2; }
  #wlf-lighthouse .lh-cx-root .lcx-cardtable td.lcx-card-3 { order: 3; }
  #wlf-lighthouse .lh-cx-root .lcx-cardtable td.lcx-card-4 { order: 4; }
  #wlf-lighthouse .lh-cx-root .lcx-cardtable td.lcx-card-5 { order: 5; }
  #wlf-lighthouse .lh-cx-root .lcx-cardtable td.lcx-n { text-align: left; }
  /* only the Leads card box loses its scroll; the Call journeys table keeps overflow:auto (no sideways page scroll) */
  #wlf-lighthouse .lh-cx-root .lcx-scroll.lcx-scroll-cards { border-top: 0; overflow: visible; max-height: none; }
  #wlf-lighthouse .lh-cx-root .lcx-head-row { flex-direction: column; }
  #wlf-lighthouse .lh-cx-root .lcx-nav { flex-wrap: nowrap; overflow-x: auto; }
  #wlf-lighthouse .lh-cx-root .lcx-tab { flex: 0 0 auto; padding: 8px 10px; }
  #wlf-lighthouse .lh-cx-root .lcx-stage { grid-template-columns: minmax(0, 1fr) 110px; }
}

/* K-13: print (only when the shell's print flag sets :root[data-lh-print]) */
@media print {
  :root[data-lh-print] #wlf-lighthouse .lh-cx-root { border: 0; box-shadow: none; padding: 0; }
  :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-nav, :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-fbar,
  :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lh-btn, :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-export, :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-cols,
  :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-psize-l, :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-more, :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-popover,
  :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-rules-box, :root[data-lh-print] #lh-cx-facets, :root[data-lh-print] #lh-fslot-consent .lcx-old { display: none !important; }
  :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-table tbody tr:nth-child(n+26) { display: none; }
  :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-scroll { overflow: visible; max-height: none; }
  :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-card, :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-kpi, :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-mm { break-inside: avoid; }
  :root[data-lh-print] #wlf-lighthouse .lh-cx-root .lcx-t2 .lcx-stick { position: static; }
}

@media (max-width: 720px) {
  #wlf-lighthouse .lh-cx-root { padding: 16px; }
  #wlf-lighthouse .lh-cx-root .lcx-stage { grid-template-columns: minmax(0, 1fr) 72px; }
  #wlf-lighthouse .lh-cx-root .lcx-stage-t { grid-column: 1 / -1; grid-row: 2; }
  #wlf-lighthouse .lh-cx-root .lcx-old { margin-left: 0; }
}
