/* ============================================================
   UAOL Compliance Module Styles - Phase C1
   ============================================================ */


/* ============================================================
   AML Guard Design System — Variable Foundation (Sprint 8 Phase 1)
   Maps compliance variable names to app.css :root variables.
   Loaded after app.css, extends without conflicting.
   Ref: AMLGuard_ColourStyleAudit_Design_v1_1.docx
   ============================================================ */
:root {
  /* Text hierarchy — map to app.css vars */
  --text-primary: var(--text-main);
  --text-secondary: var(--text-soft);
  --text-muted: var(--text-softer);

  /* DM-prefixed aliases — same mapping */
  --dm-text-primary: var(--text-main);
  --dm-text-secondary: var(--text-soft);
  --dm-text-muted: var(--text-softer);

  /* Surfaces — map to app.css vars */
  --bg-card: var(--bg-elevated);
  --bg-subtle: var(--bg-elevated);
  --bg-base: var(--bg);
  --bg-main: var(--bg);
  --bg-active: rgba(96, 165, 250, 0.12);

  /* Borders — map to app.css var */
  --border-color: var(--border-subtle);
  --dm-border-color: var(--border-subtle);

  /* Semantic colours — intentionally fixed, do not theme-flip */
  --dm-accent-green: #22c55e;
  --dm-accent-red: #ef4444;

  /* Brand tokens */
  --aml-teal: #0E8A7E;
  --aml-teal-vivid: #12BFB0;
  --aml-gold: #C4973B;
}

:root[data-theme="light"] {
  /* Mapped vars inherit from app.css light block automatically.
     Only override compliance-specific tokens that need light variants. */
  --bg-active: rgba(37, 99, 235, 0.08);
}

/* --- Page Layout --- */
.compliance-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

.compliance-header {
  padding: 20px 32px;
  border-bottom: 1px solid var(--border-subtle);
  flex-shrink: 0;
}

.compliance-header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}

.compliance-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--text-main, #e5e7eb);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.compliance-title svg {
  width: 22px;
  height: 22px;
  stroke: var(--accent, #38bdf8);
}

.compliance-subtitle {
  font-size: 13px;
  color: var(--text-soft, #9ca3af);
  margin: 4px 0 0 0;
}

/* --- Toolbar --- */
.compliance-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 32px;
  border-bottom: 1px solid var(--border-subtle);
  flex-shrink: 0;
}

.compliance-filter-select {
  padding: 7px 12px;
  background: var(--bg-elevated, #081220);
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  color: var(--text-main, #e5e7eb);
  font-size: 13px;
  cursor: pointer;
  min-width: 160px;
}

.compliance-filter-select:focus {
  outline: none;
  border-color: var(--accent, #38bdf8);
}

.compliance-search-input {
  padding: 7px 12px;
  background: var(--bg-elevated, #081220);
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  color: var(--text-main, #e5e7eb);
  font-size: 13px;
  flex: 1;
  max-width: 280px;
}

.compliance-search-input:focus {
  outline: none;
  border-color: var(--accent, #38bdf8);
}

.compliance-search-input::placeholder {
  color: var(--text-softer, #6b7280);
}

/* --- Buttons --- */
.compliance-btn {
  padding: 9px 18px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s ease;
  letter-spacing: 0.005em;
}

.compliance-btn:active {
  transform: scale(0.97);
}

.compliance-btn-primary {
  background: var(--accent, #38bdf8);
  color: #ffffff;
}

.compliance-btn-primary:hover {
  background: #0ea5e9;
  box-shadow: 0 2px 8px rgba(56, 189, 248, 0.25);
}

.compliance-btn-secondary {
  background: var(--bg-elevated-soft, #101827);
  color: var(--text-main, #e5e7eb);
  border: 1px solid var(--border-subtle);
}

.compliance-btn-secondary:hover {
  border-color: var(--text-softer, #6b7280);
  background: var(--bg-elevated, #081220);
}

.compliance-btn svg {
  width: 14px;
  height: 14px;
}

/* --- Case Table --- */
.compliance-table-wrap {
  flex: 1;
  overflow-y: auto;
  padding: 0 32px 24px;
}

.compliance-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.compliance-table thead {
  position: sticky;
  top: 0;
  z-index: 1;
}

.compliance-table th {
  padding: 10px 12px;
  text-align: left;
  font-weight: 600;
  color: var(--text-soft, #9ca3af);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: var(--bg-elevated-soft, #101827);
  border-bottom: 1px solid var(--border-subtle);
}

.compliance-table td {
  padding: 12px 12px;
  color: var(--text-main, #e5e7eb);
  border-bottom: 1px solid var(--border-subtle);
  vertical-align: middle;
}

.compliance-table tbody tr {
  cursor: pointer;
  transition: background 0.1s;
}

.compliance-table tbody tr:hover {
  background: var(--bg-elevated, #081220);
}

/* --- Status Badges --- */
.compliance-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}

.compliance-badge-created {
  background: rgba(107, 114, 128, 0.15);
  color: #9ca3af;
}

.compliance-badge-pending_idv,
.compliance-badge-pending_screening {
  background: rgba(212, 145, 15, 0.12);
  color: #d4910f;
}

.compliance-badge-cdd_review {
  background: rgba(224, 136, 74, 0.12);
  color: #e0884a;
}

.compliance-badge-verified {
  background: rgba(92, 194, 120, 0.10);
  color: #5cc278;
}

.compliance-badge-monitoring {
  background: rgba(107, 157, 224, 0.12);
  color: #6b9de0;
}

.compliance-badge-suspended {
  background: rgba(212, 92, 92, 0.12);
  color: #d45c5c;
}

.compliance-badge-closed {
  background: rgba(92, 207, 186, 0.10);
  color: #5ccfba;
}

[data-theme="light"] .compliance-badge-closed {
  background: rgba(13, 148, 136, 0.12);
  color: #0E8A7E;
}
.compliance-badge-rejected {
  background: rgba(212, 120, 120, 0.10);
  color: #d47878;
}

/* CDD level tag in list view */
.ops-cdd-tag {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 500;
  padding: 1px 5px;
  border-radius: 3px;
  margin-left: 6px;
  background: rgba(139, 92, 246, 0.12);
  color: #a78bda;
  letter-spacing: 0.2px;
}
[data-theme="light"] .ops-cdd-tag {
  background: rgba(139, 92, 246, 0.08);
  color: #7c3aed;
}

/* --- Empty / Loading / Error States --- */
.compliance-empty,
.compliance-loading,
.compliance-error {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 24px 80px;
  text-align: center;
  flex: 1;
}

.compliance-empty-ring {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--bg-elevated-soft, #101827);
  border: 2px dashed var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.compliance-empty-ring svg {
  width: 28px;
  height: 28px;
  stroke: var(--text-softer, #6b7280);
}

.compliance-empty h3,
.compliance-loading h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--text-main, #e5e7eb);
  margin: 0 0 6px;
  letter-spacing: -0.01em;
}

.compliance-empty p,
.compliance-loading p {
  font-size: 13px;
  color: var(--text-soft, #9ca3af);
  margin: 0 0 28px;
  max-width: 360px;
  line-height: 1.6;
}

.compliance-error p {
  color: #f87171;
  font-size: 13px;
  margin: 0 0 16px;
}

/* Feature hint cards */
.compliance-features {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
  margin-bottom: 32px;
  max-width: 480px;
  width: 100%;
}

.compliance-feature-card {
  padding: 14px 16px;
  background: var(--bg-elevated, #081220);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  text-align: center;
  transition: border-color 0.15s;
}

.compliance-feature-card:hover {
  border-color: var(--text-softer, #6b7280);
}

.compliance-feature-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 8px;
}

.compliance-feature-icon svg {
  width: 16px;
  height: 16px;
}

.compliance-feature-title {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-main, #e5e7eb);
  margin-bottom: 2px;
}

.compliance-feature-desc {
  font-size: 11px;
  color: var(--text-softer, #6b7280);
}

@keyframes compliance-spin {
  to { transform: rotate(360deg); }
}

.compliance-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid var(--border-subtle);
  border-top-color: var(--accent, #38bdf8);
  border-radius: 50%;
  animation: compliance-spin 0.8s linear infinite;
  margin-bottom: 16px;
}

/* --- Case Detail (Phase C4, placeholder) --- */
.compliance-detail-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

.compliance-detail-header {
  padding: 20px 32px;
  border-bottom: 1px solid var(--border-subtle);
  flex-shrink: 0;
}

.compliance-detail-header-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.compliance-detail-back {
  background: none;
  border: none;
  color: var(--text-soft, #9ca3af);
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  border-radius: 4px;
}

.compliance-detail-back:hover {
  color: var(--text-main, #e5e7eb);
  background: var(--bg-elevated, #081220);
}

.compliance-detail-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-main, #e5e7eb);
  margin: 0;
}

.compliance-detail-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 12px;
  color: var(--text-soft, #9ca3af);
}

/* --- Tabs --- */
.compliance-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--border-subtle);
  padding: 0 32px;
  flex-shrink: 0;
}

.compliance-tab {
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-soft, #9ca3af);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: all 0.15s;
}

.compliance-tab:hover {
  color: var(--text-main, #e5e7eb);
}

.compliance-tab.active {
  color: var(--accent, #38bdf8);
  border-bottom-color: var(--accent, #38bdf8);
}

.compliance-tab-content {
  flex: 1;
  overflow-y: auto;
  padding: 24px 32px;
}

/* --- New Case Modal --- */
.compliance-modal-overlay {
  overflow-y: auto;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10001;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
}

.compliance-modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

.compliance-modal {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--bg-elevated, #081220);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  width: 680px;
  overflow: visible;
  transform: scale(0.95) translateY(10px);
  transition: transform 0.2s;
  margin: 40px auto;
}

.compliance-modal-overlay.active .compliance-modal {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  transform: scale(1) translateY(0);
}

.compliance-modal-header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.compliance-modal-header h3 {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-main, #e5e7eb);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.compliance-modal-close {
  background: none;
  border: none;
  color: var(--text-softer, #6b7280);
  cursor: pointer;
  padding: 4px;
}

.compliance-modal-close:hover {
  color: var(--text-main, #e5e7eb);
}

.compliance-modal-body {
  padding: 20px;
}

.compliance-modal-footer {
  padding: 16px 20px;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
}

/* --- Form Controls --- */
.compliance-form-group {
  margin-bottom: 16px;
}

.compliance-form-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-soft, #9ca3af);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.compliance-form-input,
.compliance-form-textarea {
  width: 100%;
  padding: 8px 12px;
  background: var(--bg-elevated-soft, #101827);
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  color: var(--text-main, #e5e7eb);
  font-size: 13px;
  box-sizing: border-box;
}

.compliance-form-input:focus,
.compliance-form-textarea:focus {
  outline: none;
  border-color: var(--accent, #38bdf8);
}

.compliance-form-textarea {
  resize: vertical;
  min-height: 60px;
}

.compliance-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* --- Type Selector Cards --- */
.compliance-type-cards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}

.compliance-type-card {
  padding: 14px 8px;
  background: var(--bg-elevated-soft, #101827);
  border: 2px solid var(--border-subtle);
  border-radius: 8px;
  color: var(--text-soft, #9ca3af);
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  transition: all 0.15s;
}

.compliance-type-card:hover {
  border-color: var(--text-softer, #6b7280);
}

.compliance-type-card.selected {
  border-color: var(--accent, #38bdf8);
  background: rgba(56, 189, 248, 0.08);
  color: var(--accent, #38bdf8);
}

.compliance-type-card svg {
  width: 20px;
  height: 20px;
}

/* --- Program Cards --- */
.compliance-program-cards {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.compliance-program-card {
  padding: 14px 16px;
  background: var(--bg-elevated-soft, #101827);
  border: 2px solid var(--border-subtle);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s;
}

.compliance-program-card:hover {
  border-color: var(--text-softer, #6b7280);
}

.compliance-program-card.selected {
  border-color: var(--accent, #38bdf8);
  background: rgba(56, 189, 248, 0.08);
}

.compliance-program-card-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-main, #e5e7eb);
  margin-bottom: 4px;
}

.compliance-program-card-desc {
  font-size: 12px;
  color: var(--text-soft, #9ca3af);
}

.compliance-program-card-tags {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.compliance-program-tag {
  padding: 2px 8px;
  background: rgba(107, 114, 128, 0.15);
  border-radius: 10px;
  font-size: 10px;
  color: var(--text-soft, #9ca3af);
}

/* --- Wizard Steps Bar --- */
.compliance-wizard-steps {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0 20px 16px;
  flex-shrink: 0;
}

.compliance-wizard-step {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-softer, #6b7280);
}

.compliance-wizard-step.active {
  color: var(--accent, #38bdf8);
}

.compliance-wizard-step.done {
  color: var(--text-soft, #9ca3af);
}

.compliance-wizard-dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
}

.compliance-wizard-step.active .compliance-wizard-dot {
  border-color: var(--accent, #38bdf8);
  background: rgba(56, 189, 248, 0.15);
  color: var(--accent, #38bdf8);
}

.compliance-wizard-step.done .compliance-wizard-dot {
  border-color: #4ade80;
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}

.compliance-wizard-line {
  flex: 1;
  height: 2px;
  background: var(--border-subtle);
  margin: 0 8px;
}

.compliance-wizard-line.done {
  background: #4ade80;
}

/* --- Light Theme Overrides --- */

/* D8: Entity column truncation */
.ops-entity-cell { max-width: 240px; }
.ops-entity-name {
  font-weight: 500;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/* Horizontal status tabs (replaces left panel) */
.compliance-status-tabs {
  display: flex;
  gap: 2px;
  padding: 3px;
  margin-bottom: 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 8px;
  overflow-x: auto;
}
.cst-tab {
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  color: #9ca3af;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  transition: all 0.15s;
}
.cst-tab:hover { color: #d1d5db; background: rgba(255,255,255,0.04); }
.cst-tab.cst-active { background: rgba(37,99,235,0.15); color: #60a5fa; }
.cst-count {
  font-size: 10px;
  font-weight: 700;
  background: rgba(255,255,255,0.08);
  padding: 1px 6px;
  border-radius: 10px;
  min-width: 18px;
  text-align: center;
}
.cst-tab.cst-active .cst-count { background: rgba(37,99,235,0.3); color: #93c5fd; }

[data-theme="light"] .compliance-filter-select,
[data-theme="light"] .compliance-search-input,
[data-theme="light"] .compliance-form-input,
[data-theme="light"] .compliance-form-textarea {
  background: #ffffff;
  border-color: #e5e7eb;
  color: #111827;
}

[data-theme="light"] .compliance-table tbody tr:hover {
  background: #f9fafb;
}

[data-theme="light"] .compliance-table th {
  background: #f3f4f6;
}

[data-theme="light"] .compliance-modal {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #ffffff;
  border-color: #e5e7eb;
}

[data-theme="light"] .compliance-type-card {
  background: #f9fafb;
  border-color: #e5e7eb;
}

[data-theme="light"] .compliance-type-card.selected {
  border-color: #0ea5e9;
  background: rgba(14, 165, 233, 0.05);
}

[data-theme="light"] .compliance-program-card {
  background: #f9fafb;
  border-color: #e5e7eb;
}

[data-theme="light"] .compliance-program-card.selected {
  border-color: #0ea5e9;
  background: rgba(14, 165, 233, 0.05);
}

[data-theme="light"] .compliance-btn-primary {
  background: #0ea5e9;
  color: #ffffff;
}

[data-theme="light"] .compliance-btn-primary:hover {
  background: #0284c7;
  box-shadow: 0 2px 8px rgba(2, 132, 199, 0.25);
}

[data-theme="light"] .compliance-btn-secondary {
  background: #ffffff;
  color: #111827;
  border-color: #e5e7eb;
}

[data-theme="light"] .compliance-btn-secondary:hover {
  background: #f9fafb;
  border-color: #d1d5db;
}

[data-theme="light"] .compliance-empty-ring {
  background: #f9fafb;
  border-color: #e5e7eb;
}

[data-theme="light"] .compliance-feature-card {
  background: #ffffff;
  border-color: #e5e7eb;
}

[data-theme="light"] .compliance-feature-card:hover {
  border-color: #d1d5db;
}

/* === WIZARD STEP 2: Program Cards === */
.compliance-program-cards {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.compliance-program-card {
  padding: 14px 16px;
  border: 1px solid var(--border-subtle, #2a2f3a);
  border-radius: 8px;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
.compliance-program-card:hover {
  border-color: var(--accent, #38bdf8);
  background: rgba(56,189,248,0.04);
}
.compliance-program-card.selected {
  border-color: var(--accent, #38bdf8);
  background: rgba(56,189,248,0.08);
  box-shadow: 0 0 0 1px var(--accent, #38bdf8);
}
.compliance-program-card-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-main, #e5e7eb);
  margin-bottom: 4px;
}
.compliance-program-card-desc {
  font-size: 12px;
  color: var(--text-soft, #9ca3af);
  line-height: 1.5;
}
.compliance-program-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 8px;
}
.compliance-program-tag {
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(56,189,248,0.1);
  color: var(--accent, #38bdf8);
  text-transform: capitalize;
}

/* ============================================================ */
/* Phase 3: Compliance Operations Table CSS                     */
/* ============================================================ */

/* Two-column layout: left panel + main */
.compliance-layout {
  display: flex;
  min-height: 500px;
}

.compliance-left-panel {
  width: 196px;
  flex-shrink: 0;
  border-right: 1px solid var(--border-color, #374151);
  box-shadow: 2px 0 8px rgba(0,0,0,0.15);
  padding: 12px 0;
}

.compliance-main {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

/* Left panel filter groups */
.clp-title {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted, #6b7280);
  padding: 0 14px 8px;
}

.clp-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 7px 14px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text-secondary, #d1d5db);
  font-size: 13px;
  text-align: left;
  transition: background 0.1s;
}

.clp-item:hover {
  background: rgba(255,255,255,0.05);
  color: var(--text-primary, #f9fafb);
}

.clp-item.clp-active {
  background: rgba(59,130,246,0.12);
  color: #60a5fa;
}

.clp-label { flex: 1; }

.clp-count {
  font-size: 11px;
  padding: 1px 6px;
  border-radius: 10px;
  background: rgba(255,255,255,0.07);
  color: var(--text-muted, #6b7280);
  min-width: 20px;
  text-align: center;
}

.clp-item.clp-active .clp-count {
  background: rgba(96,165,250,0.15);
  color: #93c5fd;
}

/* Ops table */
.ops-table-wrap {
  overflow-x: auto;
  padding-bottom: 16px;
}

.ops-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.ops-table thead tr {
  border-bottom: 1px solid var(--border-color, #374151);
}

.ops-table th {
  padding: 6px 10px;
  text-align: left;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted, #6b7280);
  white-space: nowrap;
  background: transparent;
}

.ops-th-exp,
.ops-th-cb {
  width: 32px !important;
  padding: 6px 4px !important;
}

.ops-table td {
  padding: 6px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  vertical-align: middle;
}

.ops-td-exp,
.ops-td-cb {
  width: 32px !important;
  padding: 6px 4px !important;
}

.ops-row:hover td {
  background: rgba(255,255,255,0.025);
}

.ops-row-selected td {
  background: rgba(59,130,246,0.07);
}

.ops-row-exp-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text-muted, #6b7280);
  padding: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 3px;
  transition: background 0.1s, color 0.1s;
}

.ops-row-exp-btn:hover {
  background: rgba(255,255,255,0.08);
  color: var(--text-primary, #f9fafb);
}

.ops-subrow td {
  background: rgba(0,0,0,0.12) !important;
  border-bottom: 1px solid rgba(255,255,255,0.03) !important;
  font-size: 12px;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.ops-ctx-truncate {
  display: block;
  max-width: 185px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text-soft, #9ca3af);
  font-size: 12px;
}

/* Risk level badges */
.risk-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

.risk-low      { background: #064E3B; color: #5cb895; }
.risk-medium   { background: #78350F; color: #EAB308; }
.risk-high     { background: #7C2D12; color: #f97316; }
.risk-very-high { background: #7F1D1D; color: #ef4444; }

/* Officer avatar */
.officer-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #374151;
  color: #9ca3af;
  font-size: 10px;
  font-weight: 700;
  cursor: default;
  flex-shrink: 0;
}

/* IDV progress steps */
.idv-steps {
  display: flex;
  gap: 3px;
  align-items: center;
  justify-content: center;
}

.idv-step {
  width: 20px;
  height: 4px;
  border-radius: 2px;
  background: rgba(255,255,255,0.1);
}

.idv-step.done   { background: #10b981; }
.idv-step.active { background: #f59e0b; }

/* Next action text */
.next-action-text { font-size: 12px; color: var(--text-muted, #6b7280); }
.na-blocking { color: #d47878 !important; }
.na-warning  { color: #d4a832 !important; }
.na-ok       { color: #5cb895 !important; }

/* Bulk actions bar */
.ops-bulk-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  margin: 0 0 8px;
  background: rgba(59,130,246,0.08);
  border: 1px solid rgba(59,130,246,0.25);
  border-radius: 6px;
  font-size: 13px;
  color: var(--text-secondary, #d1d5db);
}

/* Matter group row */
.matter-group-row td {
  padding: 0 !important;
  background: rgba(255,255,255,0.03);
}

/* Ghost button variant */
.compliance-btn-ghost {
  background: none;
  border: 1px solid rgba(255,255,255,0.1);
  color: var(--text-soft, #9ca3af);
}

.compliance-btn-ghost:hover {
  border-color: rgba(255,255,255,0.2);
  color: var(--text-primary, #f9fafb);
  background: rgba(255,255,255,0.04);
}

/* Active state for Group by Property toggle */
.compliance-btn-secondary.active {
  background: rgba(59,130,246,0.15);
  border-color: rgba(59,130,246,0.4);
  color: #60a5fa;
}

/* Light theme overrides */
[data-theme="light"] .clp-item { color: #374151; }
[data-theme="light"] .clp-item:hover { background: rgba(0,0,0,0.04); color: #111827; }
[data-theme="light"] .clp-item.clp-active { color: #2563eb; background: rgba(37,99,235,0.08); }
[data-theme="light"] .clp-count { background: rgba(0,0,0,0.06); color: #6b7280; }
[data-theme="light"] .clp-item.clp-active .clp-count { background: rgba(37,99,235,0.12); color: #1d4ed8; }
[data-theme="light"] .compliance-left-panel { border-right-color: #e5e7eb; }
[data-theme="light"] .ops-row:hover td { background: rgba(0,0,0,0.02); }
[data-theme="light"] .ops-row-selected td { background: rgba(37,99,235,0.06); }
[data-theme="light"] .ops-subrow td { background: rgba(0,0,0,0.03) !important; }
[data-theme="light"] .risk-low      { background: #d1fae5; color: #065f46; }
[data-theme="light"] .risk-medium   { background: #fef3c7; color: #92400e; }
[data-theme="light"] .risk-high     { background: #fee2e2; color: #991b1b; }
[data-theme="light"] .risk-very-high { background: #fecaca; color: #7f1d1d; }
[data-theme="light"] .officer-avatar { background: #e5e7eb; color: #374151; }
[data-theme="light"] .idv-step { background: rgba(0,0,0,0.1); }
[data-theme="light"] .ops-bulk-bar { border-color: rgba(37,99,235,0.3); background: rgba(37,99,235,0.06); color: #374151; }

[data-theme="light"] .compliance-status-tabs { background: rgba(0,0,0,0.02); border-color: #e5e7eb; }
[data-theme="light"] .cst-tab { color: #6b7280; }
[data-theme="light"] .cst-tab:hover { color: #374151; background: rgba(0,0,0,0.04); }
[data-theme="light"] .cst-tab.cst-active { background: rgba(37,99,235,0.08); color: #2563eb; }
[data-theme="light"] .cst-count { background: rgba(0,0,0,0.06); }
[data-theme="light"] .cst-tab.cst-active .cst-count { background: rgba(37,99,235,0.15); color: #1d4ed8; }

/* ============================================================
   UAOL Compliance Module - Phase 4: Case Detail + Manifest Tab
   Append to compliance.css after existing content
   ============================================================ */

/* --- Case Detail Container --- */
.cd-container { padding:24px 28px; }

/* --- Case Header --- */
.cd-header { display:flex; align-items:flex-start; gap:14px; margin-bottom:20px; }
.cd-back-btn {
  background:none; border:1px solid var(--border-subtle,#374151); border-radius:8px;
  padding:7px 9px; cursor:pointer; color:var(--text-main,#e5e7eb);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  transition:border-color 0.15s,background 0.15s;
}
.cd-back-btn:hover { border-color:var(--accent,#38bdf8); background:rgba(56,189,248,0.06); }
.cd-title-section { flex:1; min-width:0; }
.cd-title-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:4px; }
.cd-entity-name {
  font-size:21px; font-weight:700; color:var(--text-main,#f3f4f6); margin:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:420px;
}
.cd-meta { display:flex; gap:14px; font-size:12px; color:var(--text-soft,#9ca3af); flex-wrap:wrap; }
.cd-meta-item { display:flex; align-items:center; gap:4px; }
.cd-rex-indicator {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; font-weight: 500; padding: 2px 8px;
  border-radius: 4px; cursor: default;
  background: rgba(59,130,246,0.15); color: #60a5fa;
}
.cd-officer-section {
  display:flex; align-items:center; gap:8px; flex-shrink:0;
  font-size:12px; color:var(--text-soft,#d1d5db);
}
.cd-officer-avatar {
  width:30px; height:30px; border-radius:50%; display:flex;
  align-items:center; justify-content:center;
  background:rgba(56,189,248,0.12); color:var(--accent,#38bdf8);
  font-size:11px; font-weight:700; flex-shrink:0;
}

/* --- Matter Bar --- */
.cd-matter-bar {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:rgba(59,130,246,0.06); border:1px solid rgba(59,130,246,0.15);
  border-radius:8px; padding:8px 14px; margin-bottom:12px;
  font-size:12px; line-height:1.4;
}
.cd-matter-bar-left {
  display:flex; align-items:center; gap:6px; flex-shrink:0;
  color:var(--text-soft,#9ca3af);
}
.cd-matter-bar-left svg { width:14px; height:14px; opacity:0.6; }
.cd-matter-bar-label { font-weight:600; color:var(--text-soft,#9ca3af); font-size:11px; text-transform:uppercase; letter-spacing:0.3px; }
.cd-matter-bar-addr { color:var(--text-main,#e5e7eb); font-weight:500; }
.cd-matter-bar-parties { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.cd-matter-bar-party {
  display:inline-flex; align-items:center; gap:4px;
  cursor:pointer; padding:3px 8px; border-radius:4px;
  transition:background 0.15s;
  color:var(--text-main,#e5e7eb);
}
.cd-matter-bar-party:hover { background:rgba(59,130,246,0.12); }
.cd-matter-bar-role { font-weight:600; color:#60a5fa; font-size:11px; }
.cd-matter-bar-name { font-weight:500; }
.cd-matter-bar-empty { color:var(--text-softer,#6b7280); font-style:italic; font-size:11px; }

[data-theme="light"] .cd-matter-bar { background:rgba(59,130,246,0.04); border-color:rgba(59,130,246,0.12); }
[data-theme="light"] .cd-matter-bar-role { color:#2563eb; }
[data-theme="light"] .cd-matter-bar-party:hover { background:rgba(59,130,246,0.08); }

/* --- Blocking Reasons Banner --- */
.cd-block-banner {
  border-radius:8px; padding:12px 16px; margin-bottom:16px;
  display:flex; flex-direction:column; gap:6px;
  font-size:12px; line-height:1.5;
}
.cd-block-banner-blocking {
  background:rgba(239,68,68,0.08); border:1px solid rgba(239,68,68,0.25);
}
.cd-block-banner-warning {
  background:rgba(251,191,36,0.08); border:1px solid rgba(251,191,36,0.2);
}
.cd-block-header {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
}
.cd-block-title {
  display:flex; align-items:center; gap:6px;
  font-weight:600; font-size:12px;
}
.cd-block-title-blocking { color:#ef4444; }
.cd-block-title-warning { color:#fbbf24; }
.cd-block-dismiss {
  background:none; border:none; cursor:pointer; padding:2px;
  color:var(--text-softer,#6b7280); display:flex; align-items:center;
  transition:color 0.15s;
}
.cd-block-dismiss:hover { color:var(--text-main,#e5e7eb); }
.cd-block-list { display:flex; flex-direction:column; gap:4px; margin-top:4px; }
.cd-block-item {
  display:flex; align-items:center; gap:6px;
  font-size:12px; color:var(--text-soft,#d1d5db);
}
.cd-block-item-icon { flex-shrink:0; display:flex; align-items:center; }
.cd-block-item-icon-blocking { color:#ef4444; }
.cd-block-item-icon-warning { color:#fbbf24; }
.cd-block-link {
  color:var(--accent,#38bdf8); cursor:pointer; text-decoration:none;
  font-size:11px; margin-left:auto; flex-shrink:0;
}
.cd-block-link:hover { text-decoration:underline; }

/* --- KPI Strip --- */
.cd-kpi-strip {
  display:flex; gap:10px; margin-bottom:20px; flex-wrap:wrap;
}
.cd-kpi-card {
  flex:1 1 0; min-width:130px;
  padding:14px 16px; border-radius:10px;
  background:var(--bg-card,rgba(255,255,255,0.04));
  border:1px solid var(--border-subtle,#2a2f3a);
}
.cd-kpi-top { display:flex; align-items:baseline; gap:4px; margin-bottom:4px; }
.cd-kpi-num { font-size:22px; font-weight:700; color:var(--text-main,#f3f4f6); line-height:1; }
.cd-kpi-denom { font-size:13px; color:var(--text-softer,#6b7280); }
.cd-kpi-label { font-size:11px; color:var(--text-softer,#9ca3af); font-weight:500; margin-bottom:8px; }
.cd-kpi-bar {
  height:4px; border-radius:2px; background:var(--border-subtle,#2a2f3a);
  overflow:hidden;
}
.cd-kpi-fill { height:100%; border-radius:2px; transition:width 0.3s ease; }
.cd-kpi-fill-green { background:#4ade80; }
.cd-kpi-fill-amber { background:#f59e0b; }
.cd-kpi-fill-red { background:#ef4444; }
.cd-kpi-fill-blue { background:#60a5fa; }

/* --- Tab Navigation --- */
.cd-tabs {
  display:flex; gap:0; border-bottom:1px solid var(--border-subtle,#2a2f3a);
  margin-bottom:20px; overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.cd-tab {
  padding:9px 14px; font-size:12px; font-weight:500;
  color:var(--text-softer,#6b7280); border:none;
  border-bottom:2px solid transparent; background:none;
  cursor:pointer; white-space:nowrap; transition:color 0.15s;
}
.cd-tab:hover { color:var(--text-soft,#d1d5db); }
.cd-tab-active {
  font-weight:600; color:var(--accent,#38bdf8);
  border-bottom-color:var(--accent,#38bdf8);
}
.cd-tab-count {
  background:rgba(56,189,248,0.12); color:var(--accent,#38bdf8);
  font-size:9px; padding:1px 5px; border-radius:7px; margin-left:4px;
  font-weight:600;
}
.cd-tab-badge {
  display:inline-flex; align-items:center; justify-content:center;
  margin-left:5px; font-size:9px; font-weight:600; vertical-align:middle;
}
.cd-badge-green {
  width:16px; height:16px; border-radius:50%;
  background:rgba(34,197,94,0.15); color:#22c55e;
}
.cd-badge-amber {
  width:8px; height:8px; border-radius:50%;
  background:#f59e0b;
}
.cd-badge-red {
  min-width:16px; height:16px; border-radius:8px;
  background:rgba(239,68,68,0.15); color:#ef4444;
  padding:0 4px;
}
/* Toggle switch */
.aml-toggle-track {
  width:36px; height:20px; border-radius:10px; position:relative;
  background:var(--border-subtle,#374151); cursor:pointer; transition:background 0.2s;
}
.aml-toggle-track.aml-toggle-on { background:#22c55e; }
.aml-toggle-thumb {
  width:16px; height:16px; border-radius:50%; background:#fff;
  position:absolute; top:2px; left:2px; transition:left 0.2s;
}
.aml-toggle-track.aml-toggle-on .aml-toggle-thumb { left:18px; }
[data-theme="light"] .cd-badge-green { background:rgba(34,197,94,0.12); }
[data-theme="light"] .cd-badge-red { background:rgba(239,68,68,0.1); }

/* --- Manifest Layout: Party Tree + Quick Actions --- */
.cd-manifest-layout { display:flex; gap:16px; align-items:flex-start; }
.cd-party-tree { flex:1; min-width:0; display:flex; flex-direction:column; gap:8px; }
.cd-quick-panel {
  width:200px; flex-shrink:0; display:flex; flex-direction:column; gap:8px;
  padding:16px; border-radius:10px;
  background:var(--bg-card,rgba(255,255,255,0.04));
  border:1px solid var(--border-subtle,#2a2f3a);
}
.cd-quick-title {
  font-size:11px; font-weight:600; color:var(--text-softer,#9ca3af);
  text-transform:uppercase; letter-spacing:0.4px; margin-bottom:4px;
}
.cd-qa-btn {
  display:flex; align-items:center; gap:8px;
  width:100%; padding:8px 10px; border-radius:7px;
  background:none; border:1px solid var(--border-subtle,#374151);
  color:var(--text-soft,#d1d5db); font-size:12px; cursor:pointer;
  transition:border-color 0.15s,background 0.15s;
}
.cd-qa-btn:hover {
  border-color:var(--accent,#38bdf8); background:rgba(56,189,248,0.06);
  color:var(--text-main,#e5e7eb);
}
.cd-qa-btn svg { flex-shrink:0; color:var(--text-softer,#6b7280); }

/* --- Party Row --- */
.cd-party-row {
  padding:12px 14px; border-radius:10px;
  background:var(--bg-card,rgba(255,255,255,0.04));
  border:1px solid var(--border-subtle,#2a2f3a);
  cursor:pointer; transition:border-color 0.15s;
}
.cd-party-row:hover { border-color:rgba(56,189,248,0.25); }
.cd-party-top {
  display:flex; align-items:center; gap:10px;
}
.cd-party-chevron {
  display:flex; align-items:center; flex-shrink:0;
  color:var(--text-softer,#6b7280); transition:transform 0.2s;
}
.cd-party-chevron-open { transform:rotate(90deg); }
.cd-party-icon {
  width:28px; height:28px; border-radius:7px; display:flex;
  align-items:center; justify-content:center; flex-shrink:0;
}
.cd-party-icon-individual { background:rgba(56,189,248,0.1); color:#38bdf8; }
.cd-party-icon-entity { background:rgba(168,85,247,0.1); color:#a855f7; }
.cd-party-icon-trust { background:rgba(34,211,238,0.1); color:#22d3ee; }
.cd-party-info { flex:1; min-width:0; }
.cd-party-name {
  font-size:14px; font-weight:600; color:var(--text-main,#f3f4f6);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.cd-party-type {
  font-size:11px; color:var(--text-softer,#6b7280); text-transform:capitalize;
  margin-top:1px;
}
.cd-party-badges { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.cd-party-status { font-size:10px; padding:2px 8px; border-radius:10px; font-weight:600; }
.cd-party-status-pass { background:rgba(74,222,128,0.12); color:#4ade80; }
.cd-party-status-required { background:rgba(245,158,11,0.12); color:#f59e0b; }
.cd-party-status-fail { background:rgba(239,68,68,0.12); color:#ef4444; }
.cd-party-status-consider { background:rgba(251,191,36,0.12); color:#fbbf24; }
.cd-party-reqs {
  font-size:11px; color:var(--text-softer,#6b7280); font-weight:500;
}
.cd-party-alerts { display:flex; gap:4px; align-items:center; }
.cd-party-alert-icon { display:flex; align-items:center; }

/* --- Expanded Party: Requirement Rows --- */
.cd-req-list {
  margin-top:10px; padding-top:10px;
  border-top:1px solid var(--border-subtle,#2a2f3a);
  display:flex; flex-direction:column; gap:6px;
}
.cd-req-row {
  display:flex; align-items:center; gap:8px;
  padding:6px 8px 6px 46px;
  border-radius:6px; font-size:12px;
}
.cd-req-row:hover { background:rgba(255,255,255,0.02); }
.cd-req-icon { flex-shrink:0; display:flex; align-items:center; color:var(--text-softer,#6b7280); }
.cd-req-name { flex:1; color:var(--text-soft,#d1d5db); }
.cd-req-badge { font-size:10px; padding:2px 7px; border-radius:8px; font-weight:600; flex-shrink:0; }
.cd-req-action {
  font-size:11px; color:var(--accent,#38bdf8); cursor:pointer;
  flex-shrink:0; margin-left:8px;
}
.cd-req-action:hover { text-decoration:underline; }

/* --- SoF/SoW 7-Status Badges --- */
.cd-sofw-badge { font-size:10px; padding:2px 8px; border-radius:8px; font-weight:600; }
.cd-sofw-not_required { background:rgba(107,114,128,0.12); color:#6b7280; }
.cd-sofw-requested { background:rgba(245,158,11,0.12); color:#f59e0b; }
.cd-sofw-partially_submitted { background:rgba(245,158,11,0.12); color:#f59e0b; }
.cd-sofw-under_review { background:rgba(96,165,250,0.12); color:#60a5fa; }
.cd-sofw-satisfactory { background:rgba(74,222,128,0.12); color:#4ade80; }
.cd-sofw-unsatisfactory { background:rgba(239,68,68,0.12); color:#ef4444; }
.cd-sofw-waived { background:rgba(107,114,128,0.12); color:#6b7280; }

/* Generic requirement status badges */
.cd-req-completed { background:rgba(74,222,128,0.12); color:#4ade80; }
.cd-req-received { background:rgba(96,165,250,0.12); color:#60a5fa; }
.cd-req-required { background:rgba(245,158,11,0.12); color:#f59e0b; }
.cd-req-pending { background:rgba(245,158,11,0.12); color:#f59e0b; }
.cd-req-not-started { background:rgba(107,114,128,0.1); color:#6b7280; }
.cd-req-clear { background:rgba(74,222,128,0.12); color:#4ade80; }
.cd-req-hits { background:rgba(239,68,68,0.12); color:#ef4444; }

/* IDV 4-step inline tracker (reuses ops-table pattern but smaller) */
.cd-idv-steps { display:flex; gap:2px; align-items:center; }
.cd-idv-step {
  width:16px; height:4px; border-radius:2px;
  background:var(--border-subtle,#374151);
}
.cd-idv-step-done { background:#4ade80; }
.cd-idv-step-active { background:#f59e0b; }

/* --- PII-Stripped Summary Card --- */
.cd-pii-card {
  max-width:560px; margin:40px auto; padding:32px;
  border-radius:12px;
  background:var(--bg-card,rgba(255,255,255,0.04));
  border:1px solid var(--border-subtle,#2a2f3a);
  text-align:center;
}
.cd-pii-title {
  font-size:18px; font-weight:700; color:var(--text-main,#f3f4f6);
  margin:0 0 8px;
}
.cd-pii-status { margin:16px 0; }
.cd-pii-progress { margin:16px auto; max-width:280px; }
.cd-pii-bar {
  height:6px; border-radius:3px; background:var(--border-subtle,#2a2f3a);
  overflow:hidden;
}
.cd-pii-fill { height:100%; border-radius:3px; background:var(--accent,#38bdf8); }
.cd-pii-info {
  font-size:13px; color:var(--text-soft,#d1d5db); margin:12px 0 4px;
}
.cd-pii-note {
  font-size:12px; color:var(--text-softer,#6b7280); margin-top:20px;
  padding-top:16px; border-top:1px solid var(--border-subtle,#2a2f3a);
}

/* --- Stub Tab Content --- */
.cd-stub {
  text-align:center; padding:48px 24px;
}
.cd-stub-icon {
  width:52px; height:52px; border-radius:50%;
  border:2px dashed var(--border-subtle,#374151);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 14px; color:var(--text-softer,#6b7280);
}
.cd-stub-title {
  font-size:15px; font-weight:600; color:var(--text-main,#e5e7eb);
  margin:0 0 6px;
}
.cd-stub-desc {
  font-size:12px; color:var(--text-softer,#9ca3af);
  max-width:380px; margin:0 auto; line-height:1.5;
}

/* ============================================================
   Light Theme Overrides
   ============================================================ */
[data-theme="light"] .cd-container { color:#1f2937; }
[data-theme="light"] .cd-back-btn { border-color:#d1d5db; color:#374151; }
[data-theme="light"] .cd-back-btn:hover { border-color:#3b82f6; background:rgba(59,130,246,0.06); }
[data-theme="light"] .cd-entity-name { color:#111827; }
[data-theme="light"] .cd-meta { color:#6b7280; }
[data-theme="light"] .cd-rex-indicator { background:rgba(59,130,246,0.1); color:#2563eb; }
[data-theme="light"] .cd-officer-avatar { background:rgba(59,130,246,0.1); color:#2563eb; }
[data-theme="light"] .cd-officer-section { color:#374151; }

[data-theme="light"] .cd-block-banner-blocking { background:rgba(239,68,68,0.06); border-color:rgba(239,68,68,0.2); }
[data-theme="light"] .cd-block-banner-warning { background:rgba(251,191,36,0.06); border-color:rgba(251,191,36,0.18); }
[data-theme="light"] .cd-block-dismiss { color:#9ca3af; }
[data-theme="light"] .cd-block-dismiss:hover { color:#374151; }
[data-theme="light"] .cd-block-item { color:#374151; }
[data-theme="light"] .cd-block-link { color:#2563eb; }

[data-theme="light"] .cd-kpi-card { background:#ffffff; border-color:#e5e7eb; }
[data-theme="light"] .cd-kpi-num { color:#111827; }
[data-theme="light"] .cd-kpi-denom { color:#9ca3af; }
[data-theme="light"] .cd-kpi-label { color:#6b7280; }
[data-theme="light"] .cd-kpi-bar { background:#e5e7eb; }

[data-theme="light"] .cd-tabs { border-bottom-color:#e5e7eb; }
[data-theme="light"] .cd-tab { color:#6b7280; }
[data-theme="light"] .cd-tab:hover { color:#374151; }
[data-theme="light"] .cd-tab-active { color:#2563eb; border-bottom-color:#2563eb; }
[data-theme="light"] .cd-tab-count { background:rgba(59,130,246,0.1); color:#2563eb; }

[data-theme="light"] .cd-party-row { background:#ffffff; border-color:#e5e7eb; }
[data-theme="light"] .cd-party-row:hover { border-color:rgba(59,130,246,0.3); }
[data-theme="light"] .cd-party-name { color:#111827; }
[data-theme="light"] .cd-party-type { color:#6b7280; }
[data-theme="light"] .cd-party-chevron { color:#9ca3af; }
[data-theme="light"] .cd-party-reqs { color:#6b7280; }
[data-theme="light"] .cd-req-list { border-top-color:#e5e7eb; }
[data-theme="light"] .cd-req-row:hover { background:rgba(0,0,0,0.02); }
[data-theme="light"] .cd-req-name { color:#374151; }
[data-theme="light"] .cd-req-action { color:#2563eb; }

[data-theme="light"] .cd-quick-panel { background:#ffffff; border-color:#e5e7eb; }
[data-theme="light"] .cd-quick-title { color:#6b7280; }
[data-theme="light"] .cd-qa-btn { border-color:#d1d5db; color:#374151; }
[data-theme="light"] .cd-qa-btn:hover { border-color:#3b82f6; background:rgba(59,130,246,0.05); color:#111827; }

[data-theme="light"] .cd-pii-card { background:#ffffff; border-color:#e5e7eb; }
[data-theme="light"] .cd-pii-title { color:#111827; }
[data-theme="light"] .cd-pii-info { color:#374151; }
[data-theme="light"] .cd-pii-note { color:#6b7280; border-top-color:#e5e7eb; }
[data-theme="light"] .cd-pii-bar { background:#e5e7eb; }
[data-theme="light"] .cd-pii-fill { background:#3b82f6; }

[data-theme="light"] .cd-stub-icon { border-color:#d1d5db; color:#9ca3af; }
[data-theme="light"] .cd-stub-title { color:#111827; }
[data-theme="light"] .cd-stub-desc { color:#6b7280; }

[data-theme="light"] .cd-idv-step { background:#e5e7eb; }
[data-theme="light"] .cd-idv-step-done { background:#4ade80; }
[data-theme="light"] .cd-idv-step-active { background:#f59e0b; }

[data-theme="light"] .cd-party-icon-individual { background:rgba(59,130,246,0.08); color:#2563eb; }
[data-theme="light"] .cd-party-icon-entity { background:rgba(147,51,234,0.08); color:#9333ea; }
[data-theme="light"] .cd-party-icon-trust { background:rgba(6,182,212,0.08); color:#0891b2; }

/* ============================================================
   Phase 4 Polish: D1 Alert Icons, D2 Kebab, D9 DM Sans Font
   Append to compliance.css
   ============================================================ */

/* D9: DM Sans font for compliance module */
.page-compliance,
#page-compliance,
.cd-container {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* D1: Party alert icons */
.cd-party-alerts {
  display:flex; gap:4px; align-items:center; margin-left:6px; flex-shrink:0;
}
.cd-party-alert-icon {
  display:flex; align-items:center; flex-shrink:0;
}
.cd-party-alert-icon svg { width:13px; height:13px; }

/* D2: Kebab menu button */
.cd-kebab-btn {
  background:none; border:none; cursor:pointer;
  padding:4px; border-radius:4px; display:flex;
  align-items:center; justify-content:center;
  color:var(--text-softer,#6b7280); flex-shrink:0;
  transition:background 0.15s,color 0.15s;
  margin-left:4px;
}
.cd-kebab-btn:hover {
  background:rgba(255,255,255,0.06);
  color:var(--text-main,#e5e7eb);
}

/* Light theme overrides for polish */
[data-theme="light"] .cd-kebab-btn { color:#9ca3af; }
[data-theme="light"] .cd-kebab-btn:hover { background:rgba(0,0,0,0.04); color:#374151; }

/* ==============================================
   Phase 5: Drawer Infrastructure + Funds & Wealth
   Compliance Module — UAOL Platform
   Appended to compliance.css
   ============================================== */

/* --- Drawer Overlay --- */
.cd-drawer {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 1100;
  display: none;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.cd-drawer.open { display: block; }

.cd-drawer-backdrop {
  position: absolute; inset: 0;
  background: rgba(0, 0, 0, 0.55);
  animation: cd-fade-in 0.2s ease;
}
@keyframes cd-fade-in { from { opacity: 0; } to { opacity: 1; } }

.cd-drawer-panel {
  position: absolute; top: 0; right: 0;
  width: 480px; max-width: 92vw; height: 100%;
  background: var(--dm-bg-card, #161d29);
  border-left: 1px solid var(--dm-border-color, #2a3441);
  display: flex; flex-direction: column;
  animation: cd-slide-in 0.25s ease;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.cd-drawer-560 .cd-drawer-panel { width: 560px; }

@keyframes cd-slide-in { from { transform: translateX(100%); } to { transform: translateX(0); } }

.cd-drawer-header {
  padding: 18px 24px;
  border-bottom: 1px solid var(--dm-border-color, #2a3441);
  display: flex; justify-content: space-between; align-items: center;
  min-height: 56px;
}
.cd-drawer-header-left {
  display: flex; align-items: center; gap: 10px;
  min-width: 0; flex: 1;
}
.cd-drawer-title {
  font-size: 17px; font-weight: 600;
  color: var(--dm-text-primary, #f0f2f5);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cd-drawer-close {
  background: transparent; border: none;
  font-size: 26px; color: var(--dm-text-secondary, #8b95a5);
  cursor: pointer; padding: 0 0 0 12px; line-height: 1;
  flex-shrink: 0;
}
.cd-drawer-close:hover { color: var(--dm-text-primary, #f0f2f5); }

.cd-drawer-body {
  flex: 1; overflow-y: auto; padding: 20px 24px;
}
.cd-drawer-footer {
  padding: 14px 24px;
  border-top: 1px solid var(--dm-border-color, #2a3441);
  display: flex; gap: 10px; flex-wrap: wrap;
}
.cd-drawer-section {
  margin-bottom: 20px; padding-bottom: 18px;
  border-bottom: 1px solid var(--dm-border-color, #2a3441);
}
.cd-drawer-section:last-child { border-bottom: none; margin-bottom: 0; }
.cd-drawer-section-title {
  font-size: 11px; font-weight: 700;
  color: var(--dm-text-secondary, #8b95a5);
  text-transform: uppercase; letter-spacing: 0.6px;
  margin: 0 0 12px 0;
}

/* --- Party Drawer --- */
.cd-pd-identity { display: flex; flex-direction: column; gap: 6px; }
.cd-pd-identity-row {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--dm-text-secondary, #8b95a5);
}
.cd-pd-identity-label { font-weight: 600; min-width: 50px; color: var(--dm-text-muted, #5a6474); font-size: 11px; text-transform: uppercase; }
.cd-pd-identity-value { color: var(--dm-text-primary, #f0f2f5); }


/* Requirements checklist */
.cd-req-item {
  display: flex; align-items: center; gap: 8px;
  padding: 5px 0; font-size: 13px;
}
.cd-req-icon { width: 16px; height: 16px; flex-shrink: 0; }
.cd-req-icon.done { color: #10b981; }
.cd-req-icon.pending { color: #f59e0b; }
.cd-req-icon.na { color: var(--dm-text-muted, #5a6474); }
.cd-req-label { color: var(--dm-text-primary, #f0f2f5); }
.cd-req-label.na { color: var(--dm-text-muted, #5a6474); text-decoration: line-through; }

/* Screening summary */
.cd-pd-screening { display: flex; align-items: center; gap: 10px; }
.cd-pd-screening-count {
  font-size: 13px; font-weight: 600;
  padding: 2px 10px; border-radius: 10px;
}
.cd-pd-screening-count.has-hits { background: rgba(239,68,68,0.15); color: #ef4444; }
.cd-pd-screening-count.clear { background: rgba(16,185,129,0.15); color: #10b981; }

/* --- Match Drawer --- */
.cd-md-type-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 10px; border-radius: 4px;
  font-size: 11px; font-weight: 700; text-transform: uppercase;
}
.cd-md-type-badge.pep, .cd-md-type-badge.sanctions { background: rgba(239,68,68,0.15); color: #ef4444; }
.cd-md-type-badge.adverse_media { background: rgba(245,158,11,0.15); color: #f59e0b; }

.cd-md-similarity {
  font-size: 14px; font-weight: 700; color: var(--dm-text-primary, #f0f2f5);
  margin-left: auto;
}
.cd-md-comparison {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.cd-md-col-header {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  color: var(--dm-text-muted, #5a6474); margin-bottom: 8px;
  letter-spacing: 0.5px;
}
.cd-md-field { padding: 4px 0; }
.cd-md-field-label { font-size: 11px; color: var(--dm-text-muted, #5a6474); }
.cd-md-field-value { font-size: 13px; color: var(--dm-text-primary, #f0f2f5); }

/* Disposition controls */
.cd-md-disposition-btns { display: flex; gap: 8px; margin-bottom: 12px; }

/* ===== Matches Tab ===== */
.mt-container { padding: 0; }
.mt-blocking-banner {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px 16px; margin-bottom: 16px;
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.2);
  border-radius: 8px; color: #fca5a5;
}
.mt-blocking-banner svg { flex-shrink: 0; margin-top: 2px; color: #ef4444; }
.mt-blocking-banner strong { color: #fca5a5; }
.mt-resolved-banner {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 16px; margin-bottom: 16px;
  background: rgba(74, 222, 128, 0.08);
  border: 1px solid rgba(74, 222, 128, 0.2);
  border-radius: 8px; color: #4ade80;
}
.mt-resolved-banner svg { flex-shrink: 0; color: #4ade80; }
.mt-stats { display: flex; gap: 20px; margin-bottom: 16px; padding: 0 2px; }
.mt-stat { font-size: 13px; color: var(--dm-text-muted, #5a6474); }
.mt-stat-num { font-weight: 600; margin-right: 4px; color: var(--dm-text-primary, #f0f2f5); }
.mt-stat-open { color: #f59e0b !important; }
.mt-stat-investigating { color: #60a5fa !important; }
.mt-stat-resolved { color: #4ade80 !important; }

/* Match cards */
.mt-card {
  background: var(--dm-surface-secondary, #1a1f2e);
  border: 1px solid var(--dm-border, rgba(255,255,255,0.06));
  border-radius: 8px; padding: 16px; margin-bottom: 12px;
  transition: border-color 0.15s;
}
.mt-card:hover { border-color: rgba(255,255,255,0.12); }
.mt-card-open { border-left: 3px solid #f59e0b; }
.mt-card-investigating { border-left: 3px solid #60a5fa; }
.mt-card-confirmed { border-left: 3px solid #ef4444; }
.mt-card-resolved { border-left: 3px solid #4ade80; }

.mt-card-header { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.mt-card-name { font-weight: 600; font-size: 14px; color: var(--dm-text-primary, #f0f2f5); flex: 1; min-width: 120px; }
.mt-card-similarity { font-size: 12px; color: var(--dm-text-muted, #5a6474); white-space: nowrap; }

/* Type badges */
.mt-type-badge { font-size: 10px; padding: 2px 8px; border-radius: 10px; font-weight: 500; white-space: nowrap; text-transform: uppercase; letter-spacing: 0.3px; }
.mt-badge-pep { background: rgba(239,68,68,0.15); color: #ef4444; }
.mt-badge-media { background: rgba(245,158,11,0.15); color: #f59e0b; }
.mt-badge-death { background: rgba(107,114,128,0.2); color: #d1d5db; }
.mt-badge-court { background: rgba(96,165,250,0.15); color: #60a5fa; }
.mt-badge-banned { background: rgba(251,146,60,0.15); color: #fb923c; }
.mt-badge-other { background: rgba(107,114,128,0.15); color: #9ca3af; }

/* Disposition badges */
.mt-disp-badge { font-size: 11px; padding: 2px 8px; border-radius: 10px; font-weight: 500; white-space: nowrap; }
.mt-disp-open { background: rgba(245,158,11,0.15); color: #f59e0b; }
.mt-disp-investigating { background: rgba(96,165,250,0.15); color: #60a5fa; }
.mt-disp-false-pos { background: rgba(74,222,128,0.15); color: #4ade80; }
.mt-disp-confirmed { background: rgba(239,68,68,0.15); color: #ef4444; }
.mt-disp-cleared { background: rgba(74,222,128,0.15); color: #4ade80; }

.mt-card-meta { font-size: 12px; color: var(--dm-text-muted, #5a6474); margin-bottom: 6px; line-height: 1.5; }
.mt-card-meta strong { color: var(--dm-text-primary, #f0f2f5); font-weight: 500; }
.mt-detail-link { color: #6366f1; text-decoration: none; }
.mt-detail-link:hover { text-decoration: underline; }

.mt-card-flags { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.mt-flag { font-size: 10px; padding: 1px 6px; border-radius: 4px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
.mt-flag-pep { background: rgba(245,158,11,0.2); color: #fbbf24; }
.mt-flag-sanction { background: rgba(239,68,68,0.2); color: #f87171; }
.mt-flag-sources { font-size: 11px; color: var(--dm-text-muted, #5a6474); }

.mt-card-summary { font-size: 12px; color: var(--dm-text-secondary, #8b95a5); line-height: 1.4; margin-bottom: 8px; padding: 8px 10px; background: rgba(255,255,255,0.02); border-radius: 6px; }

/* Current disposition display */
.mt-current-disp { padding: 10px 12px; border-radius: 6px; background: var(--dm-bg-primary, #0f1219); margin-top: 8px; }
.mt-current-disp-label { font-size: 13px; font-weight: 500; color: var(--dm-text-primary, #f0f2f5); text-transform: capitalize; }
.mt-current-disp-reason { font-size: 12px; color: var(--dm-text-muted, #5a6474); margin-top: 4px; line-height: 1.4; }
.mt-current-disp-meta { font-size: 11px; color: var(--dm-text-muted, #5a6474); margin-top: 4px; opacity: 0.7; }
.mt-current-investigating { border-left: 2px solid #60a5fa; }

/* Action buttons */
.mt-card-actions { display: flex; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.06); flex-wrap: wrap; }
.mt-action-btn {
  padding: 6px 14px; border-radius: 6px; font-size: 12px; font-weight: 500;
  cursor: pointer; border: 1px solid transparent; transition: all 0.15s;
  font-family: inherit;
}
.mt-action-confirm { background: rgba(239,68,68,0.12); color: #ef4444; border-color: rgba(239,68,68,0.25); }
.mt-action-confirm:hover { background: rgba(239,68,68,0.2); }
.mt-action-confirm.active { background: #ef4444; color: #fff; border-color: #ef4444; }
.mt-action-false-pos { background: rgba(74,222,128,0.12); color: #4ade80; border-color: rgba(74,222,128,0.25); }
.mt-action-false-pos:hover { background: rgba(74,222,128,0.2); }
.mt-action-false-pos.active { background: #4ade80; color: #111; border-color: #4ade80; }
.mt-action-investigate { background: transparent; color: #60a5fa; border-color: rgba(96,165,250,0.35); }
.mt-action-investigate:hover { background: rgba(96,165,250,0.1); }
.mt-action-investigate.active { background: #60a5fa; color: #111; border-color: #60a5fa; }
.mt-action-cleared { background: transparent; color: #4ade80; border-color: rgba(74,222,128,0.35); }
.mt-action-cleared:hover { background: rgba(74,222,128,0.1); }
.mt-action-cleared.active { background: #4ade80; color: #111; border-color: #4ade80; }

/* Disposition form */
.mt-disp-form { margin-top: 12px; display: none; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.04); }
.mt-disp-form.visible { display: block; }
.mt-disp-form label { display: block; font-size: 12px; color: var(--dm-text-muted, #5a6474); margin-bottom: 4px; margin-top: 10px; font-weight: 500; }
.mt-disp-form label:first-child { margin-top: 0; }
.mt-rationale-input {
  width: 100%; min-height: 72px; padding: 8px 10px; border-radius: 6px;
  background: var(--dm-bg-primary, #0f1219); border: 1px solid rgba(255,255,255,0.1);
  color: var(--dm-text-primary, #f0f2f5); font-size: 13px; resize: vertical;
  font-family: inherit; box-sizing: border-box; line-height: 1.4;
}
.mt-rationale-input:focus { border-color: rgba(99,102,241,0.5); outline: none; }
.mt-disp-form select {
  width: 100%; padding: 8px 10px; border-radius: 6px;
  background: var(--dm-bg-primary, #0f1219); border: 1px solid rgba(255,255,255,0.1);
  color: var(--dm-text-primary, #f0f2f5); font-size: 13px;
  font-family: inherit; box-sizing: border-box;
}
.mt-disp-form select:focus { border-color: rgba(99,102,241,0.5); outline: none; }
.mt-disp-form input[type="date"] {
  padding: 8px 10px; border-radius: 6px;
  background: var(--dm-bg-primary, #0f1219); border: 1px solid rgba(255,255,255,0.1);
  color: var(--dm-text-primary, #f0f2f5); font-size: 13px;
  font-family: inherit;
}
.mt-disp-form input[type="date"]:focus { border-color: rgba(99,102,241,0.5); outline: none; }
.mt-char-count { font-size: 11px; color: var(--dm-text-muted, #5a6474); margin-top: 4px; text-align: right; }
.mt-submit-row { display: flex; justify-content: flex-end; margin-top: 12px; gap: 8px; }
.mt-submit-btn {
  padding: 7px 18px; border-radius: 6px; font-size: 13px; font-weight: 500;
  cursor: pointer; border: none; background: #6366f1; color: #fff; transition: background 0.15s;
  font-family: inherit;
}
.mt-submit-btn:hover { background: #5558e6; }
.mt-submit-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.mt-cancel-btn {
  padding: 7px 14px; border-radius: 6px; font-size: 13px;
  cursor: pointer; border: 1px solid rgba(255,255,255,0.1); background: transparent;
  color: var(--dm-text-muted, #5a6474); transition: all 0.15s;
  font-family: inherit;
}
.mt-cancel-btn:hover { border-color: rgba(255,255,255,0.2); color: var(--dm-text-primary, #f0f2f5); }
.cd-md-disp-btn {
  padding: 7px 14px; border-radius: 6px; border: 1px solid;
  font-size: 12px; font-weight: 600; cursor: pointer;
  background: transparent; transition: background 0.15s;
}
.cd-md-disp-btn.confirm { border-color: #ef4444; color: #ef4444; }
.cd-md-disp-btn.confirm:hover { background: rgba(239,68,68,0.12); }
.cd-md-disp-btn.false-pos { border-color: #10b981; color: #10b981; }
.cd-md-disp-btn.false-pos:hover { background: rgba(16,185,129,0.12); }
.cd-md-disp-btn.investigate { border-color: #3b82f6; color: #3b82f6; }
.cd-md-disp-btn.investigate:hover { background: rgba(59,130,246,0.12); }
.cd-md-disp-btn.active { color: #fff; }
.cd-md-disp-btn.confirm.active { background: #ef4444; }
.cd-md-disp-btn.false-pos.active { background: #10b981; }
.cd-md-disp-btn.investigate.active { background: #3b82f6; }

.cd-md-rationale {
  width: 100%; min-height: 72px; padding: 10px;
  background: var(--dm-bg-card, #0d1117);
  border: 1px solid var(--dm-border-color, #2a3441);
  border-radius: 6px; color: var(--dm-text-primary, #f0f2f5);
  font-size: 13px; font-family: inherit; resize: vertical;
}
.cd-md-submit-row { display: flex; justify-content: flex-end; margin-top: 10px; }

/* --- Evidence Drawer --- */
.cd-ed-preview {
  background: var(--dm-bg-card, #0d1117);
  border: 1px solid var(--dm-border-color, #2a3441);
  border-radius: 8px; padding: 32px; text-align: center;
  color: var(--dm-text-muted, #5a6474); font-size: 13px;
  min-height: 120px; display: flex; align-items: center; justify-content: center;
}
.cd-ed-meta-table { width: 100%; }
.cd-ed-meta-row {
  display: flex; padding: 6px 0;
  border-bottom: 1px solid var(--dm-border-color, #2a3441);
}
.cd-ed-meta-row:last-child { border-bottom: none; }
.cd-ed-meta-label {
  width: 110px; flex-shrink: 0;
  font-size: 11px; font-weight: 600; text-transform: uppercase;
  color: var(--dm-text-muted, #5a6474); padding-top: 2px;
}
.cd-ed-meta-value {
  font-size: 13px; color: var(--dm-text-primary, #f0f2f5);
  word-break: break-all;
}
.cd-ed-vault-pill {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: 4px;
  background: rgba(16,185,129,0.12); color: #10b981;
  font-size: 11px; font-weight: 600;
}

/* --- Funds & Wealth Tab --- */
.cd-fw-layout {
  display: grid; grid-template-columns: 60% 40%; gap: 24px;
  min-height: 400px;
}
@media (max-width: 900px) { .cd-fw-layout { grid-template-columns: 1fr; } }

.cd-fw-section {
  margin-bottom: 24px; padding: 18px;
  background: var(--dm-bg-card, #0d1117);
  border: 1px solid var(--dm-border-color, #2a3441);
  border-radius: 8px;
}
.cd-fw-section-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px;
}
.cd-fw-section-title {
  font-size: 14px; font-weight: 600;
  color: var(--dm-text-primary, #f0f2f5);
}
.cd-fw-helper {
  font-size: 12px; color: var(--dm-text-muted, #5a6474);
  margin-bottom: 12px; line-height: 1.5;
}
.cd-fw-textarea {
  width: 100%; min-height: 64px; padding: 10px;
  background: var(--dm-bg-card, #161d29);
  border: 1px solid var(--dm-border-color, #2a3441);
  border-radius: 6px; color: var(--dm-text-primary, #f0f2f5);
  font-size: 13px; font-family: inherit; resize: vertical;
}
.cd-fw-select {
  padding: 7px 10px; border-radius: 6px;
  background: var(--dm-bg-card, #161d29);
  border: 1px solid var(--dm-border-color, #2a3441);
  color: var(--dm-text-primary, #f0f2f5);
  font-size: 13px; font-family: inherit;
}
.cd-fw-evidence-card {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; margin-top: 8px;
  background: var(--dm-bg-card, #161d29);
  border: 1px solid var(--dm-border-color, #2a3441);
  border-radius: 6px; cursor: pointer;
  transition: border-color 0.15s;
}
.cd-fw-evidence-card:hover { border-color: #3b82f6; }
.cd-fw-evidence-card-name {
  font-size: 13px; font-weight: 500;
  color: var(--dm-text-primary, #f0f2f5);
  flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cd-fw-evidence-card-meta {
  font-size: 11px; color: var(--dm-text-muted, #5a6474);
}
.cd-fw-btn-row { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }

/* Assessment panel */
.cd-fw-assessment {
  padding: 18px;
  background: var(--dm-bg-card, #0d1117);
  border: 1px solid var(--dm-border-color, #2a3441);
  border-radius: 8px; margin-bottom: 16px;
}
.cd-fw-assessment-current {
  padding: 14px;
  background: var(--dm-bg-card, #161d29);
  border: 1px solid var(--dm-border-color, #2a3441);
  border-radius: 6px; margin-top: 12px;
}
.cd-fw-assessment-outcome {
  font-size: 13px; font-weight: 600; margin-bottom: 4px;
}
.cd-fw-assessment-outcome.satisfactory { color: #10b981; }
.cd-fw-assessment-outcome.unsatisfactory { color: #ef4444; }
.cd-fw-assessment-outcome.escalation { color: #f59e0b; }
.cd-fw-risk-indicator {
  padding: 12px 14px;
  background: var(--dm-bg-card, #0d1117);
  border: 1px solid var(--dm-border-color, #2a3441);
  border-radius: 8px; margin-bottom: 16px;
  font-size: 13px;
}
.cd-fw-risk-value { font-weight: 700; }
.cd-fw-risk-value.elevated { color: #f59e0b; }
.cd-fw-risk-value.clear { color: #10b981; }

/* Shared drawer button */
.cd-drawer-btn {
  padding: 7px 14px; border-radius: 6px;
  font-size: 12px; font-weight: 600; cursor: pointer;
  border: 1px solid var(--dm-border-color, #2a3441);
  background: transparent; color: var(--dm-text-secondary, #8b95a5);
  transition: background 0.15s, border-color 0.15s;
}
.cd-drawer-btn:hover {
  background: rgba(255,255,255,0.05);
  border-color: var(--dm-text-secondary, #8b95a5);
}
.cd-drawer-btn.primary {
  background: #3b82f6; color: #fff; border-color: #3b82f6;
}
.cd-drawer-btn.primary:hover { background: #2563eb; }
.cd-drawer-btn.danger {
  background: #ef4444; color: #fff; border-color: #ef4444;
}
.cd-drawer-btn.danger:hover { background: #dc2626; }

/* D8: Evidence in Vault pill */
.cd-vault-pill {
  display: inline-flex; align-items: center; gap: 3px;
  padding: 1px 7px; border-radius: 4px;
  background: rgba(16,185,129,0.10); color: #10b981;
  font-size: 10px; font-weight: 600; margin-left: 6px;
}

/* --- Light Theme Overrides --- */
[data-theme="light"] .cd-drawer-panel { background: #ffffff; border-left-color: #e5e7eb; }
[data-theme="light"] .cd-drawer-header { border-bottom-color: #e5e7eb; }
[data-theme="light"] .cd-drawer-title { color: #111827; }
[data-theme="light"] .cd-drawer-close { color: #6b7280; }
[data-theme="light"] .cd-drawer-close:hover { color: #111827; }
[data-theme="light"] .cd-drawer-body { color: #374151; }
[data-theme="light"] .cd-drawer-footer { border-top-color: #e5e7eb; }
[data-theme="light"] .cd-drawer-section { border-bottom-color: #e5e7eb; }
[data-theme="light"] .cd-drawer-section-title { color: #6b7280; }
[data-theme="light"] .cd-pd-identity-value { color: #111827; }
[data-theme="light"] .cd-req-label { color: #111827; }
[data-theme="light"] .cd-md-field-value { color: #111827; }
[data-theme="light"] .cd-md-similarity { color: #111827; }
[data-theme="light"] .cd-md-rationale { background: #f9fafb; border-color: #e5e7eb; color: #111827; }
[data-theme="light"] .cd-ed-preview { background: #f9fafb; border-color: #e5e7eb; color: #6b7280; }
[data-theme="light"] .cd-ed-meta-row { border-bottom-color: #e5e7eb; }
[data-theme="light"] .cd-ed-meta-value { color: #111827; }
[data-theme="light"] .cd-fw-section { background: #f9fafb; border-color: #e5e7eb; }
[data-theme="light"] .cd-fw-textarea { background: #ffffff; border-color: #e5e7eb; color: #111827; }
[data-theme="light"] .cd-fw-select { background: #ffffff; border-color: #e5e7eb; color: #111827; }
[data-theme="light"] .cd-fw-evidence-card { background: #ffffff; border-color: #e5e7eb; }
[data-theme="light"] .cd-fw-evidence-card-name { color: #111827; }
[data-theme="light"] .cd-fw-assessment { background: #f9fafb; border-color: #e5e7eb; }
[data-theme="light"] .cd-fw-assessment-current { background: #ffffff; border-color: #e5e7eb; }
[data-theme="light"] .cd-fw-risk-indicator { background: #f9fafb; border-color: #e5e7eb; }
[data-theme="light"] .cd-drawer-btn { border-color: #e5e7eb; color: #6b7280; }
[data-theme="light"] .cd-drawer-btn:hover { background: rgba(0,0,0,0.04); }

[data-theme="light"] .cd-drawer-btn.primary { background: #3b82f6; color: #ffffff; border-color: #3b82f6; }
[data-theme="light"] .cd-drawer-btn.primary:hover { background: #2563eb; color: #ffffff; }
[data-theme="light"] .cd-fw-assessment .cd-drawer-btn.primary { color: #ffffff; }

/* WP7-3: IDV segmented bar tracker */
.ck-idv-bar { max-width: 420px; margin: 12px 0; }
.ck-idv-segments { display: flex; gap: 4px; margin-bottom: 6px; }
.ck-idv-seg {
  flex: 1; height: 6px; border-radius: 3px;
  background: var(--border-subtle, #374151); opacity: 0.4;
}
.ck-idv-seg.ck-seg-done { background: #10b981; opacity: 1; }
.ck-idv-seg.ck-seg-active { background: #3b82f6; opacity: 1; }
.ck-idv-labels { display: flex; justify-content: space-between; font-size: 11px; }
.ck-idv-lbl { color: var(--text-softer, #6b7280); }
.ck-idv-lbl.ck-lbl-done { color: #10b981; }
.ck-idv-lbl.ck-lbl-active { color: #3b82f6; font-weight: 600; }
[data-theme="light"] .ck-idv-seg { background: #e5e7eb; opacity: 0.6; }

/* ===== Phase 6: Wizard Entry + Property Transaction ===== */
.cw-entry-screen { padding: 8px 0; }
.cw-entry-btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 28px 20px;
  background: var(--bg-card, #1a1f2e);
  border: 2px solid var(--border-subtle, #2a2f3a);
  border-radius: 12px;
  color: var(--text-main, #e5e7eb);
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  text-align: center;
  font-family: inherit;
}
.cw-entry-btn:hover {
  border-color: var(--accent, #38bdf8);
  background: rgba(56, 189, 248, 0.06);
}
.cw-entry-btn svg { width: 28px; height: 28px; color: var(--accent, #38bdf8); }
.cw-entry-btn-title { font-size: 15px; font-weight: 600; }
.cw-entry-btn-desc { font-size: 12px; color: var(--text-soft, #9ca3af); line-height: 1.5; }

.cw-property-section { }
.cw-address-wrap { position: relative; }
.cw-typeahead-dropdown {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 10;
  background: var(--bg-card, #1a1f2e);
  border: 1px solid var(--border-subtle, #2a2f3a);
  border-radius: 8px;
  max-height: 200px;
  overflow-y: auto;
  margin-top: 2px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}
.cw-typeahead-item {
  padding: 8px 12px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  transition: background 0.15s;
}
.cw-typeahead-item:hover { background: rgba(56, 189, 248, 0.08); }

.cw-role-checks { }
.cw-role-check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text-main, #e5e7eb);
  cursor: pointer;
}
.cw-role-check input[type="checkbox"] { accent-color: var(--accent, #38bdf8); }

.cw-external-section {
  padding: 12px 14px;
  background: rgba(251, 191, 36, 0.04);
  border: 1px solid rgba(251, 191, 36, 0.15);
  border-radius: 8px;
}

.cw-rex-section { }
.cw-rex-toggle {
  display: inline-block;
  background: none;
  border: none;
  color: var(--accent, #38bdf8);
  font-size: 12px;
  cursor: pointer;
  padding: 4px 0;
  margin-top: 6px;
  font-family: inherit;
}
.cw-rex-toggle:hover { text-decoration: underline; }
.cw-rex-manual { }
.cw-rex-unavailable {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #fbbf24;
  padding: 8px 12px;
  background: rgba(251, 191, 36, 0.06);
  border: 1px solid rgba(251, 191, 36, 0.15);
  border-radius: 6px;
}
.cw-rex-unavailable svg { width: 14px; height: 14px; flex-shrink: 0; }
/* ── Wizard radio groups (Fix 2: Agency Acts For redesign) ── */
.cw-radio-group { display: flex; gap: 12px; }
.cw-radio-group-vertical { flex-direction: column; gap: 8px; }

.cw-radio-option {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 16px; border-radius: 8px; cursor: pointer;
  border: 1px solid var(--border-subtle, #2a2f3a);
  font-size: 13px; color: var(--text-main, #e5e7eb);
  transition: border-color 0.15s, background 0.15s;
}
.cw-radio-option:hover { border-color: var(--accent, #38bdf8); }
.cw-radio-option.selected { border-color: var(--accent, #38bdf8); background: rgba(56, 189, 248, 0.06); }
.cw-radio-option input[type="radio"] { accent-color: var(--accent, #38bdf8); margin: 0; }

.cw-radio-card {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 12px 14px; border-radius: 8px; cursor: pointer;
  border: 1px solid var(--border-subtle, #2a2f3a);
  transition: border-color 0.15s, background 0.15s;
}
.cw-radio-card:hover { border-color: var(--accent, #38bdf8); }
.cw-radio-card.selected { border-color: var(--accent, #38bdf8); background: rgba(56, 189, 248, 0.06); }
.cw-radio-card input[type="radio"] { margin-top: 2px; accent-color: var(--accent, #38bdf8); flex-shrink: 0; }
.cw-radio-card-title { font-size: 13px; font-weight: 600; color: var(--text-main, #e5e7eb); }
.cw-radio-card-desc { font-size: 11px; color: var(--text-soft, #9ca3af); margin-top: 2px; line-height: 1.4; }

.cw-cdd-hint { font-size: 11px; color: var(--text-soft, #9ca3af); margin: 4px 0 0; line-height: 1.4; }

.cw-reliance-detail {
  margin-top: 12px; padding: 12px; border-radius: 8px;
  border: 1px solid var(--border-subtle, #2a2f3a);
  background: rgba(56, 189, 248, 0.04);
}
.cw-reliance-note {
  font-size: 11px; color: var(--accent-blue, #60a5fa); margin: 8px 0 0;
  display: flex; align-items: center; gap: 4px;
}
.cw-reliance-note svg { width: 14px; height: 14px; flex-shrink: 0; }

/* Light theme overrides for radio components */
[data-theme="light"] .cw-radio-option { border-color: #d1d5db; color: #111827; }
[data-theme="light"] .cw-radio-option:hover { border-color: #2563eb; }
[data-theme="light"] .cw-radio-option.selected { border-color: #2563eb; background: rgba(37, 99, 235, 0.04); }
[data-theme="light"] .cw-radio-card { border-color: #d1d5db; }
[data-theme="light"] .cw-radio-card:hover { border-color: #2563eb; }
[data-theme="light"] .cw-radio-card.selected { border-color: #2563eb; background: rgba(37, 99, 235, 0.04); }
[data-theme="light"] .cw-radio-card-title { color: #111827; }
[data-theme="light"] .cw-reliance-detail { border-color: #d1d5db; background: rgba(37, 99, 235, 0.03); }
[data-theme="light"] .cw-reliance-note { color: #2563eb; }


.cw-matter-match {
  display: flex;
  gap: 12px;
  padding: 12px 14px;
  background: rgba(56, 189, 248, 0.04);
  border: 1px solid rgba(56, 189, 248, 0.15);
  border-radius: 8px;
  margin-top: 12px;
}
.cw-matter-match svg { width: 20px; height: 20px; flex-shrink: 0; color: #60a5fa; margin-top: 2px; }

.cw-nature-field textarea.compliance-form-input {
  resize: vertical;
  min-height: 48px;
}

/* Phase 6: Light theme overrides */
[data-theme="light"] .cw-entry-btn {
  background: #fff;
  border-color: #e5e7eb;
  color: #1f2937;
}
[data-theme="light"] .cw-entry-btn:hover {
  border-color: #3b82f6;
  background: rgba(59, 130, 246, 0.04);
}
[data-theme="light"] .cw-entry-btn svg { color: #3b82f6; }
[data-theme="light"] .cw-entry-btn-desc { color: #6b7280; }
[data-theme="light"] .cw-typeahead-dropdown {
  background: #fff;
  border-color: #e5e7eb;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}
[data-theme="light"] .cw-typeahead-item:hover { background: rgba(59, 130, 246, 0.06); }
[data-theme="light"] .cw-role-check { color: #1f2937; }
[data-theme="light"] .cw-role-check input[type="checkbox"] { accent-color: #3b82f6; }
[data-theme="light"] .cw-external-section {
  background: rgba(251, 191, 36, 0.04);
  border-color: rgba(251, 191, 36, 0.2);
}
[data-theme="light"] .cw-rex-toggle { color: #3b82f6; }
[data-theme="light"] .cw-rex-unavailable {
  color: #b45309;
  background: rgba(251, 191, 36, 0.06);
  border-color: rgba(251, 191, 36, 0.2);
}
[data-theme="light"] .cw-matter-match {
  background: rgba(59, 130, 246, 0.04);
  border-color: rgba(59, 130, 246, 0.2);
}
[data-theme="light"] .cw-matter-match svg { color: #3b82f6; }

/* Phase 6: Primary entry button (Property Sale CDD) */
.cw-entry-btn-primary {
  border-color: var(--accent, #38bdf8);
  background: rgba(56, 189, 248, 0.04);
  position: relative;
}
.cw-entry-btn-primary:hover {
  border-color: var(--accent, #38bdf8);
  background: rgba(56, 189, 248, 0.10);
}
.cw-entry-btn-badge {
  font-size: 10px;
  font-weight: 600;
  color: var(--accent, #38bdf8);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
[data-theme="light"] .cw-entry-btn-primary {
  border-color: #3b82f6;
  background: rgba(59, 130, 246, 0.03);
}
[data-theme="light"] .cw-entry-btn-primary:hover {
  border-color: #3b82f6;
  background: rgba(59, 130, 246, 0.07);
}
[data-theme="light"] .cw-entry-btn-badge {
  color: #3b82f6;
}
.compliance-modal-close svg { width: 20px; height: 20px; }
[data-theme="light"] .compliance-modal-close { color: #6b7280; }
[data-theme="light"] .compliance-modal-close:hover { color: #111827; }


/* ===== Phase 7b: CDD Arrangements Settings ===== */

/* Settings header */
.ca-settings-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-color, rgba(255,255,255,0.08));
}
.ca-settings-title {
  font-size: 16px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-primary, #e2e8f0);
}
.ca-settings-btn {
  padding: 6px 10px !important;
  min-width: auto !important;
}

/* Settings layout */
.ca-settings-layout {
  display: flex;
  gap: 16px;
  min-height: 500px;
}
.ca-settings-sidebar {
  width: 200px;
  flex-shrink: 0;
  border-right: 1px solid var(--border-color, rgba(255,255,255,0.08));
  padding-right: 16px;
}
.ca-sidebar-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 13px;
  color: var(--text-secondary, #94a3b8);
  cursor: pointer;
  transition: background 0.15s;
}
.ca-sidebar-item:hover {
  background: var(--bg-hover, rgba(255,255,255,0.05));
}
.ca-sidebar-active {
  background: var(--bg-active, rgba(96,165,250,0.12));
  color: var(--text-primary, #e2e8f0);
  font-weight: 500;
}
.ca-settings-content {
  flex: 1;
  min-width: 0;
}

/* List header */
.ca-list-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.ca-list-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary, #e2e8f0);
}
.ca-list-desc {
  font-size: 12px;
  color: var(--text-muted, #6b7280);
  margin-bottom: 16px;
  line-height: 1.5;
}

/* Loading / Empty */
.ca-loading {
  padding: 48px;
  text-align: center;
  color: var(--text-muted, #6b7280);
  font-size: 13px;
}
.ca-empty {
  padding: 48px;
  text-align: center;
  color: var(--text-muted, #6b7280);
}
.ca-empty-title {
  font-size: 14px;
  font-weight: 600;
  margin-top: 12px;
  color: var(--text-secondary, #94a3b8);
}
.ca-empty-desc {
  font-size: 12px;
  margin-top: 4px;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}
.ca-empty-small {
  padding: 16px;
  text-align: center;
  color: var(--text-muted, #6b7280);
  font-size: 12px;
}

/* Table */
.ca-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.ca-table th {
  text-align: left;
  padding: 8px 10px;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted, #6b7280);
  border-bottom: 1px solid var(--border-color, rgba(255,255,255,0.08));
}
.ca-table-row {
  cursor: pointer;
  transition: background 0.15s;
}
.ca-table-row:hover {
  background: var(--bg-hover, rgba(255,255,255,0.03));
}
.ca-table-row td {
  padding: 10px;
  border-bottom: 1px solid var(--border-color, rgba(255,255,255,0.05));
  color: var(--text-primary, #e2e8f0);
}
.ca-td-name {
  font-weight: 500;
}
.ca-view-btn {
  font-size: 11px !important;
  padding: 3px 10px !important;
}

/* Status badges */
.ca-status-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
}
.ca-badge-draft {
  background: rgba(245,158,11,0.15);
  color: #f59e0b;
}
.ca-badge-active {
  background: rgba(34,197,94,0.15);
  color: #22c55e;
}
.ca-badge-suspended {
  background: rgba(239,68,68,0.15);
  color: #ef4444;
}
.ca-badge-terminated {
  background: rgba(107,114,128,0.15);
  color: #6b7280;
}

/* Assessment due badges */
.ca-due-badge {
  font-size: 12px;
  font-weight: 500;
  padding: 1px 6px;
  border-radius: 3px;
}
.ca-due-overdue {
  background: rgba(239,68,68,0.15);
  color: #ef4444;
}
.ca-due-soon {
  background: rgba(245,158,11,0.15);
  color: #f59e0b;
}

/* Form */
.ca-form-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.ca-form-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary, #e2e8f0);
}
.ca-form-body {
  max-width: 680px;
}
.ca-form-section {
  margin-bottom: 14px;
}
.ca-form-label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary, #94a3b8);
  margin-bottom: 4px;
}
.ca-required {
  color: #ef4444;
}
.ca-form-input, .ca-form-select, .ca-form-textarea {
  width: 100%;
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid var(--border-color, rgba(255,255,255,0.12));
  background: var(--bg-secondary, rgba(255,255,255,0.04));
  color: var(--text-primary, #e2e8f0);
  font-size: 13px;
  font-family: 'DM Sans', sans-serif;
  box-sizing: border-box;
}
.ca-form-input:focus, .ca-form-select:focus, .ca-form-textarea:focus {
  outline: none;
  border-color: #60a5fa;
  box-shadow: 0 0 0 2px rgba(96,165,250,0.15);
}
.ca-form-textarea {
  resize: vertical;
  min-height: 60px;
}
.ca-form-radio-group {
  display: flex;
  gap: 20px;
}
.ca-form-radio {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text-primary, #e2e8f0);
  cursor: pointer;
}
.ca-form-hint {
  font-size: 11px;
  color: var(--text-muted, #6b7280);
}
.ca-form-row {
  display: flex;
  gap: 12px;
}
.ca-form-flex {
  flex: 1;
}
.ca-form-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--border-color, rgba(255,255,255,0.08));
}

/* Detail card */
.ca-detail-card {
  background: var(--bg-secondary, rgba(255,255,255,0.03));
  border-radius: 8px;
  padding: 16px;
  border: 1px solid var(--border-color, rgba(255,255,255,0.08));
}
.ca-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 12px;
}
.ca-detail-field {
  min-width: 0;
}
.ca-detail-label {
  font-size: 11px;
  color: var(--text-muted, #6b7280);
  margin-bottom: 2px;
}
.ca-detail-value {
  font-size: 13px;
  color: var(--text-primary, #e2e8f0);
  word-break: break-word;
}
.ca-detail-section {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border-color, rgba(255,255,255,0.06));
}
.ca-detail-section-title {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary, #94a3b8);
  margin-bottom: 4px;
}
.ca-detail-text {
  font-size: 13px;
  color: var(--text-primary, #e2e8f0);
  line-height: 1.5;
  white-space: pre-wrap;
}

/* Actions bar */
.ca-actions-bar {
  display: flex;
  gap: 8px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.compliance-btn-warning {
  background: rgba(245,158,11,0.15) !important;
  color: #f59e0b !important;
  border-color: rgba(245,158,11,0.3) !important;
}
.compliance-btn-warning:hover {
  background: rgba(245,158,11,0.25) !important;
}
.compliance-btn-danger {
  background: rgba(239,68,68,0.15) !important;
  color: #ef4444 !important;
  border-color: rgba(239,68,68,0.3) !important;
}
.compliance-btn-danger:hover {
  background: rgba(239,68,68,0.25) !important;
}

/* Assessment form */
.ca-assess-form {
  margin-top: 16px;
  padding: 16px;
  background: var(--bg-secondary, rgba(255,255,255,0.03));
  border-radius: 8px;
  border: 1px solid var(--border-color, rgba(255,255,255,0.08));
}

/* Section title */
.ca-section-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary, #e2e8f0);
  margin-bottom: 12px;
}

/* Timeline */
.ca-timeline {
  position: relative;
  padding-left: 20px;
}
.ca-timeline::before {
  content: '';
  position: absolute;
  left: 6px;
  top: 4px;
  bottom: 4px;
  width: 2px;
  background: var(--border-color, rgba(255,255,255,0.08));
}
.ca-timeline-item {
  position: relative;
  margin-bottom: 16px;
  padding-left: 12px;
}
.ca-tl-dot {
  position: absolute;
  left: -20px;
  top: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid;
}
.ca-tl-ok {
  border-color: #22c55e;
  background: rgba(34,197,94,0.3);
}
.ca-tl-fail {
  border-color: #ef4444;
  background: rgba(239,68,68,0.3);
}
.ca-tl-review {
  border-color: #f59e0b;
  background: rgba(245,158,11,0.3);
}
.ca-tl-header {
  display: flex;
  gap: 8px;
  align-items: baseline;
}
.ca-tl-outcome {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-primary, #e2e8f0);
}
.ca-tl-date {
  font-size: 11px;
  color: var(--text-muted, #6b7280);
}
.ca-tl-who {
  font-size: 11px;
  color: var(--text-muted, #6b7280);
  margin-top: 2px;
}
.ca-tl-findings {
  font-size: 12px;
  color: var(--text-secondary, #94a3b8);
  margin-top: 4px;
  line-height: 1.4;
}

/* ===== Light theme overrides ===== */
[data-theme="light"] .ca-settings-title,
[data-theme="light"] .ca-list-title,
[data-theme="light"] .ca-form-title,
[data-theme="light"] .ca-section-title {
  color: #1e293b;
}
[data-theme="light"] .ca-sidebar-item {
  color: #64748b;
}
[data-theme="light"] .ca-sidebar-active {
  background: rgba(59,130,246,0.1);
  color: #1e293b;
}
[data-theme="light"] .ca-settings-sidebar {
  border-right-color: #e5e7eb;
}
/* ── AML Risk Settings (Phase 7) ── */
.aml-austrac-banner {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 8px;
  background: rgba(234, 179, 8, 0.08);
  border: 1px solid rgba(234, 179, 8, 0.25);
  color: var(--text-primary, #e2e8f0);
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 16px;
}
.aml-austrac-banner svg { flex-shrink: 0; margin-top: 2px; color: #eab308; }
.aml-custom-badge {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 4px;
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
  font-size: 11px;
  font-weight: 600;
  margin-left: 4px;
}
.aml-action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-color, rgba(255,255,255,0.08));
}
.aml-action-left { font-size: 12px; color: var(--text-secondary, #94a3b8); }
.aml-action-right { display: flex; gap: 8px; align-items: center; }
.aml-reset-btn { color: #f87171 !important; }
.aml-category {
  margin-bottom: 20px;
  border: 1px solid var(--border-color, rgba(255,255,255,0.08));
  border-radius: 8px;
  overflow: hidden;
}
.aml-cat-header {
  padding: 12px 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary, #e2e8f0);
  background: var(--bg-elevated, rgba(255,255,255,0.03));
  border-bottom: 1px solid var(--border-color, rgba(255,255,255,0.08));
}
.aml-factor-grid { font-size: 12px; }
.aml-factor-row {
  display: grid;
  grid-template-columns: 36px 1fr 60px 72px 64px 80px;
  align-items: center;
  padding: 6px 14px;
  border-bottom: 1px solid var(--border-color, rgba(255,255,255,0.04));
}
.aml-factor-row:last-child { border-bottom: none; }
.aml-factor-header-row {
  font-weight: 600;
  color: var(--text-secondary, #94a3b8);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  background: var(--bg-elevated, rgba(255,255,255,0.02));
  padding: 8px 14px;
}
.aml-row-locked { opacity: 0.6; }
.aml-row-edited { background: rgba(96, 165, 250, 0.06); }
.aml-col-id { font-weight: 600; color: var(--text-secondary, #94a3b8); }
.aml-col-label { color: var(--text-primary, #e2e8f0); padding-right: 8px; }
.aml-col-default { text-align: center; color: var(--text-secondary, #94a3b8); }
.aml-col-weight { text-align: center; }
.aml-col-range { text-align: center; color: var(--text-secondary, #94a3b8); font-size: 11px; }
.aml-col-delta { text-align: center; }
.aml-weight-input {
  width: 52px;
  padding: 3px 4px;
  border: 1px solid var(--border-color, rgba(255,255,255,0.15));
  border-radius: 4px;
  background: var(--bg-input, rgba(255,255,255,0.06));
  color: var(--text-primary, #e2e8f0);
  text-align: center;
  font-size: 12px;
  font-family: inherit;
}
.aml-weight-input:focus {
  outline: none;
  border-color: #60a5fa;
  box-shadow: 0 0 0 2px rgba(96,165,250,0.2);
}
.aml-delta-badge {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
}
.aml-delta-harder { background: rgba(34,197,94,0.12); color: #4ade80; }
.aml-delta-softer { background: rgba(248,113,113,0.12); color: #f87171; }
.aml-delta-default { background: rgba(148,163,184,0.1); color: var(--text-secondary, #94a3b8); }
.aml-lock-badge { vertical-align: middle; opacity: 0.5; }
.aml-baseline-badge {
  display: inline-block;
  padding: 0 4px;
  border-radius: 3px;
  background: rgba(148,163,184,0.1);
  color: var(--text-secondary, #94a3b8);
  font-size: 10px;
  font-weight: 500;
  vertical-align: middle;
}
.aml-lock-label { font-size: 11px; color: var(--text-secondary, #94a3b8); }
.aml-locked-section {
  margin-top: 20px;
  padding: 14px;
  border-radius: 8px;
  background: var(--bg-elevated, rgba(255,255,255,0.02));
  border: 1px solid var(--border-color, rgba(255,255,255,0.08));
}
.aml-locked-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary, #e2e8f0);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.aml-locked-desc { font-size: 12px; color: var(--text-secondary, #94a3b8); margin-bottom: 10px; line-height: 1.5; }
.aml-locked-list { font-size: 12px; color: var(--text-primary, #e2e8f0); }
.aml-locked-item { padding: 4px 0; }

/* ── Light theme overrides ── */
[data-theme="light"] .aml-austrac-banner { background: rgba(234,179,8,0.06); border-color: rgba(234,179,8,0.3); color: #1e293b; }
[data-theme="light"] .aml-delta-harder { background: rgba(22,163,74,0.1); color: #16a34a; }
[data-theme="light"] .aml-delta-softer { background: rgba(220,38,38,0.08); color: #dc2626; }
[data-theme="light"] .aml-weight-input { background: #fff; border-color: #d1d5db; color: #1e293b; }
[data-theme="light"] .aml-custom-badge { background: rgba(37,99,235,0.1); color: #2563eb; }
[data-theme="light"] .aml-col-label { color: #1e293b; }
[data-theme="light"] .aml-col-id { color: #475569; }
[data-theme="light"] .aml-col-default { color: #64748b; }
[data-theme="light"] .aml-col-range { color: #64748b; }
[data-theme="light"] .aml-cat-header { color: #1e293b; background: #f8fafc; border-color: #e2e8f0; }
[data-theme="light"] .aml-factor-row { border-color: #f1f5f9; }
[data-theme="light"] .aml-factor-header-row { color: #64748b; background: #f8fafc; }
[data-theme="light"] .aml-category { border-color: #e2e8f0; }
[data-theme="light"] .aml-action-bar { border-color: #e2e8f0; color: #1e293b; }
[data-theme="light"] .aml-locked-section { background: #f8fafc; border-color: #e2e8f0; }
[data-theme="light"] .aml-locked-title { color: #1e293b; }
[data-theme="light"] .aml-locked-desc { color: #64748b; }
[data-theme="light"] .aml-locked-list { color: #1e293b; }
[data-theme="light"] .aml-row-locked { opacity: 0.55; }
[data-theme="light"] .aml-baseline-badge { background: rgba(100,116,139,0.1); color: #64748b; }
[data-theme="light"] .aml-lock-label { color: #94a3b8; }
[data-theme="light"] .aml-delta-default { background: rgba(100,116,139,0.08); color: #64748b; }

/* ── Risk Override Modal (Phase 9) ── */
.risk-override-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s;
}
.risk-override-overlay.active { opacity: 1; }
.risk-override-modal {
  background: var(--bg-primary, #1a2332);
  border: 1px solid var(--border-color, rgba(255,255,255,0.1));
  border-radius: 12px;
  width: 580px;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.risk-override-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-color, rgba(255,255,255,0.08));
}
.risk-override-modal-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary, #e2e8f0);
  display: flex;
  align-items: center;
  gap: 8px;
}
.risk-override-modal-body {
  padding: 16px 20px;
  overflow-y: auto;
  flex: 1;
}
.risk-override-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 20px;
  border-top: 1px solid var(--border-color, rgba(255,255,255,0.08));
}
.risk-override-warning {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 6px;
  background: rgba(234,179,8,0.08);
  border: 1px solid rgba(234,179,8,0.2);
  color: var(--text-primary, #e2e8f0);
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 16px;
}
.risk-override-warning svg { flex-shrink: 0; margin-top: 1px; color: #eab308; }
.risk-override-field { margin-bottom: 14px; }
.risk-override-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary, #e2e8f0);
  margin-bottom: 4px;
}
.risk-override-hint { font-weight: 400; color: var(--text-secondary, #94a3b8); }
.risk-override-input {
  width: 100%;
  padding: 7px 10px;
  border: 1px solid var(--border-color, rgba(255,255,255,0.15));
  border-radius: 6px;
  background: var(--bg-input, rgba(255,255,255,0.06));
  color: var(--text-primary, #e2e8f0);
  font-size: 13px;
  font-family: inherit;
}
.risk-override-input:focus { outline: none; border-color: #60a5fa; box-shadow: 0 0 0 2px rgba(96,165,250,0.2); }
.risk-override-textarea {
  width: 100%;
  padding: 7px 10px;
  border: 1px solid var(--border-color, rgba(255,255,255,0.15));
  border-radius: 6px;
  background: var(--bg-input, rgba(255,255,255,0.06));
  color: var(--text-primary, #e2e8f0);
  font-size: 13px;
  font-family: inherit;
  resize: vertical;
}
.risk-override-textarea:focus { outline: none; border-color: #60a5fa; box-shadow: 0 0 0 2px rgba(96,165,250,0.2); }
.risk-override-radio-row {
  display: flex;
  gap: 16px;
  margin: 4px 0 6px;
  font-size: 13px;
  color: var(--text-primary, #e2e8f0);
}
.risk-override-radio-row label { display: flex; align-items: center; gap: 4px; cursor: pointer; }

/* Light theme */
[data-theme="light"] .risk-override-modal { background: #ffffff; border-color: #e2e8f0; box-shadow: 0 20px 60px rgba(0,0,0,0.15); }
[data-theme="light"] .risk-override-modal-header { border-color: #e2e8f0; }
[data-theme="light"] .risk-override-modal-title { color: #1e293b; }
[data-theme="light"] .risk-override-modal-footer { border-color: #e2e8f0; }
[data-theme="light"] .risk-override-warning { background: rgba(234,179,8,0.06); border-color: rgba(234,179,8,0.3); color: #1e293b; }
[data-theme="light"] .risk-override-label { color: #1e293b; }
[data-theme="light"] .risk-override-hint { color: #64748b; }
[data-theme="light"] .risk-override-input { background: #fff; border-color: #d1d5db; color: #1e293b; }
[data-theme="light"] .risk-override-textarea { background: #fff; border-color: #d1d5db; color: #1e293b; }
[data-theme="light"] .risk-override-radio-row { color: #1e293b; }
[data-theme="light"] .risk-override-overlay { background: rgba(0,0,0,0.4); }
.risk-override-input option { background: var(--bg-primary, #1a2332); color: var(--text-primary, #e2e8f0); }
.risk-override-modal select.risk-override-input { appearance: auto; -webkit-appearance: auto; }
[data-theme="light"] .risk-override-input option { background: #fff; color: #1e293b; }

/* Light theme: Assessment history override rationale */
/* ── Light theme: Risk tab core components ── */
[data-theme="light"] .risk-score-number { color: #111827; }
[data-theme="light"] .risk-score-max { color: #9ca3af; }
[data-theme="light"] .risk-cdd-label { color: #374151; }
[data-theme="light"] .risk-version-label { color: #9ca3af; }
[data-theme="light"] .risk-score-ring { background: #ffffff; }
[data-theme="light"] .risk-breakdown-section,
[data-theme="light"] .risk-history-section { background: #ffffff; border-color: #e2e8f0; }
[data-theme="light"] .risk-section-title { color: #475569; }
[data-theme="light"] .risk-cat-header { color: #1e293b; }
[data-theme="light"] .risk-cat-header:hover { background: rgba(0,0,0,0.02); }
[data-theme="light"] .risk-cat-name { color: #374151; }
[data-theme="light"] .risk-cat-letter { color: #475569; }
[data-theme="light"] .risk-cat-chevron { color: #9ca3af; }
[data-theme="light"] .risk-factor-row { color: #6b7280; }
[data-theme="light"] .risk-factor-row.applied { color: #374151; }
[data-theme="light"] .risk-factor-id { color: #9ca3af; }
[data-theme="light"] .risk-factor-reason { color: #6b7280; }
[data-theme="light"] .risk-factor-weight { color: #111827; }
[data-theme="light"] .risk-fatf-stamp { color: #9ca3af; }
[data-theme="light"] .risk-history-card { border-color: #e2e8f0; }
[data-theme="light"] .risk-history-header { color: #1e293b; }
[data-theme="light"] .risk-history-date { color: #64748b; }
[data-theme="light"] .risk-history-section { color: #1e293b; }
[data-theme="light"] .risk-section-title { color: #475569; }
[data-theme="light"] .risk-override-badge { background: rgba(234,88,12,0.1); color: #ea580c; }
[data-theme="light"] .risk-system-badge { background: rgba(34,197,94,0.1); color: #16a34a; }

[data-theme="light"] .ca-settings-header {
  border-bottom-color: #e5e7eb;
}
[data-theme="light"] .ca-table th {
  color: #64748b;
  border-bottom-color: #e5e7eb;
}
[data-theme="light"] .ca-table-row td {
  color: #1e293b;
  border-bottom-color: #f1f5f9;
}
[data-theme="light"] .ca-table-row:hover {
  background: #f8fafc;
}
[data-theme="light"] .ca-form-input,
[data-theme="light"] .ca-form-select,
[data-theme="light"] .ca-form-textarea {
  background: #fff;
  border-color: #d1d5db;
  color: #1e293b;
}
[data-theme="light"] .ca-form-label {
  color: #475569;
}
[data-theme="light"] .ca-form-radio {
  color: #1e293b;
}
[data-theme="light"] .ca-detail-card {
  background: #f8fafc;
  border-color: #e5e7eb;
}
[data-theme="light"] .ca-detail-value,
[data-theme="light"] .ca-tl-outcome {
  color: #1e293b;
}
[data-theme="light"] .ca-detail-label,
[data-theme="light"] .ca-tl-date,
[data-theme="light"] .ca-tl-who {
  color: #64748b;
}
[data-theme="light"] .ca-tl-findings,
[data-theme="light"] .ca-detail-section-title {
  color: #475569;
}
[data-theme="light"] .ca-detail-text {
  color: #1e293b;
}
[data-theme="light"] .ca-assess-form {
  background: #f8fafc;
  border-color: #e5e7eb;
}
[data-theme="light"] .ca-timeline::before {
  background: #e5e7eb;
}
[data-theme="light"] .ca-form-actions {
  border-top-color: #e5e7eb;
}
[data-theme="light"] .ca-detail-section {
  border-top-color: #e5e7eb;
}
[data-theme="light"] .ca-actions-bar {
  border-color: #e5e7eb;
}
[data-theme="light"] .ca-badge-draft {
  background: rgba(245,158,11,0.12);
  color: #b45309;
}
[data-theme="light"] .ca-badge-active {
  background: rgba(34,197,94,0.12);
  color: #15803d;
}
[data-theme="light"] .ca-badge-suspended {
  background: rgba(239,68,68,0.12);
  color: #dc2626;
}
[data-theme="light"] .ca-badge-terminated {
  background: rgba(107,114,128,0.12);
  color: #4b5563;
}

/* ===== Phase 8: CDD Reliance Modal + Badges ===== */
.cr-badge { display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;margin-left:6px;white-space:nowrap; }
.cr-badge svg { width:12px;height:12px; }
.cr-badge-37a { background:rgba(59,130,246,0.15);color:#3b82f6; }
.cr-badge-38 { background:rgba(245,158,11,0.15);color:#f59e0b; }
.cr-badge-partial { background:linear-gradient(135deg,rgba(59,130,246,0.15) 50%,rgba(245,158,11,0.15) 50%);color:#3b82f6; }
.cr-element-table { width:100%;border-collapse:collapse;font-size:13px;margin-bottom:16px; }
.cr-element-table thead th { text-align:left;padding:8px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;color:var(--dm-text-secondary,#8b95a5);border-bottom:1px solid var(--dm-border,#2a3441); }
.cr-element-row td { padding:10px;border-bottom:1px solid var(--dm-border,#2a3441);vertical-align:middle; }
.cr-element-row.cr-row-expanded td { border-bottom:none;background:rgba(59,130,246,0.04); }
.cr-el-name { font-weight:500;color:var(--dm-text-primary,#f0f2f5); }
.cr-el-actions { white-space:nowrap; }
.cr-source-badge { display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600; }
.cr-source-pending { background:rgba(107,114,128,0.2);color:#8b95a5; }
.cr-source-direct { background:rgba(16,185,129,0.15);color:#10b981; }
.cr-source-reliance-37a { background:rgba(59,130,246,0.15);color:#3b82f6; }
.cr-source-reliance-38 { background:rgba(245,158,11,0.15);color:#f59e0b; }
.cr-source-na { background:rgba(107,114,128,0.12);color:#6b7280; }
.cr-source-detail { font-size:11px;color:var(--dm-text-secondary,#8b95a5);margin-top:2px; }
.cr-action-btn { padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500;border:1px solid var(--dm-border,#2a3441);background:transparent;color:var(--dm-text-primary,#f0f2f5);cursor:pointer;margin-right:4px;transition:all 0.15s; }
.cr-action-btn:hover { background:rgba(255,255,255,0.06); }
.cr-btn-direct { border-color:#10b981;color:#10b981; }
.cr-btn-direct:hover { background:rgba(16,185,129,0.12); }
.cr-btn-reliance { border-color:#3b82f6;color:#3b82f6; }
.cr-btn-reliance:hover { background:rgba(59,130,246,0.12); }
.cr-btn-change { border-color:#8b95a5; }
.cr-btn-remove { border-color:#ef4444;color:#ef4444; }
.cr-btn-remove:hover { background:rgba(239,68,68,0.12); }
.cr-readonly { font-size:11px;color:var(--dm-text-secondary,#8b95a5);font-style:italic; }
.cr-expand-row td { padding:0 10px 14px;background:rgba(59,130,246,0.04);border-bottom:1px solid var(--dm-border,#2a3441); }
.cr-expand-content { border-radius:8px;background:var(--dm-bg-secondary,#1a2332);padding:14px; }
.cr-tab-bar { display:flex;gap:0;margin-bottom:14px;border-bottom:1px solid var(--dm-border,#2a3441); }
.cr-tab { padding:8px 16px;font-size:12px;font-weight:500;border:none;background:transparent;color:var(--dm-text-secondary,#8b95a5);cursor:pointer;border-bottom:2px solid transparent;transition:all 0.15s; }
.cr-tab:hover { color:var(--dm-text-primary,#f0f2f5); }
.cr-tab-active { color:#3b82f6;border-bottom-color:#3b82f6; }
.cr-tab-content { padding:4px 0; }
.cr-field-label { display:block;font-size:12px;font-weight:500;color:var(--dm-text-secondary,#8b95a5);margin-bottom:4px; }
.cr-field-select,.cr-field-input,.cr-field-textarea { width:100%;padding:8px 10px;font-size:13px;border:1px solid var(--dm-border,#2a3441);border-radius:6px;background:var(--dm-bg-primary,#0f1923);color:var(--dm-text-primary,#f0f2f5);font-family:'DM Sans',sans-serif;box-sizing:border-box; }
.cr-field-select:focus,.cr-field-input:focus,.cr-field-textarea:focus { outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,0.2); }
.cr-field-textarea { resize:vertical;min-height:80px; }
.cr-char-count { font-size:11px;color:#f59e0b;margin-top:4px; }
.cr-char-count.cr-char-ok { color:#10b981; }
.cr-no-arrangements { padding:12px;font-size:13px;color:var(--dm-text-secondary,#8b95a5);background:rgba(245,158,11,0.08);border-radius:6px; }
.cr-no-arrangements a { color:#3b82f6;text-decoration:underline; }
.cr-upload-result { margin-top:16px;padding:14px;background:rgba(16,185,129,0.08);border:1px solid rgba(16,185,129,0.2);border-radius:8px; }
.cr-upload-result-title { font-size:13px;font-weight:600;color:#10b981;margin-bottom:8px;display:flex;align-items:center;gap:6px; }
.cr-upload-result-title svg { width:16px;height:16px; }
.cr-upload-url-box { padding:8px 12px;background:var(--dm-bg-primary,#0f1923);border-radius:6px;font-family:monospace;font-size:11px;color:var(--dm-text-primary,#f0f2f5);word-break:break-all;cursor:pointer; }
.cr-upload-url-box:hover { background:rgba(59,130,246,0.08); }
.cr-upload-expiry { font-size:11px;color:var(--dm-text-secondary,#8b95a5);margin-top:6px; }
.cr-approved-banner { padding:10px 14px;background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.2);border-radius:8px;color:#10b981;font-size:13px;font-weight:500;margin-bottom:14px;display:flex;align-items:center;gap:6px; }
.cr-approved-banner svg { width:16px;height:16px; }
.cr-tree-link { display:inline-flex;align-items:center;margin-left:4px;color:#3b82f6; }
.cr-tree-link svg { width:12px;height:12px; }
.cr-drawer-source { font-size:12px;color:var(--dm-text-secondary,#8b95a5);padding:4px 0;display:flex;align-items:center;gap:6px; }
.cr-drawer-source-badge { padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600; }
.cr-qa-btn { display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;font-size:12px;font-weight:500;border:1px solid #3b82f6;border-radius:6px;background:rgba(59,130,246,0.08);color:#3b82f6;cursor:pointer;font-family:'DM Sans',sans-serif;margin-bottom:6px;transition:all 0.15s; }
.cr-qa-btn:hover { background:rgba(59,130,246,0.16); }
.cr-qa-btn svg { width:14px;height:14px; }
/* Phase 8 Light Theme */
[data-theme="light"] .cr-badge-37a { background:rgba(59,130,246,0.12);color:#2563eb; }
[data-theme="light"] .cr-badge-38 { background:rgba(245,158,11,0.12);color:#d97706; }
[data-theme="light"] .cr-badge-partial { background:linear-gradient(135deg,rgba(59,130,246,0.12) 50%,rgba(245,158,11,0.12) 50%);color:#2563eb; }
[data-theme="light"] .cr-element-table thead th { color:#6b7280;border-bottom-color:#e5e7eb; }
[data-theme="light"] .cr-element-row td { border-bottom-color:#e5e7eb; }
[data-theme="light"] .cr-element-row.cr-row-expanded td { background:rgba(59,130,246,0.03); }
[data-theme="light"] .cr-el-name { color:#111827; }
[data-theme="light"] .cr-action-btn { border-color:#d1d5db;color:#374151; }
[data-theme="light"] .cr-action-btn:hover { background:rgba(0,0,0,0.04); }
[data-theme="light"] .cr-btn-direct { border-color:#10b981;color:#059669; }
[data-theme="light"] .cr-btn-reliance { border-color:#3b82f6;color:#2563eb; }
[data-theme="light"] .cr-btn-remove { border-color:#ef4444;color:#dc2626; }
[data-theme="light"] .cr-expand-row td { background:rgba(59,130,246,0.03);border-bottom-color:#e5e7eb; }
[data-theme="light"] .cr-expand-content { background:#f9fafb; }
[data-theme="light"] .cr-tab-bar { border-bottom-color:#e5e7eb; }
[data-theme="light"] .cr-tab { color:#6b7280; }
[data-theme="light"] .cr-tab:hover { color:#111827; }
[data-theme="light"] .cr-field-select,[data-theme="light"] .cr-field-input,[data-theme="light"] .cr-field-textarea { border-color:#d1d5db;background:#ffffff;color:#111827; }
[data-theme="light"] .cr-upload-url-box { background:#f3f4f6;color:#111827; }
[data-theme="light"] .cr-upload-url-box:hover { background:rgba(59,130,246,0.06); }
[data-theme="light"] .cr-no-arrangements { background:rgba(245,158,11,0.06); }
[data-theme="light"] .cr-source-pending { background:rgba(107,114,128,0.1);color:#6b7280; }
/* Phase 8 fix: tab descriptions */
.cr-tab-desc {
  font-size: 12px; color: var(--dm-text-secondary, #8b95a5);
  padding: 0 0 10px 0; line-height: 1.5; font-style: italic;
}
[data-theme="light"] .cr-tab-desc { color: #6b7280; }

/* Phase 8 UX: workflow hints and guidance */
.cr-hint { font-size: 11px; margin-top: 3px; color: var(--dm-text-secondary, #8b95a5); }
.cr-hint-warn { color: #f59e0b; }
.cr-hint-ok { color: #10b981; }
.cr-hint-done { color: #10b981; font-weight: 500; }
.cr-guidance-banner {
  padding: 12px 16px; border-radius: 8px; margin-bottom: 14px;
  border: 1px solid; font-size: 13px; line-height: 1.5;
}
.cr-guidance-title { font-weight: 600; margin-bottom: 4px; }
.cr-guidance-action {
  background: rgba(245,158,11,0.08); border-color: rgba(245,158,11,0.2);
  color: var(--dm-text-primary, #f0f2f5);
}
.cr-guidance-action .cr-guidance-title { color: #f59e0b; }
.cr-guidance-ready {
  background: rgba(16,185,129,0.08); border-color: rgba(16,185,129,0.2);
  color: var(--dm-text-primary, #f0f2f5);
}
.cr-guidance-ready .cr-guidance-title { color: #10b981; }
.cr-guidance-info {
  background: rgba(59,130,246,0.08); border-color: rgba(59,130,246,0.2);
  color: var(--dm-text-primary, #f0f2f5);
}
.cr-guidance-info .cr-guidance-title { color: #3b82f6; }
.cr-guidance-text strong { font-weight: 600; }
[data-theme="light"] .cr-guidance-action { background: rgba(245,158,11,0.06); }
[data-theme="light"] .cr-guidance-ready { background: rgba(16,185,129,0.06); }
[data-theme="light"] .cr-guidance-info { background: rgba(59,130,246,0.06); }
[data-theme="light"] .cr-guidance-banner { color: #374151; }


/* ===== Phase 9 Step 4: Checks Tab ===== */
.ck-tab { display: flex; flex-direction: column; gap: 16px; }

/* IDPass Card */
.ck-idpass-card {
  background: var(--bg-card, rgba(255,255,255,0.04));
  border: 1px solid var(--border-subtle, #2a2f3a);
  border-radius: 12px; padding: 20px;
}
.ck-card-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 16px;
}
.ck-card-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 15px; font-weight: 600; color: var(--text-main, #e5e7eb);
}
.ck-card-title svg { width: 18px; height: 18px; }

/* Badges */
.ck-badge {
  display: inline-block; padding: 3px 10px; border-radius: 10px;
  font-size: 11px; font-weight: 700; text-transform: uppercase;
}
.ck-badge-pass { background: rgba(16,185,129,0.15); color: #10b981; }
.ck-badge-fail { background: rgba(239,68,68,0.15); color: #ef4444; }
.ck-badge-pending { background: rgba(245,158,11,0.15); color: #f59e0b; }
.ck-badge-active { background: rgba(59,130,246,0.15); color: #3b82f6; }

/* IDPass error/expired state */
.ck-idpass-error {
  display: flex; align-items: center; gap: 8px;
  padding: 12px 16px; border-radius: 8px; margin: 8px 0;
  background: rgba(239,68,68,0.08); color: #ef4444;
  font-size: 13px; font-weight: 500;
}

/* IDPass verified result */
.ck-idpass-result {
  margin-top: 12px; padding: 12px 16px; border-radius: 8px;
  background: rgba(16,185,129,0.06); border: 1px solid rgba(16,185,129,0.15);
}
.ck-result-row {
  display: flex; justify-content: space-between; padding: 4px 0;
  font-size: 13px;
}
.ck-result-label { color: var(--text-softer); }
.ck-result-value { color: var(--text-main, #e5e7eb); font-weight: 500; }

/* IDPass action buttons */
.ck-idpass-actions {
  display: flex; gap: 8px; margin-top: 14px;
}
.ck-idpass-empty {
  text-align: center; padding: 20px 0;
  color: var(--text-softer); font-size: 13px;
}
.ck-idpass-empty p { margin: 0 0 12px; }

/* Action buttons */
.ck-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px; border-radius: 8px; border: none;
  font-size: 13px; font-weight: 500; cursor: pointer;
  font-family: inherit; transition: all 0.15s;
}
.ck-btn svg { width: 14px; height: 14px; }
.ck-btn-primary {
  background: #3b82f6; color: #fff;
}
.ck-btn-primary:hover { background: #2563eb; }
.ck-btn-outline {
  background: transparent; color: var(--text-main, #e5e7eb);
  border: 1px solid var(--border-subtle, #374151);
}
.ck-btn-outline:hover { background: rgba(255,255,255,0.06); }
.ck-btn-danger-outline {
  background: transparent; color: #ef4444;
  border: 1px solid rgba(239,68,68,0.3);
}
.ck-btn-danger-outline:hover { background: rgba(239,68,68,0.08); }

/* Section title */
.ck-section-title {
  font-size: 14px; font-weight: 600; color: var(--text-main, #e5e7eb);
  margin: 8px 0 4px; padding-bottom: 4px;
  border-bottom: 1px solid var(--border-subtle, #2a2f3a);
}

/* Check cards */
.ck-check-card {
  padding: 14px 16px; border-radius: 10px;
  background: var(--bg-card, rgba(255,255,255,0.04));
  border: 1px solid var(--border-subtle, #2a2f3a);
}
.ck-check-header {
  display: flex; justify-content: space-between; align-items: center;
}
.ck-check-type {
  display: flex; align-items: center; gap: 6px;
  font-size: 14px; font-weight: 500; color: var(--text-main);
}
.ck-check-type svg { width: 16px; height: 16px; }
.ck-check-meta {
  font-size: 12px; color: var(--text-softer, #6b7280); margin-top: 4px;
}
.ck-check-detail {
  margin-top: 8px; padding: 8px 12px; border-radius: 6px;
  font-size: 13px; font-weight: 500;
}
.ck-death-yes { background: rgba(239,68,68,0.08); color: #ef4444; }
.ck-death-no { background: rgba(16,185,129,0.06); color: #10b981; }

/* Actions bar */
.ck-actions-bar {
  display: flex; align-items: center; gap: 12px;
  padding: 16px; border-radius: 10px;
  background: rgba(59,130,246,0.06);
  border: 1px solid rgba(59,130,246,0.15);
}
.ck-actions-hint {
  font-size: 12px; color: var(--text-softer);
}

/* Light theme */
[data-theme="light"] .ck-idpass-card { background: #fff; border-color: #e5e7eb; }
[data-theme="light"] .ck-check-card { background: #fff; border-color: #e5e7eb; }
[data-theme="light"] .ck-card-title { color: #111827; }

/* ===== Matches Tab — Light Theme ===== */
[data-theme="light"] .mt-blocking-banner {
  background: rgba(239, 68, 68, 0.06);
  border-color: rgba(239, 68, 68, 0.15);
  color: #991b1b;
}
[data-theme="light"] .mt-blocking-banner svg { color: #dc2626; }
[data-theme="light"] .mt-blocking-banner strong { color: #991b1b; }
[data-theme="light"] .mt-blocking-banner div[style*="color"] { color: #b91c1c !important; }
[data-theme="light"] .mt-resolved-banner {
  background: rgba(22, 163, 74, 0.06);
  border-color: rgba(22, 163, 74, 0.15);
  color: #166534;
}
[data-theme="light"] .mt-resolved-banner svg { color: #16a34a; }
[data-theme="light"] .mt-stat { color: #6b7280; }
[data-theme="light"] .mt-stat-num { color: #111827; }
[data-theme="light"] .mt-stat-open { color: #d97706 !important; }
[data-theme="light"] .mt-stat-investigating { color: #2563eb !important; }
[data-theme="light"] .mt-stat-resolved { color: #16a34a !important; }
[data-theme="light"] .mt-card {
  background: #ffffff;
  border-color: #e5e7eb;
}
[data-theme="light"] .mt-card:hover { border-color: #d1d5db; }
[data-theme="light"] .mt-card-open { border-left-color: #d97706; }
[data-theme="light"] .mt-card-investigating { border-left-color: #2563eb; }
[data-theme="light"] .mt-card-confirmed { border-left-color: #dc2626; }
[data-theme="light"] .mt-card-resolved { border-left-color: #16a34a; }
[data-theme="light"] .mt-card-name { color: #111827; }
[data-theme="light"] .mt-card-similarity { color: #6b7280; }
[data-theme="light"] .mt-badge-pep { background: rgba(239,68,68,0.1); color: #dc2626; }
[data-theme="light"] .mt-badge-media { background: rgba(245,158,11,0.1); color: #d97706; }
[data-theme="light"] .mt-badge-death { background: rgba(107,114,128,0.1); color: #4b5563; }
[data-theme="light"] .mt-badge-court { background: rgba(37,99,235,0.1); color: #2563eb; }
[data-theme="light"] .mt-badge-banned { background: rgba(234,88,12,0.1); color: #ea580c; }
[data-theme="light"] .mt-badge-other { background: rgba(107,114,128,0.1); color: #6b7280; }
[data-theme="light"] .mt-disp-open { background: rgba(245,158,11,0.1); color: #d97706; }
[data-theme="light"] .mt-disp-investigating { background: rgba(37,99,235,0.1); color: #2563eb; }
[data-theme="light"] .mt-disp-false-pos { background: rgba(22,163,74,0.1); color: #16a34a; }
[data-theme="light"] .mt-disp-confirmed { background: rgba(220,38,38,0.1); color: #dc2626; }
[data-theme="light"] .mt-disp-cleared { background: rgba(22,163,74,0.1); color: #16a34a; }
[data-theme="light"] .mt-card-meta { color: #6b7280; }
[data-theme="light"] .mt-card-meta strong { color: #374151; }
[data-theme="light"] .mt-detail-link { color: #4f46e5; }
[data-theme="light"] .mt-flag-pep { background: rgba(245,158,11,0.12); color: #b45309; }
[data-theme="light"] .mt-flag-sanction { background: rgba(239,68,68,0.12); color: #dc2626; }
[data-theme="light"] .mt-flag-sources { color: #6b7280; }
[data-theme="light"] .mt-card-summary { color: #4b5563; background: rgba(0,0,0,0.02); }
[data-theme="light"] .mt-current-disp { background: #f9fafb; }
[data-theme="light"] .mt-current-disp-label { color: #111827; }
[data-theme="light"] .mt-current-disp-reason { color: #6b7280; }
[data-theme="light"] .mt-current-disp-meta { color: #9ca3af; }
[data-theme="light"] .mt-current-investigating { border-left-color: #2563eb; }
[data-theme="light"] .mt-card-actions { border-top-color: #e5e7eb; }
[data-theme="light"] .mt-action-confirm { background: rgba(220,38,38,0.08); color: #dc2626; border-color: rgba(220,38,38,0.2); }
[data-theme="light"] .mt-action-confirm:hover { background: rgba(220,38,38,0.14); }
[data-theme="light"] .mt-action-confirm.active { background: #dc2626; color: #fff; }
[data-theme="light"] .mt-action-false-pos { background: rgba(22,163,74,0.08); color: #16a34a; border-color: rgba(22,163,74,0.2); }
[data-theme="light"] .mt-action-false-pos:hover { background: rgba(22,163,74,0.14); }
[data-theme="light"] .mt-action-false-pos.active { background: #16a34a; color: #fff; }
[data-theme="light"] .mt-action-investigate { color: #2563eb; border-color: rgba(37,99,235,0.3); }
[data-theme="light"] .mt-action-investigate:hover { background: rgba(37,99,235,0.06); }
[data-theme="light"] .mt-action-investigate.active { background: #2563eb; color: #fff; }
[data-theme="light"] .mt-action-cleared { color: #16a34a; border-color: rgba(22,163,74,0.3); }
[data-theme="light"] .mt-action-cleared:hover { background: rgba(22,163,74,0.06); }
[data-theme="light"] .mt-action-cleared.active { background: #16a34a; color: #fff; }
[data-theme="light"] .mt-disp-form label { color: #6b7280; }
[data-theme="light"] .mt-rationale-input {
  background: #fff; border-color: #d1d5db; color: #111827;
}
[data-theme="light"] .mt-rationale-input:focus { border-color: #6366f1; }
[data-theme="light"] .mt-disp-form select {
  background: #fff; border-color: #d1d5db; color: #111827;
}
[data-theme="light"] .mt-disp-form select:focus { border-color: #6366f1; }
[data-theme="light"] .mt-disp-form input[type="date"] {
  background: #fff; border-color: #d1d5db; color: #111827;
}
[data-theme="light"] .mt-disp-form input[type="date"]:focus { border-color: #6366f1; }
[data-theme="light"] .mt-char-count { color: #9ca3af; }
[data-theme="light"] .mt-cancel-btn { border-color: #d1d5db; color: #6b7280; }
[data-theme="light"] .mt-cancel-btn:hover { border-color: #9ca3af; color: #374151; }
[data-theme="light"] .mt-disp-form { border-top-color: #e5e7eb; }

/* ===== Timeline Tab ===== */
.tl-progress-section { margin-bottom: 24px; }
.tl-section-label { font-size: 12px; font-weight: 600; color: var(--text-softer); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 12px; }
.tl-progress-bar { display: flex; align-items: center; padding: 8px 0; }
.tl-step { display: flex; flex-direction: column; align-items: center; flex: 0 0 auto; }
.tl-step-circle {
  width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--text-softer);
  display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 700;
  color: var(--text-softer); background: transparent;
}
.tl-step-done .tl-step-circle { border-color: #4ade80; background: #4ade80; color: #000; }
.tl-step-current .tl-step-circle { border-color: var(--accent, #38bdf8); color: var(--accent, #38bdf8); }
.tl-step-label { font-size: 9px; color: inherit; margin-top: 4px; white-space: nowrap; }
.tl-step-done { color: #4ade80; }
.tl-step-current { color: var(--accent, #38bdf8); }
.tl-step-pending { color: var(--text-softer); }
.tl-step-connector { flex: 1; height: 2px; background: var(--border-subtle, #374151); min-width: 20px; margin: 0 4px; margin-bottom: 18px; }
.tl-connector-done { background: #4ade80; }

.tl-audit-section { }
.tl-empty { font-size: 13px; color: var(--text-softer, #6b7280); padding: 20px 0; }
.tl-stats { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; font-size: 12px; }
.tl-stat-total { font-weight: 600; color: var(--text-main); }
.tl-stat-cat { color: var(--text-softer, #6b7280); }

/* Event list */
.tl-events { border-left: 2px solid var(--border-subtle, #2a2f3a); margin-left: 14px; padding-left: 0; }
.tl-event { display: flex; gap: 12px; padding: 0 0 0 20px; margin-bottom: 4px; position: relative; }
.tl-event-dot {
  position: absolute; left: -9px; top: 6px;
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--dm-bg-primary, #0f1219);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.tl-event-content {
  flex: 1; padding: 8px 12px; margin-bottom: 8px;
  background: var(--dm-surface-secondary, #1a1f2e);
  border: 1px solid var(--dm-border, rgba(255,255,255,0.06));
  border-radius: 8px;
}
.tl-event-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 2px; gap: 12px; }
.tl-event-label { font-size: 13px; font-weight: 600; color: var(--text-main); }
.tl-event-time { font-size: 11px; color: var(--text-softer, #6b7280); white-space: nowrap; flex-shrink: 0; }
.tl-event-detail { font-size: 12px; color: var(--text-secondary, #8b95a5); line-height: 1.4; margin-bottom: 2px; }
.tl-event-actor { font-size: 11px; color: var(--text-softer, #6b7280); }
.tl-from { color: var(--text-softer, #6b7280); }
.tl-to { color: var(--accent, #38bdf8); font-weight: 500; }
.tl-arrow-icon { color: var(--text-softer, #6b7280); margin: 0 2px; }
.tl-reason { color: var(--text-softer, #6b7280); }

.tl-expand-btn {
  font-size: 11px; color: #6366f1; background: none; border: none;
  cursor: pointer; padding: 2px 0; margin-top: 4px; font-family: inherit;
}
.tl-expand-btn:hover { text-decoration: underline; }
.tl-event-data { display: none; margin-top: 8px; padding: 8px 10px; border-radius: 6px; background: var(--dm-bg-primary, #0f1219); }
.tl-event-data.visible { display: block; }
.tl-data-row { display: flex; gap: 8px; padding: 3px 0; font-size: 11px; border-bottom: 1px solid rgba(255,255,255,0.04); }
.tl-data-row:last-child { border-bottom: none; }
.tl-data-key { color: var(--text-softer, #6b7280); min-width: 120px; flex-shrink: 0; font-weight: 500; }
.tl-data-val { color: var(--text-main); word-break: break-all; }

.tl-load-more { text-align: center; padding: 16px 0; }
.tl-load-more-btn {
  padding: 7px 20px; border-radius: 6px; font-size: 13px; font-weight: 500;
  cursor: pointer; border: 1px solid rgba(255,255,255,0.1); background: transparent;
  color: var(--text-main); font-family: inherit; transition: all 0.15s;
}
.tl-load-more-btn:hover { border-color: rgba(255,255,255,0.2); background: rgba(255,255,255,0.03); }
.tl-load-more-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* ===== Timeline Tab — Light Theme ===== */
[data-theme="light"] .tl-section-label { color: #6b7280; }
[data-theme="light"] .tl-step-circle { border-color: #d1d5db; color: #6b7280; }
[data-theme="light"] .tl-step-done .tl-step-circle { border-color: #16a34a; background: #16a34a; color: #fff; }
[data-theme="light"] .tl-step-current .tl-step-circle { border-color: #2563eb; color: #2563eb; }
[data-theme="light"] .tl-step-done { color: #16a34a; }
[data-theme="light"] .tl-step-current { color: #2563eb; }
[data-theme="light"] .tl-step-pending { color: #9ca3af; }
[data-theme="light"] .tl-step-connector { background: #e5e7eb; }
[data-theme="light"] .tl-connector-done { background: #16a34a; }
[data-theme="light"] .tl-empty { color: #6b7280; }
[data-theme="light"] .tl-stat-total { color: #111827; }
[data-theme="light"] .tl-stat-cat { color: #6b7280; }
[data-theme="light"] .tl-events { border-left-color: #e5e7eb; }
[data-theme="light"] .tl-event-dot { background: #f9fafb; }
[data-theme="light"] .tl-event-content { background: #ffffff; border-color: #e5e7eb; }
[data-theme="light"] .tl-event-label { color: #111827; }
[data-theme="light"] .tl-event-time { color: #9ca3af; }
[data-theme="light"] .tl-event-detail { color: #4b5563; }
[data-theme="light"] .tl-event-actor { color: #9ca3af; }
[data-theme="light"] .tl-from { color: #6b7280; }
[data-theme="light"] .tl-to { color: #2563eb; }
[data-theme="light"] .tl-expand-btn { color: #4f46e5; }
[data-theme="light"] .tl-event-data { background: #f9fafb; }
[data-theme="light"] .tl-data-row { border-bottom-color: #e5e7eb; }
[data-theme="light"] .tl-data-key { color: #6b7280; }
[data-theme="light"] .tl-data-val { color: #111827; }
[data-theme="light"] .tl-load-more-btn { border-color: #d1d5db; color: #374151; }
[data-theme="light"] .tl-load-more-btn:hover { border-color: #9ca3af; background: #f9fafb; }
[data-theme="light"] .ck-check-type { color: #111827; }
[data-theme="light"] .ck-result-value { color: #111827; }
[data-theme="light"] .ck-btn-outline { color: #374151; border-color: #d1d5db; }
[data-theme="light"] .ck-btn-outline:hover { background: rgba(0,0,0,0.04); }
[data-theme="light"] .ck-section-title { color: #111827; border-color: #e5e7eb; }

/* IDPass not required - verified state */
.ck-idpass-complete {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 16px; border-radius: 10px;
  background: rgba(16,185,129,0.06); border: 1px solid rgba(16,185,129,0.18);
}
.ck-idpass-complete svg { flex-shrink: 0; margin-top: 2px; }
.ck-idpass-complete-title {
  font-size: 14px; font-weight: 600; color: #10b981; margin-bottom: 4px;
}
.ck-idpass-complete-desc {
  font-size: 13px; color: var(--text-softer);
}
.ck-link {
  color: #3b82f6; text-decoration: none; font-weight: 500;
}
.ck-link:hover { text-decoration: underline; }
[data-theme="light"] .ck-idpass-complete { background: rgba(16,185,129,0.04); border-color: rgba(16,185,129,0.2); }

/* === Step 7: Quick Action Button States === */
.cd-qa-btn-primary {
  background: rgba(99,102,241,0.15) !important;
  color: #818cf8 !important;
  border-color: rgba(99,102,241,0.3) !important;
}
.cd-qa-btn-primary:hover {
  background: rgba(99,102,241,0.25) !important;
}
.cd-qa-btn-danger {
  background: rgba(239,68,68,0.12) !important;
  color: #f87171 !important;
  border-color: rgba(239,68,68,0.25) !important;
}
.cd-qa-btn-danger:hover {
  background: rgba(239,68,68,0.2) !important;
}
.cd-qa-loading {
  opacity: 0.7;
  cursor: wait !important;
  pointer-events: none;
}
.cd-qa-divider {
  height: 1px;
  background: rgba(139,149,165,0.15);
  margin: 6px 0;
}
/* Drawer button variants */
.cd-drawer-btn-primary {
  background: rgba(99,102,241,0.15) !important;
  color: #818cf8 !important;
  border-color: rgba(99,102,241,0.3) !important;
}
.cd-drawer-btn-primary:hover {
  background: rgba(99,102,241,0.25) !important;
}
.cd-drawer-btn-danger {
  background: rgba(239,68,68,0.12) !important;
  color: #f87171 !important;
  border-color: rgba(239,68,68,0.25) !important;
}
.cd-drawer-btn-danger:hover {
  background: rgba(239,68,68,0.2) !important;
}
.cd-drawer-btn[disabled],
.cd-qa-btn[disabled] {
  opacity: 0.6;
  cursor: wait;
  pointer-events: none;
}
/* Light theme overrides */
[data-theme="light"] .cd-qa-btn-primary {
  background: rgba(99,102,241,0.08) !important;
  color: #6366f1 !important;
}
[data-theme="light"] .cd-qa-btn-danger {
  background: rgba(239,68,68,0.08) !important;
  color: #ef4444 !important;
}
[data-theme="light"] .cd-qa-divider {
  background: rgba(0,0,0,0.08);
}
[data-theme="light"] .cd-drawer-btn-primary {
  background: rgba(99,102,241,0.08) !important;
  color: #6366f1 !important;
}
[data-theme="light"] .cd-drawer-btn-danger {
  background: rgba(239,68,68,0.08) !important;
  color: #ef4444 !important;
}

/* === Step 8: Party Tree Kebab Dropdown === */
#cd-party-menu-root {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 9999;
  pointer-events: none;
}
.cd-party-menu {
  pointer-events: auto;
  background: #1e2330;
  border: 1px solid rgba(139,149,165,0.2);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
  min-width: 200px;
  padding: 4px 0;
  font-family: 'DM Sans', sans-serif;
}
.cd-pm-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 14px;
  border: none;
  background: transparent;
  color: #d1d5db;
  font-size: 13px;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s;
}
.cd-pm-item:hover {
  background: rgba(139,149,165,0.1);
}
.cd-pm-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  opacity: 0.7;
}
.cd-pm-icon svg {
  width: 14px;
  height: 14px;
}
.cd-pm-primary { color: #818cf8; }
.cd-pm-primary:hover { background: rgba(99,102,241,0.12); }
.cd-pm-danger { color: #f87171; }
.cd-pm-danger:hover { background: rgba(239,68,68,0.12); }
.cd-pm-warning { color: #fbbf24; }
.cd-pm-warning:hover { background: rgba(251,191,36,0.12); }
.cd-pm-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}
.cd-pm-divider {
  height: 1px;
  background: rgba(139,149,165,0.15);
  margin: 4px 0;
}
/* Light theme */
[data-theme="light"] .cd-party-menu {
  background: #ffffff;
  border-color: rgba(0,0,0,0.1);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
[data-theme="light"] .cd-pm-item {
  color: #374151;
}
[data-theme="light"] .cd-pm-item:hover {
  background: rgba(0,0,0,0.04);
}
[data-theme="light"] .cd-pm-primary { color: #6366f1; }
[data-theme="light"] .cd-pm-danger { color: #ef4444; }
[data-theme="light"] .cd-pm-warning { color: #d97706; }
[data-theme="light"] .cd-pm-divider {
  background: rgba(0,0,0,0.08);
}

/* === Step 9: Monitoring Tab === */
.mon-container { max-width: 800px; }
.mon-status-banner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border-radius: 10px;
  margin-bottom: 24px;
}
.mon-status-active { background: rgba(34,197,94,0.1); border: 1px solid rgba(34,197,94,0.25); }
.mon-status-suspended { background: rgba(239,68,68,0.1); border: 1px solid rgba(239,68,68,0.25); }
.mon-status-ready { background: rgba(99,102,241,0.1); border: 1px solid rgba(99,102,241,0.25); }
.mon-status-pending { background: rgba(139,149,165,0.08); border: 1px solid rgba(139,149,165,0.15); }
.mon-status-dot {
  width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0;
}
.mon-status-active .mon-status-dot { background: #22c55e; box-shadow: 0 0 8px rgba(34,197,94,0.4); }
.mon-status-suspended .mon-status-dot { background: #ef4444; box-shadow: 0 0 8px rgba(239,68,68,0.4); }
.mon-status-ready .mon-status-dot { background: #6366f1; box-shadow: 0 0 8px rgba(99,102,241,0.4); }
.mon-status-pending .mon-status-dot { background: #6b7280; }
.mon-status-label { font-size: 15px; font-weight: 600; color: #e5e7eb; }
.mon-status-desc { font-size: 12px; color: #9ca3af; margin-top: 2px; }
.mon-section { margin-bottom: 24px; }
.mon-section-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600; color: #9ca3af;
  text-transform: uppercase; letter-spacing: 0.5px;
  margin-bottom: 12px;
}
.mon-section-title svg { width: 16px; height: 16px; }
.mon-program-card {
  background: rgba(139,149,165,0.06);
  border: 1px solid rgba(139,149,165,0.12);
  border-radius: 10px;
  padding: 18px;
}
.mon-program-header { display: flex; justify-content: space-between; align-items: center; }
.mon-program-name { font-size: 16px; font-weight: 600; color: #e5e7eb; }
.mon-freq-badge {
  font-size: 11px; font-weight: 600;
  padding: 3px 10px; border-radius: 12px;
  background: rgba(99,102,241,0.15); color: #818cf8;
}
.mon-program-desc { font-size: 13px; color: #9ca3af; margin-top: 8px; }
.mon-program-checks { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.mon-check-tag {
  font-size: 11px; padding: 3px 8px; border-radius: 4px;
  background: rgba(139,149,165,0.1); color: #9ca3af;
  text-transform: capitalize;
}
.mon-schedule {
  margin-top: 16px; padding-top: 16px;
  border-top: 1px solid rgba(139,149,165,0.12);
}
.mon-schedule-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 6px 0; font-size: 13px;
}
.mon-schedule-label { color: #9ca3af; }
.mon-schedule-value { color: #e5e7eb; font-weight: 500; }
.mon-overdue { color: #ef4444 !important; }
.mon-empty {
  text-align: center; padding: 24px;
  color: #9ca3af; font-size: 13px;
  background: rgba(139,149,165,0.04);
  border-radius: 8px;
}
.mon-history { }
.mon-hist-row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 14px; border-radius: 8px;
  border-bottom: 1px solid rgba(139,149,165,0.08);
}
.mon-hist-row:last-child { border-bottom: none; }
.mon-hist-latest { background: rgba(139,149,165,0.06); }
.mon-hist-date { font-size: 12px; color: #9ca3af; min-width: 90px; }
.mon-hist-badge {
  font-size: 10px; font-weight: 600; padding: 2px 8px;
  border-radius: 4px; min-width: 70px; text-align: center;
}
.mon-hist-onboard { background: rgba(99,102,241,0.15); color: #818cf8; }
.mon-hist-rescreen { background: rgba(34,197,94,0.15); color: #4ade80; }
.mon-hist-result { display: flex; gap: 12px; margin-left: auto; font-size: 12px; }
.mon-hist-matches { color: #9ca3af; }
.mon-hist-has-matches { color: #ef4444; font-weight: 600; }
.mon-hist-checks { color: #6b7280; }
.mon-controls { display: flex; flex-wrap: wrap; gap: 10px; }
.mon-ctrl-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 18px; border-radius: 8px; border: 1px solid transparent;
  font-size: 13px; font-weight: 500; cursor: pointer;
  font-family: 'DM Sans', sans-serif; transition: all 0.15s;
}
.mon-ctrl-btn svg { width: 14px; height: 14px; }
.mon-ctrl-primary { background: rgba(99,102,241,0.15); color: #818cf8; border-color: rgba(99,102,241,0.3); }
.mon-ctrl-primary:hover { background: rgba(99,102,241,0.25); }
.mon-ctrl-warning { background: rgba(251,191,36,0.12); color: #fbbf24; border-color: rgba(251,191,36,0.25); }
.mon-ctrl-warning:hover { background: rgba(251,191,36,0.2); }
.mon-ctrl-danger { background: rgba(239,68,68,0.12); color: #f87171; border-color: rgba(239,68,68,0.25); }
.mon-ctrl-danger:hover { background: rgba(239,68,68,0.2); }
.mon-ctrl-outline { background: transparent; color: #9ca3af; border-color: rgba(139,149,165,0.2); }
.mon-ctrl-outline:hover { background: rgba(139,149,165,0.08); }
.mon-ctrl-disabled { font-size: 13px; color: #6b7280; padding: 8px 0; }
/* Light theme */
[data-theme="light"] .mon-status-label { color: #1f2937; }
[data-theme="light"] .mon-status-desc { color: #6b7280; }
[data-theme="light"] .mon-program-card { background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.08); }
[data-theme="light"] .mon-program-name { color: #1f2937; }
[data-theme="light"] .mon-freq-badge { background: rgba(99,102,241,0.08); color: #6366f1; }
[data-theme="light"] .mon-schedule-value { color: #1f2937; }
[data-theme="light"] .mon-hist-latest { background: rgba(0,0,0,0.02); }
[data-theme="light"] .mon-hist-rescreen { background: rgba(34,197,94,0.08); color: #16a34a; }
[data-theme="light"] .mon-hist-onboard { background: rgba(99,102,241,0.08); color: #6366f1; }
[data-theme="light"] .mon-ctrl-primary { background: rgba(99,102,241,0.08); color: #6366f1; }
[data-theme="light"] .mon-ctrl-warning { background: rgba(251,191,36,0.08); color: #d97706; }
[data-theme="light"] .mon-ctrl-danger { background: rgba(239,68,68,0.08); color: #ef4444; }
[data-theme="light"] .mon-ctrl-outline { color: #6b7280; border-color: rgba(0,0,0,0.12); }
[data-theme="light"] .mon-empty { background: rgba(0,0,0,0.02); }

/* Subscription cards */
.mon-sub-card {
  background: rgba(139,149,165,0.06);
  border: 1px solid rgba(139,149,165,0.12);
  border-radius: 10px;
  padding: 16px 18px;
  margin-bottom: 10px;
}
.mon-sub-header {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 12px;
}
.mon-sub-badge {
  font-size: 11px; font-weight: 600;
  padding: 3px 10px; border-radius: 12px;
}
.mon-sub-active { background: rgba(34,197,94,0.15); color: #4ade80; }
.mon-sub-paused { background: rgba(251,191,36,0.12); color: #fbbf24; }
.mon-sub-terminated { background: rgba(139,149,165,0.1); color: #6b7280; }
.mon-sub-freq {
  font-size: 11px; font-weight: 600;
  padding: 3px 10px; border-radius: 12px;
  background: rgba(99,102,241,0.15); color: #818cf8;
}
.mon-sub-change {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; font-weight: 600; color: #ef4444;
  margin-left: auto;
}
.mon-sub-change svg { width: 12px; height: 12px; }
.mon-sub-details { }
.mon-sub-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 4px 0; font-size: 13px;
}
.mon-sub-label { color: #9ca3af; }
.mon-sub-value { color: #e5e7eb; font-weight: 500; }
.mon-sub-actions {
  display: flex; gap: 8px;
  margin-top: 12px; padding-top: 12px;
  border-top: 1px solid rgba(139,149,165,0.1);
}
.mon-ctrl-sm { padding: 6px 12px; font-size: 12px; }
.mon-sub-terminated-info {
  margin-top: 10px; padding-top: 10px;
  border-top: 1px solid rgba(139,149,165,0.08);
  font-size: 12px; color: #6b7280;
}
/* Light theme - subscription cards */
[data-theme="light"] .mon-sub-card { background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.08); }
[data-theme="light"] .mon-sub-active { background: rgba(34,197,94,0.08); color: #16a34a; }
[data-theme="light"] .mon-sub-paused { background: rgba(251,191,36,0.08); color: #d97706; }
[data-theme="light"] .mon-sub-freq { background: rgba(99,102,241,0.08); color: #6366f1; }
[data-theme="light"] .mon-sub-value { color: #1f2937; }

/* Enrol form */
.mon-enrol-form {
  background: rgba(99,102,241,0.06);
  border: 1px solid rgba(99,102,241,0.15);
  border-radius: 10px;
  padding: 20px;
}
.mon-enrol-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 15px; font-weight: 600; color: #e5e7eb;
  margin-bottom: 16px;
}
.mon-enrol-title svg { width: 18px; height: 18px; color: #818cf8; }
.mon-enrol-field { margin-bottom: 14px; }
.mon-enrol-label { display: block; font-size: 12px; font-weight: 600; color: #9ca3af; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; }
.mon-enrol-select {
  width: 200px; padding: 8px 12px; border-radius: 6px;
  border: 1px solid rgba(139,149,165,0.2); background: rgba(0,0,0,0.15);
  color: #e5e7eb; font-size: 13px; font-family: "DM Sans", sans-serif;
}
.mon-enrol-types { display: flex; flex-wrap: wrap; gap: 12px; }
.mon-enrol-check {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; color: #d1d5db; text-transform: capitalize; cursor: pointer;
}
.mon-enrol-check input { accent-color: #818cf8; }
[data-theme="light"] .mon-enrol-form { background: rgba(99,102,241,0.04); border-color: rgba(99,102,241,0.12); }
[data-theme="light"] .mon-enrol-title { color: #1f2937; }
[data-theme="light"] .mon-enrol-select { background: #fff; color: #1f2937; border-color: rgba(0,0,0,0.15); }
[data-theme="light"] .mon-enrol-check { color: #374151; }

/* Monitoring Alerts */
.mon-alerts-list { }
.mon-alert-row {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 10px 14px; border-radius: 8px;
  margin-bottom: 6px;
}
.mon-alert-high { background: rgba(239,68,68,0.08); border-left: 3px solid #ef4444; }
.mon-alert-medium { background: rgba(251,191,36,0.08); border-left: 3px solid #fbbf24; }
.mon-alert-info { background: rgba(139,149,165,0.06); border-left: 3px solid rgba(139,149,165,0.3); }
.mon-alert-icon { flex-shrink: 0; margin-top: 2px; }
.mon-alert-high .mon-alert-icon { color: #ef4444; }
.mon-alert-medium .mon-alert-icon { color: #fbbf24; }
.mon-alert-info .mon-alert-icon { color: #6b7280; }
.mon-alert-icon svg { width: 14px; height: 14px; }
.mon-alert-body { flex: 1; min-width: 0; }
.mon-alert-label { font-size: 12px; font-weight: 600; color: #e5e7eb; text-transform: capitalize; }
.mon-alert-msg { font-size: 12px; color: #9ca3af; margin-top: 2px; }
.mon-alert-date { font-size: 11px; color: #6b7280; white-space: nowrap; flex-shrink: 0; }
[data-theme="light"] .mon-alert-high { background: rgba(239,68,68,0.05); }
[data-theme="light"] .mon-alert-medium { background: rgba(251,191,36,0.05); }
[data-theme="light"] .mon-alert-info { background: rgba(0,0,0,0.02); }
[data-theme="light"] .mon-alert-label { color: #1f2937; }

/* === Step 10: Reporting Tab === */
.rpt-container { max-width: 900px; }
.rpt-section { margin-bottom: 28px; }
.rpt-section-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600; color: #9ca3af;
  text-transform: uppercase; letter-spacing: 0.5px;
  margin-bottom: 14px;
}
.rpt-section-title svg { width: 16px; height: 16px; }
.rpt-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 14px;
}
.rpt-card {
  background: rgba(139,149,165,0.06);
  border: 1px solid rgba(139,149,165,0.12);
  border-radius: 10px;
  padding: 18px;
  display: flex; flex-direction: column; gap: 14px;
}
.rpt-card-disabled { opacity: 0.5; }
.rpt-card-restricted { border-color: rgba(239,68,68,0.2); }
.rpt-card-header { display: flex; gap: 14px; align-items: flex-start; }
.rpt-card-icon {
  width: 40px; height: 40px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.rpt-card-icon svg { width: 20px; height: 20px; }
.rpt-icon-green { background: rgba(34,197,94,0.12); color: #4ade80; }
.rpt-icon-blue { background: rgba(96,165,250,0.12); color: #60a5fa; }
.rpt-icon-red { background: rgba(239,68,68,0.12); color: #f87171; }
.rpt-icon-amber { background: rgba(251,191,36,0.12); color: #fbbf24; }
.rpt-icon-purple { background: rgba(99,102,241,0.12); color: #818cf8; }
.rpt-card-title { font-size: 15px; font-weight: 600; color: #e5e7eb; }
.rpt-card-desc { font-size: 12px; color: #9ca3af; margin-top: 4px; line-height: 1.5; }
.rpt-card-meta {
  display: flex; flex-wrap: wrap; gap: 12px;
  font-size: 12px; color: #6b7280;
}
.rpt-card-actions { display: flex; gap: 10px; }
.rpt-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px; border-radius: 7px; border: 1px solid transparent;
  font-size: 13px; font-weight: 500; cursor: pointer;
  font-family: 'DM Sans', sans-serif; transition: all 0.15s;
}
.rpt-btn svg { width: 14px; height: 14px; }
.rpt-btn-primary { background: rgba(99,102,241,0.15); color: #818cf8; border-color: rgba(99,102,241,0.3); }
.rpt-btn-primary:hover { background: rgba(99,102,241,0.25); }
.rpt-btn-primary[disabled] { opacity: 0.4; cursor: not-allowed; pointer-events: none; }
.rpt-btn-danger { background: rgba(239,68,68,0.12); color: #f87171; border-color: rgba(239,68,68,0.25); }
.rpt-btn-danger:hover { background: rgba(239,68,68,0.2); }
.rpt-btn-outline { background: transparent; color: #9ca3af; border-color: rgba(139,149,165,0.2); }
.rpt-btn-outline:hover { background: rgba(139,149,165,0.08); }
.rpt-tipping-banner {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 14px 18px; border-radius: 8px; margin-bottom: 14px;
  background: rgba(239,68,68,0.08);
  border: 1px solid rgba(239,68,68,0.2);
}
.rpt-tipping-icon { color: #f87171; flex-shrink: 0; margin-top: 2px; }
.rpt-tipping-icon svg { width: 18px; height: 18px; }
.rpt-tipping-text { font-size: 12px; color: #d1d5db; line-height: 1.6; }
.rpt-tipping-text strong { color: #f87171; font-size: 13px; display: block; margin-bottom: 4px; }
/* Light theme */
[data-theme="light"] .rpt-card { background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.08); }
[data-theme="light"] .rpt-card-restricted { border-color: rgba(239,68,68,0.15); }
[data-theme="light"] .rpt-card-title { color: #1f2937; }
[data-theme="light"] .rpt-btn-primary { background: rgba(99,102,241,0.08); color: #6366f1; }
[data-theme="light"] .rpt-btn-danger { background: rgba(239,68,68,0.08); color: #ef4444; }
[data-theme="light"] .rpt-btn-outline { color: #6b7280; border-color: rgba(0,0,0,0.12); }
[data-theme="light"] .rpt-tipping-banner { background: rgba(239,68,68,0.05); border-color: rgba(239,68,68,0.12); }
[data-theme="light"] .rpt-tipping-text { color: #374151; }
[data-theme="light"] .rpt-icon-green { background: rgba(34,197,94,0.08); color: #16a34a; }
[data-theme="light"] .rpt-icon-blue { background: rgba(96,165,250,0.08); color: #3b82f6; }
[data-theme="light"] .rpt-icon-red { background: rgba(239,68,68,0.08); color: #ef4444; }
[data-theme="light"] .rpt-icon-amber { background: rgba(251,191,36,0.08); color: #d97706; }
[data-theme="light"] .rpt-icon-purple { background: rgba(99,102,241,0.08); color: #6366f1; }


/* ===== WP1: 48-hour overdue badge ===== */
.mt-overdue-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 500;
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: 6px;
  padding: 4px 10px;
  margin-top: 6px;
}
.mt-overdue-badge svg {
  flex-shrink: 0;
}

/* ===== WP1: Checks tab light theme overrides ===== */
[data-theme="light"] .ck-check-card {
  background: #ffffff;
  border-color: #e5e7eb;
}
[data-theme="light"] .ck-check-card:hover {
  border-color: #d1d5db;
  background: #f9fafb;
}
[data-theme="light"] .ck-check-header {
  color: #111827;
}
[data-theme="light"] .ck-check-type {
  color: #374151;
}
[data-theme="light"] .ck-check-meta {
  color: #6b7280;
}
[data-theme="light"] .ck-check-detail {
  color: #374151;
  background: #f3f4f6;
  border-color: #e5e7eb;
}
[data-theme="light"] .ck-death-yes {
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.2);
  color: #dc2626;
}
[data-theme="light"] .ck-death-no {
  background: rgba(34, 197, 94, 0.08);
  border-color: rgba(34, 197, 94, 0.2);
  color: #16a34a;
}
[data-theme="light"] .ck-badge {
  border-color: rgba(0, 0, 0, 0.1);
}
[data-theme="light"] .ck-badge.pass {
  background: rgba(34, 197, 94, 0.1);
  color: #16a34a;
}
[data-theme="light"] .ck-badge.fail {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}
[data-theme="light"] .ck-badge.partial {
  background: rgba(245, 158, 11, 0.1);
  color: #d97706;
}
[data-theme="light"] .ck-badge.pending {
  background: rgba(107, 114, 128, 0.1);
  color: #6b7280;
}
[data-theme="light"] .ck-idv-section {
  background: #f9fafb;
  border-color: #e5e7eb;
}
[data-theme="light"] .ck-idv-field-label {
  color: #6b7280;
}
[data-theme="light"] .ck-idv-field-value {
  color: #111827;
}
[data-theme="light"] .ck-idv-field-check {
  color: #374151;
}
[data-theme="light"] .ck-result-grid {
  background: #f9fafb;
  border-color: #e5e7eb;
}
[data-theme="light"] .ck-result-cell-label {
  color: #6b7280;
}
[data-theme="light"] .ck-result-cell-value {
  color: #111827;
}
[data-theme="light"] .mt-overdue-badge {
  color: #d97706;
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.2);
}

/* WP2 Phase 6: Risk Tab Factor Breakdown */
.risk-score-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  border-radius: 10px;
  background: var(--bg-card, rgba(255,255,255,0.04));
  border: 1px solid var(--border-subtle, #2a2f3a);
  margin-bottom: 16px;
}
.risk-score-ring {
  width: 72px; height: 72px;
  border-radius: 50%;
  border: 3px solid;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  flex-shrink: 0;
}
.risk-score-number { font-size: 24px; font-weight: 700; color: var(--text-main); line-height: 1; }
.risk-score-max { font-size: 11px; color: var(--text-softer, #6b7280); }
.risk-score-meta { display: flex; flex-direction: column; gap: 4px; }
.risk-level-badge {
  display: inline-block; padding: 2px 10px; border-radius: 12px;
  font-size: 12px; font-weight: 600; text-transform: capitalize; width: fit-content;
}
.risk-cdd-label { font-size: 13px; color: var(--text-soft, #d1d5db); }
.risk-version-label { font-size: 11px; color: var(--text-softer, #6b7280); }

.risk-breakdown-section, .risk-history-section {
  padding: 16px;
  border-radius: 10px;
  background: var(--bg-card, rgba(255,255,255,0.04));
  border: 1px solid var(--border-subtle, #2a2f3a);
  margin-bottom: 16px;
}
.risk-section-title {
  font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--text-softer, #6b7280); font-weight: 600; margin-bottom: 12px;
}

.risk-cat-section { margin-bottom: 2px; }
.risk-cat-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 10px; border-radius: 6px; cursor: pointer;
  transition: background 0.15s;
}
.risk-cat-header:hover { background: rgba(255,255,255,0.04); }
.risk-cat-left { display: flex; align-items: center; gap: 8px; }
.risk-cat-chevron {
  display: inline-flex; transition: transform 0.2s;
  color: var(--text-softer, #6b7280);
}
.risk-cat-chevron.open { transform: rotate(90deg); }
.risk-cat-letter { font-weight: 700; font-size: 13px; width: 16px; text-align: center; }
.risk-cat-name { font-size: 13px; color: var(--text-soft, #d1d5db); }
.risk-cat-total { font-size: 16px; font-weight: 700; letter-spacing: -0.5px; }

.risk-cat-factors { padding-left: 36px; padding-bottom: 4px; }
.risk-factor-row {
  display: flex; align-items: center; gap: 8px;
  padding: 3px 8px; border-radius: 4px; font-size: 12px;
  color: var(--text-softer, #6b7280);
}
.risk-factor-row.applied { color: var(--text-soft, #d1d5db); }
.risk-factor-id { font-family: monospace; width: 24px; flex-shrink: 0; font-size: 11px; }
.risk-factor-label { flex: 1; }
.risk-factor-weight { font-weight: 400; min-width: 32px; text-align: right; flex-shrink: 0; white-space: nowrap; font-size: 12px; }
.risk-factor-reason {
  font-size: 11px; color: var(--text-softer, #6b7280);
  padding: 0 8px 2px 40px; font-style: italic;
}
.risk-fatf-stamp {
  font-size: 11px; color: var(--text-softer, #6b7280);
  margin-top: 8px; padding-top: 8px;
  border-top: 1px solid var(--border-subtle, #2a2f3a);
}

.risk-history-card {
  border: 1px solid var(--border-subtle, #2a2f3a);
  border-radius: 8px; margin-bottom: 6px;
  overflow: hidden;
}
.risk-history-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 12px; cursor: pointer; transition: background 0.15s;
}
.risk-history-header:hover { background: rgba(255,255,255,0.04); }
.risk-history-left { display: flex; align-items: center; gap: 10px; }
.risk-history-right { display: flex; align-items: center; gap: 8px; }
.risk-history-score { font-size: 16px; font-weight: 700; }
.risk-history-level { font-size: 12px; text-transform: capitalize; }
.risk-history-date { font-size: 11px; color: var(--text-softer, #6b7280); }
.risk-override-badge {
  font-size: 10px; padding: 1px 6px; border-radius: 4px;
  background: rgba(251,191,36,0.15); color: #fbbf24; font-weight: 600;
}
.risk-system-badge {
  font-size: 10px; padding: 1px 6px; border-radius: 4px;
  background: rgba(34,197,94,0.1); color: #22c55e; font-weight: 500;
}

/* WP2 Phase 6c: Methodology Modal */
.meth-modal-overlay {
  position: fixed; top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.6); z-index: 10000;
  display: flex; align-items: center; justify-content: center;
  animation: fadeIn 0.15s ease;
}
.meth-modal {
  background: var(--bg-surface, #1a1d23); border: 1px solid var(--border-subtle, #2a2f3a);
  border-radius: 12px; width: 90vw; max-width: 900px; max-height: 85vh;
  display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.meth-modal-header {
  display: flex; justify-content: space-between; align-items: flex-start;
  padding: 20px 24px; border-bottom: 1px solid var(--border-subtle, #2a2f3a);
  flex-shrink: 0;
}
.meth-modal-title { font-size: 18px; font-weight: 700; color: var(--text-main); }
.meth-modal-subtitle { font-size: 12px; color: var(--text-softer, #6b7280); margin-top: 4px; }
.meth-modal-close {
  background: none; border: none; color: var(--text-softer, #6b7280);
  font-size: 24px; cursor: pointer; padding: 0 4px; line-height: 1;
}
.meth-modal-close:hover { color: var(--text-main); }
.meth-modal-body { overflow-y: auto; padding: 20px 24px; flex: 1; }

.meth-reg-banner {
  display: flex; gap: 10px; padding: 12px 14px; border-radius: 8px;
  background: rgba(59,130,246,0.08); border: 1px solid rgba(59,130,246,0.2);
  font-size: 12px; color: var(--text-soft, #d1d5db); line-height: 1.5;
  margin-bottom: 20px;
}
.meth-reg-banner svg { flex-shrink: 0; color: #3b82f6; margin-top: 2px; }

.meth-score-bands { margin-bottom: 24px; }
.meth-section-label {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--text-softer, #6b7280); font-weight: 600; margin-bottom: 10px;
}
.meth-bands-row { display: flex; gap: 8px; }
.meth-band {
  flex: 1; padding: 10px; border-radius: 8px; border: 1px solid;
  background: var(--bg-card, rgba(255,255,255,0.04)); text-align: center;
}
.meth-band-range { display: block; font-size: 14px; font-weight: 700; color: var(--text-main); }
.meth-band-level { display: block; font-size: 12px; font-weight: 600; text-transform: capitalize; margin: 2px 0; }
.meth-band-cdd { display: block; font-size: 10px; color: var(--text-softer, #6b7280); }

.meth-cat { margin-bottom: 20px; }
.meth-cat-header {
  display: flex; align-items: center; gap: 10px;
  padding-bottom: 8px; border-bottom: 1px solid var(--border-subtle, #2a2f3a);
  margin-bottom: 8px;
}
.meth-cat-letter {
  width: 28px; height: 28px; border-radius: 6px;
  background: rgba(59,130,246,0.15); color: #60a5fa;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 14px; flex-shrink: 0;
}
.meth-cat-name { font-size: 15px; font-weight: 600; color: var(--text-main); }
.meth-cat-austrac {
  font-size: 12px; color: var(--text-soft, #d1d5db); line-height: 1.5;
  margin-bottom: 6px; padding: 8px 10px; border-radius: 6px;
  background: rgba(251,191,36,0.05); border-left: 3px solid rgba(251,191,36,0.3);
}
.meth-cat-exclusive {
  font-size: 11px; color: var(--text-softer, #6b7280); font-style: italic;
  margin-bottom: 8px;
}

.meth-factor-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.meth-factor-table th {
  text-align: left; padding: 6px 8px; font-size: 10px; text-transform: uppercase;
  letter-spacing: 0.05em; color: var(--text-softer, #6b7280); font-weight: 600;
  border-bottom: 1px solid var(--border-subtle, #2a2f3a);
}
.meth-factor-table td {
  padding: 6px 8px; border-bottom: 1px solid rgba(255,255,255,0.03);
  color: var(--text-soft, #d1d5db); vertical-align: top;
}
.meth-factor-table tr:hover td { background: rgba(255,255,255,0.02); }
.meth-factor-table tr.meth-locked td { background: rgba(239,68,68,0.04); }
.meth-fid { font-family: monospace; color: var(--text-softer, #6b7280); width: 30px; }
.meth-weight { font-weight: 600; color: #f59e0b; width: 50px; text-align: center; }
.meth-bounds { color: var(--text-softer, #6b7280); width: 60px; text-align: center; }
.meth-note { font-size: 11px; color: var(--text-softer, #6b7280); }
.meth-lock-badge {
  font-size: 9px; padding: 1px 5px; border-radius: 3px;
  background: rgba(239,68,68,0.15); color: #ef4444; font-weight: 600;
  margin-left: 4px; vertical-align: middle;
}

.meth-fatf-section { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border-subtle, #2a2f3a); }
.meth-fatf-list { font-size: 12px; color: var(--text-soft, #d1d5db); line-height: 1.6; margin-bottom: 8px; }
.meth-fatf-note { font-size: 11px; color: var(--text-softer, #6b7280); font-style: italic; margin-top: 8px; }

.meth-locked-section { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border-subtle, #2a2f3a); }
.meth-locked-note { font-size: 12px; color: var(--text-soft, #d1d5db); line-height: 1.6; }

/* WP2: Methodology modal light theme + scrollbar */
[data-theme="light"] .meth-modal,
.light-theme .meth-modal{
  background: #ffffff;
  border-color: #e5e7eb;
}
[data-theme="light"] .meth-modal-title{ color: #111827; }
[data-theme="light"] .meth-modal-subtitle{ color: #6b7280; }
[data-theme="light"] .meth-cat-name{ color: #111827; }
[data-theme="light"] .meth-cat-austrac{ background: rgba(251,191,36,0.08); color: #374151; }
[data-theme="light"] .meth-cat-exclusive{ color: #6b7280; }
[data-theme="light"] .meth-factor-table td{ color: #374151; border-bottom-color: #f3f4f6; }
[data-theme="light"] .meth-factor-table th{ color: #6b7280; border-bottom-color: #e5e7eb; }
[data-theme="light"] .meth-factor-table tr:hover td{ background: #f9fafb; }
[data-theme="light"] .meth-factor-table tr.meth-locked td{ background: rgba(239,68,68,0.04); }
[data-theme="light"] .meth-fid{ color: #9ca3af; }
[data-theme="light"] .meth-note{ color: #6b7280; }
[data-theme="light"] .meth-bounds{ color: #9ca3af; }
[data-theme="light"] .meth-reg-banner{ background: rgba(59,130,246,0.06); color: #374151; }
[data-theme="light"] .meth-band{ background: #f9fafb; }
[data-theme="light"] .meth-band-range{ color: #111827; }
[data-theme="light"] .meth-band-cdd{ color: #6b7280; }
[data-theme="light"] .meth-fatf-list{ color: #374151; }
[data-theme="light"] .meth-fatf-note{ color: #6b7280; }
[data-theme="light"] .meth-locked-note{ color: #374151; }
[data-theme="light"] .meth-fatf-section{ border-top-color: #e5e7eb; }
[data-theme="light"] .meth-locked-section{ border-top-color: #e5e7eb; }
[data-theme="light"] .meth-cat-header{ border-bottom-color: #e5e7eb; }
[data-theme="light"] .meth-section-label{ color: #6b7280; }
[data-theme="light"] .meth-modal-close{ color: #9ca3af; }
[data-theme="light"] .meth-modal-close:hover{ color: #111827; }
[data-theme="light"] .meth-modal-header{ border-bottom-color: #e5e7eb; }

/* Thin scrollbar for methodology modal */
.meth-modal-body::-webkit-scrollbar { width: 6px; }
.meth-modal-body::-webkit-scrollbar-track { background: transparent; }
.meth-modal-body::-webkit-scrollbar-thumb { background: rgba(128,128,128,0.3); border-radius: 3px; }
.meth-modal-body::-webkit-scrollbar-thumb:hover { background: rgba(128,128,128,0.5); }
.meth-modal-body { scrollbar-width: thin; scrollbar-color: rgba(128,128,128,0.3) transparent; }
/* ── Case list compact summary row (Fix 2) ── */
.ops-subrow-summary td { padding: 0 !important; border-top: none !important; }
.ops-expand-grid {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 0;
  padding: 8px 16px 10px 40px;
  background: rgba(56, 189, 248, 0.02);
  border-bottom: 1px solid var(--border-subtle, #1e2736);
}
.ops-expand-item {
  display: flex; flex-direction: column; gap: 3px; padding: 4px 8px;
}
.ops-expand-label {
  font-size: 9px; text-transform: uppercase; letter-spacing: 0.5px;
  color: var(--text-softer, #6b7280); font-weight: 600;
}
[data-theme="light"] .ops-expand-grid { background: rgba(37, 99, 235, 0.02); border-bottom-color: #e5e7eb; }
[data-theme="light"] .ops-expand-label { color: #6b7280; }

/* ── Case detail progress stepper (Fix 3) ── */
.cd-stepper {
  display: flex; align-items: center; padding: 16px 0 12px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--border-subtle, #1e2736);
  padding-bottom: 16px;
}
.cd-stepper-step {
  display: flex; flex-direction: column; align-items: center; flex: 0 0 auto;
}
.cd-stepper-circle {
  width: 26px; height: 26px; border-radius: 50%;
  border: 2px solid var(--border-subtle, #374151);
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; font-weight: 700; color: var(--text-softer);
}
.cd-stepper-done .cd-stepper-circle { border-color: #4ade80; background: #4ade80; color: #000; }
.cd-stepper-current .cd-stepper-circle { border-color: var(--accent, #38bdf8); color: var(--accent, #38bdf8); background: rgba(56,189,248,0.1); }
.cd-stepper-label { font-size: 10px; margin-top: 4px; white-space: nowrap; }
.cd-stepper-done { color: #4ade80; }
.cd-stepper-current { color: var(--accent, #38bdf8); }
.cd-stepper-pending { color: var(--text-softer); }
.cd-stepper-line { flex: 1; height: 2px; background: var(--border-subtle, #374151); min-width: 16px; margin: 0 4px; margin-bottom: 18px; }
.cd-stepper-line-done { background: #4ade80; }

[data-theme="light"] .cd-stepper-circle { border-color: #d1d5db; color: #6b7280; }
[data-theme="light"] .cd-stepper-done .cd-stepper-circle { border-color: #16a34a; background: #16a34a; color: #fff; }
[data-theme="light"] .cd-stepper-current .cd-stepper-circle { border-color: #2563eb; color: #2563eb; background: rgba(37,99,235,0.08); }
[data-theme="light"] .cd-stepper-done { color: #16a34a; }
[data-theme="light"] .cd-stepper-current { color: #2563eb; }
[data-theme="light"] .cd-stepper-pending { color: #9ca3af; }
[data-theme="light"] .cd-stepper-line { background: #e5e7eb; }
[data-theme="light"] .cd-stepper-line-done { background: #16a34a; }
/* ── Case list mini metric cards expand row ── */
.ops-subrow-cards td { padding: 0 !important; border-top: none !important; }
.ops-mc-strip {
  display: flex; gap: 6px;
  padding: 6px 16px 8px 44px;
  background: var(--bg-card-hover, rgba(56, 189, 248, 0.02));
  border-bottom: 1px solid var(--border-subtle, #1e2736);
}
.ops-mc-card {
  flex: 1; padding: 4px 8px; border-radius: 5px;
  background: var(--bg-elevated, #0f1a2b);
  border: 1px solid var(--border-subtle, #1e2736);
}
.ops-mc-label {
  font-size: 9px; color: var(--text-softer, #6b7280);
  text-transform: uppercase; letter-spacing: 0.3px;
  margin-bottom: 2px;
}
.ops-mc-val { font-size: 11px; font-weight: 500; color: var(--text-main, #e5e7eb); }
.ops-mc-val-muted { font-size: 10px; color: var(--text-softer, #6b7280); }
.ops-mc-val-warning { color: #fbbf24; }
.ops-mc-val-clear { color: #4ade80; }
.ops-mc-bars { display: flex; gap: 2px; flex: 1; }
.ops-mc-bar {
  flex: 1; height: 3px; border-radius: 1.5px;
  background: var(--border-subtle, #2a3441);
}
.ops-mc-bar-done { background: #4ade80; }
.ops-mc-bar-active { background: var(--accent, #38bdf8); }

[data-theme="light"] .ops-mc-strip { background: rgba(37,99,235,0.02); border-bottom-color: #e5e7eb; }
[data-theme="light"] .ops-mc-card { background: #fff; border-color: #e5e7eb; }
[data-theme="light"] .ops-mc-label { color: #6b7280; }
[data-theme="light"] .ops-mc-val { color: #111827; }
[data-theme="light"] .ops-mc-val-muted { color: #9ca3af; }
[data-theme="light"] .ops-mc-val-warning { color: #d97706; }
[data-theme="light"] .ops-mc-val-clear { color: #16a34a; }
[data-theme="light"] .ops-mc-bar { background: #e5e7eb; }
[data-theme="light"] .ops-mc-bar-done { background: #16a34a; }
[data-theme="light"] .ops-mc-bar-active { background: #2563eb; }
[data-theme="light"] .cd-stepper { border-bottom-color: #e5e7eb; }

/* ===== SMR Wizard (WP4 Phase 2) ===== */
.smr-deadline-banner {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  font-size: 13px;
  border-bottom: 1px solid var(--border-subtle);
}
.smr-deadline-banner svg { width: 16px; height: 16px; flex-shrink: 0; }
.smr-deadline-red {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.2);
}
.smr-deadline-amber {
  background: rgba(251, 191, 36, 0.08);
  color: #fbbf24;
  border-color: rgba(251, 191, 36, 0.2);
}
.smr-tipping-compact {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 24px;
  font-size: 11px;
  color: #f87171;
  background: rgba(239, 68, 68, 0.05);
  border-bottom: 1px solid var(--border-subtle);
}
.smr-tipping-compact svg { width: 12px; height: 12px; flex-shrink: 0; }
.smr-step-content .compliance-form-group { margin-bottom: 16px; }
.smr-toggle-group {
  padding: 12px;
  background: rgba(107, 114, 128, 0.06);
  border-radius: 8px;
}
.smr-toggle-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-main, #e5e7eb);
  cursor: pointer;
}
.smr-toggle-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #38bdf8;
}
.smr-field-hint {
  font-size: 11px;
  color: var(--text-softer, #6b7280);
  margin-top: 4px;
  padding-left: 24px;
}
.smr-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 10px 12px;
  background: rgba(107, 114, 128, 0.06);
  border-radius: 6px;
  font-size: 11px;
  color: var(--text-softer, #6b7280);
  margin-top: 8px;
}
.smr-disclaimer svg { width: 12px; height: 12px; flex-shrink: 0; margin-top: 1px; }
.smr-placeholder { min-height: 200px; }

/* Light theme overrides */
[data-theme="light"] .smr-deadline-red { background: rgba(239, 68, 68, 0.08); color: #dc2626; }
[data-theme="light"] .smr-deadline-amber { background: rgba(245, 158, 11, 0.08); color: #d97706; }
[data-theme="light"] .smr-tipping-compact { background: rgba(239, 68, 68, 0.04); color: #dc2626; }
[data-theme="light"] .smr-toggle-group { background: rgba(107, 114, 128, 0.04); }
[data-theme="light"] .smr-disclaimer { background: rgba(107, 114, 128, 0.04); }

/* ===== SMR Step 2: Grounds for Suspicion ===== */
.smr-step2-layout {
  display: flex;
  gap: 20px;
}
.smr-step2-left { flex: 3; min-width: 0; }
.smr-step2-right { flex: 2; min-width: 0; }

.smr-grounds-textarea {
  font-size: 13px !important;
  line-height: 1.6 !important;
  min-height: 180px;
  resize: vertical;
}
.smr-char-count {
  font-size: 11px;
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.smr-char-count svg { width: 12px; height: 12px; }
.smr-char-under { color: #f87171; }
.smr-char-ok { color: #4ade80; }

.smr-indicator-hint {
  font-size: 11px;
  color: var(--text-softer, #6b7280);
  margin-bottom: 8px;
}
.smr-indicator-list {
  display: flex;
  flex-direction: column;
  gap: 2px;

  overflow-y: auto;
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  padding: 4px;
}
.smr-indicator-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 8px;
  font-size: 12px;
  color: var(--text-main, #e5e7eb);
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.12s;
}
.smr-indicator-item:hover { background: rgba(107, 114, 128, 0.08); }
.smr-indicator-checked { background: rgba(56, 189, 248, 0.06); }
.smr-indicator-item input[type="checkbox"] {
  width: 14px;
  height: 14px;
  margin-top: 1px;
  accent-color: #38bdf8;
  flex-shrink: 0;
}
.smr-indicator-count {
  font-size: 11px;
  color: #38bdf8;
  margin-top: 6px;
}

/* Guidance panel */
.smr-guidance-panel {
  background: rgba(107, 114, 128, 0.05);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 16px;
  position: sticky;
  top: 0;
}
.smr-guidance-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-main, #e5e7eb);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.smr-guidance-title svg { width: 14px; height: 14px; }
.smr-guidance-subtitle {
  font-size: 11px;
  color: var(--text-softer, #6b7280);
  margin-bottom: 12px;
}
.smr-guidance-item {
  margin-bottom: 10px;
}
.smr-guidance-q {
  letter-spacing: 0.03em;
  font-size: 12px;
  font-weight: 700;
  color: #38bdf8;
  margin-bottom: 2px;
}
.smr-guidance-hint {
  font-size: 11px;
  color: var(--text-soft, #9ca3af);
  line-height: 1.45;
}
.smr-guidance-tip {
  margin-top: 14px;
  padding: 10px;
  background: rgba(251, 191, 36, 0.06);
  border-radius: 6px;
  font-size: 11px;
  color: #fbbf24;
  display: flex;
  align-items: flex-start;
  gap: 6px;
  line-height: 1.45;
}
.smr-guidance-tip svg { width: 12px; height: 12px; flex-shrink: 0; margin-top: 1px; }

/* Responsive: stack on narrow modals */
@media (max-width: 700px) {
  .smr-step2-layout { flex-direction: column; }
}

/* Light theme */
[data-theme="light"] .smr-indicator-list { border-color: #e5e7eb; }
[data-theme="light"] .smr-indicator-item:hover { background: rgba(107, 114, 128, 0.06); }
[data-theme="light"] .smr-indicator-checked { background: rgba(37, 99, 235, 0.04); }
[data-theme="light"] .smr-guidance-panel { background: rgba(107, 114, 128, 0.03); border-color: #e5e7eb; }
[data-theme="light"] .smr-guidance-q {
  letter-spacing: 0.03em; color: #2563eb; }
[data-theme="light"] .smr-guidance-tip { background: rgba(245, 158, 11, 0.06); color: #d97706; }
[data-theme="light"] .smr-char-under { color: #dc2626; }
[data-theme="light"] .smr-char-ok { color: #16a34a; }
[data-theme="light"] .smr-indicator-count { color: #2563eb; }

/* Fix placeholder and datetime-local font in modals */
.compliance-modal .compliance-form-input::placeholder {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.compliance-modal input[type="datetime-local"],
.compliance-modal select,
.compliance-modal textarea {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ===== SMR Steps 3 & 4: Person Cards ===== */
.smr-section-intro {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: var(--text-soft, #9ca3af);
  margin-bottom: 16px;
  line-height: 1.5;
}
.smr-section-intro svg { width: 14px; height: 14px; flex-shrink: 0; margin-top: 2px; }
.smr-person-card {
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  margin-bottom: 12px;
  overflow: hidden;
}
.smr-person-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: rgba(107, 114, 128, 0.04);
  cursor: pointer;
  gap: 8px;
}
.smr-person-header:hover { background: rgba(107, 114, 128, 0.08); }
.smr-person-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.smr-person-header-right {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.smr-person-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 600;
  color: #38bdf8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.smr-person-type-badge svg { width: 12px; height: 12px; }
.smr-person-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-main, #e5e7eb);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smr-person-remove {
  background: none;
  border: none;
  color: var(--text-softer, #6b7280);
  cursor: pointer;
  padding: 2px;
  border-radius: 4px;
  display: flex;
  align-items: center;
}
.smr-person-remove:hover { color: #f87171; background: rgba(239, 68, 68, 0.1); }
.smr-person-remove svg { width: 14px; height: 14px; }
.smr-person-chevron { display: flex; align-items: center; color: var(--text-softer, #6b7280); }
.smr-person-chevron svg { width: 14px; height: 14px; }
.smr-person-body { padding: 14px; }
.smr-person-body .compliance-form-group { margin-bottom: 10px; }
.smr-person-row {
  display: flex;
  gap: 10px;
}
.smr-fg-half { flex: 1; min-width: 0; }
.smr-add-person-row {
  display: flex;
  gap: 10px;
  margin-top: 8px;
}
.smr-empty-state {
  border: 1px dashed var(--border-subtle);
  border-radius: 8px;
  margin-bottom: 12px;
}

/* Light theme */
[data-theme="light"] .smr-person-card { border-color: #e5e7eb; }
[data-theme="light"] .smr-person-header { background: rgba(107, 114, 128, 0.03); }
[data-theme="light"] .smr-person-header:hover { background: rgba(107, 114, 128, 0.06); }
[data-theme="light"] .smr-person-type-badge { color: #2563eb; }
[data-theme="light"] .smr-empty-state { border-color: #d1d5db; }

/* ===== SMR Steps 5/6/7 ===== */
.smr-section-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--text-main, #e5e7eb);
  margin: 14px 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.smr-section-label svg { width: 14px; height: 14px; }
.smr-link-btn {
  background: none;
  border: none;
  color: #38bdf8;
  font-size: 11px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  border-radius: 4px;
}
.smr-link-btn:hover { background: rgba(56, 189, 248, 0.08); }
.smr-link-btn svg { width: 12px; height: 12px; }
.smr-validation-errors {
  background: rgba(239, 68, 68, 0.06);
  border: 1px solid rgba(239, 68, 68, 0.2);
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 16px;
}
.smr-val-title {
  font-size: 13px;
  font-weight: 600;
  color: #f87171;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.smr-val-title svg { width: 14px; height: 14px; }
.smr-val-item {
  font-size: 12px;
  color: var(--text-main, #e5e7eb);
  padding: 4px 8px;
  cursor: pointer;
  border-radius: 4px;
}
.smr-val-item:hover { background: rgba(239, 68, 68, 0.06); }
.smr-val-step {
  display: inline-block;
  background: rgba(239, 68, 68, 0.12);
  color: #f87171;
  font-size: 10px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 3px;
  margin-right: 6px;
}
.smr-validation-ok {
  background: rgba(34, 197, 94, 0.06);
  border: 1px solid rgba(34, 197, 94, 0.2);
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 16px;
  font-size: 13px;
  color: #4ade80;
  display: flex;
  align-items: center;
  gap: 8px;
}
.smr-validation-ok svg { width: 16px; height: 16px; }
.smr-review-section {
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  margin-bottom: 8px;
  overflow: hidden;
}
.smr-review-heading {
  font-size: 12px;
  font-weight: 700;
  color: var(--text-main, #e5e7eb);
  padding: 8px 12px;
  background: rgba(107, 114, 128, 0.04);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
}
.smr-review-heading:hover { background: rgba(107, 114, 128, 0.08); }
.smr-review-heading svg { width: 12px; height: 12px; margin-left: auto; }
.smr-review-grid {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 2px 12px;
  padding: 8px 12px;
  font-size: 12px;
}
.smr-review-label { color: var(--text-softer, #6b7280); font-weight: 500; }
.smr-review-value { color: var(--text-main, #e5e7eb); }

/* Light theme */
[data-theme="light"] .smr-validation-errors { background: rgba(239, 68, 68, 0.04); border-color: rgba(239, 68, 68, 0.15); }
[data-theme="light"] .smr-val-title { color: #dc2626; }
[data-theme="light"] .smr-validation-ok { background: rgba(34, 197, 94, 0.04); border-color: rgba(34, 197, 94, 0.15); color: #16a34a; }
[data-theme="light"] .smr-review-section { border-color: #e5e7eb; }
[data-theme="light"] .smr-review-heading { background: rgba(107, 114, 128, 0.03); }
[data-theme="light"] .smr-link-btn { color: #2563eb; }

/* ============================================================ */
/* WP4 Phase 5: Report List + Deadline Dashboard                */
/* ============================================================ */

.rpt-list-loading { color: var(--text-softer, #6b7280); font-size: 13px; padding: 12px 0; }
.rpt-list-empty { color: var(--text-softer, #6b7280); font-size: 13px; padding: 20px 0; text-align: center; }

/* Deadline dashboard strip */
.rpt-list-dashboard { display: flex; gap: 12px; padding: 8px 0 16px; flex-wrap: wrap; }
.rpt-list-counter {
  display: flex; flex-direction: column; align-items: center;
  padding: 10px 20px; border-radius: 8px;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06);
  min-width: 100px;
}
.rpt-lc-num { font-size: 24px; font-weight: 700; color: var(--text-softer, #6b7280); line-height: 1; }
.rpt-lc-label { font-size: 11px; color: var(--text-softer, #6b7280); margin-top: 4px; }
.rpt-lc-overdue { background: rgba(239,68,68,0.08); border-color: rgba(239,68,68,0.2); }
.rpt-lc-overdue .rpt-lc-num { color: #ef4444; }
.rpt-lc-approaching { background: rgba(245,158,11,0.08); border-color: rgba(245,158,11,0.2); }
.rpt-lc-approaching .rpt-lc-num { color: #f59e0b; }
.rpt-lc-progress { background: rgba(59,130,246,0.08); border-color: rgba(59,130,246,0.2); }
.rpt-lc-progress .rpt-lc-num { color: #3b82f6; }

/* Filter bar */
.rpt-list-filters { display: flex; align-items: center; gap: 6px; padding: 0 0 12px; flex-wrap: wrap; }
.rpt-list-flabel { font-size: 12px; color: var(--text-softer, #6b7280); font-weight: 500; }
.rpt-list-sel {
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 6px; padding: 5px 10px; font-size: 12px;
  color: var(--text-primary, #e5e7eb); cursor: pointer;
}
.rpt-list-sel:focus { outline: none; border-color: #7c3aed; }

/* Table */
.rpt-list-twrap { overflow-x: auto; border-radius: 8px; border: 1px solid rgba(255,255,255,0.06); }
.rpt-list-tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.rpt-list-tbl th {
  text-align: left; padding: 10px 12px; font-size: 11px; font-weight: 600;
  color: var(--text-softer, #6b7280); border-bottom: 1px solid rgba(255,255,255,0.08);
  text-transform: uppercase; letter-spacing: 0.5px;
  background: rgba(255,255,255,0.02);
}
.rpt-list-tbl td { padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,0.04); }
.rpt-list-row { transition: background 0.15s; }
.rpt-list-row:hover { background: rgba(255,255,255,0.03); }
.rpt-list-id { font-family: 'DM Mono', monospace; font-size: 12px; color: var(--text-softer, #6b7280); }
.rpt-list-acts { white-space: nowrap; }

/* Row highlights */
.rpt-row-overdue { background: rgba(239,68,68,0.06) !important; }
.rpt-row-overdue:hover { background: rgba(239,68,68,0.10) !important; }
.rpt-row-approaching { background: rgba(245,158,11,0.06) !important; }
.rpt-row-approaching:hover { background: rgba(245,158,11,0.10) !important; }

/* Type badges */
.rpt-tb { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 600; letter-spacing: 0.3px; }
.rpt-tb-smr { background: rgba(239,68,68,0.15); color: #ef4444; }
.rpt-tb-ttr { background: rgba(245,158,11,0.15); color: #f59e0b; }

/* Status badges */
.rpt-sb { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 500; }
.rpt-st-draft { background: rgba(107,114,128,0.15); color: #9ca3af; }
.rpt-st-review { background: rgba(245,158,11,0.15); color: #f59e0b; }
.rpt-st-approved { background: rgba(59,130,246,0.15); color: #60a5fa; }
.rpt-st-submitted { background: rgba(34,197,94,0.15); color: #4ade80; }
.rpt-st-ack { background: rgba(34,197,94,0.20); color: #4ade80; font-weight: 600; }
.rpt-st-cancelled { background: rgba(239,68,68,0.10); color: #f87171; text-decoration: line-through; }

/* Deadline display */
.rpt-dl-overdue { color: #ef4444; font-weight: 600; }
.rpt-dl-approaching { color: #f59e0b; font-weight: 600; }

/* Action buttons (used in table and modal footer) */
.rpt-act-btn {
  display: inline-block; padding: 5px 12px; border-radius: 6px;
  font-size: 12px; font-weight: 500; cursor: pointer; border: none;
  margin-right: 4px; transition: opacity 0.15s;
}
.rpt-act-btn:hover { opacity: 0.85; }
.rpt-act-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.rpt-act-primary { background: #7c3aed; color: #fff; }
.rpt-act-danger { background: #ef4444; color: #fff; }
.rpt-act-outline { background: transparent; border: 1px solid rgba(255,255,255,0.15); color: var(--text-primary, #e5e7eb); }

/* Modal form fields */
.rpt-modal-label { display: block; font-size: 13px; font-weight: 500; margin-bottom: 6px; color: var(--text-primary, #e5e7eb); }
.rpt-modal-input {
  width: 100%; padding: 8px 12px; border: 1px solid rgba(255,255,255,0.12);
  border-radius: 6px; font-size: 14px; background: rgba(255,255,255,0.06);
  color: var(--text-primary, #e5e7eb); box-sizing: border-box;
}
.rpt-modal-input:focus { outline: none; border-color: #7c3aed; }
.rpt-modal-textarea {
  width: 100%; padding: 8px 12px; border: 1px solid rgba(255,255,255,0.12);
  border-radius: 6px; font-size: 14px; background: rgba(255,255,255,0.06);
  color: var(--text-primary, #e5e7eb); resize: vertical; box-sizing: border-box;
  font-family: inherit;
}
.rpt-modal-textarea:focus { outline: none; border-color: #7c3aed; }

/* Light theme overrides */
[data-theme="light"] .rpt-list-counter { background: #f9fafb; border-color: #e5e7eb; }
[data-theme="light"] .rpt-lc-num { color: #6b7280; }
[data-theme="light"] .rpt-lc-overdue { background: rgba(239,68,68,0.06); border-color: rgba(239,68,68,0.15); }
[data-theme="light"] .rpt-lc-approaching { background: rgba(245,158,11,0.06); border-color: rgba(245,158,11,0.15); }
[data-theme="light"] .rpt-lc-progress { background: rgba(59,130,246,0.06); border-color: rgba(59,130,246,0.15); }
[data-theme="light"] .rpt-list-sel { background: #fff; border-color: #e5e7eb; color: #111827; }
[data-theme="light"] .rpt-list-twrap { border-color: #e5e7eb; }
[data-theme="light"] .rpt-list-tbl th { background: #f9fafb; border-color: #e5e7eb; color: #6b7280; }
[data-theme="light"] .rpt-list-tbl td { border-color: #f3f4f6; }
[data-theme="light"] .rpt-list-row:hover { background: rgba(0,0,0,0.02); }
[data-theme="light"] .rpt-st-draft { color: #6b7280; }
[data-theme="light"] .rpt-st-approved { color: #3b82f6; }
[data-theme="light"] .rpt-st-submitted { color: #22c55e; }
[data-theme="light"] .rpt-st-ack { color: #22c55e; }
[data-theme="light"] .rpt-st-cancelled { color: #ef4444; }
[data-theme="light"] .rpt-act-outline { border-color: #e5e7eb; color: #374151; }
[data-theme="light"] .rpt-modal-label { color: #111827; }
[data-theme="light"] .rpt-modal-input { background: #fff; border-color: #e5e7eb; color: #111827; }
[data-theme="light"] .rpt-modal-textarea { background: #fff; border-color: #e5e7eb; color: #111827; }
[data-theme="light"] .rpt-row-overdue { background: rgba(239,68,68,0.04) !important; }
[data-theme="light"] .rpt-row-overdue:hover { background: rgba(239,68,68,0.08) !important; }
[data-theme="light"] .rpt-row-approaching { background: rgba(245,158,11,0.04) !important; }
[data-theme="light"] .rpt-row-approaching:hover { background: rgba(245,158,11,0.08) !important; }

/* WP4 P5 FIX: Additional light mode overrides */
[data-theme="light"] .rpt-section-title { color: #6b7280; }
[data-theme="light"] .rpt-card-desc { color: #6b7280; }
[data-theme="light"] .rpt-list-tbl td { color: #374151; }
[data-theme="light"] .rpt-list-id { color: #6b7280; }
[data-theme="light"] .rpt-list-empty { color: #6b7280; }
[data-theme="light"] .rpt-list-loading { color: #6b7280; }
[data-theme="light"] .rpt-dl-overdue { color: #dc2626; }
[data-theme="light"] .rpt-dl-approaching { color: #d97706; }
[data-theme="light"] .rpt-lc-label { color: #6b7280; }
[data-theme="light"] .rpt-list-flabel { color: #6b7280; }
[data-theme="light"] .rpt-act-primary { background: #7c3aed; color: #fff; }
[data-theme="light"] .rpt-act-danger { background: #ef4444; color: #fff; }

/* WP4_P5_OPTION_C */
/* Alert bar */
.rpt-alert {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: 8px;
  margin-bottom: 10px; font-size: 13px;
}
.rpt-alert svg { flex-shrink: 0; }
.rpt-alert-overdue {
  background: rgba(239,68,68,0.08); border: 1px solid rgba(239,68,68,0.15);
  color: #ef4444;
}
.rpt-alert-approaching {
  background: rgba(245,158,11,0.08); border: 1px solid rgba(245,158,11,0.15);
  color: #f59e0b;
}
.rpt-alert-title { font-weight: 600; }
.rpt-alert-detail { font-weight: 400; opacity: 0.75; font-size: 12px; }

/* Light mode alert overrides */
[data-theme="light"] .rpt-alert-overdue {
  background: rgba(239,68,68,0.06); border-color: rgba(239,68,68,0.12);
  color: #dc2626;
}
[data-theme="light"] .rpt-alert-approaching {
  background: rgba(245,158,11,0.06); border-color: rgba(245,158,11,0.12);
  color: #d97706;
}
[data-theme="light"] .rpt-alert-detail { color: #6b7280; }

/* WP4_P6_LODGEMENT */
/* Lodgement panel */
.rpt-lodge-cell { padding: 0 !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important; }
.rpt-lodge-loading { padding: 16px; color: var(--text-softer, #6b7280); font-size: 13px; }
.rpt-lodge-panel { padding: 16px 20px; background: rgba(255,255,255,0.02); }
.rpt-lodge-header { margin-bottom: 14px; }
.rpt-lodge-title { font-size: 16px; font-weight: 700; color: var(--text-primary, #e5e7eb); }
.rpt-lodge-meta { font-size: 12px; color: var(--text-softer, #6b7280); display: flex; gap: 16px; flex-wrap: wrap; margin-top: 4px; }
.rpt-lodge-watermark {
  text-align: center; padding: 8px 12px; font-size: 11px; font-weight: 700;
  color: #ef4444; border: 2px solid rgba(239,68,68,0.3); border-radius: 6px;
  margin: 0 0 14px; letter-spacing: 1px; background: rgba(239,68,68,0.04);
}
.rpt-lodge-section {
  margin-bottom: 12px; border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px; overflow: hidden;
}
.rpt-lodge-sec-header {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 12px; background: rgba(255,255,255,0.04);
  font-size: 13px; font-weight: 600; color: var(--text-primary, #e5e7eb);
}
.rpt-lodge-sec-num {
  width: 22px; height: 22px; border-radius: 50%;
  background: #7c3aed; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700; flex-shrink: 0;
}
.rpt-lodge-sec-title { flex: 1; }
.rpt-lodge-copy {
  display: flex; align-items: center; gap: 4px;
  font-size: 11px; color: var(--text-softer, #6b7280);
  background: none; border: 1px solid rgba(255,255,255,0.1);
  border-radius: 4px; padding: 3px 8px; cursor: pointer;
  transition: all 0.15s;
}
.rpt-lodge-copy:hover { background: rgba(255,255,255,0.06); color: #7c3aed; }
.rpt-lodge-copy svg { width: 12px; height: 12px; }
.rpt-lodge-sec-body { padding: 8px 12px; }
.rpt-lodge-row {
  display: flex; padding: 4px 0; gap: 12px;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  font-size: 13px;
}
.rpt-lodge-row:last-child { border-bottom: none; }
.rpt-lodge-label {
  font-weight: 500; color: var(--text-softer, #6b7280);
  min-width: 140px; flex-shrink: 0;
}
.rpt-lodge-val { color: var(--text-primary, #e5e7eb); }
.rpt-lodge-row-multi { flex-direction: column; }
.rpt-lodge-val-multi {
  white-space: pre-wrap; margin-top: 4px; padding: 8px 10px;
  background: rgba(255,255,255,0.03); border-radius: 6px;
  font-size: 13px; line-height: 1.5;
}
.rpt-lodge-actions {
  display: flex; gap: 8px; padding-top: 14px; margin-top: 8px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.rpt-act-lodge {
  background: linear-gradient(135deg, #7c3aed, #6366f1);
  color: #fff; text-decoration: none; display: inline-flex;
  align-items: center; gap: 4px;
}

/* Light mode */
[data-theme="light"] .rpt-lodge-panel { background: #fafafa; }
[data-theme="light"] .rpt-lodge-title { color: #111827; }
[data-theme="light"] .rpt-lodge-section { border-color: #e5e7eb; }
[data-theme="light"] .rpt-lodge-sec-header { background: #f3f4f6; color: #111827; }
[data-theme="light"] .rpt-lodge-row { border-color: #f3f4f6; }
[data-theme="light"] .rpt-lodge-label { color: #6b7280; }
[data-theme="light"] .rpt-lodge-val { color: #111827; }
[data-theme="light"] .rpt-lodge-val-multi { background: #f9fafb; }
[data-theme="light"] .rpt-lodge-copy { border-color: #e5e7eb; color: #6b7280; }
[data-theme="light"] .rpt-lodge-copy:hover { background: #f3f4f6; }
[data-theme="light"] .rpt-lodge-watermark { background: rgba(239,68,68,0.04); border-color: rgba(239,68,68,0.2); }
[data-theme="light"] .rpt-lodge-actions { border-color: #e5e7eb; }
[data-theme="light"] .rpt-lodge-cell { border-color: #e5e7eb !important; }

/* === Item 2: Rescreen Cost Transparency === */
.rescreen-confirm-overlay {
  position: fixed; top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.6); z-index: 10000;
  display: flex; align-items: center; justify-content: center;
  animation: fadeIn 0.15s ease-out;
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.rescreen-confirm-modal {
  background: var(--bg-card, #1e2128); border: 1px solid var(--border-subtle, #2a2f3a);
  border-radius: 14px; width: 420px; max-width: 90vw;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4); animation: slideUp 0.2s ease-out;
}
@keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.rescreen-confirm-header {
  display: flex; align-items: center; gap: 10px; padding: 18px 20px 0;
  font-size: 15px; font-weight: 600; color: var(--text-primary, #e2e8f0);
}
.rescreen-confirm-header svg { color: var(--warning, #f59e0b); }
.rescreen-confirm-body { padding: 14px 20px; }
.rescreen-confirm-body p { font-size: 13px; color: var(--text-secondary, #9ca3af); margin: 0 0 12px; line-height: 1.5; }
.rescreen-confirm-cost {
  background: var(--bg-input, rgba(0,0,0,0.15)); border-radius: 10px;
  padding: 12px 14px; margin-bottom: 12px;
}
.rescreen-confirm-cost-row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 13px; color: var(--text-primary, #e2e8f0); padding: 4px 0;
}
.rescreen-confirm-amount { font-weight: 600; font-size: 14px; }
.rescreen-confirm-gst { font-size: 12px; color: var(--text-softer, #6b7280); border-top: 1px solid var(--border-subtle, #2a2f3a); margin-top: 4px; padding-top: 6px; }
.rescreen-confirm-note { font-size: 11px !important; color: var(--text-softer, #6b7280) !important; }
.rescreen-confirm-actions {
  display: flex; justify-content: flex-end; gap: 10px;
  padding: 0 20px 18px; border-top: 1px solid var(--border-subtle, #2a2f3a);
  margin-top: 4px; padding-top: 14px;
}
.rescreen-confirm-btn {
  padding: 8px 16px; border-radius: 8px; font-size: 13px; font-weight: 500;
  cursor: pointer; border: none; transition: all 0.15s;
}
.rescreen-confirm-cancel {
  background: transparent; color: var(--text-secondary, #9ca3af);
  border: 1px solid var(--border-subtle, #2a2f3a);
}
.rescreen-confirm-cancel:hover { background: var(--bg-input, rgba(255,255,255,0.05)); }
.rescreen-confirm-proceed {
  background: var(--accent, #6366f1); color: #fff;
  display: flex; align-items: center; gap: 6px;
}
.rescreen-confirm-proceed:hover { filter: brightness(1.1); }
.rescreen-confirm-proceed:disabled { opacity: 0.6; cursor: not-allowed; }

/* Enrol form cost section */
.mon-enrol-cost {
  background: var(--bg-input, rgba(0,0,0,0.15)); border-radius: 10px;
  padding: 12px 14px; margin: 12px 0;
}
.mon-enrol-cost-title {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 600; color: var(--text-primary, #e2e8f0);
  margin-bottom: 8px;
}
.mon-enrol-cost-row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 13px; color: var(--text-secondary, #9ca3af); padding: 3px 0;
}
.mon-enrol-cost-amt { font-weight: 600; color: var(--text-primary, #e2e8f0); }
.mon-enrol-cost-note {
  font-size: 11px; color: var(--text-softer, #6b7280);
  margin-top: 8px; line-height: 1.4;
}

/* Light theme overrides */
[data-theme="light"] .rescreen-confirm-overlay { background: rgba(0,0,0,0.4); }
[data-theme="light"] .rescreen-confirm-modal { background: #fff; border-color: #e5e7eb; }
[data-theme="light"] .rescreen-confirm-cost { background: #f9fafb; }
[data-theme="light"] .mon-enrol-cost { background: #f9fafb; }

/* === Item 2: Rescreen Cost Transparency === */
.rescreen-confirm-overlay {
  position: fixed; top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.6); z-index: 10000;
  display: flex; align-items: center; justify-content: center;
  animation: fadeIn 0.15s ease-out;
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.rescreen-confirm-modal {
  background: var(--bg-card, #1e2128); border: 1px solid var(--border-subtle, #2a2f3a);
  border-radius: 14px; width: 420px; max-width: 90vw;
  box-shadow: 0 20px 60px rgba(0,0,0,0.4); animation: slideUp 0.2s ease-out;
}
@keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.rescreen-confirm-header {
  display: flex; align-items: center; gap: 10px; padding: 18px 20px 0;
  font-size: 15px; font-weight: 600; color: var(--text-primary, #e2e8f0);
}
.rescreen-confirm-header svg { color: var(--warning, #f59e0b); }
.rescreen-confirm-body { padding: 14px 20px; }
.rescreen-confirm-body p { font-size: 13px; color: var(--text-secondary, #9ca3af); margin: 0 0 12px; line-height: 1.5; }
.rescreen-confirm-cost {
  background: var(--bg-input, rgba(0,0,0,0.15)); border-radius: 10px;
  padding: 12px 14px; margin-bottom: 12px;
}
.rescreen-confirm-cost-row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 13px; color: var(--text-primary, #e2e8f0); padding: 4px 0;
}
.rescreen-confirm-amount { font-weight: 600; font-size: 14px; }
.rescreen-confirm-gst { font-size: 12px; color: var(--text-softer, #6b7280); border-top: 1px solid var(--border-subtle, #2a2f3a); margin-top: 4px; padding-top: 6px; }
.rescreen-confirm-note { font-size: 11px !important; color: var(--text-softer, #6b7280) !important; }
.rescreen-confirm-actions {
  display: flex; justify-content: flex-end; gap: 10px;
  padding: 0 20px 18px; border-top: 1px solid var(--border-subtle, #2a2f3a);
  margin-top: 4px; padding-top: 14px;
}
.rescreen-confirm-btn {
  padding: 8px 16px; border-radius: 8px; font-size: 13px; font-weight: 500;
  cursor: pointer; border: none; transition: all 0.15s;
}
.rescreen-confirm-cancel {
  background: transparent; color: var(--text-secondary, #9ca3af);
  border: 1px solid var(--border-subtle, #2a2f3a);
}
.rescreen-confirm-cancel:hover { background: var(--bg-input, rgba(255,255,255,0.05)); }
.rescreen-confirm-proceed {
  background: var(--accent, #6366f1); color: #fff;
  display: flex; align-items: center; gap: 6px;
}
.rescreen-confirm-proceed:hover { filter: brightness(1.1); }
.rescreen-confirm-proceed:disabled { opacity: 0.6; cursor: not-allowed; }

/* Enrol form cost section */
.mon-enrol-cost {
  background: var(--bg-input, rgba(0,0,0,0.15)); border-radius: 10px;
  padding: 12px 14px; margin: 12px 0;
}
.mon-enrol-cost-title {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 600; color: var(--text-primary, #e2e8f0);
  margin-bottom: 8px;
}
.mon-enrol-cost-row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 13px; color: var(--text-secondary, #9ca3af); padding: 3px 0;
}
.mon-enrol-cost-amt { font-weight: 600; color: var(--text-primary, #e2e8f0); }
.mon-enrol-cost-note {
  font-size: 11px; color: var(--text-softer, #6b7280);
  margin-top: 8px; line-height: 1.4;
}

/* Light theme overrides */
[data-theme="light"] .rescreen-confirm-overlay { background: rgba(0,0,0,0.4); }
[data-theme="light"] .rescreen-confirm-modal { background: #fff; border-color: #e5e7eb; }
[data-theme="light"] .rescreen-confirm-cost { background: #f9fafb; }
[data-theme="light"] .mon-enrol-cost { background: #f9fafb; }

/* === Item 3: AML RBAC - Compliance Officer Toggle === */
.co-toggle { position: relative; display: inline-block; width: 36px; height: 20px; cursor: pointer; }
.co-toggle-input { opacity: 0; width: 0; height: 0; }
.co-toggle-slider {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: var(--border-subtle, #374151); border-radius: 20px;
  transition: all 0.2s;
}
.co-toggle-slider:before {
  content: ''; position: absolute; width: 16px; height: 16px;
  left: 2px; bottom: 2px; background: #fff; border-radius: 50%;
  transition: all 0.2s;
}
.co-toggle-input:checked + .co-toggle-slider { background: var(--accent, #6366f1); }
.co-toggle-input:checked + .co-toggle-slider:before { transform: translateX(16px); }
.co-toggle-input:disabled + .co-toggle-slider { opacity: 0.5; cursor: not-allowed; }
.co-badge {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; padding: 2px 8px; border-radius: 6px; font-weight: 500;
}
.co-badge-implicit { background: rgba(99,102,241,0.15); color: var(--accent, #6366f1); }
.co-badge-active { background: rgba(16,185,129,0.15); color: #10b981; }
.co-badge-none { color: var(--text-softer, #6b7280); }
.co-badge-na { color: var(--text-softer, #6b7280); font-style: italic; }
[data-theme="light"] .co-toggle-slider { background: #d1d5db; }
[data-theme="light"] .co-badge-implicit { background: rgba(99,102,241,0.1); }
[data-theme="light"] .co-badge-active { background: rgba(16,185,129,0.1); }


/* ===== Item 4: Outward CDD Evidence Sharing ===== */
.es-action-bar { display:flex; justify-content:flex-end; padding:4px 0 8px; }
.es-share-btn { display:inline-flex; align-items:center; font-size:13px; padding:8px 16px; }

/* Shares Tab */
.es-loading { text-align:center; padding:40px; color:var(--text-softer,#6b7280); }
.es-empty { text-align:center; padding:48px 20px; }
.es-empty-icon { margin-bottom:12px; opacity:0.5; }
.es-empty-title { font-size:16px; font-weight:600; color:var(--text-soft,#d1d5db); margin-bottom:6px; }
.es-empty-desc { font-size:13px; color:var(--text-softer,#6b7280); max-width:320px; margin:0 auto; line-height:1.5; }
.es-shares-list { display:flex; flex-direction:column; gap:12px; padding:12px 0; }
.es-share-card { background:var(--bg-elevated,#111827); border:1px solid var(--border-subtle); border-radius:10px; padding:16px; }
.es-share-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.es-share-org { font-size:15px; font-weight:600; color:var(--text-primary,#f1f5f9); }
.es-status-badge { font-size:11px; font-weight:600; padding:3px 10px; border-radius:12px; text-transform:capitalize; }
.es-status-active { background:rgba(52,211,153,0.12); color:#34d399; }
.es-status-revoked { background:rgba(248,113,113,0.12); color:#f87171; }
.es-status-expired { background:rgba(251,191,36,0.12); color:#fbbf24; }
.es-status-locked { background:rgba(248,113,113,0.12); color:#f87171; }
.es-status-exhausted { background:rgba(148,163,184,0.12); color:#94a3b8; }
.es-share-meta { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:8px; margin-bottom:12px; }
.es-meta-item { display:flex; flex-direction:column; }
.es-meta-label { font-size:10px; color:var(--text-softer); text-transform:uppercase; letter-spacing:0.5px; }
.es-meta-value { font-size:13px; color:var(--text-soft,#cbd5e1); }
.es-share-actions { display:flex; gap:8px; justify-content:flex-end; padding-top:8px; border-top:1px solid var(--border-subtle); }

/* Share Modal */
.es-section { margin-bottom:16px; }
.es-section-title { font-size:12px; font-weight:600; color:var(--text-softer); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:8px; }
.es-elem-row { display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid var(--border-subtle); }
.es-elem-check { color:#34d399; font-size:14px; flex-shrink:0; }
.es-elem-name { flex:1; font-size:13px; color:var(--text-soft,#d1d5db); }
.es-elem-status { font-size:11px; padding:2px 8px; border-radius:6px; text-transform:capitalize; }
.es-elem-pending { background:rgba(251,191,36,0.12); color:#fbbf24; }
.es-elem-direct { background:rgba(52,211,153,0.12); color:#34d399; }
.es-elem-verified { background:rgba(52,211,153,0.12); color:#34d399; }
.es-form-row { margin-bottom:10px; }
.es-form-row label { display:block; font-size:12px; color:var(--text-softer); margin-bottom:4px; }
.es-input { width:100%; padding:8px 12px; background:var(--bg-base,#0f172a); border:1px solid var(--border-subtle,#334155); border-radius:8px; color:var(--text-primary,#f1f5f9); font-size:13px; outline:none; transition:border-color 0.15s; font-family:inherit; }
.es-input:focus { border-color:var(--accent,#3b82f6); }
.es-textarea { resize:vertical; min-height:60px; }
.es-privacy-notice { font-size:11px; color:var(--text-softer); line-height:1.5; padding:10px 12px; background:var(--bg-base,#0f172a); border-radius:8px; margin-top:8px; }
.es-modal-error { color:#f87171; font-size:13px; margin-top:8px; min-height:16px; }
.hidden { display:none !important; }
.compliance-btn-danger { background:rgba(239,68,68,0.15); color:#f87171; border:1px solid rgba(239,68,68,0.3); }
.compliance-btn-danger:hover { background:rgba(239,68,68,0.25); }
.compliance-btn-sm { font-size:12px; padding:5px 12px; }

/* Light theme overrides */
[data-theme="light"] .es-share-card { background:#fff; border-color:#e5e7eb; }
[data-theme="light"] .es-input { background:#fff; border-color:#d1d5db; color:#1f2937; }
[data-theme="light"] .es-input:focus { border-color:#2563eb; }
[data-theme="light"] .es-privacy-notice { background:#f9fafb; }

[data-theme="light"] .es-section-title { color:#4b5563; }
[data-theme="light"] .es-elem-name { color:#374151; }
[data-theme="light"] .es-elem-check { color:#059669; }
[data-theme="light"] .es-elem-pending { background:rgba(245,158,11,0.12); color:#f59e0b; }
[data-theme="light"] .es-elem-status { font-weight:600; }
[data-theme="light"] .es-form-row label { color:#4b5563; }
[data-theme="light"] .es-meta-label { color:#6b7280; }
[data-theme="light"] .es-meta-value { color:#1f2937; }
[data-theme="light"] .es-share-org { color:#111827; }
[data-theme="light"] .es-empty-title { color:#374151; }
[data-theme="light"] .es-empty-desc { color:#6b7280; }
[data-theme="light"] .es-modal-error { color:#dc2626; }
[data-theme="light"] .es-privacy-notice { color:#4b5563; background:#f3f4f6; }
[data-theme="light"] .es-loading { color:#6b7280; }
[data-theme="light"] .compliance-btn-danger { background:rgba(220,38,38,0.08); color:#dc2626; border-color:rgba(220,38,38,0.2); }
[data-theme="light"] .compliance-btn-danger:hover { background:rgba(220,38,38,0.15); }

/* ── Item 10b: Light theme CSS variables for AML Settings ── */
[data-theme="light"] .ca-settings-content {
  --bg-input: #ffffff;
  --bg-card: rgba(0,0,0,0.02);
  --border-subtle: #e5e7eb;
  --text-primary: #1f2937;
  --text-main: #1f2937;
  --text-softer: #6b7280;
  --text-secondary: #9ca3af;
}

/* Readonly pricing inputs visual treatment */
[data-theme="light"] .ca-settings-content input[readonly] {
  opacity: 0.65;
  cursor: not-allowed;
  background: #f3f4f6;
}
.ca-settings-content input[readonly] {
  opacity: 0.65;
  cursor: not-allowed;
}

/* ===== Item 11: Monitoring Case Treatment UX ===== */
.ops-mc-mon-clear { border-left: 3px solid #10b981; }
.ops-mc-mon-alert { border-left: 3px solid #fbbf24; animation: mon-card-pulse 2s ease-in-out infinite; }
@keyframes mon-card-pulse {
  0%, 100% { border-left-color: #fbbf24; }
  50% { border-left-color: #f59e0b; }
}
[data-theme="light"] .ops-mc-mon-clear { border-left-color: #059669; }
[data-theme="light"] .ops-mc-mon-alert { border-left-color: #d97706; }
[data-theme="light"] .ops-mc-mon-alert .ops-mc-val { color: #b45309 !important; }
[data-theme="light"] .ops-mc-mon-clear .ops-mc-val { color: #047857 !important; }

/* ===== Manual DVS Card ===== */
.ck-dvs-card { background: var(--card-bg, #1e293b); border: 1px solid var(--border, #334155); border-radius: 10px; padding: 16px; margin-bottom: 16px; }
.dvs-info-banner { display: flex; gap: 10px; padding: 12px 14px; border-radius: 8px; margin-bottom: 14px; font-size: 13px; line-height: 1.5; align-items: flex-start; }
.dvs-info-amber { background: rgba(245,158,11,0.1); border: 1px solid rgba(245,158,11,0.25); color: #fbbf24; }
.dvs-info-amber svg { color: #f59e0b; flex-shrink: 0; margin-top: 2px; }
.dvs-info-blue { background: rgba(59,130,246,0.08); border: 1px solid rgba(59,130,246,0.2); color: #93c5fd; }
.dvs-info-blue svg { color: #60a5fa; flex-shrink: 0; margin-top: 2px; }
.dvs-info-text { font-size: 12px; margin-top: 4px; opacity: 0.85; line-height: 1.6; }
.dvs-risk-note { color: #fca5a5; font-style: italic; margin-top: 6px; }
.dvs-guidance-link { color: #60a5fa; text-decoration: underline; font-size: 12px; }
.dvs-guidance-link:hover { color: #93c5fd; }

/* DVS Type Selector */
.dvs-type-selector { display: flex; gap: 8px; flex-wrap: wrap; }
.dvs-type-btn { background: var(--card-bg, #1e293b); border: 1px solid var(--border, #334155); border-radius: 8px; padding: 10px 14px; cursor: pointer; color: var(--text, #e2e8f0); font-size: 13px; display: flex; align-items: center; gap: 6px; transition: all 0.15s; }
.dvs-type-btn:hover { border-color: #60a5fa; background: rgba(96,165,250,0.08); }
.dvs-type-btn.dvs-type-active { border-color: #3b82f6; background: rgba(59,130,246,0.15); color: #93c5fd; box-shadow: 0 0 0 1px rgba(59,130,246,0.3); }

/* DVS Form Fields */
.dvs-form { margin-top: 4px; }
.dvs-field-group { margin-bottom: 12px; }
.dvs-label { display: block; font-size: 12px; font-weight: 600; color: var(--text-muted, #94a3b8); margin-bottom: 5px; }
.dvs-req { color: #f87171; }
.dvs-input { width: 100%; padding: 8px 12px; background: var(--input-bg, #0f172a); border: 1px solid var(--border, #334155); border-radius: 6px; color: var(--text, #e2e8f0); font-size: 13px; box-sizing: border-box; }
.dvs-input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59,130,246,0.2); }
.dvs-select { appearance: auto; cursor: pointer; }

/* DVS Consent + Submit */
.dvs-consent-label { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text, #e2e8f0); margin-bottom: 12px; cursor: pointer; }
.dvs-consent-label input[type="checkbox"] { width: 16px; height: 16px; accent-color: #3b82f6; cursor: pointer; }
.dvs-submit-row { display: flex; align-items: center; gap: 12px; }
.dvs-submit-hint { font-size: 11px; color: var(--text-muted, #94a3b8); opacity: 0.7; }

/* Verified Documents List */
.dvs-result-card { background: var(--card-bg, #1e293b); border: 1px solid var(--border, #334155); border-radius: 8px; padding: 12px 14px; margin-bottom: 8px; border-left: 3px solid #10b981; }
.dvs-result-card.dvs-result-fail { border-left-color: #ef4444; }
.dvs-result-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.dvs-result-type { font-size: 13px; font-weight: 600; color: var(--text, #e2e8f0); display: flex; align-items: center; gap: 6px; text-transform: capitalize; }
.dvs-result-meta { font-size: 11px; color: var(--text-muted, #94a3b8); display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.dvs-method-tag { font-size: 10px; padding: 2px 6px; border-radius: 4px; font-weight: 600; }
.dvs-method-bio { background: rgba(16,185,129,0.15); color: #34d399; }
.dvs-method-manual { background: rgba(245,158,11,0.15); color: #fbbf24; }
.dvs-result-warning { font-size: 12px; color: #fca5a5; margin-top: 6px; padding: 6px 8px; background: rgba(239,68,68,0.08); border-radius: 4px; }

/* ===== Light Theme ===== */
[data-theme="light"] .ck-dvs-card { background: #fff; border-color: #e2e8f0; }
[data-theme="light"] .dvs-info-amber { background: rgba(245,158,11,0.06); border-color: rgba(245,158,11,0.2); color: #92400e; }
[data-theme="light"] .dvs-info-amber svg { color: #d97706; }
[data-theme="light"] .dvs-info-amber .dvs-info-text { color: #78350f; }
[data-theme="light"] .dvs-risk-note { color: #b91c1c; }
[data-theme="light"] .dvs-info-blue { background: rgba(59,130,246,0.05); border-color: rgba(59,130,246,0.15); color: #1e40af; }
[data-theme="light"] .dvs-info-blue svg { color: #2563eb; }
[data-theme="light"] .dvs-info-blue .dvs-info-text { color: #1e3a5f; }
[data-theme="light"] .dvs-guidance-link { color: #2563eb; }
[data-theme="light"] .dvs-type-btn { background: #fff; border-color: #e2e8f0; color: #334155; }
[data-theme="light"] .dvs-type-btn:hover { border-color: #3b82f6; background: rgba(59,130,246,0.04); }
[data-theme="light"] .dvs-type-btn.dvs-type-active { border-color: #3b82f6; background: rgba(59,130,246,0.08); color: #1d4ed8; }
[data-theme="light"] .dvs-input { background: #f8fafc; border-color: #e2e8f0; color: #1e293b; }
[data-theme="light"] .dvs-result-card { background: #fff; border-color: #e2e8f0; }
[data-theme="light"] .dvs-method-bio { background: rgba(16,185,129,0.1); color: #047857; }
[data-theme="light"] .dvs-method-manual { background: rgba(245,158,11,0.1); color: #92400e; }
[data-theme="light"] .dvs-result-warning { background: rgba(239,68,68,0.05); color: #b91c1c; }

/* DVS Polish: OR divider */
.dvs-or-divider { display: flex; align-items: center; gap: 12px; margin: 16px 0; }
.dvs-or-line { flex: 1; height: 1px; background: var(--border, #334155); }
.dvs-or-text { font-size: 12px; font-weight: 600; color: var(--text-muted, #94a3b8); text-transform: uppercase; letter-spacing: 0.5px; white-space: nowrap; }
[data-theme="light"] .dvs-or-line { background: #cbd5e1; }
[data-theme="light"] .dvs-or-text { color: #64748b; }

/* DVS Polish: IDPass alternative note */
.dvs-alt-note { font-size: 12px; color: #94a3b8; margin-top: 10px; padding: 8px 12px; background: rgba(59,130,246,0.06); border-radius: 6px; border-left: 3px solid #3b82f6; }
[data-theme="light"] .dvs-alt-note { color: #475569; background: rgba(59,130,246,0.04); }

/* DVS Polish: Light theme text contrast fixes */
[data-theme="light"] .dvs-consent-label { color: #334155; }
[data-theme="light"] .dvs-label { color: #475569; }
[data-theme="light"] .dvs-submit-hint { color: #64748b; }
[data-theme="light"] .dvs-result-meta { color: #64748b; }
[data-theme="light"] .dvs-info-banner strong { color: inherit; }

/* IDPass DVS-verified override */
.ck-idpass-dvs-done { display: flex; gap: 10px; padding: 12px 14px; background: rgba(16,185,129,0.08); border: 1px solid rgba(16,185,129,0.2); border-radius: 8px; margin: 10px 0; align-items: flex-start; }
.ck-idpass-dvs-done svg { flex-shrink: 0; margin-top: 2px; }
[data-theme="light"] .ck-idpass-dvs-done { background: rgba(16,185,129,0.05); border-color: rgba(16,185,129,0.15); }
[data-theme="light"] .ck-idpass-dvs-done div div:first-child { color: #047857 !important; }

/* DVS error banner */
.dvs-error-banner { display: flex; gap: 10px; padding: 12px 14px; background: rgba(239,68,68,0.08); border: 1px solid rgba(239,68,68,0.25); border-radius: 8px; margin-bottom: 12px; font-size: 13px; color: #fca5a5; align-items: flex-start; }
.dvs-error-banner svg { color: #ef4444; flex-shrink: 0; margin-top: 2px; }
.dvs-error-banner strong { color: #f87171; }
[data-theme="light"] .dvs-error-banner { background: rgba(239,68,68,0.05); border-color: rgba(239,68,68,0.2); color: #991b1b; }
[data-theme="light"] .dvs-error-banner strong { color: #b91c1c; }

/* IDPass DVS-verified override */
.ck-idpass-dvs-done { display: flex; gap: 10px; padding: 12px 14px; background: rgba(16,185,129,0.08); border: 1px solid rgba(16,185,129,0.2); border-radius: 8px; margin: 10px 0; align-items: flex-start; }
.ck-idpass-dvs-done svg { flex-shrink: 0; margin-top: 2px; }
[data-theme="light"] .ck-idpass-dvs-done { background: rgba(16,185,129,0.05); border-color: rgba(16,185,129,0.15); }
[data-theme="light"] .ck-idpass-dvs-done div div:first-child { color: #047857 !important; }

/* DVS error banner */
.dvs-error-banner { display: flex; gap: 10px; padding: 12px 14px; background: rgba(239,68,68,0.08); border: 1px solid rgba(239,68,68,0.25); border-radius: 8px; margin-bottom: 12px; font-size: 13px; color: #fca5a5; align-items: flex-start; }
.dvs-error-banner svg { color: #ef4444; flex-shrink: 0; margin-top: 2px; }
.dvs-error-banner strong { color: #f87171; }
[data-theme="light"] .dvs-error-banner { background: rgba(239,68,68,0.05); border-color: rgba(239,68,68,0.2); color: #991b1b; }
[data-theme="light"] .dvs-error-banner strong { color: #b91c1c; }

/* Verified Documents: ensure doc type text is visible */
.dvs-result-type { font-size: 14px !important; font-weight: 700 !important; color: var(--text, #e2e8f0) !important; }
[data-theme="light"] .dvs-result-type { color: #1e293b !important; }


/* ═══════════════════════════════════════════════════════════════
   UBO OWNERSHIP TAB — Phase 2A
   ═══════════════════════════════════════════════════════════════ */

.own-container { padding: 0; }

/* ── Toolbar ── */
.own-toolbar {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 16px; flex-wrap: wrap;
}

.own-trace-btn {
  padding: 10px 20px; border-radius: 8px; border: none;
  background: #0E8A7E; color: white; font-size: 13px; font-weight: 600;
  cursor: pointer; display: inline-flex; align-items: center; gap: 8px;
  transition: background 0.2s;
}
.own-trace-btn:hover { background: #10A193; }
.own-trace-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.own-trace-btn svg { width: 16px; height: 16px; }

.own-tracing-indicator {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; color: #8B9BB5;
}

.own-status-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px; border-radius: 20px;
  font-size: 11px; font-weight: 600; letter-spacing: 0.3px;
}
.own-status-pill svg { width: 14px; height: 14px; }
.own-status-neutral  { background: rgba(139,155,181,0.12); color: #8B9BB5; border: 1px solid rgba(139,155,181,0.25); }
.own-status-pending  { background: rgba(59,130,246,0.12); color: #60A5FA; border: 1px solid rgba(59,130,246,0.25); }
.own-status-success  { background: rgba(46,160,67,0.12); color: #3FB950; border: 1px solid rgba(46,160,67,0.25); }
.own-status-warning  { background: rgba(210,153,34,0.12); color: #D29922; border: 1px solid rgba(210,153,34,0.25); }
.own-status-complete { background: rgba(14,138,126,0.12); color: #12BFB0; border: 1px solid rgba(14,138,126,0.25); }
.own-status-error    { background: rgba(248,81,73,0.12); color: #F85149; border: 1px solid rgba(248,81,73,0.25); }

.own-ubo-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px; border-radius: 20px;
  font-size: 11px; font-weight: 600;
  background: rgba(196,151,59,0.12); color: #C4973B; border: 1px solid rgba(196,151,59,0.25);
}
.own-ubo-badge svg { width: 12px; height: 12px; }

/* ── Filter chips ── */
.own-filter-chips { display: flex; gap: 4px; }
.own-chip {
  padding: 5px 12px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.1);
  background: transparent; color: #8B9BB5; font-size: 11px; font-weight: 500;
  cursor: pointer; transition: all 0.15s;
}
.own-chip:hover { background: rgba(255,255,255,0.06); color: #E8ECF1; }
.own-chip.own-chip-active {
  background: rgba(14,138,126,0.15); color: #12BFB0;
  border-color: rgba(14,138,126,0.3);
}

/* ── Unresolved strip ── */
.own-unresolved-strip {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 16px; border-radius: 8px; margin-bottom: 16px;
  background: rgba(210,153,34,0.08); border: 1px solid rgba(210,153,34,0.2);
  color: #D29922; font-size: 12px; font-weight: 500;
}
.own-unresolved-strip svg { width: 14px; height: 14px; flex-shrink: 0; }

/* ── Empty state ── */
.own-empty-state {
  text-align: center; padding: 80px 40px;
  background: rgba(255,255,255,0.03); border: 1px dashed rgba(255,255,255,0.1);
  border-radius: 12px;
}
.own-empty-icon { margin-bottom: 16px; }
.own-empty-icon svg { width: 48px; height: 48px; color: #8B9BB5; }
.own-empty-state h3 { font-size: 16px; font-weight: 600; color: #E8ECF1; margin-bottom: 8px; }
.own-empty-state p { font-size: 13px; color: #8B9BB5; max-width: 400px; margin: 0 auto 8px; line-height: 1.5; }
.own-empty-hint { font-size: 11px; color: #5A6474; }

/* ── Tracing state ── */
.own-tracing-state {
  text-align: center; padding: 80px 40px;
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
}
.own-tracing-state h3 { font-size: 16px; font-weight: 600; color: #E8ECF1; margin: 16px 0 8px; }
.own-tracing-state p { font-size: 13px; color: #8B9BB5; }

/* ── Spinner ── */
.own-spinner {
  width: 18px; height: 18px; border: 2px solid rgba(255,255,255,0.15);
  border-top-color: #12BFB0; border-radius: 50%;
  animation: own-spin 0.8s linear infinite; display: inline-block;
}
.own-spinner-lg { width: 36px; height: 36px; border-width: 3px; }
@keyframes own-spin { to { transform: rotate(360deg); } }

.own-loading {
  display: flex; align-items: center; justify-content: center; gap: 12px;
  padding: 80px 0; color: #8B9BB5; font-size: 13px;
}

/* ── Node list (Phase 2A interim, replaced by SVG tree in 2B) ── */
.own-tree-canvas {
  background: rgba(19,34,55,0.6); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px; padding: 24px; min-height: 300px;
  margin-bottom: 16px;
}
.own-tree-summary {
  font-size: 12px; color: #8B9BB5; margin-bottom: 16px;
  text-transform: uppercase; letter-spacing: 1px; font-weight: 600;
}

.own-node-list { display: flex; flex-direction: column; gap: 4px; }

.own-node-row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 16px; border-radius: 8px;
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06);
  cursor: pointer; transition: all 0.15s;
}
.own-node-row:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.12); }
.own-node-row.own-node-ubo { border-left: 3px solid #C4973B; }

.own-node-icon { color: #8B9BB5; flex-shrink: 0; }
.own-node-icon svg { width: 16px; height: 16px; }

.own-node-info { flex: 1; min-width: 0; }
.own-node-name { font-size: 13px; font-weight: 500; color: #E8ECF1; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.own-node-meta { font-size: 11px; color: #8B9BB5; margin-top: 2px; }

/* Classification chips */
.own-class-chip {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: 4px; font-size: 10px; font-weight: 600;
  letter-spacing: 0.3px;
}
.own-class-chip svg { width: 10px; height: 10px; }
.own-class-ubo { background: rgba(196,151,59,0.15); color: #C4973B; }
.own-class-control { background: rgba(59,130,246,0.15); color: #60A5FA; }
.own-class-review { background: rgba(248,81,73,0.15); color: #F85149; }
.own-class-created { background: rgba(46,160,67,0.15); color: #3FB950; }

/* ── Summary panel ── */
.own-summary-panel {
  display: flex; gap: 32px; padding: 16px 20px;
  background: rgba(19,34,55,0.6); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
}
.own-summary-col { flex: 1; }
.own-summary-label {
  font-size: 10px; text-transform: uppercase; letter-spacing: 1.5px;
  color: #12BFB0; margin-bottom: 12px; font-weight: 600;
}
.own-summary-stat {
  display: flex; justify-content: space-between; padding: 4px 0;
  font-size: 12px; color: #8B9BB5;
}
.own-summary-stat span:last-child { color: #E8ECF1; font-weight: 600; }

.own-risk-factor {
  font-size: 12px; color: #D29922; padding: 3px 0;
  display: flex; align-items: center; gap: 8px;
}
.own-risk-weight { font-weight: 700; }
.own-risk-note { font-size: 11px; color: #5A6474; margin-top: 8px; line-height: 1.4; }

/* ── Cost confirmation dialog ── */
.own-dialog-overlay {
  position: fixed; inset: 0; z-index: 10000;
  background: rgba(0,0,0,0.6); backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center;
}
.own-dialog {
  background: #132237; border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px; width: 440px; max-width: 90vw;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.own-dialog-header {
  display: flex; align-items: center; gap: 12px;
  padding: 20px 24px 0; color: #E8ECF1;
}
.own-dialog-header h3 { font-size: 16px; font-weight: 600; margin: 0; }
.own-dialog-icon svg { width: 24px; height: 24px; color: #12BFB0; }

.own-dialog-body { padding: 16px 24px; }
.own-dialog-body p { font-size: 13px; color: #8B9BB5; margin: 0 0 12px; line-height: 1.5; }

.own-cost-breakdown {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px; padding: 12px 16px; margin-bottom: 12px;
}
.own-cost-row {
  display: flex; justify-content: space-between; font-size: 12px;
  color: #8B9BB5; padding: 4px 0;
}
.own-cost-row span:last-child { color: #E8ECF1; font-weight: 500; }
.own-cost-free { color: #3FB950 !important; }
.own-cost-note { display: block; font-size: 11px; color: #5A6474; padding-top: 8px; border-top: 1px solid rgba(255,255,255,0.06); margin-top: 4px; }
.own-cost-typical { font-weight: 600; color: #E8ECF1 !important; font-size: 12px !important; }

.own-dialog-footer {
  display: flex; justify-content: flex-end; gap: 12px;
  padding: 0 24px 20px;
}
.own-dialog-cancel {
  padding: 8px 18px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.12);
  background: transparent; color: #8B9BB5; font-size: 13px; cursor: pointer;
}
.own-dialog-cancel:hover { background: rgba(255,255,255,0.06); color: #E8ECF1; }
.own-dialog-confirm {
  padding: 8px 18px; border-radius: 6px; border: none;
  background: #0E8A7E; color: white; font-size: 13px; font-weight: 600; cursor: pointer;
}
.own-dialog-confirm:hover { background: #10A193; }

/* ── Light theme overrides ── */
[data-theme="light"] .own-trace-btn { background: #0E8A7E; color: white; }
[data-theme="light"] .own-trace-btn:hover { background: #0C7A70; }
[data-theme="light"] .own-status-neutral { background: #f1f3f5; color: #6b7280; border-color: #d1d5db; }
[data-theme="light"] .own-status-pending { background: #eff6ff; color: #2563eb; border-color: #bfdbfe; }
[data-theme="light"] .own-status-success { background: #f0fdf4; color: #16a34a; border-color: #bbf7d0; }
[data-theme="light"] .own-status-warning { background: #fffbeb; color: #d97706; border-color: #fde68a; }
[data-theme="light"] .own-status-complete { background: #f0fdfa; color: #0E8A7E; border-color: #99f6e4; }
[data-theme="light"] .own-status-error { background: #fef2f2; color: #dc2626; border-color: #fecaca; }
[data-theme="light"] .own-ubo-badge { background: #f0f4fa; color: #1e3a5f; border-color: #bdd0e8; }
[data-theme="light"] .own-chip { border-color: #d1d5db; color: #6b7280; background: white; }
[data-theme="light"] .own-chip:hover { background: #f9fafb; color: #374151; }
[data-theme="light"] .own-chip.own-chip-active { background: #f0fdfa; color: #0E8A7E; border-color: #99f6e4; }
[data-theme="light"] .own-unresolved-strip { background: #fffbeb; border-color: #fde68a; color: #d97706; }
[data-theme="light"] .own-empty-state { background: #f9fafb; border-color: #d1d5db; }
[data-theme="light"] .own-empty-icon svg { color: #9ca3af; }
[data-theme="light"] .own-empty-state h3 { color: #111827; }
[data-theme="light"] .own-empty-state p { color: #6b7280; }
[data-theme="light"] .own-empty-hint { color: #9ca3af; }
[data-theme="light"] .own-tracing-state { background: #f9fafb; border-color: #e5e7eb; }
[data-theme="light"] .own-tracing-state h3 { color: #111827; }
[data-theme="light"] .own-spinner { border-color: #e5e7eb; border-top-color: #0E8A7E; }
[data-theme="light"] .own-loading { color: #6b7280; }
[data-theme="light"] .own-tree-canvas { background: #f9fafb; border-color: #e5e7eb; }
[data-theme="light"] .own-tree-summary { color: #6b7280; }
[data-theme="light"] .own-node-row { background: white; border-color: #e5e7eb; }
[data-theme="light"] .own-node-row:hover { background: #f9fafb; border-color: #d1d5db; }
[data-theme="light"] .own-node-row.own-node-ubo { border-left-color: #d97706; }
[data-theme="light"] .own-node-icon { color: #6b7280; }
[data-theme="light"] .own-node-name { color: #111827; }
[data-theme="light"] .own-node-meta { color: #6b7280; }
[data-theme="light"] .own-class-ubo { background: #fffbeb; color: #b45309; }
[data-theme="light"] .own-class-control { background: #eff6ff; color: #2563eb; }
[data-theme="light"] .own-class-review { background: #fef2f2; color: #dc2626; }
[data-theme="light"] .own-class-created { background: #f0fdf4; color: #16a34a; }
[data-theme="light"] .own-summary-panel { background: #f9fafb; border-color: #e5e7eb; }
[data-theme="light"] .own-summary-label { color: #0E8A7E; }
[data-theme="light"] .own-summary-stat { color: #6b7280; }
[data-theme="light"] .own-summary-stat span:last-child { color: #111827; }
[data-theme="light"] .own-risk-factor { color: #d97706; }
[data-theme="light"] .own-risk-note { color: #9ca3af; }
[data-theme="light"] .own-dialog { background: white; border-color: #e5e7eb; box-shadow: 0 20px 60px rgba(0,0,0,0.15); }
[data-theme="light"] .own-dialog-header { color: #111827; }
[data-theme="light"] .own-dialog-body p { color: #6b7280; }
[data-theme="light"] .own-cost-breakdown { background: #f9fafb; border-color: #e5e7eb; }
[data-theme="light"] .own-cost-row { color: #6b7280; }
[data-theme="light"] .own-cost-row span:last-child { color: #111827; }
[data-theme="light"] .own-cost-note { color: #9ca3af; border-top-color: #e5e7eb; }
[data-theme="light"] .own-cost-typical { color: #111827 !important; }
[data-theme="light"] .own-dialog-cancel { border-color: #d1d5db; color: #6b7280; }
[data-theme="light"] .own-dialog-cancel:hover { background: #f9fafb; color: #374151; }


/* ═══════════════════════════════════════════════════
   UBO OWNERSHIP TREE — Phase 2B
   ═══════════════════════════════════════════════════ */

/* ── Layout: tree + inspector ── */
.own-tree-inspector-layout {
  display: flex; gap: 0; min-height: 380px;
  transition: all 0.25s ease;
}
.own-tree-area {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column;
}
.own-tree-canvas {
  background: #0F1C2E;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  overflow: auto;
  flex: 1;
  min-height: 300px;
  position: relative;
}

/* ── Scrollable tree layer ── */
.own-tree-scroll {
  min-width: 100%; min-height: 100%;
  display: flex; justify-content: center;
}
.own-tree-layer {
  position: relative;
  padding-bottom: 24px;
}

/* ── SVG line layer ── */
.own-tree-svg {
  position: absolute; top: 0; left: 0;
  pointer-events: none;
}
.own-line {
  stroke: rgba(255,255,255,0.18);
  stroke-width: 2;
}
.own-line.own-line-major {
  stroke: rgba(255,255,255,0.3);
  stroke-width: 2.5;
}
.own-line.own-line-strong {
  stroke: rgba(255,255,255,0.42);
  stroke-width: 3;
}
.own-line.own-line-dash {
  stroke-dasharray: 6 4;
}
.own-line-pct {
  fill: #C4973B;
  font-size: 11px; font-weight: 600;
  font-family: 'DM Sans', -apple-system, sans-serif;
}
.own-line-role {
  fill: #8B9BB5;
  font-size: 10px; font-weight: 500;
  font-family: 'DM Sans', -apple-system, sans-serif;
}

/* ── Tree node (HTML, absolutely positioned) ── */
.own-tnode {
  position: absolute;
  border-radius: 10px;
  padding: 10px 14px;
  cursor: pointer;
  transition: box-shadow 0.2s, border-color 0.2s, transform 0.15s;
  display: flex; flex-direction: column; justify-content: center;
  overflow: visible;
  box-sizing: border-box;
  min-height: 0;
}
.own-tnode:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}

/* Company node */
.own-tnode-co {
  background: #1B365D;
  border: 1.5px solid rgba(255,255,255,0.15);
}
.own-tnode-co:hover { border-color: rgba(255,255,255,0.3); }

/* Root node (slightly brighter) */
.own-tnode-root {
  border-color: rgba(14,138,126,0.5);
  box-shadow: 0 2px 16px rgba(14,138,126,0.15);
  background: #1B365D !important;
}

/* Person node */
.own-tnode-person {
  background: rgba(255,255,255,0.04);
  border: 1.5px solid rgba(255,255,255,0.1);
}
.own-tnode-person:hover { border-color: rgba(255,255,255,0.25); }

/* UBO highlight */
.own-tnode-ubo {
  background: rgba(14,138,126,0.15) !important;
  border: 1.5px solid #0E8A7E !important;
  box-shadow: 0 0 0 1px rgba(14,138,126,0.1), 0 2px 12px rgba(14,138,126,0.15);
}
.own-tnode-ubo:hover {
  box-shadow: 0 0 0 2px rgba(14,138,126,0.2), 0 6px 20px rgba(14,138,126,0.25);
}

/* Control candidate */
.own-tnode-ctrl {
  border-color: rgba(59,130,246,0.3) !important;
  background: rgba(59,130,246,0.06) !important;
}

/* Manual review */
.own-tnode-review {
  border-color: rgba(248,81,73,0.4) !important;
  background: rgba(248,81,73,0.06) !important;
}

/* Party created */
.own-tnode-created {
  border-color: rgba(46,160,67,0.3) !important;
  background: rgba(46,160,67,0.06) !important;
}

/* Selected state */
.own-tnode-sel {
  box-shadow: 0 0 0 2px #12BFB0, 0 4px 20px rgba(14,138,126,0.3) !important;
  border-color: #12BFB0 !important;
}

/* Node internal elements */
.own-tnode-head {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 2px;
}
.own-tnode-icon { color: #8B9BB5; flex-shrink: 0; }
.own-tnode-icon svg { width: 14px; height: 14px; }
.own-tnode-ubo .own-tnode-icon { color: #12BFB0; }
.own-tnode-co .own-tnode-icon { color: #7BA3D9; }

.own-tnode-name {
  font-size: 13px; font-weight: 600;
  color: #E8ECF1;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  line-height: 1.3;
}

.own-tnode-sub {
  font-size: 11px; color: #8B9BB5;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  margin-top: 1px; line-height: 1.3;
  padding-left: 22px;
}

.own-tnode-star {
  position: absolute; top: -6px; right: -6px;
  width: 20px; height: 20px;
  background: rgba(196,151,59,0.9);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.own-tnode-star svg { width: 11px; height: 11px; color: white; fill: white; }

/* Classification chip on node */
.own-tchip {
  display: inline-block;
  padding: 1px 7px; border-radius: 3px;
  font-size: 9px; font-weight: 700;
  letter-spacing: 0.4px;
  margin-top: 3px; margin-left: 22px;
  text-transform: uppercase;
}
.own-tchip-ubo { background: rgba(196,151,59,0.2); color: #C4973B; }
.own-tchip-ctrl { background: rgba(59,130,246,0.15); color: #60A5FA; }
.own-tchip-review { background: rgba(248,81,73,0.15); color: #F85149; }
.own-tchip-created { background: rgba(46,160,67,0.15); color: #3FB950; }

/* ── Tree empty state ── */
.own-tree-empty {
  display: flex; align-items: center; justify-content: center;
  padding: 60px 24px; color: #8B9BB5; font-size: 13px;
}

/* ── Legend ── */
.own-legend {
  display: flex; flex-wrap: wrap; gap: 16px;
  padding: 12px 16px; margin-top: 8px; margin-bottom: 20px;
  background: rgba(19,34,55,0.4);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 8px;
  font-size: 11px; color: #8B9BB5;
}
.own-legend-item {
  display: flex; align-items: center; gap: 6px;
}
.own-legend-swatch {
  width: 14px; height: 14px; border-radius: 3px;
}
.own-legend-co { background: #1B365D; border: 1px solid rgba(255,255,255,0.2); }
.own-legend-ubo { background: rgba(14,138,126,0.25); border: 1px solid #0E8A7E; }
.own-legend-ctrl { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.15); }
.own-legend-line-solid {
  width: 24px; height: 0;
  border-top: 2.5px solid rgba(255,255,255,0.3);
}
.own-legend-line-dash {
  width: 24px; height: 0;
  border-top: 2px dashed rgba(255,255,255,0.2);
}

/* ── Inspector panel ── */
.own-inspector {
  width: 0; overflow: hidden; opacity: 0;
  background: rgba(19,34,55,0.95);
  border-left: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px 0 0 12px;
  display: flex; flex-direction: column;
  transition: width 0.25s ease, opacity 0.2s ease;
  flex-shrink: 0;
}
.own-insp-open .own-inspector {
  width: 380px; opacity: 1;
}

.own-insp-hdr {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  flex-shrink: 0;
}
.own-insp-hdr-left {
  display: flex; align-items: center; gap: 10px;
  min-width: 0; flex: 1;
}
.own-insp-hdr-icon { color: #8B9BB5; flex-shrink: 0; }
.own-insp-hdr-icon svg { width: 18px; height: 18px; }
.own-insp-title {
  font-size: 15px; font-weight: 600; color: #E8ECF1;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.own-insp-close {
  background: none; border: none;
  font-size: 22px; color: #8B9BB5; cursor: pointer;
  padding: 0 0 0 12px; line-height: 1;
}
.own-insp-close:hover { color: #E8ECF1; }

.own-insp-body {
  flex: 1; overflow-y: auto; padding: 16px 20px;
}

.own-insp-sec {
  margin-bottom: 18px; padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.own-insp-sec:last-child { border-bottom: none; margin-bottom: 0; }
.own-insp-sec-title {
  font-size: 10px; text-transform: uppercase; letter-spacing: 1.2px;
  color: #12BFB0; font-weight: 600; margin-bottom: 10px;
}

.own-insp-row {
  display: flex; justify-content: space-between;
  padding: 4px 0; font-size: 12px; gap: 12px;
}
.own-insp-lbl { color: #8B9BB5; flex-shrink: 0; }
.own-insp-val {
  color: #E8ECF1; font-weight: 500; text-align: right;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Inspector guidance */
.own-insp-guidance { margin-bottom: 10px; }
.own-insp-guidance-toggle { background: none; border: none; color: #0E8A7E; font-size: 12px; font-weight: 600; cursor: pointer; padding: 0; font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; text-decoration: underline; }
.own-insp-guidance-toggle:hover { color: #0b7a6f; }
.own-insp-guidance-text { font-size: 12px; color: #9ca3af; line-height: 1.5; margin-top: 6px; padding: 8px 10px; background: rgba(14,138,126,0.08); border-radius: 6px; border-left: 3px solid #0E8A7E; }
.own-insp-guidance-text strong { color: #e5e7eb; font-weight: 600; }
[data-theme="light"] .own-insp-guidance-text { color: #4b5563; background: rgba(14,138,126,0.05); }
[data-theme="light"] .own-insp-guidance-text strong { color: #1f2937; }
/* Inspector action buttons */
.own-insp-footer {
  padding: 14px 20px;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex; flex-direction: column; gap: 8px;
  flex-shrink: 0;
}
.own-insp-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 9px 14px; border-radius: 7px;
  font-size: 12px; font-weight: 600;
  cursor: pointer; border: none;
  transition: background 0.15s, opacity 0.15s;
  width: 100%;
}
.own-insp-btn svg { width: 14px; height: 14px; }
.own-insp-btn:hover { opacity: 0.85; }

.own-insp-confirm {
  background: #0E8A7E; color: white;
}
.own-insp-dismiss {
  background: rgba(248,81,73,0.12); color: #F85149;
  border: 1px solid rgba(248,81,73,0.25);
}
.own-insp-create {
  background: rgba(59,130,246,0.12); color: #60A5FA;
  border: 1px solid rgba(59,130,246,0.25);
}
.own-insp-trace {
  background: rgba(196,151,59,0.12); color: #C4973B;
  border: 1px solid rgba(196,151,59,0.25);
}
.own-guidance-strip {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 16px; margin: 0 0 2px 0;
  border-radius: 8px; font-size: 12px; line-height: 1.5;
}
.own-guidance-ecdd {
  background: rgba(245,158,11,0.08); border: 1px solid rgba(245,158,11,0.2);
  color: #FBBF24;
}
.own-guidance-ecdd svg { width: 16px; height: 16px; flex-shrink: 0; color: #F59E0B; }
.own-guidance-hint {
  background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06);
  color: #8B9BB5; font-style: italic;
}
.own-guidance-hint svg { width: 14px; height: 14px; flex-shrink: 0; color: #6B7B95; }
.own-guidance-actions { font-weight: 600; color: #FBBF24; }
[data-theme="light"] .own-guidance-ecdd {
  background: #fffbeb; border-color: #fde68a; color: #92400e;
}
[data-theme="light"] .own-guidance-ecdd svg { color: #d97706; }
[data-theme="light"] .own-guidance-ecdd .own-guidance-actions { color: #b45309; }
/* ===== R8: ECDD Analytics Dashboard ===== */
.ecdd-analytics-section {
  margin-bottom: 20px; padding: 16px 20px; border-radius: 12px;
  background: var(--bg-card, rgba(255,255,255,0.04));
  border: 1px solid var(--border-subtle, #2a2f3a);
}
.ecdd-analytics-title {
  display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700;
  color: var(--text-primary); margin-bottom: 14px;
}
.ecdd-analytics-title svg { width: 18px; height: 18px; }
.ecdd-analytics-list { margin-bottom: 14px; }
.ecdd-analytics-header {
  display: flex; align-items: center; gap: 12px; cursor: pointer;
  padding: 2px 0; margin-bottom: 12px; user-select: none;
}
.ecdd-analytics-header:hover .ecdd-analytics-title { color: var(--accent-primary, #3b82f6); }
.ecdd-analytics-summary {
  font-size: 12px; color: var(--text-muted, #6b7280); flex: 1;
}
.ecdd-analytics-toggle { font-size: 12px; color: var(--text-muted, #6b7280); }
.ecdd-analytics-toggle svg { width: 14px; height: 14px; }
.ecdd-kpi-clickable { cursor: pointer; transition: border-color 0.15s, box-shadow 0.15s; }
.ecdd-kpi-clickable:hover { border-color: var(--accent-primary, #3b82f6); box-shadow: 0 0 0 1px var(--accent-primary, #3b82f6); }
.ecdd-kpi-active { border-color: #3b82f6 !important; box-shadow: 0 0 0 2px rgba(59,130,246,0.3) !important; background: rgba(59,130,246,0.06) !important; }
.ecdd-kpi-trigger-active { background: rgba(59,130,246,0.08); border-radius: 4px; padding: 3px 6px; }
.ecdd-drill-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px; margin-bottom: 10px; border-radius: 8px;
  background: rgba(59,130,246,0.08); border: 1px solid rgba(59,130,246,0.2);
  font-size: 13px; color: #3b82f6; font-weight: 500;
}
.ecdd-drill-chip svg { width: 14px; height: 14px; }
.ecdd-drill-clear {
  background: none; border: none; cursor: pointer; padding: 2px;
  color: #3b82f6; display: flex; align-items: center;
}
.ecdd-drill-clear:hover { color: #ef4444; }
[data-theme="light"] .ecdd-kpi-active { background: rgba(59,130,246,0.04) !important; }
[data-theme="light"] .ecdd-drill-chip { background: rgba(59,130,246,0.06); }


.ecdd-kpi-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
}
.ecdd-kpi-card {
  padding: 14px 16px; border-radius: 10px;
  background: var(--bg-secondary, #1a1d24);
  border: 1px solid var(--border-primary, #2a2f3a);
}
.ecdd-kpi-card.ecdd-kpi-wide { grid-column: span 2; }
.ecdd-kpi-value {
  font-size: 28px; font-weight: 700; color: var(--text-primary);
  line-height: 1.1; margin-bottom: 4px;
}
.ecdd-kpi-unit { font-size: 14px; font-weight: 500; color: var(--text-secondary); margin-left: 2px; }
.ecdd-kpi-label { font-size: 12px; font-weight: 600; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.3px; }
.ecdd-kpi-sub { font-size: 11px; color: var(--text-muted, #6b7280); margin-top: 4px; }
.ecdd-kpi-amber { border-left: 3px solid #f59e0b; }
.ecdd-kpi-amber .ecdd-kpi-value { color: #f59e0b; }
.ecdd-kpi-red { border-left: 3px solid #ef4444; }
.ecdd-kpi-red .ecdd-kpi-value { color: #ef4444; }
.ecdd-kpi-green { border-left: 3px solid #10b981; }
.ecdd-kpi-green .ecdd-kpi-value { color: #10b981; }
.ecdd-kpi-trigger {
  display: flex; justify-content: space-between; align-items: center;
  padding: 3px 0; font-size: 12px; color: var(--text-primary);
}
.ecdd-kpi-trigger-label { color: var(--text-secondary); }
.ecdd-kpi-trigger-count { font-weight: 600; min-width: 20px; text-align: right; }
.ecdd-kpi-freq-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 4px 0; font-size: 13px; color: var(--text-primary);
}
.ecdd-kpi-freq-val { font-weight: 700; font-size: 16px; }
.ecdd-kpi-trend-row {
  display: flex; align-items: center; gap: 8px; padding: 2px 0; font-size: 12px;
}
.ecdd-kpi-trend-month { width: 60px; color: var(--text-secondary); flex-shrink: 0; }
.ecdd-kpi-trend-bar {
  flex: 1; height: 8px; background: var(--bg-tertiary, #2a2f3a); border-radius: 4px; overflow: hidden;
}
.ecdd-kpi-trend-fill { height: 100%; background: #3b82f6; border-radius: 4px; transition: width 0.3s; }
.ecdd-kpi-trend-count { width: 24px; text-align: right; font-weight: 600; color: var(--text-primary); }
[data-theme="light"] .ecdd-analytics-section { background: #f8fafc; border-color: #e2e8f0; }
[data-theme="light"] .ecdd-kpi-card { background: #fff; border-color: #e2e8f0; }
@media (max-width: 900px) { .ecdd-kpi-grid { grid-template-columns: repeat(2, 1fr); } }

/* ===== R4: Ownership Export ===== */
.own-export-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 14px; border-radius: 6px; font-size: 12px; font-weight: 500;
  background: var(--bg-secondary); border: 1px solid var(--border-primary);
  color: var(--text-primary); cursor: pointer; white-space: nowrap;
}
.own-export-btn:hover { border-color: var(--accent-primary, #3b82f6); color: var(--accent-primary, #3b82f6); }
.own-export-btn svg { width: 14px; height: 14px; }
.ownexp-radio-label {
  display: flex; align-items: flex-start; gap: 8px; padding: 10px 14px;
  border: 1px solid var(--border-primary); border-radius: 6px;
  cursor: pointer; margin-bottom: 8px; background: var(--bg-secondary);
}
.ownexp-radio-label:hover { border-color: var(--accent-primary, #3b82f6); }
.ownexp-radio-label input[type="radio"] { margin-top: 3px; accent-color: #3b82f6; }
.ownexp-radio-title {
  display: flex; align-items: center; gap: 5px;
  font-size: 14px; font-weight: 600; color: var(--text-primary);
}
.ownexp-radio-title svg { width: 15px; height: 15px; }
.ownexp-radio-desc { font-size: 12px; color: var(--text-secondary); margin-top: 2px; line-height: 1.4; }
.ownexp-warning {
  display: flex; align-items: flex-start; gap: 8px; padding: 10px 14px;
  background: rgba(245, 158, 11, 0.1); border-left: 3px solid #f59e0b;
  border-radius: 4px; margin-top: 12px; font-size: 13px;
  color: var(--text-primary); line-height: 1.5;
}
.ownexp-warning svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; color: #f59e0b; }
[data-theme="light"] .ownexp-warning { background: rgba(245, 158, 11, 0.06); }
[data-theme="light"] .ownexp-warning svg { color: #d97706; }

/* ===== ECDD Status Banner ===== */
.ecdd-banner {
  margin: 0 0 12px 0; padding: 14px 18px;
  background: rgba(245, 158, 11, 0.08); border: 1px solid rgba(245, 158, 11, 0.25);
  border-left: 4px solid #f59e0b; border-radius: 8px;
}
.ecdd-banner-header {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px;
}
.ecdd-banner-title {
  display: flex; align-items: center; gap: 6px; font-size: 14px; color: #f59e0b;
}
.ecdd-banner-title svg { width: 18px; height: 18px; flex-shrink: 0; }
.ecdd-banner-freq {
  display: flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600;
  color: var(--text-secondary); background: var(--bg-secondary); padding: 3px 10px;
  border-radius: 12px;
}
.ecdd-banner-freq svg { width: 13px; height: 13px; }
.ecdd-banner-reason {
  font-size: 13px; color: var(--text-primary); margin-bottom: 8px; line-height: 1.4;
}
.ecdd-banner-locks {
  display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px;
}
.ecdd-lock-tag {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; font-weight: 500; padding: 3px 10px; border-radius: 12px;
  background: rgba(245, 158, 11, 0.12); color: #d97706; border: 1px solid rgba(245, 158, 11, 0.2);
}
.ecdd-lock-tag svg { width: 12px; height: 12px; }
.ecdd-banner-actions { margin-top: 8px; }
.ecdd-banner-actions-title {
  font-size: 12px; font-weight: 600; color: var(--text-secondary); margin-bottom: 4px;
  text-transform: uppercase; letter-spacing: 0.5px;
}
.ecdd-banner-action-item {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; color: var(--text-primary); padding: 4px 0;
}
.ecdd-banner-action-item svg { width: 14px; height: 14px; color: #f59e0b; flex-shrink: 0; }
.ecdd-banner-link {
  color: #3b82f6; cursor: pointer; font-weight: 500; font-size: 12px; margin-left: 4px;
}
.ecdd-banner-link:hover { text-decoration: underline; }
.ecdd-banner-note {
  font-size: 11px; color: var(--text-muted, #6b7280); margin-top: 8px; font-style: italic;
}
[data-theme="light"] .ecdd-banner { background: rgba(245, 158, 11, 0.06); border-color: rgba(217, 119, 6, 0.2); border-left-color: #d97706; }
[data-theme="light"] .ecdd-banner-title { color: #b45309; }
[data-theme="light"] .ecdd-lock-tag { background: rgba(217, 119, 6, 0.08); color: #92400e; border-color: rgba(217, 119, 6, 0.15); }

/* ===== M46: Flag Transaction Modal ===== */
.ftx-guidance {
  display: flex; align-items: flex-start; gap: 8px; padding: 10px 14px;
  background: rgba(245, 158, 11, 0.1); border-left: 3px solid #f59e0b;
  border-radius: 4px; margin-bottom: 12px; font-size: 13px;
  color: var(--text-primary); line-height: 1.5;
}
.ftx-guidance svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; color: #f59e0b; }
.ftx-char-label {
  display: flex; align-items: flex-start; gap: 8px; padding: 8px 12px;
  border: 1px solid var(--border-primary); border-radius: 6px;
  cursor: pointer; margin-bottom: 6px; background: var(--bg-secondary);
  font-size: 13px; color: var(--text-primary); line-height: 1.4;
}
.ftx-char-label:hover { border-color: var(--accent-primary, #F59E0B); }
.ftx-char-label input[type="checkbox"] { margin-top: 2px; accent-color: #F59E0B; }
.ftx-char-count { font-size: 11px; color: var(--text-muted, #6b7280); margin-top: 4px; text-align: right; }
.ftx-char-count.ftx-char-ok { color: #10b981; }
.ftx-radio-label {
  display: flex; align-items: flex-start; gap: 8px; padding: 10px 14px;
  border: 1px solid var(--border-primary); border-radius: 6px;
  cursor: pointer; margin-bottom: 6px; background: var(--bg-secondary);
}
.ftx-radio-label:hover { border-color: var(--accent-primary, #F59E0B); }
.ftx-radio-label input[type="radio"] { margin-top: 3px; accent-color: #F59E0B; }
.ftx-radio-title { font-size: 14px; font-weight: 600; color: var(--text-primary); }
.ftx-radio-desc { font-size: 12px; color: var(--text-secondary); margin-top: 2px; }
.compliance-btn-warning {
  background: #f59e0b; color: #fff; border: none; font-weight: 600;
  padding: 8px 16px; border-radius: 6px; cursor: pointer; font-size: 13px;
}
.compliance-btn-warning:hover { background: #d97706; }
.compliance-btn-warning:disabled { opacity: 0.6; cursor: not-allowed; }
.cd-qa-btn-warning { border-color: #f59e0b; color: #f59e0b; }
.cd-qa-btn-warning:hover { background: rgba(245, 158, 11, 0.1); }
[data-theme="light"] .ftx-guidance { background: rgba(245, 158, 11, 0.08); }
[data-theme="light"] .ftx-guidance svg { color: #d97706; }
[data-theme="light"] .cd-qa-btn-warning { border-color: #b45309; color: #b45309; }
[data-theme="light"] .cd-qa-btn-warning:hover { background: rgba(180, 83, 9, 0.08); }
[data-theme="light"] .compliance-btn-warning { background: #d97706; }
[data-theme="light"] .compliance-btn-warning:hover { background: #b45309; }

[data-theme="light"] .own-guidance-hint {
  background: rgba(0,0,0,0.02); border-color: #e5e7eb; color: #6b7280;
}
[data-theme="light"] .own-guidance-hint svg { color: #9ca3af; }
.own-insp-history {
  background: rgba(139,92,246,0.12); color: #A78BFA;
  border: 1px solid rgba(139,92,246,0.25);
}
.own-insp-roles {
  background: rgba(236,72,153,0.12); color: #F472B6;
  border: 1px solid rgba(236,72,153,0.25);
}
.own-pxi-card {
  border-radius: 6px; padding: 10px 12px; margin-bottom: 6px;
  border-left: 3px solid transparent;
}
.own-pxi-high {
  background: rgba(239,68,68,0.06); border-left-color: #EF4444;
}
.own-pxi-med {
  background: rgba(245,158,11,0.06); border-left-color: #F59E0B;
}
.own-pxi-low {
  background: rgba(255,255,255,0.03); border-left-color: #6B7B95;
}
.own-pxi-hdr {
  display: flex; align-items: center; gap: 8px; margin-bottom: 4px;
}
.own-pxi-badge {
  font-size: 9px; font-weight: 700; text-transform: uppercase;
  padding: 2px 6px; border-radius: 3px; letter-spacing: 0.04em;
}
.own-pxi-high .own-pxi-badge { background: rgba(239,68,68,0.15); color: #F87171; }
.own-pxi-med .own-pxi-badge { background: rgba(245,158,11,0.15); color: #FBBF24; }
.own-pxi-low .own-pxi-badge { background: rgba(255,255,255,0.06); color: #8B9BB5; }
.own-pxi-label { font-size: 12px; font-weight: 600; color: #E8ECF1; }
.own-pxi-desc { font-size: 11px; color: #8B9BB5; line-height: 1.5; margin-bottom: 4px; }
.own-pxi-evidence { font-size: 10px; color: #6B7B95; font-style: italic; }
.own-pxi-note {
  font-size: 10px; color: #6B7B95; font-style: italic; margin-top: 8px;
  padding-top: 8px; border-top: 1px solid rgba(255,255,255,0.06);
}
[data-theme="light"] .own-pxi-high { background: #fef2f2; border-left-color: #dc2626; }
[data-theme="light"] .own-pxi-med { background: #fffbeb; border-left-color: #d97706; }
[data-theme="light"] .own-pxi-low { background: #f9fafb; border-left-color: #9ca3af; }
[data-theme="light"] .own-pxi-high .own-pxi-badge { background: #fee2e2; color: #dc2626; }
[data-theme="light"] .own-pxi-med .own-pxi-badge { background: #fef3c7; color: #b45309; }
[data-theme="light"] .own-pxi-low .own-pxi-badge { background: #f3f4f6; color: #6b7280; }
[data-theme="light"] .own-pxi-label { color: #111827; }
[data-theme="light"] .own-pxi-desc { color: #6b7280; }
[data-theme="light"] .own-pxi-evidence { color: #9ca3af; }
[data-theme="light"] .own-pxi-note { color: #9ca3af; border-top-color: #e5e7eb; }
.own-insp-btn:disabled {
  opacity: 0.5; cursor: not-allowed;
}
.own-insp-sub {
  font-size: 11px; font-weight: 600; color: #8B9BB5;
  margin: 10px 0 4px 0; text-transform: uppercase; letter-spacing: 0.03em;
}
.own-insp-tbl {
  display: flex; flex-direction: column; gap: 2px; margin-bottom: 8px;
}
.own-insp-trow {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 4px 8px; border-radius: 4px;
  background: rgba(255,255,255,0.03); font-size: 12px;
}
.own-insp-tval { color: #E8ECF1; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.own-insp-tdate { color: #8B9BB5; font-size: 11px; flex-shrink: 0; margin-left: 8px; white-space: nowrap; }
.own-insp-tfoot { font-size: 10px; color: #6B7B95; margin-top: 6px; font-style: italic; }

/* ── Light theme ── */
[data-theme="light"] .own-tree-canvas { background: #f4f6f9; border-color: #dde1e8; }
[data-theme="light"] .own-line { stroke: rgba(0,0,0,0.15); }
[data-theme="light"] .own-line.own-line-major { stroke: rgba(0,0,0,0.18); }
[data-theme="light"] .own-line.own-line-strong { stroke: rgba(0,0,0,0.28); }
[data-theme="light"] .own-line-pct { fill: #92700C; }
[data-theme="light"] .own-line-role { fill: #6b7280; }
[data-theme="light"] .own-tnode-co { background: #edf1f7; border-color: #b8c5db; }
[data-theme="light"] .own-tnode-co:hover { border-color: #8a9dc0; }
[data-theme="light"] .own-tnode-co .own-tnode-icon { color: #4a6fa5; }
[data-theme="light"] .own-tnode-root { border-color: #0E8A7E; box-shadow: 0 2px 8px rgba(14,138,126,0.1); }
[data-theme="light"] .own-tnode-person { background: #ffffff; border-color: #d1d5db; }
[data-theme="light"] .own-tnode-person:hover { border-color: #9ca3af; }
[data-theme="light"] .own-tnode-ubo { background: #ecfdf5 !important; border-color: #0E8A7E !important; }
[data-theme="light"] .own-tnode-ctrl { background: #eff6ff !important; border-color: #93c5fd !important; }
[data-theme="light"] .own-tnode-review { background: #fef2f2 !important; border-color: #fca5a5 !important; }
[data-theme="light"] .own-tnode-created { background: #f0fdf4 !important; border-color: #86efac !important; }
[data-theme="light"] .own-tnode-sel { box-shadow: 0 0 0 2px #0E8A7E, 0 4px 16px rgba(14,138,126,0.2) !important; border-color: #0E8A7E !important; }
[data-theme="light"] .own-tnode:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
[data-theme="light"] .own-tnode-name { color: #111827; }
[data-theme="light"] .own-tnode-sub { color: #6b7280; }
[data-theme="light"] .own-tnode-icon { color: #9ca3af; }
[data-theme="light"] .own-tnode-ubo .own-tnode-icon { color: #0E8A7E; }
[data-theme="light"] .own-tchip-ubo { background: #fef3c7; color: #92400e; }
[data-theme="light"] .own-tchip-ctrl { background: #dbeafe; color: #1d4ed8; }
[data-theme="light"] .own-tchip-review { background: #fee2e2; color: #b91c1c; }
[data-theme="light"] .own-tchip-created { background: #dcfce7; color: #166534; }
[data-theme="light"] .own-legend { background: #f3f4f6; border-color: #e5e7eb; color: #6b7280; }
[data-theme="light"] .own-legend-co { background: #e8edf5; border-color: #b8c5db; }
[data-theme="light"] .own-legend-ubo { background: #d1fae5; border-color: #0E8A7E; }
[data-theme="light"] .own-legend-ctrl { background: #f9fafb; border-color: #d1d5db; }
[data-theme="light"] .own-legend-line-solid { border-top-color: rgba(0,0,0,0.25); }
[data-theme="light"] .own-legend-line-dash { border-top-color: rgba(0,0,0,0.18); }
[data-theme="light"] .own-inspector { background: #ffffff; border-left-color: #e5e7eb; }
[data-theme="light"] .own-insp-hdr { border-bottom-color: #e5e7eb; }
[data-theme="light"] .own-insp-hdr-icon { color: #6b7280; }
[data-theme="light"] .own-insp-title { color: #111827; }
[data-theme="light"] .own-insp-close { color: #9ca3af; }
[data-theme="light"] .own-insp-close:hover { color: #374151; }
[data-theme="light"] .own-insp-sec { border-bottom-color: #f3f4f6; }
[data-theme="light"] .own-insp-sec-title { color: #0E8A7E; }
[data-theme="light"] .own-insp-lbl { color: #6b7280; }
[data-theme="light"] .own-insp-val { color: #111827; }
[data-theme="light"] .own-insp-footer { border-top-color: #e5e7eb; }
[data-theme="light"] .own-insp-confirm { background: #0E8A7E; color: white; }
[data-theme="light"] .own-insp-dismiss { background: #fef2f2; color: #dc2626; border-color: #fecaca; }
[data-theme="light"] .own-insp-create { background: #eff6ff; color: #2563eb; border-color: #bfdbfe; }
[data-theme="light"] .own-insp-trace { background: #fffbeb; color: #d97706; border-color: #fde68a; }
[data-theme="light"] .own-insp-history { background: #f5f3ff; color: #7c3aed; border-color: #ddd6fe; }
[data-theme="light"] .own-insp-roles { background: #fdf2f8; color: #db2777; border-color: #fbcfe8; }
[data-theme="light"] .own-insp-sub { color: #6b7280; }
[data-theme="light"] .own-insp-trow { background: rgba(0,0,0,0.02); }
[data-theme="light"] .own-insp-tval { color: #111827; }
[data-theme="light"] .own-insp-tdate { color: #6b7280; }
[data-theme="light"] .own-insp-tfoot { color: #9ca3af; }
[data-theme="light"] .own-tree-empty { color: #6b7280; }

/* UBO inline action button */
.own-tnode-action {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 10px; border-radius: 4px; border: none;
  background: #0E8A7E; color: white;
  font-size: 9px; font-weight: 600;
  cursor: pointer; margin-top: 4px; margin-left: 22px;
  transition: background 0.15s;
}
.own-tnode-action:hover { background: #10A193; }
.own-tnode-action svg { width: 10px; height: 10px; }
[data-theme="light"] .own-tnode-action { background: #0E8A7E; color: white; }
[data-theme="light"] .own-tnode-action:hover { background: #0C7A70; }

/* Phase 2B light theme canvas fix */
[data-theme="light"] .own-tree-canvas { background: #f4f6f9 !important; }
[data-theme="light"] .own-tnode-root { background: #dde4ef !important; border-color: #0E8A7E !important; }
[data-theme="light"] .own-tnode-co .own-tnode-name { color: #1a2744; }
[data-theme="light"] .own-tnode-person .own-tnode-name { color: #111827; }
[data-theme="light"] .own-line-role { fill: #4b5563; }
[data-theme="light"] .own-line-pct { fill: #92400e; }
[data-theme="light"] .own-legend { background: #edf0f4; border-color: #dde1e8; }

/* Phase 2B polish: stronger light theme root */
[data-theme="light"] .own-tnode-root.own-tnode-co {
  background: #d6dde8 !important;
  border: 2px solid #0E8A7E !important;
}
[data-theme="light"] .own-tnode-root .own-tnode-name {
  color: #0f2340 !important;
  font-size: 14px;
}
[data-theme="light"] .own-tnode-root .own-tnode-sub {
  color: #4a5568 !important;
}
/* Ensure person node background is clear in light */
[data-theme="light"] .own-tnode-person {
  background: #ffffff !important;
  border: 1.5px solid #c7cdd6 !important;
}
[data-theme="light"] .own-tnode-ctrl {
  background: #f0f5ff !important;
  border: 1.5px solid #93c5fd !important;
}


/* ═══════════════════════════════════════════════════
   UBO Phase 2C: Gap Analysis Remediation CSS
   ═══════════════════════════════════════════════════ */

/* Toolbar bulk buttons */
.own-bulk-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px; border-radius: 8px;
  font-size: 12px; font-weight: 600; cursor: pointer;
  transition: all 0.15s; border: 1px solid;
}
.own-bulk-btn svg { width: 14px; height: 14px; }
.own-bulk-create {
  background: rgba(196,151,59,0.1); color: #C4973B;
  border-color: rgba(196,151,59,0.3);
}
.own-bulk-create:hover { background: rgba(196,151,59,0.2); }
.own-bulk-confirm {
  background: rgba(14,138,126,0.1); color: #12BFB0;
  border-color: rgba(14,138,126,0.3);
}
.own-bulk-confirm:hover { background: rgba(14,138,126,0.2); }

/* Dedup indicator on nodes */
.own-tnode-dedup {
  font-size: 9px; color: #3FB950; font-weight: 500;
  margin-top: 2px; padding-left: 22px;
}

/* Ownership path in inspector */
.own-insp-path {
  font-size: 12px; color: #E8ECF1; line-height: 1.6;
  padding: 6px 0;
}
.own-path-arrow { color: #8B9BB5; margin: 0 2px; }
.own-insp-path-pct {
  font-size: 11px; color: #C4973B; font-weight: 600;
  margin-top: 4px;
}

/* Summary row (3-column) */
.own-summary-row {
  display: flex; gap: 28px; margin-bottom: 16px;
  align-items: flex-start;
}

/* Effective ownership box (gold) */
.own-eff-box {
  flex: 1.2; min-width: 260px;
  padding: 16px 20px; border-radius: 10px;
  background: rgba(196,151,59,0.06);
  border: 1px solid rgba(196,151,59,0.2);
}
.own-eff-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 10px; text-transform: uppercase; letter-spacing: 1.2px;
  color: #C4973B; font-weight: 700; margin-bottom: 8px;
}
.own-eff-title svg { width: 14px; height: 14px; }
.own-eff-divider {
  height: 1px; background: rgba(196,151,59,0.15); margin-bottom: 10px;
}
.own-eff-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 5px 0; font-size: 12px; gap: 12px;
}
.own-eff-name { color: #E8ECF1; font-weight: 500; }
.own-eff-pct { color: #C4973B; font-weight: 600; white-space: nowrap; }

/* Summary column */
.own-summary-col { flex: 1; min-width: 180px; }
.own-summary-narrative {
  font-size: 12px; color: #8B9BB5; line-height: 1.5;
  margin-bottom: 12px;
}

/* UBO count large display */
.own-ubo-count-box {
  width: 160px; flex-shrink: 0;
  text-align: left; padding: 0;
}
.own-ubo-big-num {
  font-size: 42px; font-weight: 700; color: #C4973B;
  line-height: 1;
  margin: 4px 0;
}
.own-ubo-count-note {
  font-size: 11px; color: #8B9BB5; line-height: 1.4;
}

/* Risk factors box */
.own-risk-box {
  padding: 14px 18px; border-radius: 8px;
  background: rgba(248,81,73,0.05);
  border: 1px solid rgba(248,81,73,0.15);
  margin-bottom: 16px;
}
.own-risk-box-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 600; color: #F85149;
  margin-bottom: 8px;
}
.own-risk-box-title svg { width: 14px; height: 14px; }

/* Legend extras */
.own-legend-star { color: #C4973B; display: flex; align-items: center; }
.own-legend-star svg { width: 14px; height: 14px; fill: #C4973B; }
.own-legend-line-thick {
  width: 24px; height: 0;
  border-top: 3px solid rgba(255,255,255,0.35);
}
.own-legend-line-thin {
  width: 24px; height: 0;
  border-top: 1.5px solid rgba(255,255,255,0.15);
}

/* ── Light theme overrides ── */
[data-theme="light"] .own-bulk-create { background: #fffbeb; color: #d97706; border-color: #fde68a; }
[data-theme="light"] .own-bulk-create:hover { background: #fef3c7; }
[data-theme="light"] .own-bulk-confirm { background: #f0fdfa; color: #0E8A7E; border-color: #99f6e4; }
[data-theme="light"] .own-bulk-confirm:hover { background: #ccfbf1; }
[data-theme="light"] .own-tnode-dedup { color: #16a34a; }
[data-theme="light"] .own-insp-path { color: #111827; }
[data-theme="light"] .own-path-arrow { color: #9ca3af; }
[data-theme="light"] .own-insp-path-pct { color: #92400e; }
[data-theme="light"] .own-eff-box { background: #f0f4fa; border-color: #bdd0e8; }
[data-theme="light"] .own-eff-title { color: #1e3a5f; }
[data-theme="light"] .own-eff-divider { background: #bdd0e8; }
[data-theme="light"] .own-eff-name { color: #111827; }
[data-theme="light"] .own-eff-pct { color: #1e3a5f; }
[data-theme="light"] .own-summary-narrative { color: #6b7280; }
[data-theme="light"] .own-ubo-big-num { color: #1e3a5f; }
[data-theme="light"] .own-ubo-count-note { color: #6b7280; }
[data-theme="light"] .own-risk-box { background: #fef2f2; border-color: #fecaca; }
[data-theme="light"] .own-risk-box-title { color: #dc2626; }
[data-theme="light"] .own-legend-star svg { fill: #b45309; }
[data-theme="light"] .own-legend-line-thick { border-top-color: rgba(0,0,0,0.3); }
[data-theme="light"] .own-legend-line-thin { border-top-color: rgba(0,0,0,0.12); }


/* ═══════════════════════════════════════════════════
   UBO Phase 2D: Trust node + polish CSS
   ═══════════════════════════════════════════════════ */

/* Trust node */
.own-tnode-trust {
  background: rgba(14,138,126,0.08);
  border: 1.5px solid rgba(14,138,126,0.25);
}
.own-tnode-trust:hover { border-color: rgba(14,138,126,0.4); }
.own-tnode-trust .own-tnode-icon { color: #12BFB0; }
.own-tnode-trust.own-tnode-root {
  background: rgba(14,138,126,0.12) !important;
  border: 2px solid rgba(14,138,126,0.5) !important;
  box-shadow: 0 2px 16px rgba(14,138,126,0.15);
}

/* Light theme trust */
[data-theme="light"] .own-tnode-trust { background: #f0fdfa; border-color: #99f6e4; }
[data-theme="light"] .own-tnode-trust:hover { border-color: #5eead4; }
[data-theme="light"] .own-tnode-trust .own-tnode-icon { color: #0E8A7E; }
[data-theme="light"] .own-tnode-trust.own-tnode-root {
  background: #ccfbf1 !important;
  border: 2px solid #0E8A7E !important;
}

/* Legend trust swatch */
.own-legend-trust { background: rgba(14,138,126,0.15); border: 1px solid rgba(14,138,126,0.4); }
[data-theme="light"] .own-legend-trust { background: #ccfbf1; border-color: #0E8A7E; }

/* Icon legend styling */
.own-legend-icon { display: flex; align-items: center; color: #8B9BB5; }
.own-legend-icon svg { width: 14px; height: 14px; }
.own-legend-icon.own-li-ubo { color: #12BFB0; }
.own-legend-icon.own-li-trust { color: #12BFB0; }
[data-theme="light"] .own-legend-icon { color: #6b7280; }
[data-theme="light"] .own-legend-icon.own-li-ubo { color: #0E8A7E; }
[data-theme="light"] .own-legend-icon.own-li-trust { color: #0E8A7E; }




/* Option 3: Two-row summary layout */
.own-sum-top { display: flex; gap: 16px; margin-top: 16px; margin-bottom: 12px; }
.own-sum-bo { flex: 1; padding: 16px 20px; border-radius: 10px; background: rgba(196,151,59,0.06); border: 1px solid rgba(196,151,59,0.2); }
.own-sum-hero { width: 160px; flex-shrink: 0; padding: 20px; border-radius: 10px; background: rgba(196,151,59,0.08); border: 1px solid rgba(196,151,59,0.25); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.own-sum-hero .own-ubo-big-num { font-size: 52px; margin: 4px 0; }
.own-sum-hero .own-summary-label { color: #C4973B; }
.own-eff-empty { font-size: 12px; color: #8B9BB5; padding: 8px 0; }
.own-sum-bottom { display: flex; gap: 32px; align-items: flex-start; padding: 16px 20px; background: rgba(19,34,55,0.5); border: 1px solid rgba(255,255,255,0.06); border-radius: 10px; margin-bottom: 12px; }
.own-sum-bottom-left { flex: 1; }
.own-sum-bottom-right { width: 200px; flex-shrink: 0; }
.own-sum-stats { display: flex; gap: 24px; margin-top: 4px; }
.own-sum-stats .own-summary-stat { flex: 1; }
.own-cost-line { display: flex; justify-content: space-between; font-size: 12px; padding: 3px 0; color: #8B9BB5; }
.own-cost-line span:last-child { color: #E8ECF1; font-weight: 500; }
.own-cost-free { color: #3FB950 !important; }
.own-cost-total { border-top: 1px solid rgba(255,255,255,0.1); margin-top: 4px; padding-top: 6px; }
.own-cost-total span { color: #12BFB0; font-weight: 600; }

/* Light theme */
[data-theme="light"] .own-sum-bo { background: #f0f4fa; border-color: #bdd0e8; }
[data-theme="light"] .own-sum-hero { background: #f0f4fa; border-color: #bdd0e8; }
[data-theme="light"] .own-sum-hero .own-summary-label { color: #1e3a5f; }
[data-theme="light"] .own-sum-hero .own-ubo-big-num { color: #1e3a5f; }
[data-theme="light"] .own-sum-bottom { background: #f8f9fb; border-color: #e2e5ea; }
[data-theme="light"] .own-cost-line { color: #6b7280; }
[data-theme="light"] .own-cost-line span:last-child { color: #111827; }
[data-theme="light"] .own-cost-free { color: #16a34a !important; }
[data-theme="light"] .own-cost-total { border-top-color: #e5e7eb; }
[data-theme="light"] .own-cost-total span { color: #0E8A7E; }
[data-theme="light"] .own-eff-empty { color: #9ca3af; }

/* Navy blue scheme for light theme summary */
[data-theme="light"] .own-eff-title { color: #1e3a5f; }
[data-theme="light"] .own-eff-title svg { fill: #1e3a5f; }
[data-theme="light"] .own-eff-pct { color: #1e3a5f; }
[data-theme="light"] .own-eff-divider { background: #bdd0e8; }
[data-theme="light"] .own-sum-bo { background: #f0f4fa; border-color: #bdd0e8; }
[data-theme="light"] .own-sum-hero { background: #f0f4fa; border-color: #bdd0e8; }
[data-theme="light"] .own-sum-hero .own-summary-label { color: #1e3a5f; }
[data-theme="light"] .own-sum-hero .own-ubo-big-num { color: #1e3a5f; }


/* ══════════════════════════════════════════════════════
   PRINT STYLES — Ownership Tree
   ══════════════════════════════════════════════════════ */
@media print {
  /* ── Page setup ── */
  @page { margin: 1.5cm; size: A4 landscape; }

  /* ── Hide interactive elements ── */
  .own-toolbar,
  .own-filter-chips,
  .own-trace-btn,
  .own-chip,
  .own-unresolved-strip,
  .own-inspector,
  .own-tracing-indicator,
  .own-tnode:hover { transform: none !important; box-shadow: none !important; }

  /* Hide non-ownership tabs, nav, sidebar */
  .sidebar, .top-nav, .case-tabs-row,
  .step-progress, .case-hero-cards,
  .toast-container,
  .modal-overlay { display: none !important; }

  /* ── Force light theme for print ── */
  .own-tree-canvas {
    background: #ffffff !important;
    border: 1px solid #ccc !important;
    overflow: visible !important;
    min-height: auto !important;
    break-inside: avoid;
  }
  .own-tree-scroll { min-width: auto !important; overflow: visible !important; }
  .own-tree-layer { padding-bottom: 12px !important; }

  /* ── SVG lines: darken for print ── */
  .own-line { stroke: rgba(0,0,0,0.25) !important; }
  .own-line.own-line-major { stroke: rgba(0,0,0,0.4) !important; }
  .own-line.own-line-strong { stroke: rgba(0,0,0,0.55) !important; }
  .own-line.own-line-dash { stroke: rgba(0,0,0,0.2) !important; }
  .own-line-pct { fill: #8B6914 !important; }
  .own-line-role { fill: #555 !important; }

  /* ── Node cards: force print-friendly colours ── */
  .own-tnode {
    box-shadow: none !important;
    border-width: 1.5px !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .own-tnode-co {
    background: #e8edf5 !important;
    border-color: #1B365D !important;
  }
  .own-tnode-root {
    background: #e8edf5 !important;
    border-color: #0E8A7E !important;
    box-shadow: none !important;
  }
  .own-tnode-person {
    background: #f9fafb !important;
    border-color: #ccc !important;
  }
  .own-tnode-ubo {
    background: #d1fae5 !important;
    border-color: #0E8A7E !important;
    box-shadow: none !important;
  }
  .own-tnode-ctrl {
    background: #eff6ff !important;
    border-color: #3b82f6 !important;
  }
  .own-tnode-review {
    background: #fef2f2 !important;
    border-color: #ef4444 !important;
  }
  .own-tnode-created {
    background: #f0fdf4 !important;
    border-color: #22c55e !important;
  }
  .own-tnode-sel { box-shadow: none !important; }
  .own-tnode-name { color: #111 !important; }
  .own-tnode-sub { color: #555 !important; }
  .own-tnode-icon { color: #555 !important; }
  .own-tnode-ubo .own-tnode-icon { color: #0E8A7E !important; }
  .own-tnode-co .own-tnode-icon { color: #1B365D !important; }
  .own-tnode-star {
    background: #C4973B !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  /* ── Classification chips ── */
  .own-tchip { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .own-tchip-ubo { background: #fef3c7 !important; color: #92400e !important; }
  .own-tchip-ctrl { background: #dbeafe !important; color: #1e40af !important; }
  .own-tchip-review { background: #fecaca !important; color: #991b1b !important; }
  .own-tchip-created { background: #d1fae5 !important; color: #065f46 !important; }

  /* ── Legend ── */
  .own-legend {
    background: #f3f4f6 !important;
    border-color: #e5e7eb !important;
    color: #555 !important;
    break-inside: avoid;
  }
  .own-legend-co { background: #e8edf5 !important; border-color: #1B365D !important; }
  .own-legend-ubo { background: #d1fae5 !important; border-color: #0E8A7E !important; }
  .own-legend-ctrl { background: #f3f4f6 !important; border-color: #999 !important; }
  .own-legend-line-solid { border-top-color: rgba(0,0,0,0.3) !important; }
  .own-legend-line-dash { border-top-color: rgba(0,0,0,0.2) !important; }

  /* ── Summary panel ── */
  .own-summary-panel {
    background: #f9fafb !important;
    border-color: #e5e7eb !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .own-summary-label { color: #0E8A7E !important; }
  .own-summary-stat { color: #555 !important; }
  .own-summary-stat span:last-child { color: #111 !important; }

  /* ── Cost breakdown ── */
  .own-cost-breakdown { color: #555 !important; }
  .own-cost-row span:last-child { color: #111 !important; }
  .own-cost-free { color: #16a34a !important; }
  .own-cost-typical { color: #111 !important; }

  /* ── Effective ownership summary ── */
  .own-sum-bo, .own-sum-hero {
    background: #f0f4fa !important;
    border-color: #bdd0e8 !important;
    break-inside: avoid;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .own-sum-hero .own-summary-label { color: #1e3a5f !important; }
  .own-sum-hero .own-ubo-big-num { color: #1e3a5f !important; }

  /* ── Narrative ── */
  .own-narrative { color: #333 !important; }

  /* ── Layout: remove inspector space, fill width ── */
  .own-tree-inspector-layout { display: block !important; }
  .own-tree-area { width: 100% !important; }

  /* ── Status pills: force background for print ── */
  .own-status-pill {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .own-ubo-badge {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  /* ── General print cleanup ── */
  body { background: white !important; }
  * { transition: none !important; animation: none !important; }
}

/* ══════════════════════════════════════════════
   Sprint 1: Service Classification Wizard
   ══════════════════════════════════════════════ */

/* Compact party type segmented control */
.cw-party-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--border-subtle, #2a2f3a); }
.cw-party-bar-label { font-size: 13px; color: var(--text-soft, #9ca3af); white-space: nowrap; }
.cw-seg-control { display: flex; background: var(--bg-subtle, #1a1f2e); border-radius: 8px; padding: 3px; gap: 2px; }
.cw-seg-btn { padding: 6px 16px; border-radius: 6px; border: none; background: transparent; color: var(--text-soft, #9ca3af); font-size: 13px; cursor: pointer; transition: all 0.15s; }
.cw-seg-btn:hover { color: var(--text-main, #e5e7eb); }
.cw-seg-btn.cw-seg-active { background: var(--accent, #3b82f6); color: white; font-weight: 600; }
[data-theme="light"] .cw-seg-control { background: #f1f5f9; }
[data-theme="light"] .cw-seg-btn { color: #6b7280; }
[data-theme="light"] .cw-seg-btn:hover { color: #1e293b; }
[data-theme="light"] .cw-seg-btn.cw-seg-active { background: #3b82f6; color: white; }

/* Service classification heading */
.cw-svc-heading { font-size: 15px; font-weight: 600; color: var(--text-main, #e5e7eb); margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }

/* Service cards */
.cw-svc-cards { display: flex; flex-direction: column; gap: 8px; margin-bottom: 4px; }
.cw-svc-card { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 10px; border: 1px solid var(--border-subtle, #2a2f3a); background: var(--bg-card, #1a1f2e); cursor: pointer; transition: all 0.15s; text-align: left; }
.cw-svc-card:hover { border-color: var(--accent, #3b82f6); background: rgba(59, 130, 246, 0.04); }
.cw-svc-card.cw-svc-selected { border-color: var(--accent, #3b82f6); background: rgba(59, 130, 246, 0.08); box-shadow: 0 0 0 1px var(--accent, #3b82f6); }
.cw-svc-card-icon { flex-shrink: 0; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; color: var(--accent, #38bdf8); }
.cw-svc-card-icon svg { width: 22px; height: 22px; }
.cw-svc-card-body { flex: 1; min-width: 0; }
.cw-svc-card-title { font-size: 14px; font-weight: 600; color: var(--text-main, #e5e7eb); line-height: 1.4; }
.cw-svc-card-help { font-size: 12px; color: var(--text-soft, #9ca3af); line-height: 1.4; margin-top: 1px; }
.cw-svc-card-check { flex-shrink: 0; color: var(--accent, #3b82f6); }
.cw-svc-card-check svg { width: 18px; height: 18px; }
[data-theme="light"] .cw-svc-card { background: white; border-color: #e2e8f0; }
[data-theme="light"] .cw-svc-card:hover { border-color: #3b82f6; background: rgba(59, 130, 246, 0.03); }
[data-theme="light"] .cw-svc-card.cw-svc-selected { background: rgba(59, 130, 246, 0.06); border-color: #3b82f6; }

/* Progressive disclosure detail area */
.cw-svc-detail { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border-subtle, #2a2f3a); animation: cw-slide-in 0.25s ease-out; }
@keyframes cw-slide-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }

.cw-svc-subsection { margin-bottom: 16px; }
.cw-svc-sublabel { font-size: 13px; font-weight: 600; color: var(--text-main, #e5e7eb); margin-bottom: 8px; display: flex; align-items: center; gap: 4px; }

/* Asset type grid */
.cw-asset-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cw-asset-btn { padding: 10px 14px; border-radius: 8px; border: 1px solid var(--border-subtle, #2a2f3a); background: var(--bg-card, #1a1f2e); color: var(--text-main, #e5e7eb); font-size: 13px; cursor: pointer; transition: all 0.15s; text-align: left; }
.cw-asset-btn:hover { border-color: var(--accent, #3b82f6); }
.cw-asset-btn.cw-asset-selected { border-color: var(--accent, #3b82f6); background: rgba(59, 130, 246, 0.08); box-shadow: 0 0 0 1px var(--accent, #3b82f6); }
.cw-asset-desc { margin-top: 8px; }
[data-theme="light"] .cw-asset-btn { background: white; border-color: #e2e8f0; }
[data-theme="light"] .cw-asset-btn.cw-asset-selected { background: rgba(59, 130, 246, 0.06); border-color: #3b82f6; }

/* Amber note */
.cw-amber-note { margin-top: 8px; padding: 8px 12px; border-radius: 6px; font-size: 12px; line-height: 1.5; color: #f59e0b; background: rgba(245, 158, 11, 0.08); border: 1px solid rgba(245, 158, 11, 0.2); }

/* Relationship cards */
.cw-rel-help { font-size: 12px; color: var(--text-softer, #6b7280); margin-bottom: 8px; margin-top: -4px; }
.cw-rel-cards { display: flex; gap: 10px; }
.cw-rel-btn { flex: 1; padding: 12px 14px; border-radius: 8px; border: 1px solid var(--border-subtle, #2a2f3a); background: var(--bg-card, #1a1f2e); cursor: pointer; text-align: left; transition: all 0.15s; }
.cw-rel-btn:hover { border-color: var(--accent, #3b82f6); }
.cw-rel-btn.cw-rel-selected { border-color: var(--accent, #3b82f6); background: rgba(59, 130, 246, 0.08); box-shadow: 0 0 0 1px var(--accent, #3b82f6); }
.cw-rel-title { font-size: 13px; font-weight: 600; color: var(--text-main, #e5e7eb); margin-bottom: 4px; }
.cw-rel-desc { font-size: 11px; color: var(--text-soft, #9ca3af); line-height: 1.4; }
.cw-rel-rec { color: var(--accent, #3b82f6); font-weight: 400; font-size: 11px; }
[data-theme="light"] .cw-rel-btn { background: white; border-color: #e2e8f0; }
[data-theme="light"] .cw-rel-btn.cw-rel-selected { background: rgba(59, 130, 246, 0.06); border-color: #3b82f6; }

/* Pre-commencement */
.cw-precom-section { padding-top: 4px; }
.cw-precom-label { font-size: 13px; color: var(--text-main, #e5e7eb); cursor: pointer; display: flex; align-items: center; gap: 6px; }
.cw-precom-label input[type="checkbox"] { width: 16px; height: 16px; accent-color: #3b82f6; cursor: pointer; }
.cw-precom-detail { animation: cw-slide-in 0.2s ease-out; }
.cw-precom-note { margin-top: 8px; padding: 8px 12px; border-radius: 6px; font-size: 12px; line-height: 1.5; color: var(--text-soft, #9ca3af); background: rgba(56, 189, 248, 0.06); border: 1px solid rgba(56, 189, 248, 0.12); }

/* Out-of-scope detail */
.cw-oos-detail { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border-subtle, #2a2f3a); animation: cw-slide-in 0.25s ease-out; }
.cw-oos-vol-section { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--border-subtle, #2a2f3a); }
.cw-oos-metric-note { margin-top: 8px; font-size: 12px; color: var(--text-softer, #6b7280); line-height: 1.5; padding: 8px 12px; border-radius: 6px; background: rgba(56, 189, 248, 0.04); border: 1px solid rgba(56, 189, 248, 0.08); }
.cw-oos-metric-note strong { color: var(--text-main, #e5e7eb); }
[data-theme="light"] .cw-oos-metric-note strong { color: #1e293b; }

/* Tooltip component */
.cw-tooltip { position: relative; display: inline-flex; align-items: center; cursor: help; color: var(--text-softer, #6b7280); vertical-align: middle; }
.cw-tooltip svg { width: 14px; height: 14px; }
.cw-tooltip-text { display: none; position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); background: var(--bg-card, #1e293b); color: var(--text-main, #e5e7eb); border: 1px solid var(--border-subtle, #334155); border-radius: 8px; padding: 8px 12px; font-size: 12px; font-weight: 400; line-height: 1.5; white-space: normal; width: 280px; z-index: 10000; box-shadow: 0 4px 12px rgba(0,0,0,0.3); pointer-events: none; }
.cw-tooltip:hover .cw-tooltip-text, .cw-tooltip:focus .cw-tooltip-text { display: block; }
.cw-tooltip-text::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 6px solid transparent; border-top-color: var(--border-subtle, #334155); }
[data-theme="light"] .cw-tooltip-text { background: white; color: #1e293b; border-color: #e2e8f0; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
[data-theme="light"] .cw-tooltip-text::after { border-top-color: #e2e8f0; }

/* Review decision summary cards */
.cw-review-decisions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--border-subtle, #2a2f3a); }
.cw-review-card { display: flex; flex-direction: column; padding: 8px 12px; border-radius: 8px; border-left: 3px solid transparent; background: var(--bg-subtle, #1a1f2e); min-width: 140px; flex: 1; max-width: 250px; }
.cw-review-card[onclick] { cursor: pointer; }
.cw-review-card[onclick]:hover { background: rgba(59, 130, 246, 0.06); }
.cw-rc-label { font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-softer, #6b7280); margin-bottom: 2px; }
.cw-rc-val { font-size: 12px; color: var(--text-main, #e5e7eb); font-weight: 500; line-height: 1.4; }
.cw-rc-blue { border-left-color: #3b82f6; }
.cw-rc-green { border-left-color: #22c55e; }
.cw-rc-amber { border-left-color: #f59e0b; }
.cw-rc-purple { border-left-color: #a855f7; }
.cw-rc-warn { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.06); }
.cw-rc-warn .cw-rc-val { color: #f59e0b; font-size: 11px; }
[data-theme="light"] .cw-review-card { background: #f8fafc; }
[data-theme="light"] .cw-review-card[onclick]:hover { background: rgba(59, 130, 246, 0.04); }
[data-theme="light"] .cw-rc-warn { background: rgba(245, 158, 11, 0.04); }

/* ══════════════════════════════════════════════
   Sprint 1 Phase 1c: Polish
   ══════════════════════════════════════════════ */

/* DM Sans on all wizard Step 0 elements */
.cw-entry-screen,
.cw-svc-card,
.cw-asset-btn,
.cw-rel-btn,
.cw-precom-label,
.cw-oos-detail,
.cw-review-decisions,
.cw-tooltip-text,
.cw-header-badge {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Professional header badge */
.cw-header-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 500;
  color: var(--accent, #3b82f6);
  background: rgba(59, 130, 246, 0.08);
  border: 1px solid rgba(59, 130, 246, 0.15);
  border-radius: 6px;
  padding: 3px 10px 3px 6px;
  margin-top: -2px;
  margin-bottom: 6px;
}
.cw-header-badge svg { width: 14px; height: 14px; }
[data-theme="light"] .cw-header-badge {
  color: #2563eb;
  background: rgba(37, 99, 235, 0.06);
  border-color: rgba(37, 99, 235, 0.12);
}

/* Service card icon polish — circular background */
.cw-svc-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(56, 189, 248, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cw-svc-card.cw-svc-selected .cw-svc-card-icon {
  background: rgba(59, 130, 246, 0.12);
}
.cw-svc-card-icon svg {
  width: 20px;
  height: 20px;
  color: var(--accent, #38bdf8);
}
.cw-svc-card.cw-svc-selected .cw-svc-card-icon svg {
  color: var(--accent, #3b82f6);
}
[data-theme="light"] .cw-svc-card-icon {
  background: rgba(59, 130, 246, 0.06);
}
[data-theme="light"] .cw-svc-card.cw-svc-selected .cw-svc-card-icon {
  background: rgba(59, 130, 246, 0.1);
}

/* Tipping-off advisory note */
.cw-tipoff-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 12px;
  margin-bottom: 4px;
  padding: 10px 14px;
  border-radius: 8px;
  background: rgba(245, 158, 11, 0.06);
  border: 1px solid rgba(245, 158, 11, 0.15);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.cw-tipoff-note svg {
  flex-shrink: 0;
  margin-top: 1px;
  color: #f59e0b;
}
.cw-tipoff-note span {
  font-size: 12px;
  line-height: 1.5;
  color: #f59e0b;
}
[data-theme="light"] .cw-tipoff-note {
  background: rgba(245, 158, 11, 0.04);
  border-color: rgba(245, 158, 11, 0.12);
}

/* Modal header h3 — ensure DM Sans */
.compliance-modal-header h3 {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ══════════════════════════════════════════════
   Sprint 1 Phase 1d: Tipping-off + Risk note polish
   ══════════════════════════════════════════════ */

/* Tipping-off note — bigger, more readable */
.cw-tipoff-note {
  font-size: 13px;
  padding: 12px 16px;
  gap: 12px;
  line-height: 1.6;
}
.cw-tipoff-note svg {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: #d97706;
}
.cw-tipoff-note div,
.cw-tipoff-note span {
  font-size: 13px;
  color: #b45309;
}
.cw-tipoff-note strong {
  font-weight: 600;
  color: #92400e;
}
[data-theme="light"] .cw-tipoff-note div,
[data-theme="light"] .cw-tipoff-note span {
  color: #92400e;
}
[data-theme="light"] .cw-tipoff-note strong {
  color: #78350f;
}
/* Dark theme override */
[data-theme="dark"] .cw-tipoff-note div,
[data-theme="dark"] .cw-tipoff-note span {
  color: #fbbf24;
}
[data-theme="dark"] .cw-tipoff-note strong {
  color: #fcd34d;
}

/* Risk assessment advisory note */
.cw-risk-note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.5;
  color: #2563eb;
  background: rgba(37, 99, 235, 0.05);
  border: 1px solid rgba(37, 99, 235, 0.1);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.cw-risk-note svg {
  flex-shrink: 0;
  color: #3b82f6;
}
[data-theme="dark"] .cw-risk-note {
  color: #93c5fd;
  background: rgba(59, 130, 246, 0.06);
  border-color: rgba(59, 130, 246, 0.12);
}
[data-theme="dark"] .cw-risk-note svg {
  color: #60a5fa;
}

/* ══════════════════════════════════════════════
   Sprint 1 Phase 1e: Colour + layout fixes
   ══════════════════════════════════════════════ */

/* Override tipping-off note to professional dark amber (not brown) */
.cw-tipoff-note {
  background: rgba(251, 191, 36, 0.06);
  border-color: rgba(251, 191, 36, 0.18);
}
.cw-tipoff-note svg {
  color: #f59e0b;
}
.cw-tipoff-note div,
.cw-tipoff-note span,
.cw-tipoff-note strong {
  color: var(--text-main, #e5e7eb);
}
.cw-tipoff-note strong {
  color: var(--text-main);
}
[data-theme="light"] .cw-tipoff-note div,
[data-theme="light"] .cw-tipoff-note span {
  color: #374151;
}
[data-theme="light"] .cw-tipoff-note strong {
  color: #1f2937;
}
[data-theme="light"] .cw-tipoff-note svg {
  color: #d97706;
}

/* Ensure modal body scrolls internally if needed, not page */
.compliance-modal {
  max-height: calc(100vh - 80px);
  display: flex;
  flex-direction: column;
}
.compliance-modal-body {
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

/* ══════════════════════════════════════════════
   Sprint 1 Phase 3: Trigger date fields
   ══════════════════════════════════════════════ */

/* Trigger date section — prominent with left border */
.cw-trigger-section {
  margin-top: 20px;
  padding: 14px 16px;
  border-left: 3px solid #3b82f6;
  background: rgba(59, 130, 246, 0.04);
  border-radius: 0 8px 8px 0;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.cw-trigger-heading {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-main, #e5e7eb);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.cw-trigger-heading svg {
  color: #3b82f6;
  flex-shrink: 0;
}
[data-theme="light"] .cw-trigger-section {
  background: rgba(59, 130, 246, 0.03);
}

/* Field-level amber border for blank dates */
.cw-field-amber {
  border-color: #f59e0b !important;
  box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.3);
}

/* Trigger date warning */
.cw-trigger-warn {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 10px;
  padding: 8px 12px;
  border-radius: 6px;
  background: rgba(245, 158, 11, 0.06);
  border: 1px solid rgba(245, 158, 11, 0.15);
}
.cw-trigger-warn svg {
  flex-shrink: 0;
  margin-top: 1px;
  color: #f59e0b;
}
.cw-trigger-warn span {
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-main, #e5e7eb);
}
[data-theme="light"] .cw-trigger-warn span {
  color: #374151;
}

/* Attestation checkbox */
.cw-trigger-attest {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 13px;
  color: var(--text-main, #e5e7eb);
  cursor: pointer;
}
.cw-trigger-attest input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #3b82f6;
  cursor: pointer;
}

/* ══════════════════════════════════════════════
   Sprint 1 Phase 4: Out-of-scope badge
   ══════════════════════════════════════════════ */
.compliance-badge-out_of_scope {
  background: rgba(107, 114, 128, 0.1);
  color: #9ca3af;
  border: 1px solid rgba(107, 114, 128, 0.2);
}
[data-theme="light"] .compliance-badge-out_of_scope {
  background: rgba(107, 114, 128, 0.08);
  color: #6b7280;
  border-color: rgba(107, 114, 128, 0.15);
}

/* ══════════════════════════════════════════════
   Sprint 1 Phase 4b: OOS Confirmation Screen
   ══════════════════════════════════════════════ */
.cw-oos-confirm { text-align: center; padding: 24px 16px; }
.cw-oos-confirm-icon { margin: 0 auto 16px; width: 64px; height: 64px; border-radius: 50%; background: rgba(107, 114, 128, 0.08); display: flex; align-items: center; justify-content: center; color: #9ca3af; }
.cw-oos-confirm-title { font-size: 18px; font-weight: 600; color: var(--text-main, #e5e7eb); margin-bottom: 8px; font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.cw-oos-confirm-desc { font-size: 13px; color: var(--text-soft, #9ca3af); line-height: 1.6; margin-bottom: 20px; max-width: 440px; margin-left: auto; margin-right: auto; }
.cw-oos-confirm-detail { text-align: left; background: var(--bg-subtle, #1a1f2e); border-radius: 8px; padding: 12px 16px; margin-bottom: 16px; }
.cw-oos-confirm-row { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 13px; }
.cw-oos-confirm-row + .cw-oos-confirm-row { border-top: 1px solid var(--border-subtle, #2a2f3a); }
.cw-oos-confirm-label { color: var(--text-softer, #6b7280); font-weight: 500; flex-shrink: 0; }
.cw-oos-confirm-row span:last-child { color: var(--text-main, #e5e7eb); text-align: right; }
.cw-oos-confirm-hint { font-size: 12px; color: var(--text-soft, #9ca3af); line-height: 1.5; padding: 10px 14px; background: rgba(56, 189, 248, 0.05); border: 1px solid rgba(56, 189, 248, 0.1); border-radius: 6px; }
.cw-oos-confirm-hint strong { color: var(--accent, #3b82f6); }
[data-theme="light"] .cw-oos-confirm-detail { background: #f8fafc; }
[data-theme="light"] .cw-oos-confirm-row + .cw-oos-confirm-row { border-color: #e2e8f0; }


/* ═══ Sprint 1 Phase 5: Delayed CDD Timer ═══ */
.dc-timer {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 16px; border-radius: 8px; margin-bottom: 12px;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 13px; font-weight: 500;
  border: 1px solid transparent;
}
.dc-timer-left {
  display: flex; align-items: center; gap: 8px;
}
.dc-timer-label {
  font-weight: 600; font-size: 12px;
  text-transform: uppercase; letter-spacing: 0.3px;
}
.dc-timer-value {
  font-weight: 600; font-size: 13px;
}
.dc-timer-green {
  background: rgba(16, 185, 129, 0.08);
  border-color: rgba(16, 185, 129, 0.25);
  color: #34d399;
}
.dc-timer-amber {
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.25);
  color: #fbbf24;
}
.dc-timer-red {
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.25);
  color: #f87171;
}
.dc-timer-grey {
  background: rgba(107, 114, 128, 0.08);
  border-color: rgba(107, 114, 128, 0.25);
  color: #9ca3af;
}
[data-theme="light"] .dc-timer-green { background: rgba(16, 185, 129, 0.06); color: #059669; }
[data-theme="light"] .dc-timer-amber { background: rgba(245, 158, 11, 0.06); color: #d97706; }
[data-theme="light"] .dc-timer-red   { background: rgba(239, 68, 68, 0.06); color: #dc2626; }
[data-theme="light"] .dc-timer-grey  { background: rgba(107, 114, 128, 0.06); color: #6b7280; }

/* ═══ Delay CDD Checklist Modal ═══ */
.dc-checklist {
  display: flex; flex-direction: column; gap: 16px;
}
.dc-checklist-item {
  display: flex; gap: 12px; align-items: flex-start;
}
.dc-checklist-num {
  width: 28px; height: 28px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--accent, #3b82f6);
  color: #fff; font-size: 13px; font-weight: 700;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.dc-checklist-content {
  flex: 1; min-width: 0;
}
.dc-checkbox-label {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 13px; color: var(--text-main, #e5e7eb);
  cursor: pointer; line-height: 1.5;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.dc-checkbox-label input[type="checkbox"] {
  margin-top: 3px; flex-shrink: 0;
  accent-color: var(--accent, #3b82f6);
}

/* ═══ Override Warning ═══ */
.dc-override-warning {
  padding: 12px 14px; border-radius: 8px;
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.25);
  font-size: 13px; color: var(--text-main, #e5e7eb);
  line-height: 1.5;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
[data-theme="light"] .dc-override-warning {
  background: rgba(239, 68, 68, 0.06);
  color: #1f2937;
}


/* ═══ Sprint 1 Phase 7: Decision Summary Cards ═══ */
.dsc-strip {
  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.dsc-card {
  display: flex; flex-direction: column; gap: 2px;
  padding: 8px 14px; border-radius: 8px;
  border: 1px solid transparent;
  min-width: 0;
}
.dsc-card-label {
  font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.4px;
  color: rgba(243, 244, 246, 0.7);
}
[data-theme="light"] .dsc-card-label {
  color: rgba(30, 41, 59, 0.7);
}
.dsc-card-value {
  font-size: 13px; font-weight: 600;
}
.dsc-card-sub {
  font-size: 11px; font-weight: 400; opacity: 0.7;
}
.dsc-card-blue {
  background: rgba(59, 130, 246, 0.08);
  border-color: rgba(59, 130, 246, 0.25);
  color: #60a5fa;
}
.dsc-card-green {
  background: rgba(16, 185, 129, 0.08);
  border-color: rgba(16, 185, 129, 0.25);
  color: #34d399;
}
.dsc-card-amber {
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.25);
  color: #fbbf24;
}
.dsc-card-purple {
  background: rgba(139, 92, 246, 0.08);
  border-color: rgba(139, 92, 246, 0.25);
  color: #a78bfa;
}
.dsc-card-grey {
  background: rgba(107, 114, 128, 0.08);
  border-color: rgba(107, 114, 128, 0.25);
  color: #9ca3af;
}
[data-theme="light"] .dsc-card-blue   { background: rgba(59, 130, 246, 0.06); color: #2563eb; }
[data-theme="light"] .dsc-card-green  { background: rgba(16, 185, 129, 0.06); color: #059669; }
[data-theme="light"] .dsc-card-amber  { background: rgba(245, 158, 11, 0.06); color: #d97706; }
[data-theme="light"] .dsc-card-purple { background: rgba(139, 92, 246, 0.06); color: #7c3aed; }
[data-theme="light"] .dsc-card-grey   { background: rgba(107, 114, 128, 0.06); color: #6b7280; }

/* M29/M30: Force dark native controls for selects in dark theme */
.aml-weight-input { color-scheme: dark; }
[data-theme="light"] .aml-weight-input { color-scheme: light; }

/* M29/M30: Authority form controls - theme-aware native dropdowns */
.aml-auth-input {
  color-scheme: dark;
  background: rgba(255,255,255,0.06);
  color: #e2e8f0;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 6px;
}
.aml-auth-input option {
  background: #1a1d24;
  color: #e2e8f0;
}
[data-theme="light"] .aml-auth-input {
  color-scheme: light;
  background: #fff;
  color: #1e293b;
  border-color: #d1d5db;
}
[data-theme="light"] .aml-auth-input option {
  background: #fff;
  color: #1e293b;
}

/* Global: Tell browser to render native controls (selects, date pickers) in correct theme */
html:not([data-theme="light"]) { color-scheme: dark; }
html[data-theme="light"] { color-scheme: light; }

/* Program Docs: light theme overrides */
[data-theme="light"] #page-compliance .pdoc-metric {
  background: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
}
[data-theme="light"] #page-compliance .pdoc-card {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
}
[data-theme="light"] #page-compliance .pdoc-card-empty {
  background: #fafafa !important;
  border-color: #d1d5db !important;
}

/* Program Docs: light theme metric labels */
[data-theme="light"] .pdoc-metric {
}
[data-theme="light"] .pdoc-metric div[style*="text-transform"] {
}
[data-theme="light"] .pdoc-card-empty {
}

/* Sidebar dividers: visible on both themes */
[data-theme="light"] .sidebar-nav > div[style*="border-top"] {
}

/* Governance export dropdown */
.gov-export-dropdown {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 4px;
  background: #1e2530;
  border: 1px solid #2a2f3a;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  border-radius: 8px;
  overflow: hidden;
  min-width: 180px;
  z-index: 100;
}
.gov-export-dropdown button {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 10px 14px;
  border: none;
  background: none;
  color: #e2e8f0;
  font-size: 13px;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  cursor: pointer;
  text-align: left;
}
.gov-export-dropdown button:hover {
  background: rgba(255,255,255,0.06);
}
[data-theme="light"] .gov-export-dropdown {
  background: #ffffff;
  border-color: #d1d5db;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
[data-theme="light"] .gov-export-dropdown button {
  color: #1e293b;
}
[data-theme="light"] .gov-export-dropdown button:hover {
  background: rgba(0,0,0,0.04);
}


/* ===== Calendar Modal (Sprint 3 Phase 1) ===== */
.cal-modal-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.6); z-index: 9999;
  display: flex; align-items: center; justify-content: center; padding: 20px;
}
.cal-modal {
  background: var(--bg-card,#1e1e2e); border: 1px solid var(--border-subtle,rgba(255,255,255,0.1));
  border-radius: 14px; width: 100%; max-width: 480px; max-height: 90vh; overflow-y: auto;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.cal-modal-hdr {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; border-bottom: 1px solid var(--border-subtle,rgba(255,255,255,0.06));
  font-size: 15px; font-weight: 600;
}
.cal-modal-close { background: none; border: none; color: inherit; font-size: 22px; cursor: pointer; opacity: 0.5; }
.cal-modal-close:hover { opacity: 1; }
.cal-modal-body { padding: 16px 20px; }
.cal-modal-ftr {
  display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px;
  border-top: 1px solid var(--border-subtle,rgba(255,255,255,0.06));
}
.cal-form label { display: block; font-size: 12px; font-weight: 500; margin-bottom: 12px; opacity: 0.7; }
.cal-input {
  display: block; width: 100%; margin-top: 4px; padding: 8px 10px; border-radius: 8px;
  border: 1px solid var(--border-subtle,rgba(255,255,255,0.12));
  background: var(--bg-card,rgba(255,255,255,0.04));
  color: inherit; font-size: 13px; font-family: 'DM Sans', sans-serif; box-sizing: border-box;
}
.cal-input:focus { outline: none; border-color: #60a5fa; }
select.cal-input { color-scheme: dark; }
[data-theme="light"] .cal-modal { background: #ffffff; border-color: rgba(0,0,0,0.1); }
[data-theme="light"] .cal-modal-hdr { border-bottom-color: rgba(0,0,0,0.06); }
[data-theme="light"] .cal-modal-ftr { border-top-color: rgba(0,0,0,0.06); }
[data-theme="light"] .cal-input { border-color: rgba(0,0,0,0.12); background: rgba(0,0,0,0.02); color: #1e293b; }
[data-theme="light"] select.cal-input { color-scheme: light; }

/* ═══ M51: CDD Review Triggers ═══ */
.aml-triggers-section {
  padding: 16px 20px;
  border-radius: 12px;
  background: var(--bg-card, rgba(255,255,255,0.04));
  border: 1px solid var(--border-subtle, #2a2f3a);
}
.aml-triggers-tier { margin-bottom: 8px; }
.aml-triggers-tier-header {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-main);
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.aml-triggers-tier-desc {
  font-size: 12px;
  color: var(--text-softer, #6b7280);
  margin-bottom: 10px;
  line-height: 1.5;
}
.aml-trigger-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  margin-bottom: 4px;
  transition: background 0.15s;
}
.aml-trigger-row:hover { background: rgba(255,255,255,0.02); }
.aml-trigger-locked {
  opacity: 0.7;
  padding-left: 16px;
}
.aml-trigger-lock {
  flex-shrink: 0;
  width: 20px;
  padding-top: 2px;
  color: var(--text-softer, #6b7280);
}
.aml-trigger-toggle {
  flex-shrink: 0;
  padding-top: 2px;
}
.aml-trigger-body { flex: 1; min-width: 0; }
.aml-trigger-name {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-main);
}
.aml-trigger-meta {
  font-size: 11px;
  color: var(--text-softer, #6b7280);
  margin-top: 2px;
}
.aml-trigger-desc {
  font-size: 12px;
  color: var(--text-softer, #6b7280);
  margin-top: 2px;
}
.aml-trigger-input-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 12px;
  color: var(--text-softer, #6b7280);
}
.aml-trigger-input {
  width: 70px;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid var(--border-subtle, #2a2f3a);
  background: var(--bg-input, #1a1d24);
  color: var(--text-primary, #e2e8f0);
  font-size: 12px;
  text-align: center;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.aml-trigger-input-wide { width: 120px; text-align: left; }
.aml-trigger-currency {
  font-size: 13px;
  color: var(--text-softer, #6b7280);
  font-weight: 500;
}

/* Light theme */
[data-theme="light"] .aml-triggers-section { background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.08); }
[data-theme="light"] .aml-trigger-row:hover { background: rgba(0,0,0,0.02); }
[data-theme="light"] .aml-trigger-input { background: #ffffff; border-color: rgba(0,0,0,0.12); color: #1e293b; }

/* ═══ M51 Phase E: CDD Review Badge + Banner ═══ */
.cdd-review-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(251,191,36,0.15);
  color: #d97706;
  margin-left: 6px;
  vertical-align: middle;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.cdd-review-banner {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  margin-bottom: 12px;
  border-radius: 10px;
  background: rgba(251,191,36,0.08);
  border: 1px solid rgba(251,191,36,0.25);
}
.cdd-review-banner-icon {
  flex-shrink: 0;
  color: #fbbf24;
  padding-top: 2px;
}
.cdd-review-banner-body {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  color: var(--text-main);
}
.cdd-review-banner-desc {
  font-size: 12px;
  color: var(--text-softer, #6b7280);
  margin-top: 2px;
}
.cdd-review-banner-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.cdd-review-select {
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid var(--border-subtle, #2a2f3a);
  background: var(--bg-input, #1a1d24);
  color: var(--text-primary, #e2e8f0);
  font-size: 12px;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Light theme */
[data-theme="light"] .cdd-review-badge { background: rgba(251,191,36,0.12); color: #b45309; }
[data-theme="light"] .cdd-review-banner { background: rgba(251,191,36,0.06); border-color: rgba(251,191,36,0.2); }
[data-theme="light"] .cdd-review-banner-body { color: #1e293b; }
[data-theme="light"] .cdd-review-select { background: #ffffff; border-color: rgba(0,0,0,0.12); color: #1e293b; }

/* M42: Below-threshold node styling */
.own-tnode-below { opacity: 0.55; }
.own-tnode-below .own-tnode-head .own-tnode-name { color: rgba(255,255,255,0.5); }
.own-tnode-below .own-tnode-sub { color: rgba(255,255,255,0.35); }
[data-theme="light"] .own-tnode-below .own-tnode-head .own-tnode-name { color: rgba(0,0,0,0.45); }
[data-theme="light"] .own-tnode-below .own-tnode-sub { color: rgba(0,0,0,0.35); }

/* ══════════════ Trust CDD Uplift: Trust Info Panel ══════════════ */
.tcdd-panel { background: rgba(14,138,126,0.06); border: 1px solid rgba(14,138,126,0.2); border-radius: 10px; margin: 0 0 12px 0; overflow: hidden; font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.tcdd-header { display: flex; align-items: center; gap: 8px; padding: 10px 14px; cursor: pointer; user-select: none; }
.tcdd-header:hover { background: rgba(14,138,126,0.08); }
.tcdd-header-icon { color: #0E8A7E; display: flex; }
.tcdd-header-icon svg { width: 16px; height: 16px; }
.tcdd-header-title { font-weight: 600; font-size: 13px; color: #e5e7eb; }
.tcdd-header-sub { font-size: 12px; color: #9ca3af; margin-left: auto; }
.tcdd-collapse-arrow { color: #9ca3af; display: flex; transition: transform 0.15s; }
.tcdd-collapse-arrow svg { width: 14px; height: 14px; }
.tcdd-body { padding: 4px 14px 12px; }
.tcdd-row { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; border-top: 1px solid rgba(255,255,255,0.06); }
.tcdd-row:first-child { border-top: none; }
.tcdd-row-action { background: rgba(217,119,6,0.06); border-radius: 6px; padding: 8px 10px; margin: 2px -10px; }
.tcdd-row-label { width: 140px; min-width: 140px; font-size: 12px; font-weight: 600; color: #d1d5db; padding-top: 6px; }
.tcdd-row-field { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.tcdd-row-inline { flex-direction: row; flex-wrap: wrap; align-items: center; }
.tcdd-select { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 6px; color: #e5e7eb; font-size: 13px; padding: 5px 8px; font-family: 'DM Sans', sans-serif; min-width: 160px; }
.tcdd-select:focus { border-color: #0E8A7E; outline: none; }
.tcdd-select-sm { min-width: 120px; }
.tcdd-select-xs { min-width: 80px; max-width: 100px; }
.tcdd-input { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 6px; color: #e5e7eb; font-size: 13px; padding: 5px 8px; font-family: 'DM Sans', sans-serif; flex: 1; min-width: 120px; }
.tcdd-input:focus { border-color: #0E8A7E; outline: none; }
.tcdd-input-sm { max-width: 160px; }
.tcdd-textarea { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 6px; color: #e5e7eb; font-size: 12px; padding: 6px 8px; font-family: 'DM Sans', sans-serif; resize: vertical; width: 100%; }
.tcdd-textarea:focus { border-color: #0E8A7E; outline: none; }
.tcdd-btn { background: #0E8A7E; color: white; border: none; border-radius: 6px; padding: 6px 12px; font-size: 12px; font-weight: 600; cursor: pointer; font-family: 'DM Sans', sans-serif; }
.tcdd-btn:hover { background: #0b7a6f; }
.tcdd-btn-sm { padding: 4px 10px; font-size: 11px; }
.tcdd-rationale-card { background: rgba(14,138,126,0.08); border: 1px solid rgba(14,138,126,0.2); border-radius: 8px; padding: 10px 12px; font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.tcdd-rationale-header { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.tcdd-rationale-title { font-size: 11px; font-weight: 600; color: #0E8A7E; text-transform: uppercase; letter-spacing: 0.5px; }
.tcdd-rationale-text { font-size: 13px; color: #e5e7eb; line-height: 1.5; }
.tcdd-rationale-meta { font-size: 11px; color: #9ca3af; margin-top: 4px; }
.tcdd-rationale-prior { font-size: 12px; color: #d97706; margin-bottom: 6px; }
.tcdd-history-toggle { background: none; border: none; color: #0E8A7E; font-size: 11px; cursor: pointer; padding: 0; font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; text-decoration: underline; }
.tcdd-history-toggle:hover { color: #0b7a6f; }
.tcdd-btn-outline { background: transparent; border: 1px solid #0E8A7E; color: #0E8A7E; border-radius: 6px; padding: 4px 10px; font-size: 11px; font-weight: 600; cursor: pointer; font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; margin-top: 6px; }
.tcdd-btn-outline:hover { background: rgba(14,138,126,0.1); }
.tcdd-rationale-superseded { padding: 6px 0; border-top: 1px solid rgba(255,255,255,0.06); }
.tcdd-text-muted { color: #6b7280; }
.tcdd-field-alert { font-size: 11px; padding: 5px 8px; border-radius: 5px; line-height: 1.4; width: 100%; }
.tcdd-field-amber { background: rgba(217,119,6,0.12); color: #fbbf24; border: 1px solid rgba(217,119,6,0.25); }
.tcdd-field-info { font-size: 11px; color: #9ca3af; padding: 4px 0; line-height: 1.4; }
.tcdd-field-hint { font-size: 11px; color: #6b7280; font-style: italic; }
.tcdd-tooltip { color: #0E8A7E; cursor: help; font-size: 11px; font-weight: 400; }
.tcdd-amber { color: #fbbf24; }
.tcdd-cp-row { display: flex; align-items: center; gap: 8px; padding: 3px 0; flex-wrap: wrap; }
.tcdd-cp-label { font-size: 12px; color: #d1d5db; min-width: 80px; }
.tcdd-linked-badge { font-size: 10px; background: rgba(14,138,126,0.2); color: #0E8A7E; padding: 2px 6px; border-radius: 4px; font-weight: 600; }
.tcdd-unlinked-badge { font-size: 10px; background: rgba(217,119,6,0.15); color: #b45309; padding: 2px 6px; border-radius: 4px; font-weight: 600; }
.tcdd-deed-files { margin-top: 6px; display: flex; flex-direction: column; gap: 4px; }
.tcdd-deed-file { display: flex; align-items: center; gap: 8px; padding: 4px 8px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 6px; font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.tcdd-deed-file-name { font-size: 12px; color: #0E8A7E; cursor: pointer; text-decoration: underline; flex: 1; }
.tcdd-deed-file-name:hover { color: #0b7a6f; }
.tcdd-deed-file-date { font-size: 10px; color: #6b7280; }
.tcdd-deed-file-del { background: none; border: none; color: #6b7280; font-size: 14px; cursor: pointer; padding: 0 4px; }
.tcdd-deed-file-del:hover { color: #ef4444; }
[data-theme="light"] .tcdd-deed-file { background: rgba(0,0,0,0.02); border-color: #e5e7eb; }
[data-theme="light"] .tcdd-unlinked-badge { background: rgba(217,119,6,0.12); color: #b45309; }
.tcdd-vb-group { margin-top: 8px; padding: 8px 0; border-top: 1px solid rgba(255,255,255,0.06); }
.tcdd-vb-label { font-size: 11px; font-weight: 600; color: #9ca3af; margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.5px; font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.tcdd-vb-check { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #e5e7eb; cursor: pointer; padding: 3px 0; font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.tcdd-vb-check input[type="checkbox"] { accent-color: #0E8A7E; width: 14px; height: 14px; }
.tcdd-link-select { margin-top: 4px; max-width: 200px; }
.tcdd-unlink-btn { background: none; border: none; color: #6b7280; font-size: 10px; cursor: pointer; padding: 0 4px; margin-left: 4px; }
.tcdd-unlink-btn:hover { color: #ef4444; }
[data-theme="light"] .tcdd-vb-group { border-top-color: #e5e7eb; }
[data-theme="light"] .tcdd-vb-label { color: #6b7280; }
[data-theme="light"] .tcdd-vb-check { color: #1f2937; }
.tcdd-progress { display: flex; align-items: center; gap: 4px; padding: 10px 0 4px; border-top: 1px solid rgba(255,255,255,0.06); }
.tcdd-seg { width: 24px; height: 4px; border-radius: 2px; }
.tcdd-seg-ok { background: #0E8A7E; }
.tcdd-seg-amber { background: #D97706; }
.tcdd-seg-grey { background: rgba(255,255,255,0.1); }
.tcdd-progress-text { font-size: 11px; color: #9ca3af; margin-left: 8px; }
.tcdd-collapsed { display: flex; align-items: center; justify-content: space-between; padding: 8px 14px; margin: 0 0 8px 0; background: rgba(14,138,126,0.04); border: 1px solid rgba(14,138,126,0.15); border-radius: 8px; cursor: pointer; font-family: 'DM Sans', sans-serif; }
.tcdd-collapsed:hover { background: rgba(14,138,126,0.08); }
.tcdd-collapsed-left { display: flex; align-items: center; gap: 8px; }
.tcdd-collapsed-icon { color: #0E8A7E; display: flex; }
.tcdd-collapsed-icon svg { width: 14px; height: 14px; }
.tcdd-collapsed-summary { font-size: 12px; color: #d1d5db; }
.tcdd-expand-arrow { color: #9ca3af; display: flex; }
.tcdd-expand-arrow svg { width: 14px; height: 14px; }
.tcdd-chip { font-size: 10px; padding: 2px 6px; border-radius: 4px; font-weight: 600; }
.tcdd-chip-green { background: rgba(14,138,126,0.2); color: #0E8A7E; }
.tcdd-header-chip { font-size: 11px; font-weight: 600; padding: 3px 8px; border-radius: 4px; cursor: pointer; font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; margin-left: 6px; }
.tcdd-header-chip:hover { opacity: 0.85; }
.tcdd-header-chip-green { background: rgba(14,138,126,0.15); color: #0E8A7E; }
.tcdd-header-chip-amber { background: rgba(180,83,9,0.15); color: #b45309; }
.tcdd-header-chip-grey { background: rgba(255,255,255,0.08); color: #9ca3af; }
[data-theme="light"] .tcdd-header-chip-grey { background: rgba(0,0,0,0.05); color: #6b7280; }
[data-theme="light"] .tcdd-header-chip-amber { background: rgba(217,119,6,0.1); color: #92400e; }
.tcdd-chip-amber { background: rgba(180,83,9,0.2); color: #b45309; }
.tcdd-chip-grey { background: rgba(255,255,255,0.08); color: #9ca3af; }
[data-theme="light"] .tcdd-chip-amber { background: rgba(217,119,6,0.12); color: #92400e; }

/* Light theme */
[data-theme="light"] .tcdd-panel { background: rgba(14,138,126,0.04); border-color: rgba(14,138,126,0.15); }
[data-theme="light"] .tcdd-header:hover { background: rgba(14,138,126,0.06); }
[data-theme="light"] .tcdd-header-title { color: #1f2937; }
[data-theme="light"] .tcdd-header-sub { color: #6b7280; }
[data-theme="light"] .tcdd-row { border-top-color: rgba(0,0,0,0.06); }
[data-theme="light"] .tcdd-row-action { background: rgba(217,119,6,0.05); }
[data-theme="light"] .tcdd-row-label { color: #374151; }
[data-theme="light"] .tcdd-select { background: white; border-color: #d1d5db; color: #1f2937; }
[data-theme="light"] .tcdd-input { background: white; border-color: #d1d5db; color: #1f2937; }
[data-theme="light"] .tcdd-textarea { background: white; border-color: #d1d5db; color: #1f2937; }
[data-theme="light"] .tcdd-rationale-card { background: rgba(14,138,126,0.05); border-color: rgba(14,138,126,0.15); }
[data-theme="light"] .tcdd-rationale-text { color: #1f2937; }
[data-theme="light"] .tcdd-rationale-superseded { border-top-color: #e5e7eb; }
[data-theme="light"] .tcdd-text-muted { color: #9ca3af; }
[data-theme="light"] .tcdd-btn-outline { border-color: #0E8A7E; color: #0E8A7E; }
[data-theme="light"] .tcdd-btn-outline:hover { background: rgba(14,138,126,0.08); }
[data-theme="light"] .tcdd-rationale-prior { color: #b45309; }
[data-theme="light"] .tcdd-field-amber { background: rgba(217,119,6,0.08); color: #92400e; border-color: rgba(217,119,6,0.2); }
[data-theme="light"] .tcdd-collapsed { background: rgba(14,138,126,0.03); border-color: rgba(14,138,126,0.12); }
[data-theme="light"] .tcdd-collapsed:hover { background: rgba(14,138,126,0.06); }
[data-theme="light"] .tcdd-collapsed-summary { color: #374151; }
[data-theme="light"] .tcdd-cp-label { color: #374151; }
[data-theme="light"] .tcdd-seg-grey { background: rgba(0,0,0,0.08); }
[data-theme="light"] .tcdd-progress { border-top-color: rgba(0,0,0,0.06); }
[data-theme="light"] .tcdd-progress-text { color: #6b7280; }
[data-theme="light"] .tcdd-amber { color: #92400e; }

/* ── Trust CDD: Polish fixes (single definitive block) ── */
.tcdd-row-action { background: rgba(217,119,6,0.03); border: 1px solid rgba(217,119,6,0.1); }
[data-theme="light"] .tcdd-row-action { background: rgba(217,119,6,0.03); border-color: rgba(217,119,6,0.08); }
.tcdd-autosave-note { font-size: 10px; color: #6b7280; font-style: italic; margin-left: 8px; }
[data-theme="light"] .tcdd-autosave-note { color: #9ca3af; }
select.tcdd-select { color-scheme: dark; }
[data-theme="light"] select.tcdd-select { color-scheme: light; }
.tcdd-input[type="date"] { color-scheme: dark; }
[data-theme="light"] .tcdd-input[type="date"] { color-scheme: light; }

/* Trust CDD: Force option colors for Chrome/Windows (reviewer recommendation) */
select.tcdd-select option { background: #111827; color: #f9fafb; }
[data-theme="light"] select.tcdd-select option { background: #ffffff; color: #111827; }
/* Sprint 9 P1: Force option colours for all dark-themed selects */
.ca-form-select option,
.cd-fw-select option,
.compliance-filter-select option,
.cr-field-select option,
.mon-enrol-select option,
.cdd-review-select option { background: #111827; color: #f9fafb; }
[data-theme="light"] .ca-form-select option,
[data-theme="light"] .cd-fw-select option,
[data-theme="light"] .compliance-filter-select option,
[data-theme="light"] .cr-field-select option,
[data-theme="light"] .mon-enrol-select option,
[data-theme="light"] .cdd-review-select option { background: #ffffff; color: #111827; }

/* M64: Retention class badges */
.cd-retention-badge {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  background: rgba(18, 191, 176, 0.12);
  color: #12bfb0;
  border: 1px solid rgba(18, 191, 176, 0.25);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.cd-retention-badge.cd-retention-legacy {
  background: rgba(107, 114, 128, 0.12);
  color: #9ca3af;
  border: 1px solid rgba(107, 114, 128, 0.25);
}

/* Sprint 4: Glossary Panel + ? Button */
.cd-glossary-btn {
  display: flex; align-items: center; gap: 6px;
  padding: 6px 12px; border-radius: 8px;
  background: var(--bg-card, rgba(255,255,255,0.04));
  border: 1px solid var(--border-subtle, #2a2f3a);
  color: var(--text-softer, #6b7280); cursor: pointer;
  transition: all 0.15s ease; flex-shrink: 0; margin-right: 8px;
  font-size: 12px; font-weight: 500; white-space: nowrap;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.cd-glossary-btn:hover {
  background: rgba(18, 191, 176, 0.1); color: #12bfb0;
  border-color: rgba(18, 191, 176, 0.3);
}
.cd-glossary-overlay {
  position: fixed; top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(0,0,0,0.4); z-index: 10001;
  display: flex; justify-content: flex-end;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
#cd-glossary-panel {
  display: flex; flex-direction: column;
  width: 400px; max-width: 90vw;
  background: var(--bg-card, #1e293b); border-left: 1px solid var(--border-subtle, #334155);
  box-shadow: -4px 0 24px rgba(0,0,0,0.3);
  padding: 20px; overflow-y: auto;
}
.cd-glossary-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 16px; flex-shrink: 0;
}
.cd-glossary-close {
  background: none; border: none; color: var(--text-softer, #6b7280);
  cursor: pointer; padding: 4px; border-radius: 4px;
}
.cd-glossary-close:hover { color: var(--text-main); background: rgba(255,255,255,0.05); }
.cd-glossary-filter {
  width: 100%; padding: 8px 12px; border-radius: 8px;
  border: 1px solid var(--border-subtle, #334155);
  background: var(--bg-main, #0f172a); color: var(--text-main);
  font-size: 13px; margin-bottom: 16px; flex-shrink: 0;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  box-sizing: border-box;
}
.cd-glossary-filter:focus { outline: none; border-color: #12bfb0; }
.cd-glossary-content { flex: 1; overflow-y: auto; }
.cd-glossary-cat { margin-bottom: 20px; }
.cd-glossary-cat-title {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.5px; color: #12bfb0; margin: 0 0 8px 0;
  padding-bottom: 6px; border-bottom: 1px solid var(--border-subtle, #334155);
}
.cd-glossary-entry {
  padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.04);
}
.cd-glossary-entry:last-child { border-bottom: none; }
.cd-glossary-term {
  font-size: 13px; font-weight: 600; color: var(--text-main);
  margin-bottom: 2px;
}
.cd-glossary-def {
  font-size: 12px; color: var(--text-softer, #6b7280); line-height: 1.5;
}
.cd-glossary-show-all {
  display: block; width: 100%; padding: 8px;
  background: rgba(18, 191, 176, 0.08); border: 1px solid rgba(18, 191, 176, 0.2);
  border-radius: 8px; color: #12bfb0; font-size: 12px; font-weight: 500;
  cursor: pointer; text-align: center; margin-top: 8px; flex-shrink: 0;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.cd-glossary-show-all:hover { background: rgba(18, 191, 176, 0.15); }
.cd-qa-glossary-link {
  color: var(--text-softer, #6b7280) !important;
  font-size: 12px !important; gap: 6px;
}
.cd-qa-glossary-link:hover { color: #12bfb0 !important; }
/* Light theme glossary overrides */
[data-theme="light"] #cd-glossary-panel {
  background: #ffffff; border-left-color: #e2e8f0;
  box-shadow: -4px 0 24px rgba(0,0,0,0.1);
}
[data-theme="light"] .cd-glossary-filter {
  background: #f8fafc; border-color: #e2e8f0; color: #1e293b;
}
[data-theme="light"] .cd-glossary-overlay { background: rgba(0,0,0,0.2); }
[data-theme="light"] .cd-glossary-entry { border-bottom-color: #f1f5f9; }
[data-theme="light"] .cd-glossary-term { color: #1e293b; }
[data-theme="light"] .cd-glossary-def { color: #64748b; }
[data-theme="light"] .cd-glossary-btn {
  background: #f8fafc; border-color: #e2e8f0; color: #64748b;
}
[data-theme="light"] .cd-glossary-btn:hover {
  background: rgba(18, 191, 176, 0.08); color: #0E8A7E; border-color: rgba(18,191,176,0.3);
}

/* Fix: Reset inherited dsc-card-label styles on tooltip popups */
.dsc-card-label .cw-tooltip-text {
  text-transform: none;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: normal;
  opacity: 1;
}

/* Fix: Tooltip readability — solid background + left-edge clamp */
.cw-tooltip-text {
  background: #1e293b !important;
}
[data-theme="light"] .cw-tooltip-text {
  background: #ffffff !important;
}
.dsc-card .cw-tooltip-text {
  left: 0;
  transform: none;
}
.dsc-card .cw-tooltip-text::after {
  left: 14px;
  transform: none;
}

/* Fix: Force solid opaque tooltip background — override var(--bg-card) transparency */
span.cw-tooltip-text,
.cw-tooltip > .cw-tooltip-text,
.dsc-card-label .cw-tooltip-text {
  background-color: #1e293b !important;
  background: #1e293b !important;
  opacity: 1 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
[data-theme="light"] span.cw-tooltip-text,
[data-theme="light"] .cw-tooltip > .cw-tooltip-text,
[data-theme="light"] .dsc-card-label .cw-tooltip-text {
  background-color: #ffffff !important;
  background: #ffffff !important;
}


/* ── Demo Mode Banner (Sprint 5 Group F) ──────────────────────────────── */
.demo-mode-banner {
    background-color: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: rgb(245, 158, 11);
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    padding: 10px 16px;
    margin: 0 0 16px 0;
    border-radius: 8px;
    position: sticky;
    top: 0;
    z-index: 900;
}
html[data-theme="light"] .demo-mode-banner {
    background-color: rgba(245, 158, 11, 0.08);
    border-color: rgba(217, 119, 6, 0.3);
    color: rgb(180, 100, 0);
}

/* ── S6-4: Ghost button light-theme hover fix ── */
html[data-theme="light"] .compliance-btn-ghost:hover {
  background: rgba(0, 0, 0, 0.06) !important;
  color: var(--text-main, #1a1a2e) !important;
}

/* ── S6-4: Amber relationship card for "Unsure" ── */
.cw-rel-btn.cw-rel-amber.cw-rel-selected {
  border-color: #f59e0b !important;
  background: rgba(245, 158, 11, 0.08) !important;
}
.cw-rel-btn.cw-rel-amber .cw-rel-title {
  color: #f59e0b !important;
}


/* ── S6-4 fix: Tooltip in rel cards — anchor right so it doesn't overflow wizard ── */
.cw-rel-btn .cw-tooltip-text {
  left: auto !important;
  right: -8px !important;
  transform: none !important;
}
.cw-rel-btn .cw-tooltip-text::after {
  left: auto !important;
  right: 16px !important;
  transform: none !important;
}

/* ── S6-2: Service scoping guidance cards ── */
.cw-scope-card {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 12px 16px; border-radius: 8px; margin: 8px 0 4px 0;
  font-size: 12px; line-height: 1.5;
}
.cw-scope-green {
  background: rgba(34, 197, 94, 0.08);
  border: 1px solid rgba(34, 197, 94, 0.25);
}
.cw-scope-amber {
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.25);
}
.cw-scope-title {
  font-weight: 600; font-size: 13px; margin-bottom: 2px;
  color: var(--text-main);
}
.cw-scope-text {
  color: var(--text-secondary, #8b95a5);
}
.cw-scope-ack {
  display: flex; align-items: center; gap: 8px; cursor: pointer;
  font-size: 12px; font-weight: 500;
  color: var(--text-main);
}
html[data-theme="light"] .cw-scope-green {
  background: rgba(34, 197, 94, 0.06);
  border-color: rgba(34, 197, 94, 0.2);
}
html[data-theme="light"] .cw-scope-amber {
  background: rgba(245, 158, 11, 0.06);
  border-color: rgba(245, 158, 11, 0.2);
}

/* ── S6-5: Teal trigger chip for prospective dates ── */
.dsc-card-teal {
  background: rgba(14, 138, 126, 0.08) !important;
  border-color: rgba(14, 138, 126, 0.25) !important;
}
.dsc-card-teal .dsc-card-label { color: #0e8a7e !important; }
.dsc-card-teal .dsc-card-value { color: var(--text-main) !important; }
.dsc-card-teal .dsc-card-sub { color: #0e8a7e !important; opacity: 0.8; }

/* =====================================================================
   INTAKE QUEUE - Phase 1 (Sprint 9)
   ===================================================================== */

/* Metrics bar */
.iq-metrics {
  display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap;
}
.iq-metric-card {
  flex: 1; min-width: 100px; padding: 14px 16px;
  background: var(--bg-secondary, #1a1a2e);
  border: 1px solid var(--border-subtle, #2a2a3e);
  border-radius: 8px; text-align: center;
}
.iq-metric-highlight { border-color: var(--accent, #60a5fa); }
.iq-metric-value {
  font-size: 24px; font-weight: 700; color: var(--text-primary, #e2e8f0);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
.iq-metric-label {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px;
  color: var(--text-secondary, #94a3b8); margin-top: 2px;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Tabs */
.iq-tabs {
  display: flex; gap: 0; border-bottom: 1px solid var(--border-subtle, #2a2a3e);
  margin-bottom: 12px;
}
.iq-tab {
  padding: 10px 18px; font-size: 13px; font-weight: 600;
  color: var(--text-secondary, #94a3b8); background: none; border: none;
  border-bottom: 2px solid transparent; cursor: pointer;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  transition: color 0.15s, border-color 0.15s;
}
.iq-tab:hover { color: var(--text-primary, #e2e8f0); }
.iq-tab.active {
  color: var(--accent, #60a5fa);
  border-bottom-color: var(--accent, #60a5fa);
}
.iq-tab-count {
  display: inline-block; min-width: 18px; padding: 1px 6px; margin-left: 6px;
  font-size: 11px; font-weight: 700; border-radius: 9px;
  background: var(--bg-tertiary, #2a2a3e); color: var(--text-secondary, #94a3b8);
}
.iq-tab.active .iq-tab-count {
  background: var(--accent, #60a5fa); color: #fff;
}

/* Sub-filters */
.iq-sub-filters {
  display: flex; gap: 8px; margin-bottom: 12px; padding-left: 4px;
}
.iq-sub-filter {
  padding: 5px 12px; font-size: 12px; border-radius: 14px;
  background: var(--bg-secondary, #1a1a2e); border: 1px solid var(--border-subtle, #2a2a3e);
  color: var(--text-secondary, #94a3b8); cursor: pointer;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  transition: all 0.15s;
}
.iq-sub-filter:hover { border-color: var(--text-secondary, #94a3b8); }
.iq-sub-filter.active {
  background: var(--accent, #60a5fa); color: #fff;
  border-color: var(--accent, #60a5fa);
}

/* Table */
.iq-table-wrap { overflow-x: auto; }
.iq-table {
  width: 100%; border-collapse: collapse;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
.iq-table th {
  text-align: left; padding: 10px 12px; font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.5px;
  color: var(--text-secondary, #94a3b8);
  border-bottom: 1px solid var(--border-subtle, #2a2a3e);
}
.iq-table td {
  padding: 12px; font-size: 13px;
  color: var(--text-primary, #e2e8f0);
  border-bottom: 1px solid var(--border-subtle, #2a2a3e);
}
.iq-row { cursor: pointer; transition: background 0.12s; }
.iq-row:hover { background: var(--bg-hover, rgba(96,165,250,0.06)); }
.iq-row-selected { background: var(--bg-hover, rgba(96,165,250,0.1)); }
.iq-cell-name { font-weight: 600; white-space: nowrap; }
.iq-cell-addr { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.iq-cell-contact { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.iq-cell-time { white-space: nowrap; font-size: 12px; color: var(--text-secondary, #94a3b8); }
.iq-review-btn {
  padding: 5px 12px; font-size: 12px; font-weight: 600; border-radius: 6px;
  background: var(--accent, #60a5fa); color: #fff; border: none; cursor: pointer;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  transition: opacity 0.15s;
}
.iq-review-btn:hover { opacity: 0.85; }

/* Status badges */
.iq-badge {
  display: inline-block; padding: 3px 10px; font-size: 11px; font-weight: 600;
  border-radius: 12px; white-space: nowrap;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
.iq-badge-new { background: rgba(96,165,250,0.15); color: #60a5fa; }
.iq-badge-info { background: rgba(251,191,36,0.15); color: #fbbf24; }
.iq-badge-expired { background: rgba(239,68,68,0.15); color: #ef4444; }
.iq-badge-prereg { background: rgba(168,85,247,0.15); color: #a855f7; }
.iq-badge-converted { background: rgba(34,197,94,0.15); color: #22c55e; }
.iq-badge-dismissed { background: rgba(107,114,128,0.15); color: #9ca3af; }
.iq-badge-closed { background: rgba(107,114,128,0.15); color: #9ca3af; }

/* Mobile cards */
.iq-cards-wrap { display: none; }
.iq-card {
  padding: 14px 16px; margin-bottom: 8px; cursor: pointer;
  background: var(--bg-secondary, #1a1a2e);
  border: 1px solid var(--border-subtle, #2a2a3e);
  border-radius: 8px; transition: border-color 0.15s;
}
.iq-card:hover { border-color: var(--accent, #60a5fa); }
.iq-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.iq-card-name {
  font-size: 14px; font-weight: 600; color: var(--text-primary, #e2e8f0);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
.iq-card-detail {
  font-size: 12px; color: var(--text-secondary, #94a3b8); margin-bottom: 6px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.iq-card-footer {
  display: flex; justify-content: space-between; font-size: 12px;
  color: var(--text-secondary, #94a3b8);
}

/* Empty state */
.iq-empty {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; padding: 60px 20px;
  color: var(--text-secondary, #94a3b8); font-size: 14px;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
.iq-spinner {
  width: 32px; height: 32px; border: 3px solid var(--border-subtle, #2a2a3e);
  border-top-color: var(--accent, #60a5fa); border-radius: 50%;
  animation: iq-spin 0.7s linear infinite;
}
@keyframes iq-spin { to { transform: rotate(360deg); } }

/* Drawer */
.iq-drawer-overlay {
  position: fixed; top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.4); z-index: 1000;
}
.iq-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; width: 480px;
  background: var(--bg-primary, #0f0f1e); z-index: 1001;
  display: flex; flex-direction: column;
  border-left: 1px solid var(--border-subtle, #2a2a3e);
  box-shadow: -4px 0 24px rgba(0,0,0,0.3);
  animation: iq-slide-in 0.2s ease-out;
}
@keyframes iq-slide-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
.iq-drawer-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 18px 20px; border-bottom: 1px solid var(--border-subtle, #2a2a3e);
}
.iq-drawer-title {
  font-size: 16px; font-weight: 700; color: var(--text-primary, #e2e8f0);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
.iq-drawer-close {
  background: none; border: none; font-size: 22px; cursor: pointer;
  color: var(--text-secondary, #94a3b8); padding: 4px 8px; border-radius: 4px;
  transition: color 0.15s;
}
.iq-drawer-close:hover { color: var(--text-primary, #e2e8f0); }
.iq-drawer-body {
  flex: 1; overflow-y: auto; padding: 20px;
}
.iq-drawer-footer {
  padding: 12px 16px; border-top: 1px solid var(--border-subtle, #2a2a3e);
  display: flex; flex-direction: column; gap: 8px;
}
.iq-footer-primary {
  display: flex; gap: 6px; flex-wrap: wrap;
}
.iq-footer-primary .iq-btn {
  flex: 1 1 auto; white-space: nowrap; text-align: center;
}
.iq-footer-secondary {
  display: flex; gap: 6px; justify-content: flex-end;
}
.iq-btn-sm {
  padding: 6px 14px; font-size: 12px;
}

/* Section labels */
.iq-section-label {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px;
  color: var(--text-secondary, #94a3b8); margin: 20px 0 10px; display: flex;
  align-items: center; gap: 8px;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
.iq-section-label:first-child { margin-top: 0; }

/* Detail grid */
.iq-detail-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.iq-detail { display: flex; flex-direction: column; gap: 2px; }
.iq-detail-full { grid-column: 1 / -1; }
.iq-detail-label {
  font-size: 11px; color: var(--text-secondary, #94a3b8);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
.iq-detail-value {
  font-size: 13px; color: var(--text-primary, #e2e8f0);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Pre-clear banner */
.iq-banner {
  display: flex; align-items: center; gap: 10px; padding: 10px 14px;
  border-radius: 8px; font-size: 12px; margin: 16px 0;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
.iq-banner-warn {
  background: rgba(251,191,36,0.1); color: #fbbf24;
  border: 1px solid rgba(251,191,36,0.2);
}

/* Classification strip */
.iq-change-btn {
  background: none; border: none; font-size: 11px; color: var(--accent, #60a5fa);
  cursor: pointer; text-decoration: underline; padding: 0;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
.iq-class-strip {
  display: flex; flex-direction: column; gap: 8px;
  padding: 12px 14px; border-radius: 8px;
  background: var(--bg-secondary, #1a1a2e);
  border: 1px solid var(--border-subtle, #2a2a3e);
}
.iq-class-item { display: flex; justify-content: space-between; align-items: center; }
.iq-class-label {
  font-size: 12px; color: var(--text-secondary, #94a3b8);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
.iq-class-value {
  font-size: 13px; font-weight: 600; color: var(--text-primary, #e2e8f0);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Classification edit */
.iq-class-edit { display: flex; flex-direction: column; gap: 12px; }
.iq-field label {
  display: block; font-size: 11px; font-weight: 600; margin-bottom: 4px;
  color: var(--text-secondary, #94a3b8); text-transform: uppercase; letter-spacing: 0.3px;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
.iq-field select {
  width: 100%; padding: 8px 10px; font-size: 13px; border-radius: 6px;
  background: var(--bg-secondary, #1a1a2e); color: var(--text-primary, #e2e8f0);
  border: 1px solid var(--border-subtle, #2a2a3e);
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Buttons */
.iq-btn {
  padding: 10px 20px; font-size: 13px; font-weight: 600; border-radius: 8px;
  border: none; cursor: pointer; transition: all 0.15s;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}
.iq-btn-primary {
  background: var(--accent, #60a5fa); color: #fff;
}
.iq-btn-primary:hover { opacity: 0.9; }
.iq-btn-ghost {
  background: none; color: var(--text-secondary, #94a3b8);
  border: 1px solid var(--border-subtle, #2a2a3e);
}
.iq-btn-ghost:hover { border-color: var(--text-secondary, #94a3b8); }
.iq-btn-disabled { opacity: 0.5; cursor: not-allowed; }

/* Responsive */
@media (max-width: 767px) {
  .iq-table-wrap { display: none; }
  .iq-cards-wrap { display: block; }
  .iq-metrics { gap: 8px; }
  .iq-metric-card { min-width: 70px; padding: 10px 8px; }
  .iq-metric-value { font-size: 18px; }
  .iq-drawer {
    width: 100%; border-left: none;
  }
  .iq-detail-grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   INTAKE QUEUE - Light Theme Overrides
   ===================================================================== */

[data-theme="light"] .iq-metric-card {
  background: #f8fafc;
  border-color: #e2e8f0;
}
[data-theme="light"] .iq-metric-highlight {
  border-color: #3b82f6;
}
[data-theme="light"] .iq-metric-value { color: #1e293b; }
[data-theme="light"] .iq-metric-label { color: #64748b; }

[data-theme="light"] .iq-tabs {
  border-bottom-color: #e2e8f0;
}
[data-theme="light"] .iq-tab { color: #64748b; }
[data-theme="light"] .iq-tab:hover { color: #1e293b; }
[data-theme="light"] .iq-tab.active { color: #3b82f6; border-bottom-color: #3b82f6; }
[data-theme="light"] .iq-tab-count {
  background: #f1f5f9; color: #64748b;
}
[data-theme="light"] .iq-tab.active .iq-tab-count {
  background: #3b82f6; color: #fff;
}

[data-theme="light"] .iq-sub-filter {
  background: #f8fafc; border-color: #e2e8f0; color: #64748b;
}
[data-theme="light"] .iq-sub-filter:hover { border-color: #94a3b8; }
[data-theme="light"] .iq-sub-filter.active {
  background: #3b82f6; color: #fff; border-color: #3b82f6;
}

[data-theme="light"] .iq-table th {
  color: #64748b; border-bottom-color: #e2e8f0;
}
[data-theme="light"] .iq-table td {
  color: #1e293b; border-bottom-color: #f1f5f9;
}
[data-theme="light"] .iq-row:hover { background: rgba(59,130,246,0.04); }
[data-theme="light"] .iq-row-selected { background: rgba(59,130,246,0.08); }
[data-theme="light"] .iq-cell-time { color: #64748b; }

[data-theme="light"] .iq-badge-new { background: rgba(59,130,246,0.1); color: #2563eb; }
[data-theme="light"] .iq-badge-info { background: rgba(245,158,11,0.1); color: #d97706; }
[data-theme="light"] .iq-badge-expired { background: rgba(220,38,38,0.1); color: #dc2626; }
[data-theme="light"] .iq-badge-prereg { background: rgba(147,51,234,0.1); color: #7c3aed; }
[data-theme="light"] .iq-badge-converted { background: rgba(22,163,74,0.1); color: #16a34a; }
[data-theme="light"] .iq-badge-dismissed { background: rgba(100,116,139,0.1); color: #64748b; }
[data-theme="light"] .iq-badge-closed { background: rgba(100,116,139,0.1); color: #64748b; }

[data-theme="light"] .iq-card {
  background: #fff; border-color: #e2e8f0;
}
[data-theme="light"] .iq-card:hover { border-color: #3b82f6; }
[data-theme="light"] .iq-card-name { color: #1e293b; }
[data-theme="light"] .iq-card-detail { color: #64748b; }
[data-theme="light"] .iq-card-footer { color: #64748b; }

[data-theme="light"] .iq-empty { color: #64748b; }
[data-theme="light"] .iq-spinner {
  border-color: #e2e8f0; border-top-color: #3b82f6;
}

[data-theme="light"] .iq-drawer-overlay {
  background: rgba(0,0,0,0.25);
}
[data-theme="light"] .iq-drawer {
  background: #ffffff;
  border-left-color: #e2e8f0;
  box-shadow: -4px 0 24px rgba(0,0,0,0.1);
}
[data-theme="light"] .iq-drawer-header {
  border-bottom-color: #e2e8f0;
}
[data-theme="light"] .iq-drawer-title { color: #1e293b; }
[data-theme="light"] .iq-drawer-close { color: #94a3b8; }
[data-theme="light"] .iq-drawer-close:hover { color: #1e293b; }
[data-theme="light"] .iq-drawer-footer {
  border-top-color: #e2e8f0;
}

[data-theme="light"] .iq-section-label { color: #64748b; }
[data-theme="light"] .iq-detail-label { color: #64748b; }
[data-theme="light"] .iq-detail-value { color: #1e293b; }

[data-theme="light"] .iq-banner-warn {
  background: rgba(245,158,11,0.08); color: #d97706;
  border-color: rgba(245,158,11,0.2);
}

[data-theme="light"] .iq-change-btn { color: #3b82f6; }

[data-theme="light"] .iq-class-strip {
  background: #f8fafc; border-color: #e2e8f0;
}
[data-theme="light"] .iq-class-label { color: #64748b; }
[data-theme="light"] .iq-class-value { color: #1e293b; }

[data-theme="light"] .iq-field label { color: #64748b; }
[data-theme="light"] .iq-field select {
  background: #fff; color: #1e293b; border-color: #e2e8f0;
}

[data-theme="light"] .iq-btn-primary { background: #3b82f6; color: #fff; }
[data-theme="light"] .iq-btn-ghost {
  color: #64748b; border-color: #e2e8f0;
}
[data-theme="light"] .iq-btn-ghost:hover { border-color: #94a3b8; }

[data-theme="light"] .iq-review-btn { background: #3b82f6; color: #fff; }

/* --- Pill badge for intake queue drawer & client declaration --- */
.iq-badge-pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 12px;
  text-transform: capitalize;
  background: var(--dm-bg-info, rgba(59,130,246,0.08));
  color: var(--dm-text-primary, #f3f4f6);
  border: 1px solid var(--dm-border-info, rgba(59,130,246,0.2));
}

/* --- Client Declaration section styling --- */
.cd-fw-client-decl {
  border: 1px solid var(--dm-border-info, rgba(59,130,246,0.15));
  border-radius: 8px;
  padding: 12px 14px;
  background: var(--dm-bg-info, rgba(59,130,246,0.03));
  margin-bottom: 12px;
}

/* Light theme overrides for pill badges and client declaration */
html[data-theme="light"] .iq-badge-pill {
  background: rgba(59,130,246,0.08);
  color: #1e293b;
  border-color: rgba(59,130,246,0.25);
}
html[data-theme="light"] .cd-fw-client-decl {
  border-color: rgba(59,130,246,0.2);
  background: rgba(59,130,246,0.04);
}

/* ===== Phase 1c: Stripe Payment Styles ===== */

/* Payment status badge */
.compliance-badge-pending_payment {
  background: rgba(245, 158, 11, 0.12);
  color: #f59e0b;
  border: 1px solid rgba(245, 158, 11, 0.25);
}

/* Payment card in case detail */
.pmt-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 13px;
  margin-bottom: 12px;
}
.pmt-card-icon { flex-shrink: 0; display: flex; align-items: center; }
.pmt-card-icon svg { width: 16px; height: 16px; }
.pmt-card-text { flex: 1; }
.pmt-card-action { margin-left: auto; cursor: pointer; font-size: 12px; font-weight: 500; text-decoration: underline; }
.pmt-card-amber { background: rgba(245, 158, 11, 0.08); border: 1px solid rgba(245, 158, 11, 0.2); color: #fbbf24; }
.pmt-card-amber .pmt-card-action { color: #fbbf24; }
.pmt-card-green { background: rgba(16, 185, 129, 0.08); border: 1px solid rgba(16, 185, 129, 0.2); color: #10b981; }
.pmt-card-blue { background: rgba(59, 130, 246, 0.08); border: 1px solid rgba(59, 130, 246, 0.2); color: #3b82f6; }
.pmt-card-red { background: rgba(239, 68, 68, 0.08); border: 1px solid rgba(239, 68, 68, 0.2); color: #ef4444; }
.pmt-card-red .pmt-card-action { color: #ef4444; }

/* Fee preview modal */
.fp-section { margin-bottom: 16px; }
.fp-label { font-size: 12px; color: var(--text-muted, #9ca3af); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 500; }
.fp-client-name { font-size: 15px; font-weight: 600; color: var(--text-primary, #e5e7eb); }
.fp-client-email { font-size: 13px; color: var(--text-secondary, #9ca3af); }
.fp-toggle { display: flex; gap: 8px; }
.fp-toggle-opt {
  display: flex; align-items: center; gap: 6px; cursor: pointer;
  padding: 10px 14px; border: 1px solid var(--border-subtle, #374151);
  border-radius: 8px; font-size: 13px; color: var(--text-primary, #e5e7eb);
  transition: all 0.15s;
}
.fp-toggle-opt:hover { border-color: rgba(14, 138, 126, 0.3); }
.fp-toggle-active { background: rgba(14, 138, 126, 0.1); border-color: rgba(14, 138, 126, 0.4) !important; }
.fp-select {
  width: 100%; padding: 10px 12px;
  border: 1px solid var(--border-subtle, #374151); border-radius: 8px;
  background: var(--bg-elevated, #081220); color: var(--text-primary, #e5e7eb);
  font-size: 13px; font-family: inherit;
}
.fp-info {
  background: rgba(14, 138, 126, 0.06); border: 1px solid rgba(14, 138, 126, 0.15);
  border-radius: 8px; padding: 12px 14px; font-size: 12px;
  color: var(--text-secondary, #9ca3af); line-height: 1.5;
}
.fp-error {
  color: #ef4444; font-size: 13px; padding: 8px 12px;
  background: rgba(239, 68, 68, 0.08); border-radius: 8px; margin-top: 12px;
}

/* Light theme overrides */
[data-theme="light"] .compliance-badge-pending_payment { background: rgba(245, 158, 11, 0.1); color: #d97706; border-color: rgba(245, 158, 11, 0.3); }
[data-theme="light"] .pmt-card-amber { background: rgba(245, 158, 11, 0.06); color: #d97706; border-color: rgba(245, 158, 11, 0.2); }
[data-theme="light"] .pmt-card-amber .pmt-card-action { color: #d97706; }
[data-theme="light"] .pmt-card-green { background: rgba(16, 185, 129, 0.06); color: #059669; border-color: rgba(16, 185, 129, 0.2); }
[data-theme="light"] .pmt-card-blue { background: rgba(59, 130, 246, 0.06); color: #2563eb; border-color: rgba(59, 130, 246, 0.2); }
[data-theme="light"] .pmt-card-red { background: rgba(239, 68, 68, 0.06); color: #dc2626; border-color: rgba(239, 68, 68, 0.2); }
[data-theme="light"] .pmt-card-red .pmt-card-action { color: #dc2626; }
[data-theme="light"] .fp-toggle-opt { border-color: #d1d5db; color: #111827; }
[data-theme="light"] .fp-toggle-opt:hover { border-color: rgba(14, 138, 126, 0.4); }
[data-theme="light"] .fp-toggle-active { background: rgba(14, 138, 126, 0.08); }
[data-theme="light"] .fp-select { background: #fff; border-color: #d1d5db; color: #111827; }
[data-theme="light"] .fp-info { background: rgba(14, 138, 126, 0.04); border-color: rgba(14, 138, 126, 0.12); color: #4b5563; }

/* ===== Phase 1d: Agent-Absorb Styles ===== */
.fp-absorb-label {
  display: flex; align-items: center; gap: 10px; cursor: pointer;
  padding: 10px 14px; border: 1px solid var(--border-subtle, #374151);
  border-radius: 8px; font-size: 13px; color: var(--text-primary, #e5e7eb);
  transition: all 0.15s;
}
.fp-absorb-label:hover { border-color: rgba(14, 138, 126, 0.3); }
.fp-absorb-label input[type="checkbox"] {
  width: 16px; height: 16px; accent-color: #0E8A7E; cursor: pointer; flex-shrink: 0;
}
.fp-absorb-label input[type="checkbox"]:disabled { opacity: 0.4; cursor: not-allowed; }
.fp-absorb-credits {
  font-size: 12px; color: var(--text-muted, #9ca3af); margin-top: 6px; padding-left: 2px;
}
.fp-absorb-warn {
  font-size: 12px; color: #f59e0b; margin-top: 4px; padding-left: 2px;
}
[data-theme="light"] .fp-absorb-label { border-color: #d1d5db; color: #111827; }
[data-theme="light"] .fp-absorb-label:hover { border-color: rgba(14, 138, 126, 0.4); }
[data-theme="light"] .fp-absorb-credits { color: #6b7280; }
[data-theme="light"] .fp-absorb-warn { color: #d97706; }

/* Phase 1e: Create Case & Start Verification accent button */
.iq-btn-accent {
  background: #0E8A7E;
  color: #fff;
  border: 1px solid #0E8A7E;
  font-weight: 600;
  white-space: nowrap;
}
.iq-btn-accent:hover { background: #0b746a; border-color: #0b746a; }

/* Phase C: Request Info button outline variant */
.iq-btn-outline {
  background: transparent; color: #0d9488; border: 1.5px solid #0d9488;
  padding: 8px 18px; border-radius: 6px; font-size: 13px; font-weight: 600;
  cursor: pointer; transition: all 0.15s;
}
.iq-btn-outline:hover { background: rgba(13,148,136,0.08); }
[data-theme="light"] .iq-btn-outline { color: #0d9488; border-color: #0d9488; }
[data-theme="light"] .iq-btn-outline:hover { background: rgba(13,148,136,0.06); }

/* Phase C: Request Info Modal */
.ri-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 10000;
  display: flex; align-items: center; justify-content: center; padding: 16px;
}
.ri-modal {
  background: var(--bg-primary, #1a1a2e); border-radius: 12px; width: 520px;
  max-width: 100%; max-height: 85vh; display: flex; flex-direction: column;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
[data-theme="light"] .ri-modal { background: #fff; box-shadow: 0 20px 60px rgba(0,0,0,0.15); }
.ri-modal-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; border-bottom: 1px solid var(--border-primary, #2a2a4a);
  font-size: 16px; font-weight: 600;
}
[data-theme="light"] .ri-modal-header { border-color: #e5e7eb; }
.ri-modal-close {
  background: none; border: none; font-size: 22px; cursor: pointer;
  color: var(--text-secondary, #8888aa); line-height: 1;
}
.ri-modal-close:hover { color: var(--text-primary, #e0e0ff); }
[data-theme="light"] .ri-modal-close { color: #6b7280; }
[data-theme="light"] .ri-modal-close:hover { color: #1f2937; }
.ri-modal-body {
  padding: 16px 20px; overflow-y: auto; flex: 1;
}
.ri-description { font-size: 13px; color: var(--text-secondary, #8888aa); margin: 0 0 12px; }
[data-theme="light"] .ri-description { color: #6b7280; }
.ri-select-actions { font-size: 12px; margin-bottom: 10px; }
.ri-select-actions a { color: #0d9488; text-decoration: none; }
.ri-select-actions a:hover { text-decoration: underline; }
.ri-field-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 6px 16px; margin-bottom: 16px;
}
@media (max-width: 480px) { .ri-field-grid { grid-template-columns: 1fr; } }
.ri-field-label {
  font-size: 13px; display: flex; align-items: center; gap: 6px; padding: 4px 0;
  color: var(--text-primary, #e0e0ff); cursor: pointer;
}
[data-theme="light"] .ri-field-label { color: #1f2937; }
.ri-field-label input[type="checkbox"] { accent-color: #0d9488; margin: 0; }
.ri-empty-tag {
  font-size: 10px; background: rgba(245,158,11,0.15); color: #f59e0b;
  padding: 1px 6px; border-radius: 3px; font-weight: 600;
}
[data-theme="light"] .ri-empty-tag { background: rgba(245,158,11,0.1); color: #d97706; }
.ri-section { margin-bottom: 14px; }
.ri-section-label { font-size: 13px; font-weight: 600; display: block; margin-bottom: 6px; }
.ri-char-count { font-weight: 400; color: var(--text-secondary, #8888aa); }
.ri-channel-options { display: flex; gap: 16px; }
.ri-radio-label {
  font-size: 13px; display: flex; align-items: center; gap: 6px; cursor: pointer;
}
.ri-radio-label input[type="radio"] { accent-color: #0d9488; margin: 0; }
.ri-note-input {
  width: 100%; padding: 8px 12px; border-radius: 6px; font-size: 13px;
  border: 1px solid var(--border-primary, #2a2a4a);
  background: var(--bg-secondary, #16162b); color: var(--text-primary, #e0e0ff);
}
[data-theme="light"] .ri-note-input {
  border-color: #d1d5db; background: #f9fafb; color: #1f2937;
}
.ri-note-input:focus { outline: none; border-color: #0d9488; }
.ri-modal-footer {
  display: flex; justify-content: flex-end; gap: 10px; padding: 14px 20px;
  border-top: 1px solid var(--border-primary, #2a2a4a);
}
[data-theme="light"] .ri-modal-footer { border-color: #e5e7eb; }
@media (max-width: 480px) {
  .ri-modal-footer { flex-direction: column; }
  .ri-modal-footer .iq-btn { width: 100%; text-align: center; }
}

/* Item 3: Dismiss + Recovery button styles */
.iq-btn-danger-ghost {
  background: transparent; color: #ef4444; border: 1.5px solid rgba(239,68,68,0.4);
  padding: 8px 18px; border-radius: 6px; font-size: 13px; font-weight: 600;
  cursor: pointer; transition: all 0.15s; margin-left: auto;
}
.iq-btn-danger-ghost:hover { background: rgba(239,68,68,0.08); border-color: rgba(239,68,68,0.3); }
[data-theme="light"] .iq-btn-danger-ghost { color: #dc2626; }
[data-theme="light"] .iq-btn-danger-ghost:hover { background: rgba(220,38,38,0.06); border-color: rgba(220,38,38,0.2); }
.iq-btn-danger {
  background: #ef4444; color: #fff; border: 1.5px solid #ef4444;
  padding: 8px 18px; border-radius: 6px; font-size: 13px; font-weight: 600;
  cursor: pointer; transition: all 0.15s;
}
.iq-btn-danger:hover { background: #dc2626; border-color: #dc2626; }
.iq-btn-danger:disabled { opacity: 0.5; cursor: not-allowed; }


.iq-btn-accent.iq-btn-disabled { opacity: 0.5; cursor: not-allowed; }
@media (prefers-color-scheme: light) {
  .iq-btn-accent { background: #0E8A7E; color: #fff; border-color: #0E8A7E; }
  .iq-btn-accent:hover { background: #0b746a; border-color: #0b746a; }
}

/* Phase 1e: Responsive drawer footer for mobile/tablet */
@media (max-width: 600px) {
  .iq-footer-primary,
  .iq-footer-secondary {
    flex-direction: column;
  }
  .iq-footer-primary .iq-btn,
  .iq-footer-secondary .iq-btn {
    width: 100%;
    text-align: center;
  }
}

/* Phase A: Party Edit button + modal */
.cd-party-edit-btn {
  display: inline-flex; align-items: center; gap: 4px;
  background: transparent; border: 1px solid var(--dm-border, #2d3748);
  color: var(--dm-text-secondary, #8b95a5); border-radius: 4px;
  padding: 4px 10px; font-size: 12px; cursor: pointer; margin-right: 8px;
}
.cd-party-edit-btn:hover { color: var(--dm-text-primary, #e2e8f0); border-color: var(--dm-text-secondary, #8b95a5); }
.cd-party-edit-btn svg { width: 14px; height: 14px; }
.pe-fields { display: flex; flex-direction: column; gap: 12px; }
.pe-field { display: flex; flex-direction: column; gap: 4px; }
.pe-label { font-size: 12px; color: var(--dm-text-secondary, #8b95a5); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
.pe-input {
  padding: 8px 12px; border: 1px solid var(--dm-border, #2d3748);
  border-radius: 6px; background: var(--dm-bg-secondary, #1a2332);
  color: var(--dm-text-primary, #e2e8f0); font-size: 14px;
}
.pe-input:focus { outline: none; border-color: #0E8A7E; }
@media (prefers-color-scheme: light) {
  .cd-party-edit-btn { border-color: #d1d5db; color: #6b7280; }
  .cd-party-edit-btn:hover { color: #374151; border-color: #9ca3af; }
  .pe-input { background: #fff; border-color: #d1d5db; color: #111827; }
  .pe-label { color: #6b7280; }
}

/* =====================================================================
   CASE DETAIL + CASE LIST — MOBILE RESPONSIVE (Item 4 Phase B)
   ===================================================================== */

@media (max-width: 768px) {
  /* --- Case Detail Container --- */
  .cd-container { padding: 16px 14px; }

  /* Header: wrap and shrink */
  .cd-header { flex-wrap: wrap; gap: 10px; }
  .cd-entity-name { max-width: 100%; font-size: 17px; }
  .cd-title-row { gap: 6px; }
  .cd-meta { gap: 8px; font-size: 11px; }
  .cd-officer-section div:last-child { display: none; }
  .cd-glossary-btn { display: none; }

  /* Matter bar: stack */
  .cd-matter-bar { flex-direction: column; align-items: flex-start; gap: 6px; padding: 10px 12px; }

  /* KPI strip: 2-col grid */
  .cd-kpi-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .cd-kpi-card { min-width: 0; }

  /* Stepper: horizontal scroll */
  .cd-stepper { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 12px; }
  .cd-stepper-label { font-size: 9px; }

  /* Drawers: full width */
  .cd-drawer-panel { width: 100% !important; max-width: none; }

  /* Tabs: scrollable, hidden scrollbar */
  .cd-tabs { scrollbar-width: none; }
  .cd-tabs::-webkit-scrollbar { display: none; }

  /* Manifest layout: stack Quick Actions below party tree */
  .cd-manifest-layout { flex-direction: column; }
  .cd-quick-panel { width: 100%; }

  /* Funds & Wealth grid */
  .cd-fw-layout { grid-template-columns: 1fr; gap: 16px; }

  /* --- Case List Table: horizontal scroll --- */
  .compliance-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .compliance-table { min-width: 700px; }
  .ops-table { min-width: 700px; }

  /* --- Top bar: ECDD dashboard banner wraps --- */
  .cd-title-section { min-width: 0; }
}

@media (max-width: 480px) {
  .cd-container { padding: 12px 10px; }
  .cd-entity-name { font-size: 15px; }
  .cd-kpi-strip { grid-template-columns: 1fr; }
  .cd-kpi-card { padding: 10px 12px; }
  .cd-kpi-num { font-size: 18px; }
  .cd-stepper-circle { width: 22px; height: 22px; font-size: 9px; }
  .cd-stepper-line { min-width: 10px; }
  .cd-quick-panel { padding: 12px; }
  .cd-qa-btn { font-size: 11px; padding: 7px 8px; }
}

/* =====================================================================
   GOVERNANCE DASHBOARD — MOBILE RESPONSIVE (Item 4 Phase B cont.)
   ===================================================================== */
@media (max-width: 768px) {
  /* Governance top bar: stack title + controls */
  #page-compliance > div > div[style*="display:flex"][style*="justify-content:space-between"] {
    flex-direction: column !important;
    gap: 12px !important;
  }
  /* 4-col grids → 2-col */
  #page-compliance div[style*="grid-template-columns:repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* 2-col grids → 1-col */
  #page-compliance div[style*="grid-template-columns:repeat(2"] {
    grid-template-columns: 1fr !important;
  }
  /* Export buttons wrap */
  #page-compliance div[style*="display:flex"][style*="gap:8px"][style*="flex-shrink:0"] {
    flex-wrap: wrap !important;
  }
}
@media (max-width: 480px) {
  #page-compliance div[style*="grid-template-columns:repeat(4"] {
    grid-template-columns: 1fr !important;
  }
}

/* =====================================================================
   CASE LIST + CONTROLS — MOBILE (Item 4 Phase B)
   ===================================================================== */
@media (max-width: 768px) {
  /* Hide everything except Status(3) and Entity(4) */
  .ops-table th:nth-child(1), .ops-table td:nth-child(1),
  .ops-table th:nth-child(2), .ops-table td:nth-child(2),
  .ops-table th:nth-child(5), .ops-table td:nth-child(5),
  .ops-table th:nth-child(6), .ops-table td:nth-child(6),
  .ops-table th:nth-child(7), .ops-table td:nth-child(7),
  .ops-table th:nth-child(8), .ops-table td:nth-child(8),
  .ops-table th:nth-child(9), .ops-table td:nth-child(9),
  .ops-table th:nth-child(10), .ops-table td:nth-child(10),
  .ops-table th:nth-child(11), .ops-table td:nth-child(11) {
    display: none;
  }
  .ops-table { min-width: 0; }
  .compliance-table { min-width: 0; }
  .ops-table-wrap { overflow-x: hidden; }
  .ops-entity-name { white-space: normal; font-size: 13px; }
  .ops-table td, .ops-table th { padding: 6px 8px; }

  /* Status badge: compact */
  .ops-table td:nth-child(3) .compliance-badge { font-size: 10px; padding: 2px 6px; }

  /* Filter tabs: horizontal scroll */
  .compliance-filter-tabs, .compliance-status-tabs {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; flex-wrap: nowrap;
  }
  .compliance-filter-tabs::-webkit-scrollbar,
  .compliance-status-tabs::-webkit-scrollbar { display: none; }

  /* Search + filters row: stack */
  .compliance-controls, .compliance-toolbar {
    flex-direction: column !important; gap: 8px !important;
  }

  /* ECDD banner: compact */
  .ecdd-banner, .ecdd-dashboard-banner {
    font-size: 12px; padding: 10px 12px;
  }

  /* Header bar buttons: wrap */
  .compliance-header-actions, #page-compliance > div > div:first-child {
    flex-wrap: wrap !important; gap: 8px !important;
  }

  /* "Group by Property" + "New Case" buttons: smaller */
  .compliance-btn { font-size: 12px; padding: 6px 12px; }
}

/* ═══════════════════════════════════════════════════════════════
   COMPLIANCE DASHBOARD — Phase 2C
   ═══════════════════════════════════════════════════════════════ */
body.cdash-active .header-row { display:none !important; }

.cdash-container { padding:0 32px 28px; }

/* Toolbar (Option A) */
.cdash-toolbar { display:flex; align-items:center; justify-content:space-between; padding:14px 32px; margin:0 -32px 20px; border-bottom:1px solid var(--border-subtle,rgba(255,255,255,0.06)); }
.cdash-toolbar-left { display:flex; align-items:center; gap:6px; color:#12BFB0; }
.cdash-toolbar-left svg { color:#12BFB0; }
.cdash-toolbar-brand { font-size:13px; font-weight:800; letter-spacing:1.5px; color:var(--text-main,#f3f4f6); }
.cdash-toolbar-right { display:flex; align-items:center; gap:12px; }
.cdash-toolbar-pill { display:flex; align-items:center; gap:6px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); border-radius:8px; padding:5px 12px; font-size:11px; color:var(--text-softer,#9ca3af); }
.cdash-toolbar-dot { width:6px; height:6px; border-radius:50%; background:#4ade80; }
.cdash-toolbar-btn { background:none; border:1px solid var(--border-subtle,rgba(255,255,255,0.1)); color:var(--text-softer,#9ca3af); padding:5px 12px; border-radius:6px; font-size:11px; cursor:pointer; transition:all 0.15s; }
.cdash-toolbar-btn:hover { border-color:var(--accent,#12BFB0); color:var(--text-main,#e5e7eb); }
.cdash-toolbar-logout { color:#f87171; border-color:rgba(248,113,113,0.2); }
.cdash-toolbar-logout:hover { border-color:#f87171; background:rgba(248,113,113,0.06); }
.cdash-toolbar-user { display:flex; align-items:center; gap:8px; }
.cdash-toolbar-name { font-size:12px; color:var(--text-soft,#d1d5db); }
.cdash-avatar { width:30px; height:30px; border-radius:50%; background:rgba(18,191,176,0.12); color:#12BFB0; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; flex-shrink:0; }

/* Greeting */
.cdash-greeting-row { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:24px; }
.cdash-greeting { font-size:26px; font-weight:800; color:var(--text-main,#f3f4f6); margin:0; }
.cdash-greeting-sub { font-size:12px; color:var(--text-softer,#6b7280); display:block; margin-top:2px; }
.cdash-countdown { text-align:right; }
.cdash-countdown-label { font-size:11px; color:var(--text-softer,#9ca3af); margin-bottom:2px; }
.cdash-countdown-num { font-size:32px; font-weight:800; line-height:1; }
.cdash-countdown-unit { font-size:14px; font-weight:600; opacity:0.7; }
.cdash-countdown-date { font-size:11px; color:var(--text-softer,#6b7280); margin-top:2px; }
.cdash-stale-banner { font-size:11px; color:#f59e0b; background:rgba(245,158,11,0.08); padding:6px 14px; border-radius:6px; margin-bottom:16px; }

/* KPI */
.cdash-kpi-strip { display:flex; gap:14px; margin-bottom:28px; flex-wrap:wrap; }
.cdash-kpi { flex:1 1 0; min-width:150px; padding:18px 20px; border-radius:12px; background:var(--bg-card,rgba(255,255,255,0.04)); border:1px solid var(--border-subtle,#2a2f3a); }
.cdash-kpi-label { font-size:10px; font-weight:700; color:var(--text-softer,#9ca3af); letter-spacing:1px; margin-bottom:6px; }
.cdash-kpi-value { font-size:32px; font-weight:800; line-height:1; }
.cdash-kpi-suffix { font-size:18px; font-weight:700; opacity:0.7; }
.cdash-kpi-sub { font-size:11px; font-weight:500; margin-top:6px; }

/* Grid */
.cdash-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:20px; }
.cdash-left,.cdash-right { display:flex; flex-direction:column; gap:16px; }

/* Section */
.cdash-section { background:var(--bg-card,rgba(255,255,255,0.04)); border:1px solid var(--border-subtle,#2a2f3a); border-radius:12px; padding:18px 20px; }
.cdash-section-urgent { border-color:rgba(239,68,68,0.2); }
.cdash-section-hdr { display:flex; align-items:center; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.cdash-section-title { font-size:11px; font-weight:800; color:var(--text-softer,#9ca3af); letter-spacing:1px; }
.cdash-title-red { color:#ef4444; }
.cdash-section-count { font-size:11px; color:var(--text-softer,#6b7280); }
.cdash-section-link { font-size:11px; color:var(--text-softer,#6b7280); cursor:pointer; margin-left:auto; }
.cdash-section-link:hover { color:var(--accent,#38bdf8); text-decoration:underline; }
.cdash-empty { font-size:12px; color:var(--text-softer,#6b7280); padding:8px 0; display:flex; align-items:center; gap:6px; }
.cdash-empty svg { width:14px; height:14px; color:#4ade80; }
.cdash-badge-red { font-size:11px; font-weight:700; color:#ef4444; background:rgba(239,68,68,0.12); padding:1px 8px; border-radius:10px; }
.cdash-pulse { width:8px; height:8px; border-radius:50%; background:#ef4444; animation:cdash-p 2s ease-in-out infinite; flex-shrink:0; }
@keyframes cdash-p { 0%,100%{opacity:1} 50%{opacity:.3} }

/* Urgent */
.cdash-urgent-item { display:flex; align-items:flex-start; gap:12px; padding:12px 14px; border-radius:8px; margin-bottom:4px; cursor:pointer; transition:background 0.15s; }
.cdash-urgent-item:hover { background:rgba(255,255,255,0.03); }
.cdash-urgent-icon { flex-shrink:0; margin-top:2px; } .cdash-urgent-icon svg { width:18px; height:18px; }
.cdash-urgent-body { flex:1; min-width:0; }
.cdash-urgent-title { font-size:13px; font-weight:600; color:var(--text-main,#e5e7eb); }
.cdash-urgent-sub { font-size:11px; color:var(--text-softer,#9ca3af); margin-top:1px; }
.cdash-urgent-time { font-size:11px; font-weight:600; white-space:nowrap; flex-shrink:0; margin-top:2px; }

/* Pipeline */
.cdash-pipe-bar { display:flex; height:12px; border-radius:6px; overflow:hidden; margin-bottom:14px; }
.cdash-pipe-seg { min-width:3px; transition:width 0.4s ease; }
.cdash-pipe-pills { display:flex; flex-wrap:wrap; gap:8px; }
.cdash-pipe-pill { display:flex; align-items:center; gap:6px; padding:8px 14px; border-radius:8px; background:var(--bg-card,rgba(255,255,255,0.02)); border:1px solid var(--border-subtle,#2a2f3a); min-width:80px; }
.cdash-pipe-pill-hl { border-width:1px; }
.cdash-pipe-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.cdash-pipe-cnt { font-size:18px; font-weight:800; color:var(--text-main,#e5e7eb); }
.cdash-pipe-lbl { font-size:10px; color:var(--text-softer,#9ca3af); line-height:1.2; }
.cdash-pipe-controls { display:flex; align-items:center; gap:10px; margin-left:auto; }
.cdash-pipe-scope { background:var(--bg-card,rgba(255,255,255,0.05)); border:1px solid var(--border-subtle,#2a2f3a); color:var(--text-softer,#9ca3af); border-radius:4px; font-size:11px; padding:2px 6px; cursor:pointer; }

/* Quick actions */
.cdash-qa-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.cdash-qa-tile { display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:8px; background:var(--bg-card,rgba(255,255,255,0.03)); border:1px solid var(--border-subtle,#2a2f3a); cursor:pointer; transition:all 0.15s; text-align:left; }
.cdash-qa-tile:hover { border-color:var(--accent,#12BFB0); background:rgba(18,191,176,0.04); }
.cdash-qa-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; background:rgba(255,255,255,0.05); }
.cdash-qa-icon svg { width:16px; height:16px; }
.cdash-qa-text { min-width:0; } .cdash-qa-label { font-size:12px; font-weight:600; color:var(--text-main,#e5e7eb); }
.cdash-qa-desc { font-size:10px; color:var(--text-softer,#6b7280); margin-top:1px; }

/* Health */
.cdash-health-list { display:flex; flex-direction:column; gap:2px; }
.cdash-health-row { display:flex; align-items:center; justify-content:space-between; padding:6px 0; border-bottom:1px solid var(--border-subtle,rgba(255,255,255,0.04)); }
.cdash-health-row:last-child { border-bottom:none; }
.cdash-health-label { font-size:12px; color:var(--text-soft,#d1d5db); }
.cdash-health-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.cdash-health-prog { display:flex; justify-content:space-between; align-items:center; margin-top:12px; padding-top:10px; border-top:1px solid var(--border-subtle,#2a2f3a); }
.cdash-health-prog-label { font-size:11px; color:var(--text-softer,#6b7280); }
.cdash-health-prog-val { font-size:11px; font-weight:600; color:var(--text-main,#e5e7eb); }
.cdash-health-draft { font-size:11px; color:#f59e0b; font-style:italic; margin-top:4px; }

/* Deadlines */
.cdash-dl-row { display:flex; align-items:center; gap:14px; padding:8px 0; border-bottom:1px solid var(--border-subtle,rgba(255,255,255,0.04)); }
.cdash-dl-row:last-child { border-bottom:none; }
.cdash-dl-cal { width:44px; height:48px; border-radius:8px; border:1px solid var(--border-subtle,#2a2f3a); display:flex; flex-direction:column; align-items:center; justify-content:center; flex-shrink:0; border-top-width:3px; }
.cdash-dl-mon { font-size:9px; font-weight:700; color:var(--text-softer,#9ca3af); text-transform:uppercase; letter-spacing:.5px; }
.cdash-dl-day { font-size:18px; font-weight:800; color:var(--text-main,#e5e7eb); line-height:1; }
.cdash-dl-body { flex:1; min-width:0; } .cdash-dl-event { font-size:12px; font-weight:500; color:var(--text-main,#e5e7eb); }
.cdash-dl-days { font-size:11px; font-weight:600; margin-top:2px; }

/* Activity */
.cdash-act-row { display:flex; align-items:flex-start; gap:10px; padding:8px 0; border-bottom:1px solid var(--border-subtle,rgba(255,255,255,0.04)); cursor:pointer; transition:background 0.15s; border-radius:4px; }
.cdash-act-row:last-child { border-bottom:none; }
.cdash-act-row:hover { background:rgba(255,255,255,0.02); }
.cdash-act-icon { flex-shrink:0; color:var(--text-softer,#6b7280); margin-top:2px; } .cdash-act-icon svg { width:14px; height:14px; }
.cdash-act-body { flex:1; min-width:0; } .cdash-act-label { font-size:12px; font-weight:500; color:var(--text-main,#e5e7eb); }
.cdash-act-detail { font-size:11px; color:var(--text-softer,#9ca3af); }
.cdash-act-time { font-size:11px; color:var(--text-softer,#6b7280); white-space:nowrap; margin-top:2px; }

/* Rex */
.cdash-rex-row { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--text-soft,#d1d5db); flex-wrap:wrap; }
.cdash-rex-cta { margin-left:auto; font-size:11px; font-weight:600; color:#12BFB0; background:none; border:1px solid rgba(18,191,176,0.3); padding:4px 12px; border-radius:6px; cursor:pointer; }
.cdash-rex-cta:hover { background:rgba(18,191,176,0.08); }

/* Error */
.cdash-error { display:flex; align-items:center; gap:8px; padding:60px 0; justify-content:center; color:#f59e0b; font-size:13px; }
.cdash-error svg { width:18px; height:18px; }
.cdash-retry-btn { background:none; border:1px solid #f59e0b; color:#f59e0b; padding:4px 14px; border-radius:6px; cursor:pointer; font-size:12px; }

/* Skeleton */
.cdash-skel { background:var(--border-subtle,#2a2f3a); border-radius:4px; animation:cdash-sk 1.5s ease-in-out infinite; }
.cdash-skel-lg { height:32px; width:60px; margin-bottom:4px; }
.cdash-skel-sm { height:10px; width:80px; margin-bottom:6px; }
.cdash-skel-md { height:14px; width:120px; margin-bottom:10px; }
.cdash-skel-block { height:60px; width:100%; }
.cdash-skel-bar { height:12px; width:100%; border-radius:6px; }
@keyframes cdash-sk { 0%,100%{opacity:.4} 50%{opacity:.8} }

/* Responsive */
@media(max-width:900px) { .cdash-grid{grid-template-columns:1fr} .cdash-qa-grid{grid-template-columns:repeat(2,1fr)} .cdash-kpi{min-width:100px;padding:14px 16px} .cdash-kpi-value{font-size:24px} .cdash-greeting{font-size:20px} .cdash-countdown-num{font-size:24px} .cdash-toolbar{flex-wrap:wrap;gap:8px} }

/* Light theme */
:root[data-theme="light"] .cdash-kpi,:root[data-theme="light"] .cdash-section{background:var(--bg-card,#fff);border-color:var(--border-subtle,#e5e7eb)}
:root[data-theme="light"] .cdash-qa-tile,:root[data-theme="light"] .cdash-pipe-pill{background:var(--bg-card,#fff);border-color:var(--border-subtle,#e5e7eb)}
:root[data-theme="light"] .cdash-dl-cal{border-color:var(--border-subtle,#e5e7eb)}
:root[data-theme="light"] .cdash-urgent-item:hover,:root[data-theme="light"] .cdash-act-row:hover{background:rgba(0,0,0,0.02)}
:root[data-theme="light"] .cdash-skel{background:var(--border-subtle,#e5e7eb)}
:root[data-theme="light"] .cdash-qa-icon{background:rgba(0,0,0,0.04)}
:root[data-theme="light"] .cdash-toolbar{border-color:var(--border-subtle,#e5e7eb)}
:root[data-theme="light"] .cdash-toolbar-pill{background:rgba(0,0,0,0.04);border-color:var(--border-subtle,#e5e7eb)}
:root[data-theme="light"] .cdash-pipe-scope{background:#fff;border-color:var(--border-subtle,#e5e7eb);color:#374151}
:root[data-theme="light"] .cdash-avatar{background:rgba(18,191,176,0.08)}

/* ─── Standardised compliance page heading (toolbar header uplift) ─── */
.comp-page-heading { display:flex; align-items:center; gap:12px; padding:4px 0 16px; }
.comp-heading-shield { display:inline-flex; color:#12BFB0; flex-shrink:0; }
.comp-page-heading-title { font-size:18px; font-weight:700; color:var(--text-primary,#f3f4f6); }
.comp-page-heading-sub { font-size:13px; color:var(--text-muted,#6b7280); margin-top:2px; }
:root[data-theme="light"] .comp-page-heading-title { color:var(--text-primary,#111827); }
:root[data-theme="light"] .comp-page-heading-sub { color:var(--text-muted,#6b7280); }

/* ─── Toolbar page heading (title in toolbar left) ─── */
.comp-toolbar-heading { display:flex; flex-direction:column; }
.comp-toolbar-title { font-size:16px; font-weight:700; color:var(--text-main,#f3f4f6); line-height:1.2; }
.comp-toolbar-sub { font-size:11px; color:var(--text-softer,#9ca3af); margin-top:1px; }
:root[data-theme="light"] .comp-toolbar-title { color:var(--text-primary,#111827); }
:root[data-theme="light"] .comp-toolbar-sub { color:var(--text-muted,#6b7280); }
/* === Sharing Hub === */
.sh-kpi-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:20px; }
.sh-kpi { padding:14px 18px; border-radius:10px; background:var(--bg-elevated,#081220); border:1px solid var(--border-subtle); }
.sh-kpi-label { font-size:11px; font-weight:500; color:var(--text-softer,#6b7280); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:4px; }
.sh-kpi-value { font-size:26px; font-weight:600; line-height:1.1; }
.sh-kpi-sub { font-size:11px; color:var(--text-softer,#6b7280); margin-top:3px; }
:root[data-theme="light"] .sh-kpi { background:var(--bg-elevated,#fff); }
.sh-tabs { display:flex; gap:2px; margin-bottom:20px; border-bottom:1px solid var(--border-subtle); }
.sh-tab { padding:10px 16px; font-size:13px; font-weight:400; color:var(--text-softer); background:transparent; border:none; border-bottom:2px solid transparent; cursor:pointer; font-family:inherit; display:flex; align-items:center; gap:6px; transition:all 0.15s; }
.sh-tab-active { font-weight:600; color:var(--accent,#12BFB0); border-bottom-color:var(--accent,#12BFB0); }
.sh-tab-count { font-size:11px; padding:1px 7px; border-radius:10px; background:rgba(255,255,255,0.04); color:var(--text-softer); font-weight:600; }
.sh-tab-count-active { background:rgba(18,191,176,0.08); color:var(--accent,#12BFB0); }
:root[data-theme="light"] .sh-tab-count { background:rgba(0,0,0,0.04); }
:root[data-theme="light"] .sh-tab-count-active { background:rgba(14,138,126,0.06); }
.sh-section-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.sh-section-title { font-size:15px; font-weight:600; color:var(--text-main,#e5e7eb); }
.sh-section-sub { font-size:12px; color:var(--text-softer,#6b7280); }
:root[data-theme="light"] .sh-section-title { color:var(--text-main,#111827); }
.sh-warning-banner { padding:8px 14px; border-radius:8px; background:rgba(245,158,11,0.06); border:1px solid rgba(245,158,11,0.15); margin-bottom:12px; font-size:12px; color:#f59e0b; }
.sh-table-wrap { border-radius:10px; border:1px solid var(--border-subtle); overflow:auto; }
.sh-table { width:100%; border-collapse:collapse; min-width:700px; }
.sh-table thead { background:rgba(255,255,255,0.02); }
:root[data-theme="light"] .sh-table thead { background:rgba(0,0,0,0.02); }
.sh-table th { padding:10px 12px; font-size:11px; font-weight:600; color:var(--text-softer); text-transform:uppercase; letter-spacing:0.04em; text-align:left; border-bottom:1px solid var(--border-subtle); white-space:nowrap; }
.sh-table td { padding:10px 12px; font-size:13px; color:var(--text-main); border-bottom:1px solid var(--border-subtle); vertical-align:middle; }
.sh-badge { display:inline-flex; align-items:center; padding:3px 10px; border-radius:6px; font-size:11px; font-weight:600; letter-spacing:0.02em; white-space:nowrap; }
.sh-badge-green { background:rgba(34,197,94,0.08); color:#22c55e; border:1px solid rgba(34,197,94,0.15); }
.sh-badge-blue { background:rgba(59,130,246,0.08); color:#3b82f6; border:1px solid rgba(59,130,246,0.15); }
.sh-badge-amber { background:rgba(245,158,11,0.08); color:#f59e0b; border:1px solid rgba(245,158,11,0.15); }
.sh-badge-orange { background:rgba(249,115,22,0.08); color:#f97316; border:1px solid rgba(249,115,22,0.15); }
.sh-badge-red { background:rgba(239,68,68,0.08); color:#ef4444; border:1px solid rgba(239,68,68,0.15); }
.sh-badge-purple { background:rgba(167,139,250,0.08); color:#a78bfa; border:1px solid rgba(167,139,250,0.15); }
.sh-badge-teal { background:rgba(18,191,176,0.08); color:#12BFB0; border:1px solid rgba(18,191,176,0.15); }
.sh-badge-muted { background:rgba(255,255,255,0.04); color:var(--text-softer); border:1px solid rgba(255,255,255,0.06); }
:root[data-theme="light"] .sh-badge-muted { background:rgba(0,0,0,0.03); border-color:rgba(0,0,0,0.06); }
:root[data-theme="light"] .sh-badge-green { color:#16a34a; }
:root[data-theme="light"] .sh-badge-amber { color:#d97706; }
:root[data-theme="light"] .sh-badge-red { color:#dc2626; }
:root[data-theme="light"] .sh-badge-teal { color:#0E8A7E; }
:root[data-theme="light"] .sh-badge-blue { color:#2563eb; }
.sh-empty { padding:40px 20px; text-align:center; color:var(--text-softer); font-size:14px; }
@media(max-width:900px) { .sh-kpi-strip { grid-template-columns:repeat(2,1fr); } }

/* ═══ Share Modal Redesign — Option A ═══ */
.esm-modal{width:720px;background:var(--bg-card,var(--color-background-primary,#fff));border-radius:16px;border:1px solid var(--border-subtle,rgba(255,255,255,0.1));overflow:hidden;font-family:'DM Sans','Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif}
.esm-header{padding:20px 28px 16px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border-subtle,rgba(255,255,255,0.08))}
.esm-shield{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.esm-htext{flex:1;min-width:0}
.esm-title{font-size:17px;font-weight:700;color:var(--text-main,var(--color-text-primary));letter-spacing:-0.2px}
.esm-party{font-size:13px;color:var(--text-softer,var(--color-text-secondary));margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.esm-party strong{font-weight:600;color:#0E8A7E}
.esm-close{margin-left:auto;width:30px;height:30px;border-radius:8px;border:none;background:var(--bg-elevated,var(--color-background-secondary));cursor:pointer;font-size:18px;color:var(--text-softer,var(--color-text-secondary));display:flex;align-items:center;justify-content:center;flex-shrink:0}
.esm-close:hover{background:var(--border-subtle,rgba(255,255,255,0.15))}
.esm-body{padding:20px 28px;max-height:65vh;overflow-y:auto}
.esm-section-label{font-size:11px;font-weight:700;letter-spacing:0.8px;text-transform:uppercase;color:#0E8A7E;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.esm-section-label::after{content:'';flex:1;height:1px;background:var(--border-subtle,rgba(255,255,255,0.08))}
.esm-elems{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:18px}
.esm-elem{padding:5px 11px;border-radius:20px;font-size:11px;font-weight:600;background:rgba(14,138,126,0.08);color:#0E8A7E;border:1px solid rgba(14,138,126,0.18);display:inline-flex;align-items:center;gap:5px}
.esm-elem svg{width:11px;height:11px;flex-shrink:0}
.esm-basis-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.esm-basis-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:10px;border:1.5px solid var(--border-subtle,rgba(255,255,255,0.12));cursor:pointer;transition:all 0.15s;position:relative}
.esm-basis-card:hover{border-color:rgba(14,138,126,0.4)}
.esm-basis-card.esm-basis-selected,.esm-basis-card:has(input:checked){border-color:#0E8A7E;background:rgba(14,138,126,0.05)}
.esm-bc-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-subtle,rgba(255,255,255,0.2));flex-shrink:0;margin-top:2px;transition:all 0.15s;position:relative}
.esm-basis-selected .esm-bc-dot,.esm-basis-card:has(input:checked) .esm-bc-dot{border-color:#0E8A7E;background:#0E8A7E}
.esm-basis-selected .esm-bc-dot::after,.esm-basis-card:has(input:checked) .esm-bc-dot::after{content:'';position:absolute;top:4px;left:4px;width:6px;height:6px;border-radius:50%;background:white}
.esm-bc-title{font-size:14px;font-weight:700;color:var(--text-main,var(--color-text-primary));margin-bottom:2px}
.esm-bc-desc{font-size:12px;color:var(--text-softer,var(--color-text-secondary));line-height:1.4}
.esm-arr-row{padding:12px 14px;border-radius:8px;background:var(--bg-elevated,var(--color-background-secondary));margin-bottom:16px}
.esm-arr-row.hidden{display:none}
.esm-just-row{margin-bottom:18px}
.esm-just-row.hidden{display:none}
.esm-label{display:block;font-size:12px;font-weight:600;color:var(--text-softer,var(--color-text-secondary));margin-bottom:4px;letter-spacing:0.3px}
.esm-select{width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--border-subtle,rgba(255,255,255,0.12));background:var(--bg-card,var(--color-background-primary));font-size:14px;font-family:inherit;color:var(--text-main,var(--color-text-primary))}
.esm-textarea{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border-subtle,rgba(255,255,255,0.12));background:var(--bg-card,var(--color-background-primary));font-size:14px;font-family:inherit;color:var(--text-main,var(--color-text-primary));resize:vertical}
.esm-textarea:focus,.esm-select:focus,.esm-input:focus{outline:none;border-color:#0E8A7E}
.esm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.esm-field{display:flex;flex-direction:column;gap:4px}
.esm-full{grid-column:1/-1}
.esm-input{padding:9px 14px;border-radius:8px;border:1px solid var(--border-subtle,rgba(255,255,255,0.12));background:var(--bg-card,var(--color-background-primary));font-size:14px;font-family:inherit;color:var(--text-main,var(--color-text-primary));transition:border-color 0.15s,opacity 0.15s}
.esm-input:focus{outline:none;border-color:#0E8A7E}
.esm-input.esm-locked{opacity:0.6;cursor:not-allowed;background:var(--bg-elevated,var(--color-background-secondary))}
.esm-notice{padding:12px 16px;border-radius:10px;background:rgba(14,138,126,0.05);border:1px solid rgba(14,138,126,0.12);font-size:12px;color:var(--text-softer,var(--color-text-secondary));line-height:1.5;display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}
.esm-footer{padding:14px 28px;border-top:1px solid var(--border-subtle,rgba(255,255,255,0.08));display:flex;align-items:center;gap:10px}
.esm-expiry{font-size:12px;color:var(--text-softer,var(--color-text-secondary));margin-right:auto;display:flex;align-items:center;gap:6px;opacity:0.7}
.esm-btn-cancel{padding:9px 20px;border-radius:8px;border:1px solid var(--border-subtle,rgba(255,255,255,0.15));background:transparent;font-size:14px;font-weight:600;cursor:pointer;color:var(--text-main,var(--color-text-primary));font-family:inherit}
.esm-btn-cancel:hover{background:var(--bg-elevated,var(--color-background-secondary))}
.esm-btn-submit{padding:10px 24px;border-radius:8px;border:none;background:#0E8A7E;color:white;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:8px;transition:background 0.15s;letter-spacing:0.2px}
.esm-btn-submit:hover{background:#0a7268}
.esm-btn-submit:disabled{opacity:0.6;cursor:not-allowed}
