/* ============================================================================
   Data Cleanser — Merge Review (workbench + duplicate queue + record selector
   + namespaced card). Verbatim copies of the component stylesheets (minus the
   @import "c/dcBrand" handled by the snippet pages). Transforms, per README:
   - :host → the component's custom-element tag (the snippets keep the real
     <c-dc-*> tags in markup, so element selectors in product CSS still apply).
   ============================================================================ */

/* ============================================================================
   lwc/dcMergeWorkbench/dcMergeWorkbench.css (:host → c-dc-merge-workbench)
   ============================================================================ */

c-dc-merge-workbench {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

/* ---- Shared Lightning component hooks ------------------------------------ */
.dcwb-l-head lightning-button,
.dc-wb-head lightning-button {
  --slds-c-button-spacing-inline-start: var(--slds-g-spacing-3, 12px);
  --slds-c-button-spacing-inline-end: var(--slds-g-spacing-3, 12px);
}

.dcwb-l-count-badge {
  --slds-c-badge-color-background: var(--dc-neutral-100);
  --slds-c-badge-text-color: var(--dc-fg-1);
}

.dcwb-l-survivor-badge {
  --slds-c-badge-color-background: var(--dc-success-50);
  --slds-c-badge-text-color: var(--dc-success-700);
}

/* Show-fields toggle (Aura parity — session-only, below comparison grid) */
.dcwb-show-fields {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--slds-g-spacing-2, 8px);
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-4, 16px);
  border-top: 1px solid var(--slds-g-color-border-1, var(--dc-neutral-200));
  text-align: center;
}

.dcwb-show-fields lightning-button {
  --slds-c-button-spacing-inline-start: var(--slds-g-spacing-2, 8px);
  --slds-c-button-spacing-inline-end: var(--slds-g-spacing-2, 8px);
}

.dcwb-workbench-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--slds-g-spacing-3, 12px);
  position: sticky;
  top: 0;
  z-index: 12;
  background: var(--slds-g-color-surface-1, var(--dc-bg-surface));
  border: var(--slds-g-sizing-border-1, 1px) solid
    var(--slds-g-color-border-1, var(--dc-border-1));
  border-radius: var(--slds-g-radius-border-3, var(--dc-radius-lg));
  padding: var(--slds-g-spacing-2, 8px) var(--slds-g-spacing-3, 12px);
  margin-bottom: var(--slds-g-spacing-3, 12px);
  box-shadow: 0 4px 8px -4px rgba(26, 37, 51, 0.12);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.dcwb-workbench-bar-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--slds-g-spacing-2, 8px) var(--slds-g-spacing-3, 12px);
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.dcwb-workbench-bar-tools,
.dcwb-workbench-bar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--slds-g-spacing-2, 8px) var(--slds-g-spacing-3, 12px);
  min-width: 0;
}

.dcwb-workbench-bar-tools {
  flex: 1 1 auto;
}

.dcwb-workbench-bar-actions {
  flex: 1 1 16rem;
  justify-content: flex-end;
  margin-left: auto;
  max-width: 100%;
}

.dcwb-workbench-bar-actions .dcwb-workbench-merge-actions {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.dcwb-view-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--slds-g-spacing-3, 12px);
  margin-bottom: var(--slds-g-spacing-3, 12px);
}

.dcwb-cmp-scroll.density-compact .dcwb-l-cmp th,
.dcwb-cmp-scroll.density-compact .dcwb-l-cmp td,
.dcwb-cmp-scroll.density-compact .dc-cmp th,
.dcwb-cmp-scroll.density-compact .dc-cmp td {
  padding: var(--slds-g-spacing-2, 8px);
}

.dcwb-cmp-scroll.density-auto .dcwb-l-cmp,
.dcwb-cmp-scroll.density-auto .dc-cmp {
  width: 100%;
}

.dcwb-vertical-list {
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-3, 12px);
}

.dcwb-vertical-option {
  padding: var(--slds-g-spacing-1, 4px) 0;
}

.dcwb-vertical-readonly {
  color: var(--slds-g-color-on-surface-2, var(--dc-fg-2));
}

.dcwb-vertical-mastergrid {
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-2, 8px);
}

.dcwb-vertical-masteritem {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--slds-g-spacing-2, 8px);
}

.dcwb-vertical-mastercopy {
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-1, 4px);
  min-width: 0;
}

.dcwb-vertical-masteritem .dcwb-master-pill {
  width: auto;
  min-width: 9rem;
}

.dcwb-vertical-mastername {
  font-weight: 600;
}

.dcwb-overflow-col-label {
  display: block;
  font-size: 0.75rem;
  color: var(--slds-g-color-on-surface-2, var(--dc-fg-2));
  margin-bottom: var(--slds-g-spacing-1, 4px);
}

.dcwb-field-label-row {
  display: inline-flex;
  align-items: center;
  gap: var(--slds-g-spacing-1, 4px);
  max-width: 100%;
}

.dcwb-field-label-row .dcwb-l-flabel,
.dcwb-field-label-row .slds-text-heading_small {
  min-width: 0;
}

.dcwb-overflow-panel-wrap {
  margin-top: var(--slds-g-spacing-4, 16px);
}

.dcwb-pad-label {
  font-style: italic;
  color: var(--slds-g-color-on-surface-2, var(--dc-fg-2));
}

.dcwb-l-mastercell,
.dc-cell-master,
.dcwb-l-cell.is-pad,
.dc-cell.is-pad {
  background: var(--slds-g-color-surface-container-2, var(--dc-neutral-50));
}

.dcwb-table-control {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--slds-g-sizing-8, 32px);
}

.dcwb-mastercell-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--slds-g-spacing-2, 8px);
  width: 100%;
}

.dcwb-mastercell-actions .dcwb-master-pill {
  flex: 1;
  min-width: 0;
}

.dcwb-record-notice {
  margin-bottom: var(--slds-g-spacing-3, 12px);
}

.dcwb-l-mastercell .dcwb-master-pill,
.dc-cell-master .dcwb-master-pill {
  width: 100%;
  max-width: 100%;
}

.dcwb-master-row th,
.dcwb-master-row td {
  border-bottom: 2px solid var(--slds-g-color-border-1, var(--dc-neutral-200));
}

.dcwb-l-cell.is-overflow,
.dc-cell.is-overflow {
  background: var(--slds-g-color-surface-container-2, var(--dc-neutral-50));
}

/* Master record pill — full-width control row in each comparison column */
.dcwb-masterctl {
  width: 100%;
  margin-bottom: var(--slds-g-spacing-2, 8px);
}

.dcwb-master-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--slds-g-spacing-1, 4px);
  width: 100%;
  max-width: 100%;
  min-height: var(--slds-g-sizing-8, 32px);
  padding: var(--slds-g-spacing-1, 4px) var(--slds-g-spacing-2, 8px);
  border-radius: var(--slds-g-radius-border-pill, 15rem);
  font: var(--slds-g-font-weight-6, 600) var(--slds-g-font-scale-neg-1, 12px)
    var(--dc-font-sans);
  line-height: 1.25;
  white-space: nowrap;
  box-sizing: border-box;
}

.dcwb-master-pill-label {
  flex: none;
}

.dcwb-master-pill.is-active {
  background: var(--dc-pastel-selected-bg);
  color: var(--dc-pastel-selected-text);
  border: var(--slds-g-sizing-border-1, 1px) solid
    var(--dc-pastel-selected-border);
  box-shadow: none;
}

.dcwb-master-pill.is-selectable {
  margin: 0;
  appearance: none;
  font-family: inherit;
  cursor: pointer;
  background: var(--slds-g-color-surface-1, #fff);
  color: var(--dc-fg-2);
  border: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-2);
  transition:
    background-color 120ms ease,
    border-color 120ms ease,
    color 120ms ease;
}

.dcwb-master-pill.is-selectable:hover {
  background: var(--dc-neutral-50);
  color: var(--dc-pastel-selected-text);
  border-color: var(--dc-pastel-selected-border);
}

.dcwb-master-pill.is-selectable:focus-visible {
  outline: 2px solid var(--dc-brand-500);
  outline-offset: 2px;
}

.dcwb-l-cta-badge {
  --slds-c-badge-color-background: var(--dc-brand-700);
  --slds-c-badge-text-color: var(--slds-g-color-on-accent-1, #fff);
}

.dcwb-l-progress lightning-progress-bar {
  --slds-c-progress-bar-value-color-background: var(--dc-brand-500);
}

.dcwb-pick-radio {
  flex: none;
  line-height: 1;
}

/* ==========================================================================
   CLASSIC THEME LAYOUT
   ========================================================================== */
.dc-wb {
  --dcwb-record-col-min: 220px;
  --dcwb-record-col-max: 320px;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: var(--dc-bg-app);
}

.dc-wb-head {
  display: flex;
  align-items: center;
  gap: var(--slds-g-spacing-3, 14px);
  padding: var(--slds-g-spacing-3, 14px) var(--slds-g-spacing-5, 22px);
  background: var(--slds-g-color-surface-1, var(--dc-bg-surface));
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  flex: none;
  flex-wrap: wrap;
}

.dc-wb-divider {
  width: var(--slds-g-sizing-border-1, 1px);
  height: var(--slds-g-sizing-7, 24px);
  background: var(--dc-border-1);
}

.dc-wb-glyph,
.dcwb-l-glyph {
  flex: none;
}

.dc-wb-titlerow {
  display: flex;
  align-items: center;
  gap: var(--slds-g-spacing-2, 10px);
}

.dc-wb-body {
  flex: 1;
  overflow: auto;
  padding: var(--slds-g-spacing-5, 20px) var(--slds-g-spacing-5, 22px)
    var(--slds-g-spacing-7, 32px);
}

.dc-wb-grid {
  max-width: var(--dc-container-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: var(--slds-g-spacing-4, 16px);
  align-items: start;
}

.dc-wb-main {
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-4, 16px);
  min-width: 0;
  container-type: inline-size;
  container-name: dcwb-main;
}

.dc-wb-rail {
  position: sticky;
  top: 0;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-4, 16px);
}

.dc-wb-banner {
  display: flex;
  align-items: flex-start;
  gap: var(--slds-g-spacing-2, 10px);
  padding: var(--slds-g-spacing-2, 10px) var(--slds-g-spacing-3, 14px);
  background: var(--dc-neutral-50);
  border: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  border-radius: var(--dc-radius-md);
  margin-bottom: var(--slds-g-spacing-4, 16px);
  --slds-c-icon-color-foreground: var(--dc-fg-2);
}

.dc-wb-banner-copy {
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-1, 2px);
}

.dc-wb-banner-title {
  color: var(--dc-fg-1);
}

.dcwb-staged-merge-banner {
  display: flex;
  align-items: flex-start;
  gap: var(--slds-g-spacing-3, 12px);
  margin-bottom: var(--slds-g-spacing-4, 16px);
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-4, 16px);
  background: var(--dc-brand-50, #f0f7ff);
  border: var(--slds-g-sizing-border-1, 1px) solid var(--dc-brand-200, #b8d4f5);
  border-radius: var(--dc-radius-md);
  --slds-c-icon-color-foreground: var(--dc-brand-600);
}

.dcwb-staged-merge-title {
  margin: 0;
  font: 600 var(--dc-text-sm, 13px) / 1.4 var(--dc-font-sans);
  color: var(--dc-brand-800, #0f3d7a);
}

.dcwb-staged-merge-body {
  margin: var(--slds-g-spacing-1, 4px) 0 0;
  font: 400 var(--dc-text-sm, 13px) / 1.5 var(--dc-font-sans);
  color: var(--dc-brand-700, #1456a0);
}

.dcwb-staged-merge-pass {
  flex: none;
  margin-left: auto;
  --slds-c-badge-color-background: var(--dc-brand-100, #dbeafe);
  --slds-c-badge-text-color: var(--dc-brand-800, #0f3d7a);
}

.dc-grid-card {
  background: var(--slds-g-color-surface-1, var(--dc-bg-surface));
  border: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  border-radius: var(--dc-radius-lg);
  box-shadow: var(--dc-shadow-sm);
  overflow: hidden;
}

/* ---- Scrollable comparison table (many duplicates) ----------------------- */
.dcwb-cmp-scroll-hint {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--slds-g-spacing-1, 4px) var(--slds-g-spacing-3, 12px);
  margin: 0;
  padding: var(--slds-g-spacing-1, 4px) var(--slds-g-spacing-3, 12px);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  background: var(--dc-neutral-25);
}

.dcwb-cmp-scroll-hint-text {
  margin: 0;
  margin-right: auto;
  flex: 1 1 12rem;
  min-width: 0;
  text-align: left;
}

.dcwb-cmp-scroll {
  overflow-x: auto;
  overflow-y: visible;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
}

.dc-cmp {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.dc-cmp th,
.dc-cmp td {
  vertical-align: middle;
}

.horizontal-merge-column,
.dc-cmp td.dc-cell,
.dc-cmp td.dc-cell-master {
  min-width: var(--dcwb-record-col-min, 220px);
  width: var(--dcwb-record-col-min, 220px);
  max-width: var(--dcwb-record-col-max, 320px);
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-4, 16px);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  background: var(--slds-g-color-surface-1, var(--dc-bg-surface));
  vertical-align: middle;
  overflow: hidden;
}

.dc-cmp-fieldhead {
  position: sticky;
  left: 0;
  z-index: 3;
  min-width: 168px;
  width: 168px;
  background: var(--dc-neutral-25);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  border-right: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-3, 14px);
  text-align: left;
  vertical-align: bottom;
  box-shadow: 4px 0 8px -4px rgba(26, 37, 51, 0.08);
}

.dc-rec-head {
  min-width: var(--dcwb-record-col-min, 220px);
  width: var(--dcwb-record-col-min, 220px);
  max-width: var(--dcwb-record-col-max, 320px);
  padding: var(--slds-g-spacing-3, 12px);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  border-left: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  background: var(--dc-neutral-25);
  vertical-align: top;
  text-align: left;
}

.dc-rec-head.is-master {
  background: var(--dc-pastel-selected-bg);
}

.dc-rec-toprow {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--slds-g-spacing-2, 6px);
  margin-bottom: var(--slds-g-spacing-2, 7px);
}

.dc-rec-name {
  font: var(--slds-g-font-weight-6, 600) var(--slds-g-font-scale-base, 13px)
    var(--dc-font-sans);
  color: var(--dc-fg-1);
}

.dcwb-record-link {
  display: block;
  margin-bottom: var(--slds-g-spacing-1, 3px);
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  color: var(--dc-fg-1);
  text-decoration: none;
  cursor: pointer;
  text-align: left;
}

.dcwb-record-link:hover {
  color: var(--dc-fg-link);
  text-decoration: underline;
}

.dcwb-record-id-link {
  display: inline;
  margin-bottom: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  font-family: var(--dc-font-mono);
  font-size: var(--slds-g-font-scale-neg-1, 12px);
}

.dcwb-record-name {
  display: block;
  font: var(--slds-g-font-weight-6, 600) var(--slds-g-font-scale-neg-1, 12px)
    var(--dc-font-sans);
  color: var(--dc-fg-1);
  margin-bottom: var(--slds-g-spacing-1, 3px);
  overflow-wrap: anywhere;
}

.dc-cmp-field {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width: 168px;
  width: 168px;
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-3, 14px);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  border-right: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  vertical-align: middle;
  background: var(--dc-neutral-25);
  box-shadow: 4px 0 8px -4px rgba(26, 37, 51, 0.08);
}

.dc-cmp-field-label {
  font: var(--slds-g-font-weight-6, 600) var(--slds-g-font-scale-neg-1, 12px)
    var(--dc-font-sans);
  color: var(--dc-fg-2);
}

.dc-conflict-dot {
  display: inline-block;
  width: var(--slds-g-sizing-2, 6px);
  height: var(--slds-g-sizing-2, 6px);
  border-radius: 50%;
  background: var(--dc-warning-500);
  margin-left: var(--slds-g-spacing-2, 7px);
  vertical-align: middle;
}

.dc-cell {
  min-width: var(--dcwb-record-col-min, 220px);
  width: var(--dcwb-record-col-min, 220px);
  max-width: var(--dcwb-record-col-max, 320px);
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-4, 16px);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  border-left: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  background: var(--slds-g-color-surface-1, var(--dc-bg-surface));
  vertical-align: middle;
  overflow: hidden;
}

.dc-cell.is-win {
  background: var(--dc-pastel-selected-bg);
}

.dc-cell-inner {
  display: flex;
  align-items: center;
  gap: var(--slds-g-spacing-2, 9px);
  min-width: 0;
}

.dc-cell-val {
  font: var(--slds-g-font-weight-4, 400) var(--slds-g-font-scale-base, 13px)
    var(--dc-font-sans);
  color: var(--dc-fg-1);
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.dc-cell-val.is-win {
  font-weight: var(--slds-g-font-weight-6, 600);
  color: var(--dc-fg-1);
}

.dc-cell-val.is-empty {
  color: var(--dc-neutral-400);
}

.dc-options {
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-3, 12px);
}

.dcwb-merge-actions {
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-3, 12px);
}

.dcwb-merge-trial-caption {
  margin: 0;
  text-align: center;
  font: var(--slds-g-font-weight-4, 400) var(--slds-g-font-scale-neg-1, 12px)
    var(--dc-font-sans);
  color: var(--slds-g-color-on-surface-2, var(--dc-fg-2));
}

.dcwb-merge-secondary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--slds-g-spacing-2, 8px);
}

@media (max-width: 1080px) {
  .dc-wb-grid {
    grid-template-columns: 1fr;
  }

  .dc-wb-rail {
    position: static;
  }
}

/* ==========================================================================
   LEDGER THEME LAYOUT
   ========================================================================== */
.dcwb-l {
  --dcwb-record-col-min: 220px;
  --dcwb-record-col-max: 320px;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: var(--dc-bg-app);
}

.dcwb-review,
.dc-wb.dcwb-review {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}

.dcwb-l.dcwb-review,
.dc-wb.dcwb-review {
  flex: 1 1 auto;
  min-height: 0;
  max-height: 100%;
  height: 100%;
}

.dcwb-review-shell {
  display: flex;
  flex: 1 1 0;
  min-height: 0;
  height: 0;
  max-height: 100%;
  position: relative;
  width: 100%;
  overflow: hidden;
  align-items: stretch;
}

.dcwb-review-workspace {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
}

.dcwb-review-chrome {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--dc-space-3, 0.75rem);
  padding: var(--dc-space-3, 0.75rem) var(--dc-space-4, 1rem);
  border-bottom: 1px solid var(--dc-border-subtle, #e5e5e5);
}

.dcwb-review-chrome-actions {
  display: flex;
  align-items: center;
  gap: var(--dc-space-2, 0.5rem);
}

.dcwb-review-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  min-height: 12rem;
  padding: var(--dc-space-6, 1.5rem);
  text-align: center;
}

.dcwb-review-shell c-dc-duplicate-queue {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  align-self: stretch;
  min-height: 0;
  max-height: 100%;
  height: auto;
  overflow: hidden;
  transition:
    width var(--dc-dur-base, 180ms) var(--dc-ease, ease),
    min-width var(--dc-dur-base, 180ms) var(--dc-ease, ease),
    flex-basis var(--dc-dur-base, 180ms) var(--dc-ease, ease);
}

.dcwb-review .dcwb-l-grid,
.dcwb-review-workspace .dcwb-l-grid {
  flex: 1 1 auto;
  min-height: 0;
  max-width: none;
  margin: 0;
}

.dcwb-review-workspace .dcwb-l-head {
  flex: none;
}

.dcwb-l-head {
  display: flex;
  align-items: center;
  gap: var(--slds-g-spacing-3, 14px);
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-5, 22px);
  background: var(--slds-g-color-surface-1, var(--dc-bg-surface));
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  flex: none;
  flex-wrap: wrap;
  position: sticky;
  top: 0;
  z-index: 20;
}

.dcwb-l-crumbs {
  display: flex;
  align-items: center;
  gap: var(--slds-g-spacing-1, 4px);
  flex: none;
  min-width: 0;
}

.dcwb-l-crumb {
  display: inline-flex;
  align-items: center;
  gap: var(--slds-g-spacing-1, 4px);
  font: var(--slds-g-font-weight-6, 600) var(--slds-g-font-scale-0, 13px) / 1.3
    var(--dc-font-sans);
  color: var(--dc-fg-2, var(--dc-fg-1));
  white-space: nowrap;
}

.dcwb-l-crumb-link {
  border: 0;
  padding: var(--slds-g-spacing-1, 2px) var(--slds-g-spacing-1, 4px);
  background: transparent;
  cursor: pointer;
  border-radius: var(--slds-g-radius-border-2, var(--dc-radius-md));
}

.dcwb-l-crumb-link:hover {
  background: var(--slds-g-color-surface-container-2, var(--dc-bg-hover));
  color: var(--dc-brand-700, var(--dc-fg-1));
}

.dcwb-l-crumb-sep {
  --slds-c-icon-color-foreground: var(--dc-fg-3, var(--dc-fg-2));
  flex: none;
}

.dcwb-l-crumb-current {
  color: var(--dc-fg-1);
}

.dcwb-l-sep {
  width: var(--slds-g-sizing-border-1, 1px);
  height: 26px;
  background: var(--dc-border-1);
  flex: none;
}

.dcwb-l-sep.tall {
  height: var(--slds-g-sizing-9, 34px);
}

.dcwb-l-titles {
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-1, 2px);
}

.dcwb-l-titlerow {
  display: flex;
  align-items: center;
  gap: var(--slds-g-spacing-2, 9px);
}

.dcwb-l-spacer,
.dc-wb-spacer {
  flex: 1;
}

.dcwb-l-head-actions,
.dc-wb-head-actions {
  display: flex;
  align-items: flex-start;
  flex: none;
}

.dcwb-head-action-group {
  align-self: flex-end;
}

.dcwb-workbench-merge-actions {
  align-self: center;
  min-width: 0;
  max-width: 100%;
}

.dcwb-workbench-merge-actions.is-compact lightning-button {
  --slds-c-button-line-height: 1.25;
}

.dcwb-head-trial-caption {
  margin: 0;
  text-align: center;
  font: var(--slds-g-font-weight-4, 400) var(--slds-g-font-scale-neg-1, 12px)
    var(--dc-font-sans);
  color: var(--slds-g-color-on-surface-2, var(--dc-fg-2));
  white-space: nowrap;
}

.dcwb-toolbar-merge-stack {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--slds-g-spacing-3, 12px);
  flex: none;
}

.dcwb-toolbar-merge-stack .dcwb-head-action-group {
  align-self: auto;
}

.dcwb-toolbar-trial-caption {
  margin: 0;
  text-align: left;
  font: var(--slds-g-font-weight-4, 400) var(--slds-g-font-scale-neg-1, 12px)
    var(--dc-font-sans);
  color: var(--slds-g-color-on-surface-2, var(--dc-fg-2));
  white-space: nowrap;
}

.dcwb-compare-fullscreen .dcwb-workbench-bar-controls {
  flex-wrap: wrap;
  align-items: center;
}

@container dcwb-main (max-width: 44rem) {
  .dcwb-workbench-bar-actions {
    flex-basis: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }
}

@media (max-width: 1080px) {
  .dcwb-workbench-bar-tools {
    flex-basis: 100%;
  }

  .dcwb-workbench-bar-actions {
    flex-basis: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }

  .dcwb-l-grid,
  .dc-wb-grid {
    padding-inline: var(--slds-g-spacing-3, 12px);
  }
}

.dcwb-l-grid {
  flex: 1;
  overflow: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: var(--slds-g-spacing-4, 18px);
  align-items: start;
  padding: var(--slds-g-spacing-4, 18px) var(--slds-g-spacing-5, 22px);
  max-width: var(--dc-container-max);
  width: 100%;
  margin: 0 auto;
}

.dcwb-l-main {
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-4, 16px);
  min-width: 0;
  container-type: inline-size;
  container-name: dcwb-main;
}

.dcwb-l-summary {
  display: flex;
  align-items: center;
  gap: var(--slds-g-spacing-4, 18px);
  background: var(--slds-g-color-surface-1, var(--dc-bg-surface));
  border: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  border-radius: var(--dc-radius-lg);
  box-shadow: var(--dc-shadow-xs);
  padding: var(--slds-g-spacing-3, 13px) var(--slds-g-spacing-4, 18px);
  flex-wrap: wrap;
}

.dcwb-l-flow {
  display: flex;
  align-items: center;
  gap: var(--slds-g-spacing-3, 12px);
}

.dcwb-l-flow-arrow {
  --slds-c-icon-color-foreground: var(--dc-neutral-400);
}

.dcwb-l-progress {
  flex: 1;
  min-width: 180px;
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-2, 6px);
}

.dcwb-l-progress-lab {
  display: flex;
  justify-content: space-between;
  gap: var(--slds-g-spacing-3, 12px);
  font: var(--slds-g-font-weight-5, 500) var(--slds-g-font-scale-neg-1, 12px)
    var(--dc-font-sans);
  color: var(--dc-fg-2);
}

.dcwb-l-progress-count {
  color: var(--dc-warning-700);
}

.dcwb-l-ledger {
  background: var(--slds-g-color-surface-1, var(--dc-bg-surface));
  border: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  border-radius: var(--dc-radius-lg);
  box-shadow: var(--dc-shadow-xs);
  overflow: hidden;
}

.dcwb-l-cmp {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.dcwb-l-cmp th,
.dcwb-l-cmp td {
  vertical-align: middle;
}

.dcwb-l-cmp td.dcwb-l-cell,
.dcwb-l-cmp td.dcwb-l-mastercell,
.dcwb-l-cmp td.horizontal-merge-column {
  min-width: var(--dcwb-record-col-min, 220px);
  width: var(--dcwb-record-col-min, 220px);
  max-width: var(--dcwb-record-col-max, 320px);
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-4, 16px);
  vertical-align: middle;
}

.dcwb-l-fieldhead {
  position: sticky;
  left: 0;
  z-index: 3;
  min-width: 156px;
  width: 156px;
  background: var(--dc-neutral-25);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  border-right: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-4, 16px);
  text-align: left;
  vertical-align: bottom;
  box-shadow: 4px 0 8px -4px rgba(26, 37, 51, 0.08);
}

.dcwb-l-rhead {
  min-width: var(--dcwb-record-col-min, 220px);
  width: var(--dcwb-record-col-min, 220px);
  max-width: var(--dcwb-record-col-max, 320px);
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-4, 16px);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  background: var(--dc-neutral-25);
  vertical-align: top;
  text-align: left;
}

.dcwb-l-rhead.is-master {
  background: var(--dc-pastel-selected-bg);
}

.dcwb-l-rectop {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--slds-g-spacing-2, 8px);
  margin-bottom: var(--slds-g-spacing-2, 6px);
}

.dcwb-l-recname {
  font: var(--slds-g-font-weight-7, 700) var(--slds-g-font-scale-1, 14px)
    var(--dc-font-sans);
  color: var(--dc-fg-1);
}

.dcwb-l-rhead .dcwb-record-link,
.dc-rec-head .dcwb-record-link {
  font: var(--slds-g-font-weight-6, 600) var(--slds-g-font-scale-neg-1, 12px)
    var(--dc-font-sans);
}

.dcwb-l-row.is-conflict .dcwb-l-field,
.dcwb-l-cmp tr.is-conflict .dcwb-l-field,
.dcwb-l-cmp tr.is-conflict .dcwb-l-cell,
.dcwb-l-cmp tr.is-conflict .horizontal-merge-column,
.dc-cmp tr.is-conflict .dc-cmp-field,
.dc-cmp tr.is-conflict .dc-cell,
.dc-cmp tr.is-conflict .horizontal-merge-column {
  background: var(--dc-warning-50);
}

/* SLDS row hover loses to per-cell backgrounds and appears one row off — own hover here. */
.dcwb-l-cmp tbody tr:not(.dcwb-master-row):hover > .dcwb-l-field,
.dcwb-l-cmp tbody tr:not(.dcwb-master-row):hover > .dcwb-l-cell,
.dcwb-l-cmp tbody tr:not(.dcwb-master-row):hover > .horizontal-merge-column,
.dc-cmp tbody tr:not(.dcwb-master-row):hover > .dc-cmp-field,
.dc-cmp tbody tr:not(.dcwb-master-row):hover > .dc-cell,
.dc-cmp tbody tr:not(.dcwb-master-row):hover > .horizontal-merge-column {
  background: var(--dc-bg-hover);
}

.dcwb-l-cmp tbody tr.is-conflict:hover > .dcwb-l-field,
.dcwb-l-cmp tbody tr.is-conflict:hover > .dcwb-l-cell,
.dcwb-l-cmp tbody tr.is-conflict:hover > .horizontal-merge-column,
.dc-cmp tbody tr.is-conflict:hover > .dc-cmp-field,
.dc-cmp tbody tr.is-conflict:hover > .dc-cell,
.dc-cmp tbody tr.is-conflict:hover > .horizontal-merge-column {
  background: var(--dc-warning-100);
}

.dcwb-l-field {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width: 156px;
  width: 156px;
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-4, 16px);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  border-right: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  vertical-align: middle;
  background: var(--dc-neutral-25);
  box-shadow: 4px 0 8px -4px rgba(26, 37, 51, 0.08);
}

.dcwb-l-flabel {
  font: var(--slds-g-font-weight-6, 600) var(--slds-g-font-scale-base, 13px)
    var(--dc-font-sans);
  color: var(--dc-fg-1);
}

.dcwb-l-cdot {
  width: var(--slds-g-sizing-3, 8px);
  height: var(--slds-g-sizing-3, 8px);
  border-radius: 50%;
  background: var(--dc-warning-500);
  box-shadow: 0 0 0 3px var(--dc-warning-50);
  flex: none;
}

.dcwb-l-cell {
  min-width: var(--dcwb-record-col-min, 220px);
  width: var(--dcwb-record-col-min, 220px);
  max-width: var(--dcwb-record-col-max, 320px);
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-4, 16px);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  background: var(--slds-g-color-surface-1, var(--dc-bg-surface));
  vertical-align: middle;
  overflow: hidden;
}

.dcwb-l-cell.is-master {
  background: var(--dc-pastel-selected-bg);
}

.dcwb-l-cell.is-win,
.dcwb-l-cell.is-win.is-master {
  background: var(--dc-pastel-selected-bg);
}

.dcwb-l-cellinner {
  display: flex;
  align-items: center;
  gap: var(--slds-g-spacing-2, 9px);
  min-width: 0;
}

.dcwb-l-val {
  font: var(--slds-g-font-weight-4, 400) var(--slds-g-font-scale-base, 13px)
    var(--dc-font-sans);
  color: var(--dc-fg-1);
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.dcwb-l-cell.is-win .dcwb-l-val {
  font-weight: var(--slds-g-font-weight-6, 600);
  color: var(--dc-fg-1);
}

.dcwb-l-val.is-empty {
  color: var(--dc-neutral-400);
}

.dcwb-merge-checkbox-field {
  display: flex;
  align-items: flex-start;
  gap: var(--slds-g-spacing-2, 9px);
  min-width: 0;
  width: 100%;
}

.dcwb-merge-checkbox-field lightning-input {
  flex: none;
}

.dcwb-merge-checkbox-val {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.dc-wb-grid.is-results-hidden,
.dcwb-l-grid.is-results-hidden {
  grid-template-columns: minmax(0, 1fr);
}

.dcwb-l-rail {
  position: sticky;
  top: 0;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-4, 16px);
}

.dcwb-l-goldenrow {
  display: flex;
  justify-content: space-between;
  gap: var(--slds-g-spacing-3, 12px);
  padding: var(--slds-g-spacing-2, 9px) 0;
  border-bottom: var(--slds-g-sizing-border-1, 1px) dashed var(--dc-border-1);
}

.dcwb-l-goldenrow:last-child {
  border-bottom: none;
}

.dcwb-l-keepid {
  margin-top: var(--slds-g-spacing-1, 2px);
}

.dcwb-l-glab {
  font: var(--slds-g-font-weight-4, 400) var(--slds-g-font-scale-neg-1, 12px)
    var(--dc-font-sans);
  color: var(--dc-fg-3);
}

.dcwb-l-gval {
  font: var(--slds-g-font-weight-6, 600) var(--slds-g-font-scale-base, 13px)
    var(--dc-font-sans);
  color: var(--dc-fg-1);
  text-align: right;
  word-break: break-word;
}

.dcwb-l-gval.dc-mono {
  font: var(--slds-g-font-weight-5, 500) var(--slds-g-font-scale-neg-1, 12px)
    var(--dc-font-mono);
  color: var(--dc-fg-2);
}

.dcwb-l-gval.is-empty {
  color: var(--dc-neutral-400);
}

.dcwb-l-destructline {
  display: flex;
  align-items: center;
  gap: var(--slds-g-spacing-2, 9px);
  padding: var(--slds-g-spacing-2, 6px) 0;
  font: var(--slds-g-font-weight-5, 500) var(--slds-g-font-scale-base, 13px)
    var(--dc-font-sans);
  color: var(--dc-error-700);
  --slds-c-icon-color-foreground: var(--dc-error-500);
}

.dcwb-l-strike {
  text-decoration: line-through;
  text-decoration-color: var(--dc-error-500);
}

.dcwb-l-destructlabel {
  color: var(--dc-error-700);
  opacity: 0.75;
}

.dcwb-l-destructnote {
  margin: var(--slds-g-spacing-2, 8px) 0 0;
  font: var(--slds-g-font-weight-4, 400) var(--slds-g-font-scale-neg-1, 12px) /
    1.45 var(--dc-font-sans);
  color: var(--dc-error-700);
  opacity: 0.85;
}

@media (max-width: 1080px) {
  .dcwb-l-grid {
    grid-template-columns: 1fr;
  }

  .dcwb-l-rail {
    position: static;
  }
}

/* ---- Comparison full screen (many duplicate columns) --------------------- */
.dcwb-compare-fullscreen {
  position: fixed;
  inset: 0;
  z-index: 9000;
  width: 100vw;
  height: 100vh;
  max-height: 100vh;
  background: var(--dc-bg-app);
}

.dcwb-compare-fullscreen .dcwb-review-shell c-dc-duplicate-queue {
  display: none;
}

.dcwb-compare-fullscreen .dcwb-review-chrome,
.dcwb-compare-fullscreen .dcwb-l-head,
.dcwb-compare-fullscreen .dc-wb-head {
  display: none;
}

.dcwb-compare-fullscreen .dcwb-staged-merge-banner,
.dcwb-compare-fullscreen .dc-wb-banner {
  display: none;
}

.dcwb-compare-fullscreen .dcwb-l-grid:not(.is-results-hidden),
.dcwb-compare-fullscreen .dc-wb-grid:not(.is-results-hidden) {
  grid-template-columns: minmax(0, 1fr) 340px;
}

.dcwb-compare-fullscreen .dcwb-l-rail,
.dcwb-compare-fullscreen .dc-wb-rail {
  position: sticky;
  top: 0;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-4, 16px);
}

/* Match non-full-screen: the grid/body scrolls; the comparison table grows with
   every field row instead of trapping vertical scroll inside .dcwb-cmp-scroll. */
.dcwb-compare-fullscreen .dcwb-review-shell {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
  max-height: 100%;
}

.dcwb-compare-fullscreen .dcwb-review-workspace {
  height: 100%;
  max-height: 100%;
  overflow: hidden;
}

.dcwb-compare-fullscreen .dcwb-l-grid,
.dcwb-compare-fullscreen .dc-wb-grid {
  grid-template-columns: minmax(0, 1fr);
  padding: var(--slds-g-spacing-3, 12px);
  margin: 0;
  max-width: none;
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  overflow: auto;
  align-items: start;
}

.dcwb-compare-fullscreen .dc-wb-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: var(--slds-g-spacing-3, 12px);
}

.dcwb-compare-fullscreen .dcwb-l-main,
.dcwb-compare-fullscreen .dc-wb-main {
  flex: none;
  min-height: 0;
  height: auto;
  display: flex;
  flex-direction: column;
  overflow: visible;
}

.dcwb-compare-fullscreen .dcwb-workbench-bar {
  flex: none;
}

.dcwb-compare-fullscreen .dcwb-l-ledger,
.dcwb-compare-fullscreen .dc-grid-card {
  flex: none;
  min-height: 0;
  display: block;
  overflow: visible;
}

.dcwb-compare-fullscreen .dcwb-cmp-scroll {
  flex: none;
  min-height: 0;
  max-height: none;
  overflow-x: auto;
  overflow-y: visible;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
}

/* Keep horizontal scroll in full screen — do not squash columns to viewport width. */
.dcwb-compare-fullscreen .dcwb-cmp-scroll.density-auto .dcwb-l-cmp,
.dcwb-compare-fullscreen .dcwb-cmp-scroll.density-auto .dc-cmp,
.dcwb-compare-fullscreen .dcwb-cmp-scroll .dcwb-l-cmp,
.dcwb-compare-fullscreen .dcwb-cmp-scroll .dc-cmp {
  width: max-content;
  min-width: 100%;
}

.dcwb-compare-fullscreen .dcwb-vertical-list {
  flex: none;
  min-height: 0;
  overflow: visible;
}

.dcwb-compare-fullscreen .dcwb-show-fields {
  flex: none;
}

/* ============================================================================
   lwc/dcDuplicateQueue/dcDuplicateQueue.css (:host → c-dc-duplicate-queue)
   ============================================================================ */

c-dc-duplicate-queue {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  overflow: hidden;
}

.dcq-panel {
  position: relative;
  z-index: 30;
  flex: 1 1 0;
  width: 260px;
  min-width: 260px;
  min-height: 0;
  max-height: 100%;
  height: auto;
  overflow: hidden;
  background: var(--slds-g-color-surface-1, var(--dc-bg-surface));
  border-right: var(--slds-g-sizing-border-1, 1px) solid
    var(--slds-g-color-border-1, var(--dc-border-1));
  display: flex;
  flex-direction: column;
  transition:
    width var(--dc-dur-base) var(--dc-ease),
    min-width var(--dc-dur-base) var(--dc-ease);
}

.dcq-panel_collapsed {
  width: 48px;
  min-width: 48px;
}

.dcq-panel_overlay-hidden {
  transform: translateX(-100%);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  box-shadow: var(--dc-shadow-lg);
}

.dcq-backdrop {
  position: fixed;
  inset: 0;
  z-index: 25;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgba(26, 37, 51, 0.45);
  cursor: pointer;
}

.dcq-panel-inner {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  height: auto;
  max-height: 100%;
  overflow: hidden;
}

.dcq-rail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--slds-g-spacing-2, 8px);
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-1, 4px);
}

.dcq-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--slds-g-spacing-2, 8px);
  padding: var(--slds-g-spacing-2, 8px) var(--slds-g-spacing-3, 12px);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid
    var(--slds-g-color-border-1, var(--dc-border-1));
  flex: none;
}

/* Object picker — standalone menu trigger (single button, not a button group). */
.dcq-object-menu {
  flex: 1 1 auto;
  min-width: 0;
  display: block;
  width: 100%;
  /* Fit compact picker labels (e.g. Cross-object (184)). */
  --slds-c-dropdown-sizing-min-width: 13.5rem;
  /* Preserve pill shape in default, hover, focus, and open states. */
  --slds-c-button-radius-border: var(--dc-radius-pill);
  /* Object switcher — light purple pastel; distinct from solid-blue merge CTAs. */
  --slds-c-button-neutral-color-background: var(--dc-pastel-picker-bg);
  --slds-c-button-neutral-color-background-hover: var(
    --dc-pastel-picker-bg-hover
  );
  --slds-c-button-neutral-color-background-active: var(
    --dc-pastel-picker-bg-active
  );
  --slds-c-button-text-color: var(--dc-pastel-picker-text);
  --slds-c-button-color-border: var(--dc-pastel-picker-border);
  --slds-c-button-color-border-hover: var(--dc-pastel-picker-border-hover);
  --slds-c-button-icon-color-foreground: var(--dc-pastel-picker-text);
}

.dcq-collapse-btn {
  flex: none;
}

.dcq-mass-merge {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  box-sizing: border-box;
  padding: var(--slds-g-spacing-2, 8px) var(--slds-g-spacing-3, 12px);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid
    var(--slds-g-color-border-1, var(--dc-border-1));
  flex: none;
}

.dcq-mass-merge .dc-merge-cta {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  --slds-c-button-spacing-inline-start: var(--slds-g-spacing-2, 8px);
  --slds-c-button-spacing-inline-end: var(--slds-g-spacing-2, 8px);
}

.dcq-toolbar {
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-2, 8px);
  padding: var(--slds-g-spacing-2, 8px) var(--slds-g-spacing-3, 12px);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid
    var(--slds-g-color-border-1, var(--dc-border-1));
  flex: none;
}

.dcq-toolbar lightning-input {
  width: 100%;
}

.dcq-selection {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--slds-g-spacing-2, 8px);
  padding: var(--slds-g-spacing-2, 8px) var(--slds-g-spacing-3, 12px);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid
    var(--slds-g-color-border-1, var(--dc-border-1));
  background: var(
    --slds-g-color-surface-container-2,
    var(--dc-bg-selected, var(--dc-neutral-50))
  );
  flex: none;
}

.dcq-selection .dc-merge-cta {
  width: 100%;
}

.dcq-body {
  flex: 1 1 0;
  min-height: 0;
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: var(--slds-g-spacing-1, 4px);
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

.dcq-scroll-sentinel {
  height: 1px;
  width: 100%;
  pointer-events: none;
}

.dcq-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--slds-g-spacing-2, 8px);
  padding: var(--slds-g-spacing-5, 24px) var(--slds-g-spacing-3, 12px);
  text-align: center;
}

.dcq-row {
  display: flex;
  align-items: flex-start;
  gap: var(--slds-g-spacing-2, 8px);
  padding: var(--slds-g-spacing-2, 8px) var(--slds-g-spacing-3, 12px);
  border-radius: var(--slds-g-radius-border-2, var(--dc-radius-md));
  cursor: pointer;
  border-left: 3px solid transparent;
}

.dcq-row:hover {
  background: var(--slds-g-color-surface-container-2, var(--dc-bg-hover));
}

.dcq-row.is-active {
  background: var(--dc-bg-selected);
  border-left-color: var(--dc-brand-500);
}

.dcq-row-glyph {
  flex: none;
  margin-top: var(--slds-g-spacing-1, 2px);
}

.dcq-row-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--slds-g-spacing-1, 2px);
}

.dcq-row-title {
  font: var(--slds-g-font-weight-4, 400) var(--slds-g-font-scale-0, 13px) / 1.35
    var(--dc-font-sans);
  color: var(--dc-fg-1);
  word-break: break-word;
}

.dcq-row-sub {
  display: block;
}

.dcq-footer {
  padding: var(--slds-g-spacing-2, 8px) var(--slds-g-spacing-3, 12px);
  border-top: var(--slds-g-sizing-border-1, 1px) solid
    var(--slds-g-color-border-1, var(--dc-border-1));
  background: var(--slds-g-color-surface-1, var(--dc-bg-surface));
  flex: none;
}

@media (max-width: 1080px) {
  .dcq-panel {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    box-shadow: var(--dc-shadow-lg);
  }

  .dcq-panel_collapsed {
    position: relative;
    transform: none;
    width: 48px;
    min-width: 48px;
    box-shadow: none;
    z-index: 1;
  }

  .dcq-panel_overlay-hidden {
    transform: translateX(-100%);
  }

  .dcq-collapse-btn {
    display: none;
  }
}

/* ============================================================================
   lwc/dcMergeRecordSelector/dcMergeRecordSelector.css (verbatim)
   ============================================================================ */

.dc-record-selector {
  background: var(--slds-g-color-surface-1, var(--dc-bg-surface));
  border: var(--slds-g-sizing-border-1, 1px) solid
    var(--slds-g-color-border-1, var(--dc-border-1));
  border-radius: var(--slds-g-radius-border-3, var(--dc-radius-lg));
  padding: var(--slds-g-spacing-2, 8px) var(--slds-g-spacing-4, 16px);
  margin-bottom: var(--slds-g-spacing-3, 12px);
}

.dc-record-selector--inline {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  flex: 0 1 auto;
  min-width: 0;
}

.dc-record-selector--inline .dc-record-selector-head {
  justify-content: flex-end;
}

.dc-record-selector--hint-bar {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  flex: 0 1 auto;
  min-width: 0;
}

.dc-record-selector--hint-bar .dc-record-selector-head {
  justify-content: flex-end;
  gap: var(--slds-g-spacing-1, 4px);
  min-height: 0;
}

.dc-record-selector--hint-bar .dc-record-summary-text--compact {
  line-height: 1.25;
}

.dc-record-selector--hint-bar lightning-button {
  --slds-c-button-line-height: 1.25;
  --slds-c-button-spacing-block-start: 0;
  --slds-c-button-spacing-block-end: 0;
}

.dc-record-selector-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--slds-g-spacing-2, 8px);
}

.dc-record-selector-summary {
  display: inline-flex;
  align-items: center;
  gap: var(--slds-g-spacing-2, 8px);
  min-width: 0;
}

.dc-record-summary-text {
  font: var(--slds-g-font-weight-6, 600) var(--slds-g-font-scale-base, 13px)
    var(--dc-font-sans);
  color: var(--slds-g-color-on-surface-1, var(--dc-fg-1));
}

.dc-record-summary-text--compact {
  font: var(--slds-g-font-weight-5, 500) var(--slds-g-font-scale-neg-1, 12px)
    var(--dc-font-sans);
  white-space: nowrap;
}

.dc-record-summary-detail {
  font: var(--slds-g-font-weight-4, 400) var(--slds-g-font-scale-neg-1, 12px)
    var(--dc-font-sans);
  color: var(--slds-g-color-on-surface-2, var(--dc-fg-2));
  white-space: nowrap;
}

.dc-record-summary-detail::before {
  content: "·";
  margin: 0 var(--slds-g-spacing-1, 4px);
  color: var(--slds-g-color-on-surface-3, var(--dc-fg-3));
}

.dc-record-master-badge {
  --slds-c-badge-color-background: var(--dc-brand-700);
  --slds-c-badge-text-color: var(--slds-g-color-on-accent-1, #fff);
  align-self: flex-start;
}

.dc-record-panel-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 22, 31, 0.45);
  z-index: 9000;
}

.dc-record-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(420px, 100vw);
  z-index: 9001;
  display: flex;
  flex-direction: column;
  background: var(--slds-g-color-surface-1, #fff);
  box-shadow: var(--slds-g-shadow-3, -4px 0 24px rgba(26, 37, 51, 0.18));
}

.dc-record-panel-head,
.dc-record-panel-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--slds-g-spacing-2, 8px);
  padding: var(--slds-g-spacing-4, 16px);
  border-bottom: var(--slds-g-sizing-border-1, 1px) solid
    var(--slds-g-color-border-1, var(--dc-border-1));
}

.dc-record-panel-foot {
  border-bottom: 0;
  border-top: var(--slds-g-sizing-border-1, 1px) solid
    var(--slds-g-color-border-1, var(--dc-border-1));
  justify-content: flex-end;
  margin-top: auto;
}

.dc-record-panel-note {
  margin: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-4, 16px) 0;
}

.dc-record-panel-truncation {
  margin-top: var(--slds-g-spacing-2, 8px);
}

.dc-record-panel-table-wrap {
  flex: 1;
  overflow: auto;
  padding: var(--slds-g-spacing-3, 12px) var(--slds-g-spacing-4, 16px);
}

.dc-record-panel-name {
  font-weight: var(--slds-g-font-weight-6, 600);
  margin-right: var(--slds-g-spacing-2, 8px);
}

.dc-record-panel-status {
  color: var(--slds-g-color-on-surface-2, var(--dc-fg-2));
  font-size: var(--slds-g-font-scale-neg-1, 12px);
}

/* ============================================================================
   lwc/dcSldsCard/dcSldsCard.css (:host → c-dc-slds-card)
   ============================================================================ */

c-dc-slds-card {
  display: block;
}

/* Namespaced card chrome — do not use slds-card__* classes here. Console and
   FlexiPage hosts inject global SLDS overrides that zero out body/header padding
   on those hooks; dc-* classes keep spacing consistent in every app shell. */
.dc-slds-card {
  display: block;
  background: var(--slds-g-color-surface-1, var(--dc-bg-surface));
  border: var(--slds-g-sizing-border-1, 1px) solid var(--dc-border-1);
  border-radius: var(--dc-radius-lg);
  box-shadow: var(--dc-shadow-xs);
}

.dc-slds-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--slds-g-spacing-3, 12px);
  padding: var(--slds-g-spacing-4, 1rem);
  margin: 0;
}

.dc-slds-card__header-main {
  display: flex;
  align-items: center;
  gap: var(--slds-g-spacing-2, 8px);
  min-width: 0;
  flex: 1;
  margin: 0;
}

.dc-slds-card__icon {
  flex: none;
}

.dc-slds-card__title {
  margin: 0;
  font: var(--slds-g-font-weight-6, 600) var(--slds-g-font-scale-base, 13px)
    var(--dc-font-sans);
  color: var(--dc-fg-1);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dc-slds-card__actions {
  display: inline-flex;
  align-items: center;
  flex: none;
}

.dc-slds-card__body {
  margin: 0;
}

.dc-slds-card__body-inner {
  padding: var(--slds-g-spacing-4, 1rem);
}

.dc-slds-card__header ~ .dc-slds-card__body .dc-slds-card__body-inner {
  padding-top: 0;
}

.dc-slds-card_destructive {
  background: var(--dc-error-50, #feebec);
  border-color: var(--dc-error-100, #fbd2d5);
  --slds-c-icon-color-foreground: var(--dc-error-500, #ba0517);
}
