:root {
  --impact-bg-0: #0b1020;
  --impact-bg-1: #121a2b;
  --impact-surface: #1a2438;
  --impact-accent-primary: #3b82f6;
  --impact-accent-secondary: #14b8a6;
  --impact-accent-warn: #f59e0b;
  --impact-accent-danger: #ef4444;
  --impact-text-primary: #e5e7eb;
  --impact-text-muted: #94a3b8;
  --impact-border: #24324a;

  --impact-font-sans: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --impact-font-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Monaco, Consolas, monospace;

  --impact-text-xs: 12px;
  --impact-text-sm: 14px;
  --impact-text-md: 16px;
  --impact-text-lg: 20px;
  --impact-text-xl: 28px;

  --impact-weight-regular: 400;
  --impact-weight-medium: 500;
  --impact-weight-bold: 700;

  --impact-radius-sm: 8px;
  --impact-radius-md: 12px;
  --impact-radius-lg: 18px;

  --impact-shadow-panel: 0 8px 24px rgba(2, 6, 23, 0.35);
  --impact-shadow-pop: 0 12px 32px rgba(59, 130, 246, 0.22);

  --impact-surface-glass: rgba(26, 36, 56, 0.75);
  --impact-surface-glass-solid: rgba(26, 36, 56, 0.88);

  --impact-gap-sm: 8px;
  --impact-gap-md: 12px;
  --impact-gap-lg: 20px;
}

/* Optional helper classes for incremental migration */
.impact-surface {
  background: var(--impact-surface);
  border: 1px solid var(--impact-border);
  border-radius: var(--impact-radius-md);
  box-shadow: var(--impact-shadow-panel);
  color: var(--impact-text-primary);
}

.impact-kpi-positive {
  border-left: 4px solid var(--impact-accent-secondary);
}

.impact-kpi-warn {
  border-left: 4px solid var(--impact-accent-warn);
}

.impact-kpi-danger {
  border-left: 4px solid var(--impact-accent-danger);
}

.risk-center {
  background: linear-gradient(160deg, rgba(26, 36, 56, 0.92), rgba(11, 16, 32, 0.92));
}

.builder-pipeline {
  border-top: 2px solid var(--impact-accent-primary);
}

.risk-row.risk-red {
  border-left: 4px solid var(--impact-accent-danger);
}

.risk-row.risk-amber {
  border-left: 4px solid var(--impact-accent-warn);
}

.risk-row.risk-green {
  border-left: 4px solid var(--impact-accent-secondary);
}

.heartbeat-freshness {
  border-top: 2px solid var(--impact-accent-secondary);
}

.top-actions {
  background: linear-gradient(150deg, rgba(18, 26, 43, 0.96), rgba(14, 116, 144, 0.18));
}

.top-actions ol li {
  margin-bottom: 6px;
  color: var(--impact-text-primary);
}

.dashboard-header {
  border-bottom: 2px solid var(--impact-accent-primary);
  background: linear-gradient(140deg, rgba(26, 36, 56, 0.96), rgba(59, 130, 246, 0.16));
}

.bizdev-funnel {
  border-top: 2px solid var(--impact-accent-secondary);
  background: linear-gradient(150deg, rgba(18, 26, 43, 0.95), rgba(20, 184, 166, 0.12));
}

.card-surface,
.impact-surface {
  padding: 14px 16px;
}

.card-surface h1,
.card-surface h2,
.card-surface h3,
.impact-surface h1,
.impact-surface h2,
.impact-surface h3 {
  margin: 0 0 10px;
  letter-spacing: 0.01em;
  line-height: 1.25;
}

.card-surface p,
.impact-surface p,
.card-surface li,
.impact-surface li {
  line-height: 1.45;
}


/* interactive filters */
.filter-row select,
.filter-row button,
.filter-row a {
  margin-left: 6px;
  background: rgba(0,0,0,0.25);
  color: var(--impact-text-primary);
  border: 1px solid var(--impact-border);
  border-radius: 8px;
  padding: 4px 8px;
  text-decoration: none;
}

/* backlog table */
.backlog-view { grid-column: span 12; }
.table-wrap { overflow: auto; }
.backlog-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.backlog-table th, .backlog-table td { border-bottom: 1px solid var(--impact-border); padding: 8px; text-align: left; vertical-align: top; }
.backlog-table th { color: var(--impact-text-muted); font-weight: 700; }

/* KPI alignment cleanup */
.kpi-strip { align-items: stretch; }
.kpi-card { min-height: 132px; display: flex; flex-direction: column; }
.kpi-meta { margin-top: auto; }
