:root {
  color-scheme: dark;
  --bg: #0b0e1f;
  --surface: #0b0e1f;
  --panel: #161a2e;
  --panel-2: #1f2438;
  --ink: #f8fafc;
  --muted: #a2a8bd;
  --soft: rgba(248, 250, 252, .72);
  --line: rgba(255,255,255,.06);
  --input: rgba(255,255,255,.10);
  --accent: #6366f1;
  --accent2: #8b5cf6;
  --warn: #f59e0b;
  --bad: #ef4444;
  --good: #10b981;
  --shadow-lg: 0 24px 60px -20px rgba(0,0,0,.55);
  --shadow-brand: 0 10px 30px -10px rgba(99,102,241,.45);
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 18px;
  --radius-2xl: 22px;
  --ease: cubic-bezier(.2,.8,.2,1);
  font-synthesis-weight: none;
}

* { box-sizing: border-box; }

html { background: var(--bg); }

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 78% -12%, rgba(99,102,241,.20), transparent 34rem),
    radial-gradient(circle at 12% 4%, rgba(16,185,129,.08), transparent 30rem),
    var(--bg);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font: inherit; }

button {
  min-height: 40px;
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--ink);
  border-radius: var(--radius-lg);
  padding: 9px 14px;
  cursor: pointer;
  transition: background 160ms var(--ease), border-color 160ms var(--ease), transform 160ms var(--ease), color 160ms var(--ease);
}

button:hover {
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.14);
}

button:active { transform: translateY(1px); }
button:disabled { opacity: .55; cursor: wait; }

#evaluateBtn,
#extractScreeningBtn,
#saveDealBtn,
#generateReportBtn,
#downloadReportBtn,
#llmAnalyzeBtn,
#importDocAnalyzeBtn,
#dataRoomHighAnalysisBtn,
#runCommitteeBtn,
#generateOutputsBtn,
#seedBtn {
  background: var(--accent);
  border-color: rgba(99,102,241,.55);
  color: white;
  box-shadow: var(--shadow-brand);
}

#logoutBtn,
#refreshDashboardBtn,
#refreshPipelineBtn,
#refreshRagBtn,
#searchRagBtn,
#importBtn,
#copyMemoBtn,
#refreshCausalBtn,
#refreshHarnessBtn,
#refreshEvidenceBtn {
  background: transparent;
  color: var(--muted);
}

input, select, textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--input);
  border-radius: var(--radius-lg);
  padding: 10px 14px;
  background: rgba(22,26,46,.92);
  color: var(--ink);
  outline: none;
  transition: border-color 160ms var(--ease), box-shadow 160ms var(--ease), background 160ms var(--ease);
}

input:focus, select:focus, textarea:focus {
  border-color: rgba(99,102,241,.72);
  box-shadow: 0 0 0 3px rgba(99,102,241,.18);
}

textarea { min-height: 110px; resize: vertical; }
label { display: grid; gap: 7px; color: var(--muted); font-size: 13px; line-height: 1.35; }

.checkLabel {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 0;
  color: var(--soft);
}

.checkLabel input {
  width: auto;
  min-height: auto;
}

h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4, .brandLockup, .bigScore, .bigMetric, .metricTile b, .statGrid span {
  font-family: Sora, Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0;
}
h1 { font-size: 24px; margin-bottom: 4px; }
h2 { font-size: 28px; line-height: 1.15; margin-bottom: 8px; }
h3 { font-size: 15px; margin: 18px 0 10px; color: var(--ink); }
h4 { margin: 14px 0 6px; font-size: 13px; color: var(--ink); }
p { color: var(--muted); line-height: 1.6; }
.hidden { display: none !important; }

.authScreen {
  min-height: 100vh;
  background:
    radial-gradient(circle at 75% 7%, rgba(99,102,241,.25), transparent 34rem),
    radial-gradient(circle at 8% 22%, rgba(99,102,241,.10), transparent 32rem),
    var(--surface);
}

.authScreen.modalOnly {
  position: fixed;
  inset: 0;
  z-index: 90;
  min-height: 0;
  background: transparent;
}

.authScreen.modalOnly > :not(.loginModal) {
  display: none;
}

.landingNav,
.landingHero,
.trustStrip > *,
.landingSection,
.landingCta,
.landingFooter {
  width: min(1400px, calc(100% - 64px));
  margin-inline: auto;
}

.landingNav {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}

.landingBrand {
  font-family: Sora, Inter, sans-serif;
  font-weight: 900;
  font-size: clamp(17px, 2vw, 20px);
  letter-spacing: 0;
  white-space: nowrap;
}

.landingBrand span { color: var(--accent); }

.landingLinks {
  display: flex;
  gap: 28px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
}

.landingLinks a,
.outlineCta {
  color: var(--muted);
  text-decoration: none;
  transition: color 160ms var(--ease), background 160ms var(--ease), border-color 160ms var(--ease);
}

.landingLinks a:hover,
.outlineCta:hover {
  color: var(--ink);
}

.landingActions,
.landingCtas {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.ghostLogin {
  background: transparent;
  border-color: transparent;
  color: var(--muted);
  box-shadow: none;
}

.brandLogin {
  background: var(--accent);
  border-color: rgba(99,102,241,.55);
  color: white;
  box-shadow: var(--shadow-brand);
}

.landingHero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1fr);
  gap: 64px;
  align-items: center;
  padding: 84px 0 96px;
}

.landingChip,
.landingEyebrow {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(99,102,241,.25);
  border-radius: 999px;
  background: rgba(99,102,241,.10);
  color: var(--accent);
  padding: 6px 11px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .18em;
}

.landingEyebrow {
  border: 0;
  background: transparent;
  border-radius: 0;
  padding: 0;
}

.landingHero h1 {
  font-size: clamp(52px, 8vw, 92px);
  line-height: .98;
  margin: 24px 0 28px;
}

.landingHero h1 span,
.workspacePreview h2 span {
  color: var(--accent);
}

.landingHero p {
  max-width: 590px;
  font-size: 18px;
  line-height: 1.65;
  margin-bottom: 34px;
}

.lightCta,
.outlineCta {
  min-height: 54px;
  border-radius: var(--radius-xl);
  padding: 15px 26px;
  font-weight: 900;
}

.lightCta {
  background: var(--ink);
  color: var(--bg);
  border-color: var(--ink);
}

.outlineCta {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.12);
}

.trustSignals {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 32px;
  color: var(--muted);
  font-size: 12px;
}

.trustSignals span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background: var(--accent);
  margin-right: 8px;
}

.heroPreview {
  position: relative;
}

.heroPreview::before,
.heroPreview::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: rgba(99,102,241,.22);
  filter: blur(90px);
  z-index: 0;
}

.heroPreview::before { top: -38px; right: -34px; }
.heroPreview::after { left: -48px; bottom: -42px; opacity: .55; }

.heroPreview img {
  position: relative;
  z-index: 1;
  width: 100%;
  display: block;
  border-radius: var(--radius-2xl);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--shadow-lg);
}

.trustStrip {
  border-block: 1px solid var(--line);
  padding: 28px 0;
}

.trustStrip p {
  text-align: center;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .20em;
  font-weight: 800;
  margin-bottom: 20px;
}

.trustStrip div {
  display: flex;
  justify-content: center;
  gap: 42px;
  flex-wrap: wrap;
  opacity: .66;
  font-family: Sora, Inter, sans-serif;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}

.landingSection {
  padding: 84px 0;
}

.capabilityGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 42px;
}

.capabilityCard,
.audienceCard,
.pricingCard,
.miniTerminal {
  border: 1px solid var(--line);
  border-radius: var(--radius-2xl);
  background: rgba(22,26,46,.74);
  padding: 28px;
}

.iconTile {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-lg);
  background: rgba(99,102,241,.10);
  border: 1px solid rgba(99,102,241,.22);
  color: var(--accent);
  margin-bottom: 20px;
}

.sectionIntro {
  max-width: 760px;
  margin-bottom: 48px;
}

.sectionIntro.center {
  text-align: center;
  margin-inline: auto;
}

.sectionIntro h2,
.workspacePreview h2,
.landingCta h2 {
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.08;
  margin: 12px 0;
}

.audienceSection,
.workspacePreview,
.pricingPreview {
  border-top: 1px solid var(--line);
}

.audienceGrid,
.pricingGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.audienceCard span,
.pricingCard span {
  color: var(--accent);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .17em;
  font-weight: 800;
}

.audienceCard h3 {
  font-size: 24px;
  line-height: 1.22;
}

.workspacePreview {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 56px;
  align-items: center;
}

.workspacePreview ul {
  display: grid;
  gap: 12px;
  padding-left: 20px;
}

.miniTerminal {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  min-height: 320px;
  align-content: start;
  box-shadow: var(--shadow-lg);
}

.miniTerminal div {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 16px;
  background: rgba(11,14,31,.58);
}

.miniTerminal span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .17em;
}

.miniTerminal b {
  display: block;
  font-family: Sora, Inter, sans-serif;
  font-size: 28px;
  margin-top: 8px;
}

.miniTerminal p {
  grid-column: 1 / -1;
  border-left: 3px solid var(--accent);
  padding: 18px;
  background: rgba(99,102,241,.08);
  border-radius: var(--radius-lg);
}

.mutedEntity {
  display: inline-block;
  color: rgba(226, 232, 240, .36);
  opacity: .62;
  filter: grayscale(1);
}

.redactedEntity {
  padding: 0 6px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 999px;
  background: rgba(148, 163, 184, .12);
}

.pricingPreview {
  background: rgba(22,26,46,.28);
  width: 100%;
  max-width: none;
  padding-inline: max(32px, calc((100vw - 1400px) / 2));
}

.pricingCard {
  display: grid;
  gap: 12px;
  min-height: 250px;
}

.pricingCard b {
  font-family: Sora, Inter, sans-serif;
  font-size: 42px;
}

.pricingCard.featured {
  border: 2px solid rgba(99,102,241,.42);
  box-shadow: var(--shadow-brand);
  transform: scale(1.03);
}

.landingCta {
  margin-block: 84px;
  padding: 56px;
  text-align: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(22,26,46,.96), rgba(11,14,31,.96));
  box-shadow: var(--shadow-lg);
}

.landingCta p {
  max-width: 640px;
  margin-inline: auto;
}

.legalDisclaimer {
  width: min(1400px, calc(100% - 64px));
  margin: 0 auto 54px;
  padding: 22px 24px;
  border: 1px solid rgba(245,158,11,.25);
  border-radius: var(--radius-2xl);
  background: rgba(245,158,11,.08);
}

.legalDisclaimer h3 {
  margin-top: 0;
  color: #fbbf24;
}

.legalDisclaimer p {
  margin-bottom: 0;
  font-size: 13px;
}

.landingFooter {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 34px 0;
  border-top: 1px solid var(--line);
}

.loginModal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 24px;
}

.loginBackdrop {
  position: absolute;
  inset: 0;
  background: rgba(3,5,18,.74);
  backdrop-filter: blur(10px);
}

.loginPanel {
  position: relative;
  z-index: 1;
  width: min(460px, 100%);
  display: grid;
  gap: 14px;
  background: linear-gradient(180deg, rgba(22,26,46,.98), rgba(22,26,46,.92));
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--radius-2xl);
  padding: 28px;
  box-shadow: var(--shadow-lg);
}

.modalHead,
.loginPanelHead {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: start;
}

.modalHead h2,
.loginPanelHead h2 {
  margin: 6px 0 0;
}

#closeLoginBtn,
#closeRegisterBtn,
#closeMemberProfileBtn {
  width: 38px;
  min-height: 38px;
  padding: 0;
  font-size: 24px;
  background: transparent;
  color: var(--muted);
}

.textButton {
  min-height: auto;
  padding: 0;
  justify-self: start;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--accent);
  box-shadow: none;
  font-weight: 700;
  text-align: left;
}

.textButton:hover {
  background: transparent;
  color: var(--ink);
}

.googleLoginBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(255,255,255,.95);
  color: #111827;
  border-color: rgba(255,255,255,.72);
  box-shadow: none;
}

.googleLoginBtn:hover {
  background: #fff;
  color: #0b1021;
}

.googleLoginBtn span {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  color: #2563eb;
  border: 1px solid rgba(17,24,39,.14);
  font-weight: 900;
}

.oauthDivider {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(162,168,189,.72);
  font-size: 12px;
}

.oauthDivider::before,
.oauthDivider::after {
  content: "";
  height: 1px;
  flex: 1;
  background: rgba(255,255,255,.10);
}

.loginError { color: #fca5a5; min-height: 20px; }
.hint { color: rgba(162,168,189,.78); font-size: 12px; }

.shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 256px minmax(0, 1fr);
  grid-template-rows: 72px auto auto 1fr;
}

.topbar {
  grid-column: 2;
  grid-row: 1;
  min-height: 72px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  padding: 16px 40px;
  background: rgba(11,14,31,.72);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(16px);
  position: sticky;
  top: 0;
  z-index: 12;
}

.topbar p {
  margin: 0;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.topActions, .fundMeta, .controls, .buttonRow, .privacyBar {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.privacyBar {
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid rgba(120, 140, 180, 0.25);
  border-radius: 8px;
}

.privacyBar #redactionInstruction {
  flex: 1 1 280px;
  min-width: 220px;
}

.topActions {
  justify-content: flex-end;
  flex-wrap: nowrap;
}

.topSearch {
  position: relative;
  width: min(290px, 24vw);
  display: flex;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  min-height: 40px;
  background: var(--panel);
  border: 1px solid var(--input);
  border-radius: var(--radius-lg);
  color: var(--muted);
}

.topSearch input {
  min-height: 38px;
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.topSearchResults {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 50;
  width: min(420px, calc(100vw - 24px));
  display: grid;
  gap: 5px;
  padding: 8px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}

.topSearchResults button {
  display: grid;
  gap: 3px;
  min-height: auto;
  padding: 9px 10px;
  text-align: left;
  background: transparent;
  border-color: transparent;
}

.topSearchResults button:hover {
  background: rgba(99,102,241,.10);
  border-color: rgba(99,102,241,.35);
}

.topSearchResults span {
  color: var(--muted);
  font-size: 12px;
}

.avatar {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 12px;
  background: linear-gradient(135deg, var(--accent), rgba(99,102,241,.35));
  color: white;
}

.fundHeader {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin: 24px 40px 0;
  padding: 24px;
  background: linear-gradient(135deg, rgba(99,102,241,.12), rgba(22,26,46,.88) 38%, rgba(22,26,46,.92));
  border: 1px solid var(--line);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-lg);
}

.fundHeader h2 {
  font-size: 34px;
  margin-bottom: 8px;
}

.fundHeader p { margin-bottom: 0; max-width: 760px; }

.appDisclaimer {
  grid-column: 2;
  grid-row: 3;
  margin: 16px 40px 0;
  padding: 12px 16px;
  border: 1px solid rgba(245,158,11,.25);
  border-radius: var(--radius-lg);
  background: rgba(245,158,11,.08);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.appDisclaimer b {
  color: #fbbf24;
}

.fundMeta span, #userBadge, .pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--radius-md);
  padding: 5px 8px;
  color: var(--muted);
  background: rgba(255,255,255,.045);
  font-size: 10px;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 700;
}

#userBadge {
  max-width: 190px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: none;
  letter-spacing: 0;
}

.breadcrumb, .navSection {
  color: var(--accent);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .2em;
}

.breadcrumb { margin-bottom: 10px; }

.grid {
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  display: contents;
}

.panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius-2xl);
  padding: 20px;
  box-shadow: 0 1px 0 rgba(255,255,255,.02) inset;
}

.workspace {
  grid-column: 1;
  grid-row: 1 / -1;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  border-radius: 0;
  border-top: 0;
  border-bottom: 0;
  border-left: 0;
  border-right: 1px solid var(--line);
  background: rgba(11,14,31,.96);
  padding: 24px 12px;
  z-index: 14;
}

.brandLockup {
  padding: 0 12px;
  font-size: 19px;
  font-weight: 800;
}

.brandLockup span { color: var(--accent); }
.brandCaption { padding: 0 12px; font-size: 12px; margin: 6px 0 18px; }

.matterCard {
  border: 1px solid rgba(99,102,241,.22);
  border-radius: var(--radius-xl);
  padding: 14px;
  background: rgba(99,102,241,.08);
  margin: 0 0 12px;
}

.matterCard p { margin-bottom: 0; font-size: 12px; }

.statGrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin: 12px 0 18px;
}

.statGrid div {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 10px;
  background: rgba(255,255,255,.035);
}

.statGrid span { display: block; font-weight: 800; font-size: 22px; }
.statGrid label { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }

.workspaceNav { display: grid; gap: 5px; padding-bottom: 20px; }
.navSection { margin: 18px 12px 7px; color: rgba(162,168,189,.74); }

.workspaceNav button {
  width: 100%;
  text-align: left;
  display: grid;
  gap: 2px;
  min-height: 42px;
  padding: 8px 12px;
  background: transparent;
  color: var(--muted);
  border-color: transparent;
  border-radius: var(--radius-lg);
  box-shadow: none;
}

.workspaceNav button:hover {
  background: rgba(255,255,255,.045);
  color: var(--ink);
}

.workspaceNav button.active {
  background: rgba(99,102,241,.12);
  border-color: rgba(99,102,241,.24);
  color: var(--ink);
}

.workspaceNav span { font-weight: 700; }
.workspaceNav small { color: rgba(162,168,189,.78); font-size: 11px; }

.viewPanel {
  grid-column: 2;
  grid-row: 4;
  margin: 24px 40px 40px;
  min-width: 0;
}

.sectionHeader {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 18px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.sectionHeader p { margin-bottom: 0; }

.formGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 14px;
}

.checkboxLabel {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: var(--soft);
}

.checkboxLabel input { width: auto; min-height: auto; }

.scoreGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 14px;
}

.dashboardGrid, .tierGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.tierGrid { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }

.scoreCard, .factorGroup, .metricTile, .ragResult, .node, .scoreControl {
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  padding: 16px;
  background: rgba(255,255,255,.035);
}

.scoreCard {
  overflow: hidden;
}

.accentCard {
  border-color: rgba(99,102,241,.34);
  background: rgba(99,102,241,.08);
}

.scoreCard h3:first-child,
.factorGroup h3:first-child {
  margin-top: 0;
}

.hubGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}

.hubCard {
  min-height: 112px;
  display: grid;
  align-content: start;
  gap: 8px;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  padding: 17px;
  background: rgba(255,255,255,.035);
  color: var(--ink);
}

.hubCard span {
  font-size: 18px;
  font-weight: 850;
}

.hubCard small {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.hubCard:hover {
  border-color: rgba(99,102,241,.55);
  background: rgba(99,102,241,.08);
  transform: translateY(-1px);
}

.scoreHero {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}

.bigScore, .bigMetric {
  font-size: 44px;
  font-weight: 900;
  color: var(--accent);
}

.bigMetric { font-size: 34px; margin: 8px 0; }

.metricGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}

.metricTile span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.metricTile b { display: block; font-size: 25px; margin-top: 7px; }

.splitGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  margin-top: 14px;
}

.pillRow {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.pill { margin: 3px 4px 3px 0; color: var(--muted); }
.pill.warn { background: rgba(245,158,11,.10); border-color: rgba(245,158,11,.25); color: #fbbf24; }
.pill.bad { background: rgba(239,68,68,.10); border-color: rgba(239,68,68,.25); color: #fca5a5; }

.notice {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 12px;
  margin: 12px 0;
  background: rgba(255,255,255,.035);
}

.badNotice {
  border-color: rgba(239,68,68,.25);
  background: rgba(239,68,68,.08);
  color: #fca5a5;
}

.riskHeatmap, .memoOutput, .actionPlan, .causalModel, .resultPanel {
  display: grid;
  gap: 14px;
}

.riskItem {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 11px 12px;
  color: var(--muted);
  background: rgba(255,255,255,.025);
}

.companySignalList {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 10px;
}

.companySignalBtn {
  display: grid;
  gap: 4px;
  min-height: 86px;
  text-align: left;
  background: rgba(255,255,255,.035);
  color: var(--ink);
  border: 1px solid var(--line);
}

.companySignalBtn:hover { border-color: rgba(99,102,241,.55); }

.companySignalBtn span,
.companySignalBtn small,
.ragResult span,
.ragResult small,
.node small {
  color: var(--muted);
  font-size: 12px;
}

.comboLabel { position: relative; }

.comboChoices {
  position: absolute;
  z-index: 30;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 260px;
  overflow: auto;
  display: grid;
  gap: 4px;
  padding: 6px;
  background: #101426;
  border: 1px solid var(--input);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}

.comboChoices button {
  display: grid;
  gap: 3px;
  padding: 8px;
  min-height: auto;
  text-align: left;
  background: transparent;
  color: var(--ink);
  border-color: transparent;
}

.comboChoices button:hover {
  border-color: rgba(99,102,241,.45);
  background: rgba(99,102,241,.10);
}

.comboChoices span, .comboEmpty { color: var(--muted); font-size: 12px; }
.comboEmpty { padding: 8px; }

.factorGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 14px;
}

.factorGroupHead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.factorGroupHead h3 { margin: 0; }
.factorGroupHead span, .factorControl output, .scoreControl output { color: var(--accent); font-weight: 900; }
.factorGroup p { font-size: 12px; margin: 8px 0 12px; }

.factorControl {
  display: grid;
  grid-template-columns: 1fr 42px;
  gap: 8px;
  align-items: start;
  padding: 11px 0;
  border-top: 1px solid var(--line);
}

.factorControl label { color: var(--soft); }
.factorControl label span { display: flex; justify-content: space-between; gap: 10px; }
.factorControl input, .scoreControl input { padding: 0; min-height: auto; }
.factorControl output { text-align: right; }
.factorControl small {
  grid-column: 1 / -1;
  color: var(--muted);
  line-height: 1.4;
}

input[type="range"] {
  accent-color: var(--accent);
}

.wideLabel { margin: 14px 0; }
.runStatus { color: var(--muted); font-size: 13px; }
.resultPanel { margin-top: 16px; }

.chain {
  border-left: 3px solid var(--accent);
  padding: 12px 0 12px 14px;
  background: rgba(99,102,241,.07);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.chain ol { margin: 8px 0; padding-left: 20px; color: var(--soft); }
.chain footer { color: var(--muted); font-size: 13px; }

.dealTable { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th, td {
  text-align: left;
  border-bottom: 1px solid var(--line);
  padding: 13px 10px;
  vertical-align: top;
}

th {
  font-size: 10px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .16em;
}

td { color: var(--soft); }
td b { color: var(--ink); }
tr:hover td { background: rgba(255,255,255,.018); }

.memoOutput p, .ragResult p { color: var(--soft); }

.chinese {
  font-family: "Microsoft YaHei", "Noto Sans CJK SC", Inter, ui-sans-serif, system-ui, sans-serif;
}

.tierCard h3 span, .actionPlan h3 span {
  color: var(--accent);
  font-size: 12px;
  margin-left: 8px;
}

.sectorContextWrap {
  display: grid;
  gap: 14px;
}

.sectorContextIntro {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.sectorContextGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 16px;
}

.sectorContextCard {
  display: grid;
  gap: 14px;
}

.sectorContextCard.editable {
  cursor: pointer;
}

.sectorContextCard.editable:hover {
  border-color: rgba(99,102,241,.55);
  transform: translateY(-1px);
}

.sectorContextHeader {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.sectorContextHeader h3 {
  margin: 0 0 6px;
}

.sectorContextHeader p,
.sectorContextDetail p,
.sectorRisk p {
  margin: 4px 0 0;
  color: var(--soft);
}

.sectorPotential {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.sectorPotential.high {
  background: rgba(16,185,129,.12);
  border-color: rgba(16,185,129,.24);
  color: #34d399;
}

.sectorPotential.medium {
  background: rgba(245,158,11,.12);
  border-color: rgba(245,158,11,.24);
  color: #fbbf24;
}

.sectorPotential.low {
  background: rgba(239,68,68,.10);
  border-color: rgba(239,68,68,.24);
  color: #fca5a5;
}

.sectorContextFacts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.sectorContextFacts div,
.sectorContextDetail,
.sectorRisk {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 11px;
  background: rgba(255,255,255,.025);
}

.sectorContextFacts span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.sectorContextFacts b,
.sectorContextDetail b,
.sectorRisk b {
  color: var(--ink);
}

.sectorRisk {
  border-color: rgba(245,158,11,.28);
  background: rgba(245,158,11,.07);
}

.sectorContextCard footer {
  color: var(--muted);
  font-size: 12px;
}

.summaryLine { margin-bottom: 8px; }

.planRow {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 10px;
  border-top: 1px solid var(--line);
  padding: 10px 0;
}

.planRow small { grid-column: 1 / -1; color: var(--muted); }

.allocationRow {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}

.allocationRow div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--soft);
}

.allocationRow span {
  color: var(--muted);
}

.allocationRow i {
  display: block;
  height: 8px;
  min-width: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), var(--accent2));
}

.compactPricing {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin: 16px 0;
}

.pulseSummary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .48fr);
  gap: 16px;
  align-items: start;
  border: 1px solid rgba(99,102,241,.34);
  border-radius: var(--radius-xl);
  padding: 18px;
  background: rgba(99,102,241,.08);
}

.pulseSummary h3,
.pulseSection h3,
.pulseActionBox h4 { margin-top: 0; }

.pulseSummaryStats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.pulseSummaryStats span,
.pulseMetricRow span {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 9px 10px;
  background: rgba(255,255,255,.035);
  color: var(--muted);
  font-size: 12px;
}

.pulseSummaryStats b,
.pulseMetricRow b {
  color: var(--text);
  font-size: 18px;
  margin-right: 4px;
}

.pulsePatternStrip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 10px 12px;
  background: rgba(255,255,255,.028);
}

.pulsePatternStrip span {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.pulsePatternStrip b {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 12px;
  color: var(--soft);
  background: rgba(255,255,255,.035);
}

.pulseList {
  display: grid;
  gap: 14px;
}

.pulseSection {
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  padding: 16px;
  background: rgba(255,255,255,.032);
}

.pulseSectionHeader {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.pulseSectionHeader p {
  margin-bottom: 0;
  color: var(--muted);
}

.pulseMetricRow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.pulseItemList {
  list-style: decimal-leading-zero;
  margin: 0;
  padding-left: 28px;
}

.pulseItem {
  padding: 14px 0;
  border-top: 1px solid rgba(255,255,255,.06);
}

.pulseItem:first-child { border-top: 0; }

.pulseItem::marker {
  color: var(--accent);
  font-weight: 800;
}

.pulseItemHeader {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.pulseItemHeader b {
  font-size: 16px;
  color: var(--text);
}

.pulseMeta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 10px;
}

.pulseMeta span {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--muted);
  background: rgba(255,255,255,.026);
  font-size: 12px;
}

.pulseFactGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.pulseFact {
  border-left: 2px solid rgba(99,102,241,.48);
  padding-left: 10px;
}

.pulseFact span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 4px;
}

.pulseFact p {
  margin: 0;
  color: var(--soft);
}

.pulseActionBox {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.pulseActionBox ol {
  margin: 8px 0 0;
  padding-left: 22px;
  color: var(--soft);
}

.pulseResourceGrid,
.pulseSourceList,
.pulseSourceRows {
  display: grid;
  gap: 12px;
}

.pulseResourceGrid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.pulseResourceCard,
.pulseSourceGroup,
.pulseSourceRow {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.028);
}

.pulseResourceCard,
.pulseSourceGroup {
  padding: 14px;
}

.pulseResourceHead,
.pulseSourceRow {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.pulseResourceCard h4,
.pulseSourceGroup h4 {
  margin: 0 0 8px;
}

.pulseResourceCard p,
.pulseSourceRow p {
  margin: 6px 0;
  color: var(--soft);
}

.pulseResourceCard small,
.pulseSourceRow small {
  color: var(--muted);
}

.pulseSourceRow {
  padding: 12px;
}

.pulseSourceRow span {
  flex: 0 0 170px;
  text-align: right;
  color: var(--muted);
  font-size: 12px;
}

.emptyState {
  color: var(--muted);
  border: 1px dashed var(--line);
  border-radius: var(--radius-lg);
  padding: 12px;
}

.checkList { list-style: none; padding-left: 0; }
.checkList li { padding: 5px 0; color: var(--soft); }
.checkList input { width: auto; min-height: auto; margin-right: 7px; }

pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: rgba(11,14,31,.62);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 12px;
  color: var(--soft);
  font-family: JetBrains Mono, ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
  line-height: 1.5;
}

.nodeGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
}

.csvBox {
  min-height: 260px;
  font-family: JetBrains Mono, ui-monospace, SFMono-Regular, Consolas, monospace;
}

.memberPrompt {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin: 18px 24px 0;
  padding: 16px 18px;
  border: 1px solid rgba(245,158,11,.25);
  border-radius: var(--radius-xl);
  background: rgba(245,158,11,.10);
}

.memberPrompt p {
  margin: 4px 0 0;
}

.memberProfilePanel {
  width: min(880px, calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  overflow: auto;
}

.choiceGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 9px;
  margin-bottom: 14px;
}

.compactChoices {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.choicePill {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.035);
  color: var(--soft);
}

.choicePill input,
.checkboxLabel input {
  width: auto;
  min-height: auto;
  accent-color: var(--accent);
}

.sharedDealCard {
  display: grid;
  width: 100%;
  gap: 4px;
  text-align: left;
  margin-bottom: 9px;
}

.sharedDealCard span,
.sharedDealCard small {
  color: var(--muted);
}

.compactHeader {
  margin-bottom: 12px;
}

.savedReportsList {
  display: grid;
  gap: 10px;
}

.savedReportRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 12px;
  background: rgba(255,255,255,.028);
}

.savedReportRow p {
  margin: 4px 0 0;
}

.savedReportActions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

ul, ol { color: var(--soft); }

@media (max-width: 1180px) {
  .topSearch { display: none; }
  .formGrid, .scoreGrid, .factorGrid, .dashboardGrid, .hubGrid, .sectorContextGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landingHero,
  .workspacePreview {
    grid-template-columns: 1fr;
  }
  .heroPreview {
    max-width: 760px;
  }
}

@media (max-width: 920px) {
  .shell {
    display: block;
  }
  .workspace {
    position: static;
    height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .topbar {
    position: static;
    padding: 18px;
    flex-direction: column;
    align-items: stretch;
  }
  .topActions { justify-content: flex-start; flex-wrap: wrap; }
  .fundHeader, .viewPanel {
    margin: 16px;
  }
  .fundHeader, .sectionHeader, .scoreHero {
    flex-direction: column;
    align-items: stretch;
  }
  .formGrid, .scoreGrid, .factorGrid, .dashboardGrid, .hubGrid, .tierGrid, .pulseSummary, .pulseFactGrid, .sectorContextGrid, .sectorContextFacts {
    grid-template-columns: 1fr;
  }
  .pulseSectionHeader {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .pulseItemHeader {
    flex-direction: column;
    align-items: flex-start;
  }
  .pulseSummaryStats {
    grid-template-columns: 1fr 1fr;
  }
  .landingNav,
  .landingFooter {
    width: min(100% - 32px, 1400px);
    align-items: flex-start;
    flex-direction: column;
  }
  .landingLinks {
    display: none;
  }
  .landingHero,
  .landingSection,
  .landingCta,
  .trustStrip > *,
  .landingFooter {
    width: min(100% - 32px, 1400px);
  }
  .landingHero {
    padding: 52px 0 64px;
  }
  .capabilityGrid,
  .audienceGrid,
  .pricingGrid {
    grid-template-columns: 1fr;
  }
  .pricingCard.featured {
    transform: none;
  }
  .miniTerminal {
    grid-template-columns: 1fr;
  }
  .landingCta {
    padding: 36px 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  * { transition-duration: 0ms !important; scroll-behavior: auto !important; }
}

/* New design color refresh: light institutional workspace palette. */
:root {
  color-scheme: light;
  --bg: #fcfcfd;
  --surface: #fcfcfd;
  --panel: #ffffff;
  --panel-2: #f8fafc;
  --ink: #0f172a;
  --text: #0f172a;
  --muted: #64748b;
  --soft: #334155;
  --line: #e2e8f0;
  --input: #cbd5e1;
  --accent: #2563eb;
  --accent2: #10b981;
  --warn: #f59e0b;
  --bad: #dc2626;
  --good: #16a34a;
  --shadow-lg: 0 18px 48px -24px rgba(15, 23, 42, .28);
  --shadow-brand: 0 12px 28px -18px rgba(37, 99, 235, .55);
}

html,
body {
  background: var(--bg);
  color: var(--ink);
}

body {
  background:
    linear-gradient(180deg, #ffffff 0%, #fcfcfd 36%, #f8fafc 100%);
}

.authScreen {
  background:
    radial-gradient(circle at 84% 0%, rgba(37, 99, 235, .10), transparent 34rem),
    radial-gradient(circle at 6% 12%, rgba(16, 185, 129, .08), transparent 28rem),
    var(--bg);
}

button {
  background: #ffffff;
  border-color: var(--line);
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

button:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}

#evaluateBtn,
#extractScreeningBtn,
#saveDealBtn,
#generateReportBtn,
#downloadReportBtn,
#llmAnalyzeBtn,
#importDocAnalyzeBtn,
#dataRoomHighAnalysisBtn,
#runCommitteeBtn,
#generateOutputsBtn,
#seedBtn,
#saveSectorContextBtn,
.brandLogin,
.lightCta {
  background: var(--accent);
  border-color: var(--accent);
  color: #ffffff;
  box-shadow: var(--shadow-brand);
}

#evaluateBtn:hover,
#extractScreeningBtn:hover,
#saveDealBtn:hover,
#generateReportBtn:hover,
#downloadReportBtn:hover,
#llmAnalyzeBtn:hover,
#importDocAnalyzeBtn:hover,
#dataRoomHighAnalysisBtn:hover,
#runCommitteeBtn:hover,
#generateOutputsBtn:hover,
#seedBtn:hover,
#saveSectorContextBtn:hover,
.brandLogin:hover,
.lightCta:hover {
  background: #1d4ed8;
  border-color: #1d4ed8;
  color: #ffffff;
}

#logoutBtn,
#refreshDashboardBtn,
#refreshPipelineBtn,
#refreshSectorContextBtn,
#refreshRagBtn,
#searchRagBtn,
#importBtn,
#copyMemoBtn,
#refreshCausalBtn,
#refreshHarnessBtn,
#refreshEvidenceBtn {
  background: #ffffff;
  color: var(--muted);
}

input,
select,
textarea {
  background: #ffffff;
  border-color: var(--input);
  color: var(--ink);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .14);
}

.landingNav,
.landingFooter,
.topbar,
.fundHeader,
.panel,
.workspace,
.scoreCard,
.metricTile,
.statGrid div,
.capabilityCard,
.audienceCard,
.pricingCard,
.miniTerminal,
.loginPanel,
.memberPrompt,
.appDisclaimer,
.legalDisclaimer,
.pulseSection,
.pulseSummary,
.pulseResourceCard,
.pulseSourceGroup,
.pulseSourceRow,
.savedReportRow,
.choicePill,
.sharedDealCard,
.riskItem,
.planRow,
.ragResult,
.chain,
.node,
.comboChoices,
.hubCard,
.topSearchResults,
.sectorContextFacts div,
.sectorContextDetail,
.sectorRisk {
  background: #ffffff;
  border-color: var(--line);
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.shell {
  background: var(--bg);
}

.workspace {
  background: #ffffff;
  border-right-color: var(--line);
}

.topbar {
  background: rgba(255, 255, 255, .92);
  border-bottom-color: var(--line);
}

.fundHeader,
.viewPanel {
  background: #ffffff;
  border-color: var(--line);
}

.brandLockup span,
.landingBrand span,
.bigScore,
.bigMetric,
.factorGroupHead span,
.factorControl output,
.scoreControl output,
.chain b,
.pulseItem::marker {
  color: var(--accent);
}

.workspaceNav button {
  background: transparent;
  color: var(--muted);
}

.workspaceNav button:hover {
  background: #f8fafc;
  color: var(--ink);
}

.hubCard:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}

.workspaceNav button.active {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}

.navSection,
.workspaceNav small,
.hint,
.runStatus,
p,
label,
.savedReportRow p,
.pulseSourceRow span,
.pulseResourceCard small,
.pulseSourceRow small {
  color: var(--muted);
}

.pill {
  background: #f8fafc;
  border-color: var(--line);
  color: var(--muted);
}

.pill.warn,
.notice,
.memberPrompt,
.appDisclaimer {
  background: #fffbeb;
  border-color: #fde68a;
  color: #b45309;
}

.pill.bad,
.loginError {
  background: #fef2f2;
  border-color: #fecaca;
  color: #dc2626;
}

.accentCard,
.pulseSummary,
.heroPreview,
.pricingCard.featured {
  background: #eff6ff;
  border-color: #bfdbfe;
}

.avatar,
.scoreCircle,
.metricBadge {
  background: linear-gradient(135deg, #2563eb, #10b981);
  color: #ffffff;
}

pre,
.memoOutput,
.actionPlan,
.causalModel,
.resultPanel {
  color: var(--soft);
}

pre {
  background: #f8fafc;
  border-color: var(--line);
}

table,
th,
td {
  border-color: var(--line);
}

th {
  background: #f8fafc;
  color: var(--muted);
}

td,
td b,
.pulseItemHeader b,
.pulseFact p,
.memoOutput p,
.ragResult p,
ul,
ol {
  color: var(--soft);
}

tr:hover td,
.companySignalBtn:hover,
.comboChoices button:hover,
.topSearchResults button:hover {
  background: #eff6ff;
}

.loginBackdrop {
  background: rgba(15, 23, 42, .38);
}
