/* Professional dashboard v2: one component system, theme-specific tokens. */
:root[data-theme="light"] .pro-v2-workspace {
  --pro-canvas: #f8f9fa; --pro-surface: #fff; --pro-elevated: #fff; --pro-header: #fff; --pro-rail: #f3f4f6;
  --pro-active: #eef0f2; --pro-hover: #f3f4f5; --pro-nav-focus: #eef3f8;
  --pro-line: #e7eaee; --pro-kpi-line: #f0f1f2; --pro-row-line: #edf0f3; --pro-table-line: #f3f4f6;
  --pro-ink: #171b22; --pro-muted: #69717d; --pro-dim: #8a8a8a; --pro-secondary-strong: #4c5561;
  --pro-link: #2563eb; --pro-danger: #b42318; --pro-warning: #9a6700; --pro-warning-marker: #d97706;
  --pro-danger-marker: #d92d20; --pro-positive: #15803d; --pro-overdue: #ef4444; --pro-overdue-strong: #dc2626;
  --pro-overdue-border: #991b1b; --pro-transfer-bg: #fafbfd; --pro-focus-bg: #f1f6fd;
  --pro-scrollbar: #c8ced6; --pro-v2-product-card-fill: #e8f0ff; --pro-v2-product-card-accent: #2563eb;
  --pro-v2-product-mortgage-fill: #e4f4ef; --pro-v2-product-mortgage-accent: #15803d;
  --pro-v2-product-auto-fill: #eee9ff; --pro-v2-product-auto-accent: #6d4aff;
  --pro-v2-product-consumer-fill: #e4f4ef; --pro-v2-product-consumer-accent: #15803d;
  --pro-v2-product-microloan-fill: #f7e5f9; --pro-v2-product-microloan-accent: #a43ab3;
  --pro-v2-product-other-fill: #edf0f3; --pro-v2-product-other-accent: #667085;
  --pro-v2-product-unknown-fill: #edf0f3; --pro-v2-product-unknown-accent: #667085;
  --pro-v2-creditor-collection-bg: #f7eee5; --pro-v2-creditor-collection-accent: #9a5a20;
  --pro-v2-creditor-mfo-badge-bg: #fff3db; --pro-v2-creditor-mfo-badge-text: #9a6700;
  --pro-v2-creditor-collection-badge-bg: #f7eee5; --pro-v2-creditor-collection-badge-text: #9a5a20;
  --bg: var(--pro-canvas); --bg-primary: var(--pro-canvas); --bg-secondary: var(--pro-surface); --bg-tertiary: var(--pro-elevated);
  --surface: var(--pro-surface); --surface-hover: var(--pro-hover); --surface-strong: var(--pro-elevated); --surface-raised: var(--pro-elevated);
  --border: var(--pro-line); --border-strong: var(--pro-line); --text: var(--pro-ink); --text-primary: var(--pro-ink);
  --text-secondary: var(--pro-muted); --text-muted: var(--pro-muted); --text-dim: var(--pro-dim); --primary: var(--pro-link);
  --primary-strong: #1d4ed8; --primary-soft: color-mix(in srgb, var(--pro-link) 12%, transparent);
  --primary-border: color-mix(in srgb, var(--pro-link) 28%, transparent); --primary-text: var(--pro-link); --accent: var(--pro-link);
  --danger: var(--pro-danger); --warning: var(--pro-warning); --positive: var(--pro-positive); --positive-text: var(--pro-positive);
  --positive-bg: color-mix(in srgb, var(--pro-positive) 14%, transparent); --negative: var(--pro-danger); --negative-text: var(--pro-danger);
  --negative-bg: color-mix(in srgb, var(--pro-danger) 14%, transparent); --caution: var(--pro-warning);
  --caution-text: var(--pro-warning); --caution-bg: color-mix(in srgb, var(--pro-warning) 14%, transparent);
  background: var(--pro-canvas); color: var(--pro-ink); color-scheme: light;
}

:root[data-theme="dark"] .pro-v2-workspace {
  --pro-canvas: #11151b; --pro-surface: #191f28; --pro-elevated: #202733; --pro-header: #151a22; --pro-rail: #151a22;
  --pro-active: #252c36; --pro-hover: #1e252e; --pro-nav-focus: #1e252e;
  --pro-line: #2b3441; --pro-kpi-line: #2b3441; --pro-row-line: #2b3441; --pro-table-line: #2b3441;
  --pro-ink: #f1f4f8; --pro-muted: #a8b1bf; --pro-dim: #7e8999; --pro-secondary-strong: #c5ceda;
  --pro-link: #7db4ff; --pro-danger: #ff8b84; --pro-warning: #f3bd62; --pro-warning-marker: #f3bd62;
  --pro-danger-marker: #ff8b84; --pro-positive: #72d5a2; --pro-overdue: #ff6b66; --pro-overdue-strong: #ff4f4a;
  --pro-overdue-border: #ffaaa5; --pro-transfer-bg: #202733; --pro-focus-bg: #202d40; --pro-scrollbar: #3b4655;
  --pro-v2-product-card-fill: #23395a; --pro-v2-product-card-accent: #7db4ff;
  --pro-v2-product-mortgage-fill: #1e4c4b; --pro-v2-product-mortgage-accent: #72d8cc;
  --pro-v2-product-auto-fill: #3a315d; --pro-v2-product-auto-accent: #b6a5ff;
  --pro-v2-product-consumer-fill: #244a39; --pro-v2-product-consumer-accent: #72d5a2;
  --pro-v2-product-microloan-fill: #4b3158; --pro-v2-product-microloan-accent: #e4a5f4;
  --pro-v2-product-other-fill: #303b4a; --pro-v2-product-other-accent: #b3bdcb;
  --pro-v2-product-unknown-fill: #2b3441; --pro-v2-product-unknown-accent: #a8b1bf;
  --pro-v2-creditor-collection-bg: #4a3628; --pro-v2-creditor-collection-accent: #e1b27d;
  --pro-v2-creditor-mfo-badge-bg: #4c391c; --pro-v2-creditor-mfo-badge-text: #f3c979;
  --pro-v2-creditor-collection-badge-bg: #49362b; --pro-v2-creditor-collection-badge-text: #e8caa8;
  --bg: var(--pro-canvas); --bg-primary: var(--pro-canvas); --bg-secondary: var(--pro-surface); --bg-tertiary: var(--pro-elevated);
  --surface: var(--pro-surface); --surface-hover: var(--pro-hover); --surface-strong: var(--pro-elevated); --surface-raised: var(--pro-elevated);
  --border: var(--pro-line); --border-strong: var(--pro-line); --text: var(--pro-ink); --text-primary: var(--pro-ink);
  --text-secondary: var(--pro-muted); --text-muted: var(--pro-muted); --text-dim: var(--pro-dim); --primary: var(--pro-link);
  --primary-strong: #9ac6ff; --primary-soft: color-mix(in srgb, var(--pro-link) 16%, transparent);
  --primary-border: color-mix(in srgb, var(--pro-link) 36%, transparent); --primary-text: var(--pro-link); --accent: var(--pro-link);
  --danger: var(--pro-danger); --warning: var(--pro-warning); --positive: var(--pro-positive); --positive-text: var(--pro-positive);
  --positive-bg: color-mix(in srgb, var(--pro-positive) 14%, transparent); --negative: var(--pro-danger); --negative-text: var(--pro-danger);
  --negative-bg: color-mix(in srgb, var(--pro-danger) 14%, transparent); --caution: var(--pro-warning);
  --caution-text: var(--pro-warning); --caution-bg: color-mix(in srgb, var(--pro-warning) 14%, transparent);
  background: var(--pro-canvas); color: var(--pro-ink); color-scheme: dark;
}

/* Component geometry is deliberately theme-neutral. */
:root[data-theme] .pro-v2-workspace { font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; font-variant-numeric: tabular-nums; scrollbar-color: var(--pro-scrollbar) var(--pro-rail); }
:root[data-theme] .pro-v2-workspace .pro-app-header { background: var(--pro-header); border-color: var(--pro-line); }
:root[data-theme] .pro-v2-workspace .pro-v2-topbar { height: 42px; padding: 0 22px; background: var(--pro-canvas); border-color: var(--pro-line); }
:root[data-theme] .pro-v2-workspace .pro-v2-topbar-case { padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--pro-muted); font-size: 11px; }
:root[data-theme] .pro-v2-workspace .pro-v2-topbar-goal,:root[data-theme] .pro-v2-workspace .pro-v2-topbar-bureau,:root[data-theme] .pro-v2-workspace .pro-v2-topbar-updated { color: var(--pro-muted); font-size: 12px; }
:root[data-theme] .pro-v2-workspace .pro-v2-topbar-right { gap: 10px; }
:root[data-theme] .pro-v2-workspace .pro-v2-action-btn { min-height: 28px; padding: 5px 0; border: 0; border-bottom: 1px solid var(--pro-line); border-radius: 0; color: var(--pro-muted); font-size: 12px; }
:root[data-theme] .pro-v2-workspace .pro-v2-action-btn:hover,:root[data-theme] .pro-v2-workspace .pro-v2-action-btn:focus-visible { color: var(--pro-ink); background: transparent; outline: 2px solid color-mix(in srgb, var(--pro-link) 28%, transparent); outline-offset: 3px; }
:root[data-theme] .pro-v2-workspace .pro-v2-main { grid-template-columns: 188px minmax(0,1fr) 320px; gap: 0; background: var(--pro-canvas); }
:root[data-theme] .pro-v2-workspace .pro-v2-sidebar { gap: 3px; padding: 16px 12px; background: var(--pro-canvas); border-right-color: var(--pro-line); }
:root[data-theme] .pro-v2-workspace .pro-v2-nav-item { box-sizing: border-box; width: 100%; min-height: 34px; padding: 7px 10px; border-radius: 4px; background: transparent; color: var(--pro-muted); font-size: 13px; font-weight: 500; line-height: 1.35; }
:root[data-theme] .pro-v2-workspace .pro-v2-nav-item:hover,:root[data-theme] .pro-v2-workspace .pro-v2-nav-item:focus-visible { background: var(--pro-hover); color: var(--pro-ink); outline: none; }
:root[data-theme] .pro-v2-workspace .pro-v2-nav-item.active,:root[data-theme] .pro-v2-workspace .pro-v2-nav-item[aria-current="true"] { background: var(--pro-active); box-shadow: none; color: var(--pro-ink); font-weight: 700; }
:root[data-theme] .pro-v2-workspace .pro-v2-nav-item:focus-visible { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--pro-link) 42%, transparent); }
:root[data-theme] .pro-v2-workspace .pro-v2-center { gap: 24px; padding: 28px 32px 56px; background: var(--pro-canvas); }
:root[data-theme] .pro-v2-workspace .pro-v2-panel { border: 1px solid var(--pro-line); border-radius: 12px; background: var(--pro-surface); box-shadow: none; }
:root[data-theme] .pro-v2-workspace .pro-v2-client-id { gap: 14px; padding: 2px 0 8px; }
:root[data-theme] .pro-v2-workspace .pro-v2-client-name { color: var(--pro-ink); font-size: 25px; letter-spacing: -.04em; }
:root[data-theme] .pro-v2-workspace .pro-v2-client-dob,:root[data-theme] .pro-v2-workspace .pro-v2-verdict-text,:root[data-theme] .pro-v2-workspace .pro-v2-muted { color: var(--pro-muted); }
:root[data-theme] .pro-v2-workspace .pro-v2-client-dob { font-size: 13px; }
:root[data-theme] .pro-v2-workspace .pro-v2-critical-note { display: inline-block; margin: 2px 0 14px; padding: 7px 10px; border: 0; border-radius: 4px; background: color-mix(in srgb, var(--pro-danger) 13%, transparent); color: var(--pro-danger); font-size: 12px; font-weight: 650; }
:root[data-theme] .pro-v2-workspace .pro-v2-verdict-row { grid-template-columns: minmax(0,1.1fr) minmax(420px,.9fr); gap: 16px; }
:root[data-theme] .pro-v2-workspace .pro-v2-verdict { border-left: 0; }
:root[data-theme] .pro-v2-workspace .pro-v2-verdict h2 { color: var(--pro-ink); font-size: 20px; letter-spacing: -.025em; }
:root[data-theme] .pro-v2-workspace .pro-v2-ratings { border: 0; padding: 0; background: transparent; }
:root[data-theme] .pro-v2-workspace .pro-v2-ratings-grid { gap: 10px; }
:root[data-theme] .pro-v2-workspace .pro-v2-rating-card { min-height: 136px; padding: 16px; border-color: var(--pro-line); border-radius: 12px; background: var(--pro-surface); }
:root[data-theme] .pro-v2-workspace .pro-v2-rating-value { margin-top: auto; color: var(--pro-ink); font-size: 38px; letter-spacing: -.05em; }
:root[data-theme] .pro-v2-workspace .pro-v2-rating-level { padding: 0; background: transparent; font-size: 11px; }
:root[data-theme] .pro-v2-workspace .pro-v2-kpi-row { gap: 0; padding: 18px 0; border-top: 1px solid var(--pro-line); border-bottom: 1px solid var(--pro-line); align-items: stretch; }
:root[data-theme] .pro-v2-workspace .pro-v2-kpi { min-width: 0; min-height: 62px; padding: 0 15px; border: 0; border-right: 1px solid var(--pro-kpi-line); border-radius: 0; background: transparent; }
:root[data-theme] .pro-v2-workspace .pro-v2-kpi:first-child { padding-left: 0; }
:root[data-theme] .pro-v2-workspace .pro-v2-kpi:last-child { border-right: 0; }
:root[data-theme] .pro-v2-workspace .pro-v2-kpi span { min-height: 27px; color: var(--pro-dim); font-size: 10px; line-height: 1.25; letter-spacing: .08em; white-space: normal; overflow: visible; text-overflow: clip; }
:root[data-theme] .pro-v2-workspace .pro-v2-kpi strong,:root[data-theme] .pro-v2-workspace .pro-v2-kpi--primary strong,:root[data-theme] .pro-v2-workspace .pro-v2-kpi--secondary strong { color: var(--pro-ink); font-size: 19px; line-height: 1.2; letter-spacing: -.025em; }
:root[data-theme] .pro-v2-workspace .pro-v2-kpi--primary strong { font-weight: 750; }
:root[data-theme] .pro-v2-workspace .pro-v2-kpi--secondary strong { color: var(--pro-secondary-strong); font-weight: 650; }
:root[data-theme] .pro-v2-workspace .pro-v2-kpi-warn strong { color: var(--pro-danger); }
:root[data-theme] .pro-v2-workspace .pro-v2-inspector { padding: 28px 24px; background: var(--pro-rail); border-left: 1px solid var(--pro-line); overflow-y: auto; }
:root[data-theme] .pro-v2-workspace .pro-v2-inspector-panel { padding: 0 0 25px; border: 0; border-radius: 0; border-bottom: 1px solid var(--pro-line); background: transparent; }
:root[data-theme] .pro-v2-workspace .pro-v2-inspector-panel:last-child { border-bottom: 0; }
:root[data-theme] .pro-v2-workspace .pro-v2-checklist-list { display: grid; gap: 11px; }
:root[data-theme] .pro-v2-workspace .pro-v2-checklist-row { min-height: 24px; padding: 0; border: 0; background: transparent; font-size: 13px; line-height: 1.45; }
:root[data-theme] .pro-v2-workspace .pro-v2-inspector-panel strong { font-size: 14px; line-height: 1.35; }
:root[data-theme] .pro-v2-workspace .pro-v2-inspector-panel .pro-v2-muted { font-size: 13px; line-height: 1.45; }
:root[data-theme] .pro-v2-workspace .pro-v2-contracts-list { gap: 0; border-top: 1px solid var(--pro-line); }
:root[data-theme] .pro-v2-workspace #pro-v2-contracts,:root[data-theme] .pro-v2-workspace #pro-v2-closed-contracts { border-radius: 4px; }
:root[data-theme] .pro-v2-workspace .pro-v2-contract-row,:root[data-theme] .pro-v2-workspace .pro-v2-contract-row-wrapper .pro-v2-contract-row { min-height: 52px; padding: 12px 10px; border: 0; border-bottom: 1px solid var(--pro-row-line); border-radius: 0; background: transparent; font-size: 13px; }
:root[data-theme] .pro-v2-workspace .pro-v2-contract-row:not(.pro-v2-contract-header):hover { background: var(--pro-hover); }
:root[data-theme] .pro-v2-workspace .pro-v2-contract-row:not(.pro-v2-contract-header):focus-visible { position: relative; z-index: 1; outline: 2px solid var(--pro-link); outline-offset: -2px; background: var(--pro-focus-bg); }
:root[data-theme] .pro-v2-workspace .pro-v2-contract-header { min-height: 34px; padding-top: 8px; padding-bottom: 8px; color: var(--pro-dim); background: transparent; border-bottom: 1px solid var(--pro-line); font-size: 11px; }
:root[data-theme] .pro-v2-workspace .pro-v2-contract-header strong { font-size: 11px; }
:root[data-theme] .pro-v2-workspace .pro-v2-contract-row-wrapper,:root[data-theme] .pro-v2-workspace .pro-v2-possible-match { border: 0; border-radius: 0; }
:root[data-theme] .pro-v2-workspace .pro-v2-transfer-block { padding: 6px 10px 8px; border: 0; border-bottom: 1px solid var(--pro-row-line); border-radius: 0; background: var(--pro-transfer-bg); font-size: 12px; }
:root[data-theme] .pro-v2-workspace .pro-v2-table-head,:root[data-theme] .pro-v2-workspace .pro-v2-table-body { border: 0; border-radius: 0; background: transparent; }
:root[data-theme] .pro-v2-workspace .pro-v2-table-body { max-height: none; }
:root[data-theme] .pro-v2-workspace .pro-v2-contracts-table th,:root[data-theme] .pro-v2-workspace .pro-v2-contracts-table td { padding-top: 16px; padding-bottom: 16px; border-color: var(--pro-table-line); }
:root[data-theme] .pro-v2-workspace .pro-v2-contracts-table th,:root[data-theme] .pro-v2-workspace .pro-v2-simple-table th { color: var(--pro-dim); font-size: 10px; letter-spacing: .08em; }
:root[data-theme] .pro-v2-workspace .pro-v2-simple-table td { border-color: var(--pro-table-line); }
:root[data-theme] .pro-v2-workspace .pro-v2-simple-table tbody tr:hover { background: var(--pro-hover); }
:root[data-theme] .pro-v2-workspace .pro-v2-bureau-badge { background: color-mix(in srgb, var(--pro-link) 14%, transparent); border-color: color-mix(in srgb, var(--pro-link) 35%, transparent); color: var(--pro-link); }
:root[data-theme] .pro-v2-workspace #pro-v2-delinquencies { padding: 16px; }
:root[data-theme] .pro-v2-workspace .pro-v2-obstacles-list { display: flex; flex-direction: column; gap: 0; margin-top: 10px; border-top: 1px solid var(--pro-line); }
:root[data-theme] .pro-v2-workspace .pro-v2-obstacle-row { display: grid; grid-template-columns: minmax(84px,auto) minmax(0,1fr); gap: 12px; padding: 12px 0; border: 0; border-bottom: 1px solid var(--pro-line); border-radius: 0; background: transparent; }
:root[data-theme] .pro-v2-workspace .pro-v2-obstacle-row:last-child { border-bottom: 0; padding-bottom: 0; }
:root[data-theme] .pro-v2-workspace .pro-v2-obstacle-copy { min-width: 0; }
:root[data-theme] .pro-v2-workspace .pro-v2-obstacle-row strong { display: block; margin: 0 0 3px; color: var(--pro-ink); font-size: 14px; line-height: 1.35; }
:root[data-theme] .pro-v2-workspace .pro-v2-obstacle-row p { margin: 0; color: var(--pro-muted); font-size: 13px; line-height: 1.45; }
:root[data-theme] .pro-v2-workspace .pro-v2-obstacle-severity { display: inline-flex; align-items: flex-start; gap: 7px; padding-top: 2px; color: var(--pro-warning); font-size: 11px; font-weight: 700; line-height: 1.3; white-space: nowrap; }
:root[data-theme] .pro-v2-workspace .pro-v2-obstacle-severity::before { width: 7px; height: 7px; margin-top: 4px; border-radius: 50%; background: var(--pro-warning-marker); content: ""; flex: 0 0 auto; }
:root[data-theme] .pro-v2-workspace .pro-v2-severity-danger .pro-v2-obstacle-severity { color: var(--pro-danger); }
:root[data-theme] .pro-v2-workspace .pro-v2-severity-danger .pro-v2-obstacle-severity::before { background: var(--pro-danger-marker); }
:root[data-theme] .pro-v2-workspace .pro-v2-discrepancy-row,:root[data-theme] .pro-v2-workspace .pro-v2-possible-match,:root[data-theme] .pro-v2-workspace .pro-v2-possible-match-header { background: var(--pro-elevated); border-color: var(--pro-line); }
:root[data-theme] .pro-v2-workspace .pro-v2-match-status,:root[data-theme] .pro-v2-workspace .pro-v2-creditor-chain { font-size: 11px; line-height: 1.6; }
:root[data-theme] .pro-v2-workspace .pro-v2-timeline-label { height: 21px; line-height: 21px; font-size: 12px; color: var(--pro-secondary-strong); }
:root[data-theme] .pro-v2-workspace .pro-v2-timeline-row { height: 21px; background: color-mix(in srgb, var(--pro-line) 48%, transparent); }
:root[data-theme] .pro-v2-workspace .pro-v2-timeline-legend { gap: 12px 20px; font-size: 11px; color: var(--pro-muted); }
:root[data-theme] .pro-v2-workspace .pro-v2-timeline-legend-group > strong,:root[data-theme] .pro-v2-workspace .pro-v2-timeline-tick,:root[data-theme] .pro-v2-workspace .pro-v2-timeline-activity-label { font-size: 11px; }
:root[data-theme] .pro-v2-workspace .pro-v2-timeline-vline { background: color-mix(in srgb, var(--pro-line) 70%, transparent); }
:root[data-theme] .pro-v2-workspace .pro-v2-timeline-axis { border-color: var(--pro-line); }
:root[data-theme] .pro-v2-workspace .pro-v2-timeline-tooltip { background: var(--pro-elevated); border-color: var(--pro-line); color: var(--pro-muted); }
:root[data-theme] .pro-v2-workspace .pro-v2-timeline-tooltip strong { color: var(--pro-ink); }
:root[data-theme] .pro-v2-workspace .pro-v2-timeline-overlay--current_overdue,:root[data-theme] .pro-v2-workspace .pro-v2-timeline-overlay--overdue { background: var(--pro-overdue); border-color: var(--pro-overdue-border); }
:root[data-theme] .pro-v2-workspace .pro-v2-timeline-overlay--current_30plus,:root[data-theme] .pro-v2-workspace .pro-v2-timeline-overlay--current_critical,:root[data-theme] .pro-v2-workspace .pro-v2-timeline-overlay--overdue_30plus { background: var(--pro-overdue-strong); border-color: var(--pro-overdue-border); }

@media (max-width: 1750px) {
  :root[data-theme] .pro-v2-workspace .pro-v2-kpi-row { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 16px; }
  :root[data-theme] .pro-v2-workspace .pro-v2-kpi:nth-child(4) { border-right: 0; }
  :root[data-theme] .pro-v2-workspace .pro-v2-kpi:nth-child(-n + 4) { border-bottom: 1px solid var(--pro-kpi-line); padding-bottom: 0; }
  :root[data-theme] .pro-v2-workspace .pro-v2-kpi:nth-child(n + 5) { padding-top: 0; }
}

@media (max-width: 1280px) {
  :root[data-theme] .pro-v2-workspace .pro-v2-main { grid-template-columns: 164px minmax(0,1fr) 280px; }
  :root[data-theme] .pro-v2-workspace .pro-v2-center { padding: 22px; }
  :root[data-theme] .pro-v2-workspace .pro-v2-kpi strong { font-size: 16px; }
}

@media (max-width: 1100px) {
  :root[data-theme] .pro-v2-workspace .pro-v2-kpi-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  :root[data-theme] .pro-v2-workspace .pro-v2-kpi,:root[data-theme] .pro-v2-workspace .pro-v2-kpi:nth-child(4) { border-right: 1px solid var(--pro-kpi-line); }
  :root[data-theme] .pro-v2-workspace .pro-v2-kpi:nth-child(2n) { border-right: 0; }
}
