:root {
  --lexxy-color-canvas: #ffffff;
  --lexxy-color-ink: var(--color-alabaster-grey);
  --lexxy-color-ink-medium: var(--color-dusty-denim-700);
  --lexxy-color-ink-light: var(--color-dusty-denim-600);
  --lexxy-color-ink-lighter: var(--color-dusty-denim-400);
  --lexxy-color-ink-lightest: var(--color-ink-black-200);
  --lexxy-color-ink-inverted: #ffffff;
  --lexxy-color-accent-dark: var(--color-dusk-blue-700);
  --lexxy-color-accent-medium: var(--color-dusk-blue-600);
  --lexxy-color-accent-light: var(--color-dusk-blue-300);
  --lexxy-color-accent-lightest: var(--color-dusk-blue-100);
  --lexxy-color-red: #ef4444;
  --lexxy-color-green: #22c55e;
  --lexxy-color-blue: var(--color-dusk-blue-600);
  --lexxy-color-purple: #8b5cf6;
  --lexxy-color-code-token-att: #dc2626;
  --lexxy-color-code-token-comment: var(--color-dusty-denim-500);
  --lexxy-color-code-token-function: #7c3aed;
  --lexxy-color-code-token-operator: #dc2626;
  --lexxy-color-code-token-property: #2563eb;
  --lexxy-color-code-token-punctuation: var(--color-alabaster-grey);
  --lexxy-color-code-token-selector: #16a34a;
  --lexxy-color-code-token-variable: #ea580c;
  --lexxy-focus-ring-color: color-mix(in srgb, var(--color-dusk-blue-200) 70%, transparent);
  --lexxy-shadow: 0 0 0 1px rgba(80, 96, 120, 0.18);
  --highlight-1: rgb(240, 200, 22);
  --highlight-2: rgb(230, 118, 14);
  --highlight-3: rgb(244, 5, 5);
  --highlight-4: rgb(248, 21, 192);
  --highlight-5: rgb(214, 80, 255);
  --highlight-6: rgb(53, 157, 255);
  --highlight-7: rgb(26, 231, 23);
  --highlight-8: rgb(201, 135, 72);
  --highlight-9: rgb(161, 161, 161);
}

[data-theme="dark"] {
  --lexxy-color-canvas: var(--color-ink-black-100);
  --lexxy-color-ink: var(--color-alabaster-grey-900);
  --lexxy-color-ink-medium: var(--color-dusty-denim-700);
  --lexxy-color-ink-light: var(--color-dusty-denim-500);
  --lexxy-color-ink-lighter: var(--color-dusty-denim-300);
  --lexxy-color-ink-lightest: var(--color-prussian-blue-200);
  --lexxy-color-ink-inverted: #030609;
  --lexxy-color-accent-dark: var(--color-dusk-blue-600);
  --lexxy-color-accent-medium: var(--color-dusk-blue-500);
  --lexxy-color-accent-light: var(--color-dusk-blue-300);
  --lexxy-color-accent-lightest: var(--color-dusk-blue-100);
  --lexxy-color-red: #f87171;
  --lexxy-color-green: #4ade80;
  --lexxy-color-blue: var(--color-dusk-blue-500);
  --lexxy-color-purple: #c084fc;
  --lexxy-color-code-token-att: #fda4af;
  --lexxy-color-code-token-comment: var(--color-dusty-denim-600);
  --lexxy-color-code-token-function: #d8b4fe;
  --lexxy-color-code-token-operator: #fca5a5;
  --lexxy-color-code-token-property: #93c5fd;
  --lexxy-color-code-token-punctuation: var(--color-alabaster-grey-900);
  --lexxy-color-code-token-selector: #86efac;
  --lexxy-color-code-token-variable: #fdba74;
  --lexxy-focus-ring-color: color-mix(in srgb, var(--color-dusk-blue-600) 60%, transparent);
  --lexxy-shadow: 0 0 0 1px rgba(160, 176, 204, 0.28);
}

lexxy-editor {
  display: block;
  width: 100%;
}

.glyph-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid #e0e0e0;
  background: rgb(255 255 255 / 0.92);
  backdrop-filter: blur(12px);
}

.glyph-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.glyph-brand__logo {
  width: 2.5rem !important;
  height: 2.5rem !important;
  max-width: 2.5rem !important;
  max-height: 2.5rem !important;
  object-fit: contain;
  flex-shrink: 0;
}

.glyph-brand__text {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.02rem;
}

.glyph-brand__name {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #161616;
}

.glyph-brand__meta {
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.64rem;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #525252;
}

.glyph-nav {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  padding: 0.25rem;
  border: 1px solid #e0e0e0;
  background: rgb(255 255 255 / 0.96);
  box-shadow: 0 1px 0 rgb(22 22 22 / 0.03);
}

.glyph-nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid transparent;
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.64rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  white-space: nowrap;
  color: #525252;
  text-decoration: none;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.glyph-nav-link:hover {
  border-color: #e0e0e0;
  background: #f4f4f4;
  color: #161616;
}

.glyph-nav-link[data-active="true"] {
  border-color: #161616;
  background: #161616;
  color: #ffffff;
}

.glyph-nav-dropdown {
  position: relative;
  display: inline-flex;
}

.glyph-nav-dropdown[open] > .glyph-nav-dropdown__trigger {
  border-color: #0f62fe;
  background: rgba(15, 98, 254, 0.04);
  color: #161616;
}

.glyph-nav-dropdown > summary {
  list-style: none;
}

.glyph-nav-dropdown > summary::-webkit-details-marker {
  display: none;
}

.glyph-nav-dropdown__trigger {
  gap: 0.4rem;
  cursor: pointer;
}

.glyph-nav-dropdown__chevron {
  font-size: 0.6rem;
  line-height: 1;
  transition: transform 160ms ease;
}

.glyph-nav-dropdown[open] .glyph-nav-dropdown__chevron {
  transform: rotate(180deg);
}

.glyph-nav-dropdown__menu {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 0;
  z-index: 40;
  display: grid;
  min-width: 20rem;
  gap: 0.2rem;
  padding: 0.4rem;
  border: 1px solid #e0e0e0;
  background: rgb(255 255 255 / 0.98);
  box-shadow: 0 18px 32px rgb(22 22 22 / 0.08);
}

.glyph-nav-dropdown__item {
  display: grid;
  gap: 0.2rem;
  justify-content: flex-start;
  min-height: 3.4rem;
  width: 100%;
  padding: 0.65rem 0.7rem;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
}

.glyph-nav-dropdown__item-label {
  font-family: IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
}

.glyph-nav-dropdown__item-description {
  max-width: 17rem;
  font-family: IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.35;
  color: #6f6f6f;
  white-space: normal;
}

.glyph-nav-dropdown__item[data-active="true"] .glyph-nav-dropdown__item-description {
  color: #c6c6c6;
}

.glyph-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 2.6rem;
  border: 1px solid #c6c6c6;
  padding: 0.7rem 1rem;
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.glyph-button:hover {
  transform: translateY(-1px);
}

.glyph-button:focus {
  outline: 2px solid #0f62fe;
  outline-offset: 2px;
}

.glyph-button--primary {
  border-color: #161616;
  background: #161616;
  color: #ffffff;
}

.glyph-button--primary:hover {
  border-color: #393939;
  background: #393939;
}

.glyph-button--secondary {
  border-color: #8d8d8d;
  background: #ffffff;
  color: #161616;
}

.glyph-button--secondary:hover {
  border-color: #161616;
  background: #f4f4f4;
}

.glyph-button--ghost {
  border-color: transparent;
  background: rgb(22 22 22 / 0.05);
  color: #161616;
}

.glyph-button--ghost:hover {
  border-color: #e0e0e0;
  background: rgb(255 255 255 / 0.85);
}

.glyph-button--destructive {
  border-color: #a61b1b;
  background: #da1e28;
  color: white;
}

.glyph-button--destructive:hover {
  border-color: #750e13;
  background: #b81923;
}

@media (max-width: 767px) {
  .glyph-nav {
    width: 100%;
    justify-content: center;
  }

  .glyph-nav--app {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .glyph-nav-dropdown {
    width: auto;
    min-width: 0;
  }

  .glyph-nav-dropdown__trigger {
    width: 100%;
  }

  .glyph-nav-dropdown__menu {
    position: static;
    min-width: 100%;
    margin-top: 0.35rem;
  }

  .glyph-nav-dropdown[open] {
    grid-column: 1 / -1;
  }

  .glyph-button {
    width: auto;
  }
}

/* Signals evidence system: predictions, audience swarms, and comparisons. */
.signal-resource-page {
  --signal-blue: #0f62fe;
  --signal-ink: #161616;
  --signal-muted: #525252;
  --signal-line: #c6c6c6;
  --signal-canvas: #f4f4f4;
  --signal-positive: #198038;
  --signal-negative: #da1e28;
  --signal-mixed: #b28600;
  max-width: 1480px;
  padding: 28px clamp(18px, 3vw, 44px) 64px;
}

.signal-resource-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: end;
  border-bottom: 1px solid var(--signal-ink);
  padding: 18px 0 26px;
}

.signal-resource-hero__copy { max-width: 900px; }
.signal-resource-hero h1 { margin: 8px 0 0; color: var(--signal-ink); font-size: clamp(2.2rem, 4.8vw, 4.6rem); font-weight: 300; letter-spacing: -.045em; line-height: .98; }
.signal-resource-hero__copy > p:last-of-type { max-width: 790px; margin: 16px 0 0; color: var(--signal-muted); font-size: .98rem; line-height: 1.6; }
.signal-resource-hero__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }

.signal-resource-context { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-top: 20px; color: var(--signal-muted); font-size: .78rem; }
.signal-resource-context span { font-family: "IBM Plex Mono", monospace; font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.signal-resource-context strong { color: var(--signal-ink); font-weight: 600; }
.signal-resource-context em { border-left: 1px solid var(--signal-line); padding-left: 12px; font-style: normal; }

.signal-resource-tabs { position: sticky; top: 0; z-index: 35; display: flex; overflow-x: auto; border-bottom: 1px solid var(--signal-line); background: rgb(244 244 244 / .96); backdrop-filter: blur(12px); }
.signal-resource-tabs a { min-height: 54px; display: inline-flex; gap: 10px; align-items: center; border-bottom: 3px solid transparent; padding: 0 20px; color: var(--signal-muted); font-size: .82rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.signal-resource-tabs a span { color: #8d8d8d; font-family: "IBM Plex Mono", monospace; font-size: .62rem; }
.signal-resource-tabs a:hover { background: #e8e8e8; color: var(--signal-ink); }
.signal-resource-tabs a.is-active { border-bottom-color: var(--signal-blue); color: var(--signal-ink); }
.signal-resource-tabs a.is-active span { color: var(--signal-blue); }

.signal-metric-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 22px; border: 1px solid var(--signal-line); background: var(--signal-line); }
.signal-metric-strip--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.signal-metric-strip article { min-height: 124px; display: grid; align-content: space-between; padding: 18px; background: #fff; }
.signal-metric-strip span { color: var(--signal-muted); font-family: "IBM Plex Mono", monospace; font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.signal-metric-strip strong { margin-top: 12px; color: var(--signal-ink); font-size: 2.25rem; font-weight: 300; line-height: 1; }
.signal-metric-strip p { margin: 7px 0 0; color: var(--signal-muted); font-size: .75rem; }

.signal-resource-grid { display: grid; gap: 22px; align-items: start; margin-top: 22px; }
.signal-resource-grid--history { grid-template-columns: minmax(0, 1.6fr) minmax(290px, .7fr); }
.signal-resource-grid--result { grid-template-columns: minmax(0, 1.5fr) minmax(300px, .75fr); }
.signal-resource-grid--report { grid-template-columns: minmax(0, 1.55fr) minmax(300px, .65fr); }
.prediction-report-main, .prediction-report-aside { display: grid; gap: 18px; }

.signal-panel { border: 1px solid var(--signal-line); background: #fff; }
.signal-panel__header { min-height: 78px; display: flex; gap: 18px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--signal-line); padding: 16px 20px; }
.signal-panel__header h2 { margin: 4px 0 0; color: var(--signal-ink); font-size: 1.35rem; font-weight: 400; letter-spacing: -.02em; }
.signal-panel__header > span { color: var(--signal-muted); font-family: "IBM Plex Mono", monospace; font-size: .65rem; text-transform: uppercase; }
.signal-panel--aside { position: sticky; top: 76px; }
.signal-panel__footer-link { min-height: 48px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--signal-line); padding: 0 18px; color: var(--signal-blue); font-size: .78rem; font-weight: 600; text-decoration: none; }
.signal-panel__footer-link::after { content: "→"; }
.signal-panel__footer-link:hover { background: #edf5ff; }
.signal-panel__empty { padding: 26px 20px; }
.signal-panel__empty strong { color: var(--signal-ink); font-size: .92rem; }
.signal-panel__empty p { margin: 6px 0 0; color: var(--signal-muted); font-size: .8rem; line-height: 1.5; }

.signal-run-list { margin: 0; padding: 0; list-style: none; }
.signal-run-list li { display: grid; grid-template-columns: 92px minmax(0, 1fr) 100px auto; gap: 18px; align-items: center; border-bottom: 1px solid #e0e0e0; padding: 18px 20px; }
.signal-run-list li:last-child { border-bottom: 0; }
.signal-run-list li:hover { background: #f8f8f8; }
.signal-run-list__state { display: grid; grid-template-columns: 8px 1fr; gap: 7px; align-items: center; color: var(--signal-muted); font-size: .68rem; font-weight: 600; text-transform: uppercase; }
.signal-run-list__state i { width: 8px; height: 8px; border-radius: 50%; background: #8d8d8d; }
.signal-run-list__state--completed i { background: var(--signal-positive); }
.signal-run-list__state--failed i { background: var(--signal-negative); }
.signal-run-list__state--running i, .signal-run-list__state--queued i { background: var(--signal-blue); box-shadow: 0 0 0 5px #d0e2ff; }
.signal-run-list__body > div { display: flex; gap: 12px; align-items: center; }
.signal-run-list__body > div strong { color: var(--signal-ink); font-size: .76rem; }
.signal-run-list__body time { color: #6f6f6f; font-size: .68rem; }
.signal-run-list__body h3 { margin: 7px 0 0; color: var(--signal-ink); font-size: 1rem; font-weight: 500; }
.signal-run-list__body h3 span { color: var(--signal-blue); font-weight: 300; }
.signal-run-list__body p { margin: 5px 0 0; color: var(--signal-muted); font-size: .72rem; }
.signal-run-list__score span, .signal-run-list__score small { display: block; color: var(--signal-muted); font-size: .62rem; }
.signal-run-list__score strong { display: block; margin: 4px 0; color: var(--signal-ink); font-size: 1.5rem; font-weight: 300; }

.signal-compact-list > a { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 12px; align-items: center; border-bottom: 1px solid #e0e0e0; padding: 14px 18px; color: inherit; text-decoration: none; }
.signal-compact-list > a:hover { background: #f4f4f4; }
.signal-compact-list strong { color: var(--signal-ink); font-size: .82rem; }
.signal-compact-list p { margin: 3px 0 0; color: var(--signal-muted); font-size: .68rem; }
.signal-compact-list em { color: var(--signal-blue); font-style: normal; }
.signal-method-note { border-top: 1px solid var(--signal-line); background: #262626; padding: 18px; color: #f4f4f4; }
.signal-method-note span { color: #78a9ff; font-family: "IBM Plex Mono", monospace; font-size: .63rem; text-transform: uppercase; }
.signal-method-note p { margin: 8px 0 0; color: #c6c6c6; font-size: .75rem; line-height: 1.5; }

.signal-empty-state { min-height: 220px; display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 34px; }
.signal-empty-state > span { width: 60px; height: 60px; display: grid; place-items: center; background: var(--signal-ink); color: #fff; font-size: 1.4rem; }
.signal-empty-state h2 { margin: 5px 0 0; color: var(--signal-ink); font-size: 1.65rem; font-weight: 400; }
.signal-empty-state div > p:last-child { max-width: 620px; margin: 9px 0 0; color: var(--signal-muted); font-size: .85rem; line-height: 1.5; }

.signal-lab-form { display: grid; gap: 18px; margin-top: 22px; }
.signal-form-section { border: 1px solid var(--signal-line); background: #fff; }
.signal-form-section > header { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 18px; border-bottom: 1px solid var(--signal-line); padding: 20px; }
.signal-form-section > header > span { width: 44px; height: 44px; display: grid; place-items: center; background: var(--signal-ink); color: #fff; font-family: "IBM Plex Mono", monospace; font-size: .72rem; }
.signal-form-section > header h2 { margin: 5px 0 0; color: var(--signal-ink); font-size: 1.45rem; font-weight: 400; }
.signal-form-section > header div > p:last-child { margin: 7px 0 0; color: var(--signal-muted); font-size: .8rem; }
.signal-form-grid { display: grid; gap: 18px; padding: 22px; }
.signal-form-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.signal-form-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.signal-field { display: grid; align-content: start; gap: 8px; }
.signal-field > span { color: var(--signal-ink); font-size: .78rem; font-weight: 600; }
.signal-field select, .signal-field input { width: 100%; min-height: 50px; border: 1px solid #8d8d8d; border-radius: 0; background: #f4f4f4; padding: 0 14px; color: var(--signal-ink); font: inherit; font-size: .88rem; }
.signal-field select:focus, .signal-field input:focus { outline: 2px solid #d0e2ff; border-color: var(--signal-blue); }
.signal-field small { color: var(--signal-muted); font-size: .7rem; line-height: 1.45; }
.signal-lever-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--signal-line); }
.signal-lever { display: grid; gap: 11px; background: #fff; padding: 20px; }
.signal-lever > span { display: flex; gap: 16px; justify-content: space-between; }
.signal-lever > span strong { color: var(--signal-ink); font-size: .82rem; }
.signal-lever output { max-width: 48%; color: var(--signal-blue); font-size: .7rem; font-weight: 700; line-height: 1.3; text-align: right; }
.signal-lever small { min-height: 32px; color: var(--signal-muted); font-size: .7rem; line-height: 1.4; }
.signal-lever input { width: 100%; accent-color: var(--signal-blue); }
.signal-lever > i { display: flex; justify-content: space-between; color: #6f6f6f; font-size: .62rem; font-style: normal; }
.signal-lever > i span { flex: 1; line-height: 1.25; }
.signal-lever > i span:nth-child(2) { text-align: center; }
.signal-lever > i span:last-child { text-align: right; }
.signal-form-submit { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; border: 1px solid var(--signal-ink); background: var(--signal-ink); padding: 20px; }
.signal-form-submit span { color: #78a9ff; font-family: "IBM Plex Mono", monospace; font-size: .64rem; text-transform: uppercase; }
.signal-form-submit p { max-width: 760px; margin: 7px 0 0; color: #c6c6c6; font-size: .76rem; line-height: 1.45; }

.signal-result-banner { display: grid; grid-template-columns: minmax(0, 1fr) 160px; margin-top: 22px; border-left: 6px solid #8d8d8d; background: #262626; color: #fff; }
.signal-result-banner--completed { border-left-color: #42be65; }
.signal-result-banner--failed { border-left-color: #fa4d56; }
.signal-result-banner > div:first-child { padding: 24px; }
.signal-result-banner > div:first-child > span, .signal-result-banner__score span { color: #a8a8a8; font-family: "IBM Plex Mono", monospace; font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.signal-result-banner > div:first-child strong { display: flex; gap: 10px; align-items: center; margin-top: 10px; font-size: 1.3rem; font-weight: 400; }
.signal-result-banner > div:first-child strong i { width: 9px; height: 9px; border-radius: 50%; background: #78a9ff; }
.signal-result-banner--completed > div:first-child strong i { background: #42be65; }
.signal-result-banner--failed > div:first-child strong i { background: #fa4d56; }
.signal-result-banner p { margin: 7px 0 0; color: #c6c6c6; font-size: .75rem; }
.signal-result-banner__score { display: grid; place-content: center; border-left: 1px solid #525252; text-align: center; }
.signal-result-banner__score strong { margin-top: 6px; font-size: 3rem; font-weight: 300; line-height: 1; }
.signal-result-banner__score small { color: #a8a8a8; font-size: .65rem; }
.signal-progress { margin-top: 14px; border: 1px solid #78a9ff; background: #edf5ff; padding: 16px; }
.signal-progress header { display: flex; justify-content: space-between; color: var(--signal-ink); font-size: .78rem; }
.signal-progress > div { height: 6px; margin-top: 12px; background: #c6c6c6; }
.signal-progress > div i { display: block; height: 100%; background: var(--signal-blue); transition: width 180ms ease; }
.signal-progress p { margin: 8px 0 0; color: var(--signal-muted); font-size: .68rem; }
.signal-scoreboard { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--signal-line); }
.signal-scoreboard article { display: grid; padding: 18px; background: #f4f4f4; }
.signal-scoreboard span { color: var(--signal-muted); font-size: .68rem; }
.signal-scoreboard strong { margin-top: 10px; color: var(--signal-ink); font-size: 2rem; font-weight: 300; }
.signal-scoreboard i { color: #6f6f6f; font-size: .65rem; font-style: normal; }
.signal-confidence { border-top: 1px solid var(--signal-line); border-bottom: 1px solid var(--signal-line); padding: 18px 20px; }
.signal-confidence span { color: var(--signal-muted); font-size: .68rem; text-transform: uppercase; }
.signal-confidence strong { display: block; margin-top: 6px; color: var(--signal-ink); font-size: 1.25rem; font-weight: 500; }
.signal-confidence strong i { color: #8d8d8d; font-size: .75rem; font-style: normal; font-weight: 400; }
.signal-confidence p { margin: 5px 0 0; color: var(--signal-muted); font-size: .7rem; }

.signal-distribution { display: grid; gap: 12px; padding: 20px; }
.signal-distribution h3 { margin: 0 0 2px; color: var(--signal-ink); font-size: .9rem; }
.signal-distribution > div { display: grid; grid-template-columns: 150px minmax(80px, 1fr) 90px; gap: 12px; align-items: center; }
.signal-distribution > div > span { color: var(--signal-muted); font-size: .7rem; }
.signal-distribution > div > span b { display: inline-grid; width: 22px; height: 22px; place-items: center; margin-right: 8px; background: #e0e0e0; color: var(--signal-ink); }
.signal-distribution > div > i { height: 8px; background: #e0e0e0; }
.signal-distribution > div > i em { display: block; height: 100%; background: var(--signal-blue); }
.signal-distribution > div > strong { color: var(--signal-ink); font-family: "IBM Plex Mono", monospace; font-size: .66rem; text-align: right; }
.signal-distribution > div.is-selected { background: #edf5ff; outline: 1px solid #78a9ff; outline-offset: 6px; }
.signal-anchor-distribution > div:nth-of-type(-n+2) > i em { background: var(--signal-negative); }
.signal-anchor-distribution > div:nth-of-type(3) > i em { background: var(--signal-mixed); }
.signal-anchor-distribution > div:nth-of-type(n+4) > i em { background: var(--signal-positive); }

.signal-quote-group { padding: 20px; }
.signal-quote-group + .signal-quote-group { border-top: 1px solid var(--signal-line); }
.signal-quote-group > span { color: var(--signal-muted); font-family: "IBM Plex Mono", monospace; font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.signal-quote-group blockquote { margin: 12px 0 0; border-left: 3px solid var(--signal-line); padding-left: 12px; color: var(--signal-ink); font-size: .78rem; line-height: 1.5; }
.signal-quote-group--positive blockquote { border-left-color: var(--signal-positive); }
.signal-quote-group--negative blockquote { border-left-color: var(--signal-negative); }
.signal-quote-group p { color: var(--signal-muted); font-size: .75rem; }

.signal-score { width: 44px; height: 44px; display: grid; place-content: center; border: 1px solid #8d8d8d; background: #f4f4f4; color: var(--signal-ink); text-align: center; }
.signal-score strong { font-size: 1.2rem; font-weight: 500; line-height: 1; }
.signal-score span { font-size: .58rem; }
.signal-score--large { width: 82px; height: 82px; }
.signal-score--large strong { font-size: 2.3rem; font-weight: 300; }
.signal-score--positive { border-color: var(--signal-positive); background: #defbe6; color: #0e6027; }
.signal-score--negative { border-color: var(--signal-negative); background: #fff1f1; color: #a2191f; }
.signal-score--mixed { border-color: #f1c21b; background: #fcf4d6; color: #684e00; }
.signal-score--unknown { background: #e0e0e0; color: #525252; }
.signal-evidence-badge { display: inline-flex; align-items: center; border: 1px solid #8d8d8d; padding: 4px 7px; color: #525252; font-size: .6rem; font-style: normal; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.signal-evidence-badge--verified { border-color: #24a148; background: #defbe6; color: #0e6027; }
.signal-evidence-badge--directional { border-color: #d2a106; background: #fcf4d6; color: #684e00; }

.prediction-card-list { display: grid; }
.prediction-card { display: grid; grid-template-columns: 82px minmax(0, 1fr) auto; gap: 20px; align-items: center; border-bottom: 1px solid #e0e0e0; padding: 20px; }
.prediction-card:last-child { border-bottom: 0; }
.prediction-card:hover { background: #f8f8f8; }
.prediction-card__meta { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.prediction-card__meta > span { color: var(--signal-blue); font-family: "IBM Plex Mono", monospace; font-size: .65rem; text-transform: uppercase; }
.prediction-card__meta time { color: #6f6f6f; font-size: .68rem; }
.prediction-card h3 { margin: 8px 0 0; color: var(--signal-ink); font-size: 1.25rem; font-weight: 400; }
.prediction-card__body > p { margin: 5px 0 0; color: var(--signal-muted); font-size: .8rem; }
.prediction-card__context { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; color: var(--signal-muted); font-size: .69rem; }
.prediction-card__context a { color: var(--signal-blue); font-weight: 600; text-decoration: none; }
.prediction-card__context i { color: #a8a8a8; font-style: normal; }
.prediction-card__actions { display: grid; gap: 7px; min-width: 138px; }

.prediction-report-hero { display: grid; grid-template-columns: 170px minmax(0, 1fr) minmax(230px, .55fr); margin-top: 22px; border-top: 5px solid #8d8d8d; background: #262626; color: #fff; }
.prediction-report-hero--positive { border-top-color: #42be65; }
.prediction-report-hero--negative { border-top-color: #fa4d56; }
.prediction-report-hero--mixed { border-top-color: #f1c21b; }
.prediction-report-hero__score { display: grid; place-content: center; border-right: 1px solid #525252; padding: 24px; text-align: center; }
.prediction-report-hero__score span, .prediction-report-hero__score small { color: #a8a8a8; font-family: "IBM Plex Mono", monospace; font-size: .63rem; text-transform: uppercase; }
.prediction-report-hero__score strong { margin: 7px 0; font-size: 4rem; font-weight: 300; line-height: 1; }
.prediction-report-hero__verdict { align-self: center; padding: 26px; }
.prediction-report-hero__verdict .workspace-os-kicker { color: #78a9ff; }
.prediction-report-hero__verdict h2 { margin: 7px 0 0; color: #fff; font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 300; }
.prediction-report-hero__verdict > p:last-child { max-width: 700px; margin: 11px 0 0; color: #c6c6c6; font-size: .84rem; line-height: 1.5; }
.prediction-report-hero__evidence { display: grid; align-content: center; gap: 8px; border-left: 1px solid #525252; padding: 24px; }
.prediction-report-hero__evidence .signal-evidence-badge { justify-self: start; }
.prediction-report-hero__evidence strong { margin-top: 5px; font-size: .92rem; }
.prediction-report-hero__evidence p, .prediction-report-hero__evidence time { margin: 0; color: #a8a8a8; font-size: .7rem; line-height: 1.4; }
.prediction-perspective blockquote { margin: 0; padding: 28px; color: var(--signal-ink); font-size: clamp(1.15rem, 2vw, 1.55rem); font-style: italic; font-weight: 300; line-height: 1.5; }
.prediction-perspective blockquote::before { content: "“"; color: var(--signal-blue); font-size: 2.3rem; line-height: 0; vertical-align: -.35em; }
.prediction-driver-list { display: grid; gap: 1px; background: var(--signal-line); }
.prediction-driver { border-left: 4px solid #8d8d8d; background: #fff; padding: 16px 18px; }
.prediction-driver--positive { border-left-color: var(--signal-positive); }
.prediction-driver--negative { border-left-color: var(--signal-negative); }
.prediction-driver--neutral { border-left-color: #f1c21b; }
.prediction-driver > span { color: var(--signal-muted); font-family: "IBM Plex Mono", monospace; font-size: .62rem; text-transform: uppercase; }
.prediction-driver strong { display: block; margin-top: 5px; color: var(--signal-ink); font-size: .82rem; }
.prediction-driver p { margin: 5px 0 0; color: var(--signal-muted); font-size: .75rem; line-height: 1.45; }
.prediction-driver-list--compact .prediction-driver { padding: 13px; }
.prediction-response { padding: 24px; background: #f8f8f8; }
.prediction-response p { margin: 0 0 12px; color: var(--signal-ink); font-size: .88rem; line-height: 1.65; }
.prediction-response p:last-child { margin-bottom: 0; }
.prediction-provenance { border-left: 4px solid #d2a106; background: #fcf4d6; padding: 16px; }
.prediction-provenance--verified { border-left-color: var(--signal-positive); background: #defbe6; }
.prediction-provenance > span { color: var(--signal-muted); font-family: "IBM Plex Mono", monospace; font-size: .62rem; text-transform: uppercase; }
.prediction-provenance strong { display: block; margin-top: 6px; color: var(--signal-ink); font-size: 1rem; }
.prediction-provenance p { margin: 7px 0 0; color: var(--signal-muted); font-size: .72rem; line-height: 1.5; }
.signal-definition-list { display: grid; }
.signal-definition-list > div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 12px; border-top: 1px solid #e0e0e0; padding: 12px 18px; }
.signal-definition-list dt { color: var(--signal-muted); font-size: .66rem; }
.signal-definition-list dd { margin: 0; color: var(--signal-ink); font-size: .74rem; font-weight: 600; text-align: right; }
.signal-aside-copy { margin: 0; padding: 18px; color: var(--signal-muted); font-size: .8rem; line-height: 1.55; }
.signal-tag-list { display: flex; flex-wrap: wrap; gap: 7px; padding: 18px; }
.signal-tag-list span { border: 1px solid #a8a8a8; background: #f4f4f4; padding: 6px 8px; color: var(--signal-ink); font-size: .68rem; }

.signal-comparison-context { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 22px; border: 1px solid var(--signal-line); background: var(--signal-line); }
.signal-comparison-context article { padding: 18px; background: #fff; }
.signal-comparison-context span { color: var(--signal-blue); font-family: "IBM Plex Mono", monospace; font-size: .62rem; text-transform: uppercase; }
.signal-comparison-context strong { display: block; margin-top: 7px; color: var(--signal-ink); font-size: 1rem; }
.signal-comparison-context p { margin: 5px 0 0; color: var(--signal-muted); font-size: .7rem; }
.signal-reading-note { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 14px; margin-top: 14px; border-left: 4px solid var(--signal-blue); background: #edf5ff; padding: 16px; }
.signal-reading-note > span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--signal-blue); border-radius: 50%; color: var(--signal-blue); font-weight: 600; }
.signal-reading-note strong { color: var(--signal-ink); font-size: .82rem; }
.signal-reading-note p { margin: 4px 0 0; color: var(--signal-muted); font-size: .75rem; line-height: 1.45; }
.prediction-comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.prediction-comparison-card { border: 1px solid var(--signal-line); background: #fff; }
.prediction-comparison-card > header { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 14px; align-items: center; border-bottom: 1px solid var(--signal-line); padding: 18px; }
.prediction-comparison-card > header > span { width: 34px; height: 34px; display: grid; place-items: center; background: var(--signal-ink); color: #fff; font-family: "IBM Plex Mono", monospace; font-size: .65rem; }
.prediction-comparison-card h2 { margin: 5px 0 0; color: var(--signal-ink); font-size: 1.3rem; font-weight: 400; }
.prediction-comparison-card__provenance { padding: 18px; }
.prediction-comparison-card__provenance p { margin: 10px 0 0; color: var(--signal-muted); font-size: .73rem; line-height: 1.5; }
.prediction-comparison-card > section { border-top: 1px solid #e0e0e0; padding: 18px; }
.prediction-comparison-card > section > span { color: var(--signal-muted); font-family: "IBM Plex Mono", monospace; font-size: .62rem; text-transform: uppercase; }
.prediction-comparison-card > section > p { margin: 7px 0 0; color: var(--signal-ink); font-size: .78rem; line-height: 1.5; }
.prediction-comparison-card > blockquote { margin: 0; border-top: 1px solid #e0e0e0; border-left: 4px solid var(--signal-blue); padding: 20px; color: var(--signal-ink); font-size: .88rem; font-style: italic; line-height: 1.55; }
.prediction-comparison-card > .workspace-os-button { margin: 18px; }
.prediction-comparison-card__empty { min-height: 280px; display: grid; place-content: center; padding: 36px; text-align: center; }
.prediction-comparison-card__empty strong { color: var(--signal-ink); font-size: 1.2rem; }
.prediction-comparison-card__empty p { max-width: 340px; margin: 8px auto 0; color: var(--signal-muted); font-size: .78rem; line-height: 1.5; }

.signal-alert { margin-top: 16px; border-left: 4px solid #8d8d8d; background: #f4f4f4; padding: 16px 18px; }
.signal-alert--error { border-left-color: var(--signal-negative); background: #fff1f1; }
.signal-alert--info { border-left-color: var(--signal-blue); background: #edf5ff; }
.signal-alert strong { color: var(--signal-ink); font-size: .84rem; }
.signal-alert p, .signal-alert li { color: var(--signal-muted); font-size: .75rem; line-height: 1.45; }
.signal-alert p { margin: 6px 0 0; }
.signal-alert ul { margin: 8px 0 0 18px; }

.signal-technical-detail { margin-top: 18px; border: 1px solid var(--signal-line); background: #fff; }
.signal-technical-detail > summary { min-height: 62px; display: grid; grid-template-columns: 180px minmax(0, 1fr) 20px; gap: 14px; align-items: center; padding: 0 18px; cursor: pointer; list-style: none; }
.signal-technical-detail > summary::-webkit-details-marker { display: none; }
.signal-technical-detail > summary span { color: var(--signal-ink); font-size: .8rem; font-weight: 600; }
.signal-technical-detail > summary strong { color: var(--signal-muted); font-size: .7rem; font-weight: 400; }
.signal-technical-detail > summary i { color: var(--signal-blue); font-style: normal; transition: transform 160ms ease; }
.signal-technical-detail[open] > summary i { transform: rotate(180deg); }
.signal-data-table { overflow-x: auto; border-top: 1px solid var(--signal-line); }
.signal-data-table table { width: 100%; border-collapse: collapse; font-size: .74rem; }
.signal-data-table th { background: #262626; padding: 11px 14px; color: #c6c6c6; font-family: "IBM Plex Mono", monospace; font-size: .6rem; font-weight: 500; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.signal-data-table td { border-bottom: 1px solid #e0e0e0; padding: 12px 14px; color: var(--signal-ink); }
.signal-data-table tr:last-child td { border-bottom: 0; }
.signal-data-table a { color: var(--signal-blue); font-weight: 600; text-decoration: none; }
.signal-state { border-left: 3px solid #8d8d8d; padding-left: 7px; font-size: .66rem; }
.signal-state--completed { border-left-color: var(--signal-positive); }
.signal-state--failed { border-left-color: var(--signal-negative); }
.signal-state--running, .signal-state--pending { border-left-color: var(--signal-blue); }
.signal-technical-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--signal-line); }
.signal-technical-grid > div { border-right: 1px solid #e0e0e0; padding: 16px; }
.signal-technical-grid > div:last-child { border-right: 0; }
.signal-technical-grid dt { color: var(--signal-muted); font-size: .65rem; }
.signal-technical-grid dd { margin: 5px 0 0; color: var(--signal-ink); font-size: .76rem; font-weight: 600; overflow-wrap: anywhere; }

@media (max-width: 1100px) {
  .signal-resource-grid--history, .signal-resource-grid--result, .signal-resource-grid--report { grid-template-columns: 1fr; }
  .signal-panel--aside { position: static; }
  .signal-run-list li { grid-template-columns: 82px minmax(0, 1fr) auto; }
  .signal-run-list__score { display: none; }
  .prediction-report-hero { grid-template-columns: 150px minmax(0, 1fr); }
  .prediction-report-hero__evidence { grid-column: 1 / -1; border-top: 1px solid #525252; border-left: 0; }
}

@media (max-width: 820px) {
  .signal-resource-hero { grid-template-columns: 1fr; }
  .signal-resource-hero__actions { justify-content: flex-start; }
  .signal-metric-strip, .signal-metric-strip--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .signal-form-grid--two, .signal-form-grid--three, .signal-lever-grid { grid-template-columns: 1fr; }
  .prediction-card { grid-template-columns: 66px minmax(0, 1fr); }
  .prediction-card__actions { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .prediction-comparison-grid { grid-template-columns: 1fr; }
  .signal-comparison-context { grid-template-columns: 1fr; }
  .signal-scoreboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .signal-technical-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .signal-resource-page { padding: 16px 12px 48px; }
  .signal-resource-hero h1 { font-size: 2.5rem; }
  .signal-resource-hero__actions, .signal-resource-hero__actions > * { width: 100%; }
  .signal-metric-strip, .signal-metric-strip--three { grid-template-columns: 1fr; }
  .signal-metric-strip article { min-height: 105px; }
  .signal-run-list li { grid-template-columns: 1fr; }
  .signal-run-list__state { grid-template-columns: 8px auto; justify-content: start; }
  .signal-run-list li > .workspace-os-button { width: 100%; }
  .signal-empty-state { grid-template-columns: 1fr; padding: 24px; }
  .signal-form-section > header { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 16px; }
  .signal-form-submit { grid-template-columns: 1fr; }
  .signal-result-banner { grid-template-columns: 1fr; }
  .signal-result-banner__score { border-top: 1px solid #525252; border-left: 0; padding: 20px; }
  .signal-distribution > div { grid-template-columns: 118px minmax(70px, 1fr); }
  .signal-distribution > div > strong { grid-column: 2; }
  .prediction-card { grid-template-columns: 1fr; }
  .prediction-card__actions { grid-column: auto; grid-template-columns: 1fr; }
  .prediction-report-hero { grid-template-columns: 1fr; }
  .prediction-report-hero__score { border-right: 0; border-bottom: 1px solid #525252; }
  .signal-technical-detail > summary { grid-template-columns: 1fr 20px; padding: 14px; }
  .signal-technical-detail > summary strong { grid-row: 2; }
  .signal-technical-detail > summary i { grid-column: 2; grid-row: 1 / 3; }
  .signal-technical-grid { grid-template-columns: 1fr; }
}

.janus-wizard-card {
  border: 1px solid #d8d8d8;
  background: #ffffff;
}

.janus-wizard-kicker {
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #6f6f6f;
}

.workspace-os-shell {
  --os-ink: #161616;
  --os-muted: #525252;
  --os-soft: #6f6f6f;
  --os-line: #d8d8d8;
  --os-page: #f4f4f4;
  --os-panel: #ffffff;
  --os-dark: #161616;
  --os-blue: #0f62fe;
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 24px 64px;
  color: var(--os-ink);
}

.workspace-os-hero,
.workspace-os-form-hero,
.workspace-os-pagehead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 32px;
  align-items: stretch;
  padding: 48px;
  border: 1px solid var(--os-line);
  background: var(--os-panel);
}

.workspace-os-pagehead--project {
  border-color: #a6c8ff;
  background: #edf5ff;
}

.workspace-os-hero h1,
.workspace-os-form-hero h1,
.workspace-os-pagehead h1 {
  max-width: 820px;
  margin: 14px 0 0;
  font-size: clamp(2.5rem, 7vw, 5rem);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: 0;
}

.workspace-os-pagehead h1 {
  font-size: clamp(2.3rem, 5vw, 4.4rem);
}

.workspace-os-lede,
.workspace-os-pagehead p,
.workspace-os-muted {
  max-width: 720px;
  margin: 22px 0 0;
  color: var(--os-muted);
  font-size: 1.05rem;
  line-height: 1.65;
}

.workspace-os-kicker {
  margin: 0;
  color: var(--os-soft);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.3;
  text-transform: uppercase;
}

.workspace-os-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  margin-top: 28px;
}

.workspace-os-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 1px solid #8d8d8d;
  padding: 12px 16px;
  color: var(--os-ink);
  background: #ffffff;
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.workspace-os-button:hover {
  border-color: var(--os-ink);
  background: #f4f4f4;
  transform: translateY(-1px);
}

.workspace-os-button--primary {
  border-color: var(--os-ink);
  background: var(--os-ink);
  color: #ffffff;
}

.workspace-os-button--primary:hover {
  border-color: #393939;
  background: #393939;
}

.workspace-os-form-hero aside,
.workspace-os-panel {
  border: 1px solid var(--os-line);
  background: #f4f4f4;
  padding: 24px;
}

.workspace-os-form-hero aside {
  display: flex;
  min-height: 220px;
  flex-direction: column;
  justify-content: flex-end;
}

.workspace-os-form-hero aside strong {
  display: block;
  margin-top: 18px;
  font-size: 1.6rem;
  font-weight: 500;
}

.workspace-os-form-hero aside span {
  display: block;
  margin-top: 10px;
  color: var(--os-muted);
  line-height: 1.5;
}

.workspace-os-row p,
.workspace-os-muted {
  margin: 8px 0 0;
  color: var(--os-muted);
  line-height: 1.55;
}

.workspace-os-list {
  display: grid;
  gap: 16px;
}

.workspace-os-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px) auto;
  gap: 24px;
  align-items: center;
  border: 1px solid var(--os-line);
  background: #ffffff;
  padding: 24px;
}

.workspace-index-shell {
  max-width: 1120px;
}

.workspace-company-shell {
  max-width: 1240px;
}

.workspace-index-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  border-bottom: 1px solid var(--os-line);
  padding-bottom: 24px;
  margin-bottom: 18px;
}

.workspace-index-header h1 {
  margin: 8px 0 0;
  font-size: clamp(2.4rem, 6vw, 4.8rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0.98;
}

.workspace-index-header p:not(.workspace-os-kicker) {
  margin: 12px 0 0;
  color: var(--os-muted);
  font-size: 1.05rem;
  line-height: 1.5;
}

.workspace-os-row--simple {
  grid-template-columns: minmax(0, 1fr) auto;
}

.workspace-company-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 16px;
  margin-top: 18px;
}

.workspace-company-summary,
.workspace-company-empty {
  border: 1px solid var(--os-line);
  background: #ffffff;
}

.workspace-company-summary {
  padding: 24px;
}

.workspace-company-summary dl {
  display: grid;
  gap: 1px;
  margin: 18px 0 0;
  background: var(--os-line);
}

.workspace-company-summary div {
  min-width: 0;
  background: #f4f4f4;
  padding: 16px;
}

.workspace-company-summary dt {
  color: var(--os-blue);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-company-summary dd {
  margin: 8px 0 0;
  color: var(--os-ink);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.workspace-company-summary a {
  color: var(--os-blue);
}

.workspace-company-empty {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 20px 24px;
}

.workspace-company-empty p {
  margin: 0;
  color: var(--os-muted);
}

.workspace-company-actions {
  margin-top: 16px;
}

.workspace-os-row h3 {
  margin: 8px 0 0;
  font-size: 1.8rem;
  font-weight: 500;
}

.workspace-os-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--os-line);
}

.workspace-os-metrics div {
  background: #f4f4f4;
  padding: 16px;
}

.workspace-os-metrics dt {
  color: var(--os-muted);
  font-size: 0.78rem;
}

.workspace-os-metrics dd {
  margin: 6px 0 0;
  font-size: 1.2rem;
  font-weight: 600;
}

.workspace-os-row-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.workspace-os-project-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.workspace-os-project-pills span {
  border: 1px solid #a6c8ff;
  background: #edf5ff;
  padding: 6px 10px;
  color: #0043ce;
  font-size: 0.82rem;
  font-weight: 600;
}

.workspace-os-empty {
  border: 1px solid var(--os-line);
  background: #ffffff;
  padding: 48px;
}

.workspace-os-empty h2 {
  margin: 12px 0 0;
  font-size: 2.5rem;
  font-weight: 500;
}

.workspace-os-form {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}

.workspace-os-form-section {
  border: 1px solid var(--os-line);
  background: #ffffff;
  padding: 28px;
}

.workspace-form-section-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
}

.workspace-form-section-head p:not(.workspace-os-kicker) {
  max-width: 680px;
  margin: 10px 0 0;
  color: var(--os-muted);
  line-height: 1.55;
}

.workspace-status-pill {
  border: 1px solid #a6c8ff;
  background: #edf5ff;
  padding: 8px 10px;
  color: var(--os-blue);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-company-connect-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: end;
  margin-top: 22px;
}

.workspace-form-error {
  border: 1px solid #da1e28;
  background: #fff1f1;
  padding: 18px;
  color: #750e13;
}

.workspace-form-error p,
.workspace-form-error ul {
  margin: 0;
}

.workspace-form-error ul {
  padding-left: 20px;
  margin-top: 8px;
}

.workspace-os-form-section--decision {
  display: grid;
  grid-template-columns: minmax(240px, 0.55fr) minmax(280px, 1fr) auto;
  gap: 22px;
  align-items: end;
}

.workspace-os-form-section h2 {
  margin: 10px 0 0;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.1;
}

.workspace-os-field-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.workspace-os-field-grid--wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.workspace-os-form label {
  display: grid;
  gap: 8px;
}

.workspace-os-form label,
.workspace-os-form label span {
  color: var(--os-muted);
  font-size: 0.85rem;
  font-weight: 600;
}

.workspace-form-wide {
  grid-column: span 2;
}

.workspace-os-form input[type="text"],
.workspace-os-form input[type="url"],
.workspace-os-form select,
.workspace-os-form textarea,
.workspace-live-input {
  width: 100%;
  border: 1px solid #8d8d8d;
  border-radius: 0;
  background: #ffffff;
  padding: 13px 14px;
  color: var(--os-ink);
  font: inherit;
  line-height: 1.45;
}

.workspace-os-form input[type="checkbox"],
.workspace-checkbox {
  width: 18px;
  height: 18px;
  accent-color: var(--os-blue);
}

.workspace-checkbox-row {
  border: 1px solid var(--os-line);
  background: #f4f4f4;
  padding: 16px;
}

.workspace-checkbox-row label {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.workspace-checkbox-row small,
.workspace-help-text,
.workspace-form-status {
  margin: 8px 0 0;
  color: var(--os-muted);
  font-size: 0.82rem;
  line-height: 1.5;
}

.workspace-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--os-line);
}

.workspace-detail-grid article {
  min-width: 0;
  background: #ffffff;
  padding: 20px 24px;
}

.workspace-detail-grid span {
  color: var(--os-blue);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-detail-grid p {
  margin: 10px 0 0;
  color: var(--os-ink);
  font-size: 1rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.workspace-detail-grid a {
  color: var(--os-blue);
}

.workspace-prediction-form {
  margin: 0;
  padding: 24px;
}

.workspace-progress-note {
  border-top: 1px solid var(--os-line);
  padding: 18px 24px;
  background: #edf5ff;
  color: var(--os-ink);
}

.workspace-progress-note p {
  margin: 0 0 8px;
}

.workspace-progress-note a {
  color: var(--os-blue);
  font-weight: 600;
}

.workspace-management-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding: 24px;
}

.workspace-management-actions .button_to {
  margin: 0;
}

.workspace-delete-dialog {
  width: min(520px, calc(100vw - 40px));
  border: 1px solid var(--os-line);
  background: #ffffff;
  padding: 0;
  color: var(--os-ink);
}

.workspace-delete-dialog::backdrop {
  background: rgb(0 0 0 / 0.45);
}

.workspace-delete-dialog > div {
  padding: 24px;
}

.workspace-delete-dialog h3 {
  margin: 10px 0 0;
  font-size: 1.8rem;
  font-weight: 500;
}

.workspace-delete-dialog p:not(.workspace-os-kicker) {
  margin: 14px 0 0;
  color: var(--os-muted);
  line-height: 1.5;
}

.workspace-os-form textarea {
  resize: vertical;
}

.workspace-os-form input:focus,
.workspace-os-form select:focus,
.workspace-os-form textarea:focus {
  border-color: var(--os-blue);
  outline: 2px solid #d0e2ff;
  outline-offset: 0;
}

.workspace-os-form-submit {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.workspace-action-list .button_to {
  margin: 0;
}

.workspace-action-row--button {
  width: 100%;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  background: #ffffff;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.workspace-action-row--button:hover {
  background: #edf5ff;
}

.workspace-active-shell {
  max-width: 1400px;
}

.workspace-active-header {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: flex-start;
  border-bottom: 1px solid var(--os-line);
  padding-bottom: 24px;
}

.workspace-active-header h1 {
  max-width: 840px;
  margin: 10px 0 0;
  font-size: clamp(2.4rem, 6vw, 4.8rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0.98;
}

.workspace-active-header p:not(.workspace-os-kicker) {
  max-width: 760px;
  margin: 16px 0 0;
  color: var(--os-muted);
  font-size: 1.05rem;
  line-height: 1.55;
}

.workspace-active-board {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 16px;
  margin-top: 18px;
}

.workspace-active-outcome,
.workspace-active-context,
.workspace-resource-grid article,
.workspace-action-list,
.workspace-signal-panel {
  border: 1px solid var(--os-line);
  background: #ffffff;
}

.workspace-active-outcome {
  border-color: #161616;
  padding: 28px;
}

.workspace-active-outcome h2 {
  max-width: 820px;
  margin: 14px 0 0;
  font-size: clamp(2.1rem, 5vw, 4rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

.workspace-active-outcome p:not(.workspace-os-kicker) {
  max-width: 840px;
  margin: 18px 0 0;
  color: var(--os-muted);
  font-size: 1.05rem;
  line-height: 1.55;
}

.workspace-active-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.workspace-active-context {
  padding: 24px;
  background: #f4f4f4;
}

.workspace-active-context dl {
  display: grid;
  gap: 1px;
  margin: 18px 0 0;
  background: var(--os-line);
}

.workspace-active-context div {
  background: #ffffff;
  padding: 16px;
}

.workspace-active-context dt,
.workspace-resource-grid span,
.workspace-action-row span,
.workspace-signal-panel span {
  color: var(--os-blue);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-active-context dd {
  margin: 8px 0 0;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
}

.workspace-resource-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.workspace-resource-grid article {
  min-height: 180px;
  padding: 20px;
}

.workspace-resource-grid p {
  margin: 18px 0 0;
  color: var(--os-ink);
  line-height: 1.5;
}

.workspace-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
  gap: 16px;
  margin-top: 16px;
}

.workspace-action-list header {
  padding: 24px;
  border-bottom: 1px solid var(--os-line);
}

.workspace-action-list h2 {
  max-width: 680px;
  margin: 8px 0 0;
  font-size: clamp(1.7rem, 3vw, 2.7rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.08;
}

.workspace-action-row {
  display: grid;
  grid-template-columns: 120px minmax(200px, 0.4fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  border-top: 1px solid var(--os-line);
  padding: 18px 24px;
  color: var(--os-ink);
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.workspace-action-row:first-of-type {
  border-top: 0;
}

.workspace-action-row:hover {
  background: #edf5ff;
}

.workspace-action-row strong {
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.2;
}

.workspace-action-row p {
  margin: 0;
  color: var(--os-muted);
  line-height: 1.5;
}

.workspace-signal-panel {
  display: grid;
  align-content: start;
  gap: 1px;
  background: var(--os-line);
}

.workspace-signal-panel > p {
  margin: 0;
  background: #ffffff;
  padding: 24px 24px 8px;
}

.workspace-signal-panel div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 16px;
  align-items: start;
  background: #ffffff;
  padding: 20px 24px;
}

.workspace-signal-panel strong {
  grid-row: span 2;
  color: var(--os-ink);
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 0.9;
}

.workspace-signal-panel p:not(.workspace-os-kicker) {
  margin: 0;
  color: var(--os-muted);
  line-height: 1.45;
}

.workspace-command-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  border-bottom: 1px solid var(--os-line);
  padding-bottom: 24px;
}

.workspace-command-header h1 {
  max-width: 860px;
  margin: 10px 0 0;
  font-size: clamp(2.4rem, 6vw, 4.8rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0.98;
}

.workspace-command-header p:not(.workspace-os-kicker) {
  max-width: 760px;
  margin: 16px 0 0;
  color: var(--os-muted);
  font-size: 1.05rem;
  line-height: 1.55;
}

.workspace-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.workspace-command-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.78fr) minmax(420px, 1.24fr) minmax(300px, 0.82fr);
  gap: 16px;
  align-items: start;
  margin-top: 18px;
}

.workspace-command-layout--project {
  grid-template-columns: minmax(300px, 0.88fr) minmax(440px, 1.18fr) minmax(320px, 0.82fr);
}

.workspace-context-panel,
.workspace-flow-panel,
.workspace-readiness-panel,
.workspace-outcome-panel,
.workspace-side-section {
  border: 1px solid var(--os-line);
  background: #ffffff;
}

.workspace-context-panel,
.workspace-readiness-panel {
  display: grid;
  gap: 16px;
  border: 0;
  background: transparent;
}

.workspace-panel-header {
  padding: 22px 24px;
  border-bottom: 1px solid var(--os-line);
  background: #ffffff;
}

.workspace-panel-header h2 {
  margin: 8px 0 0;
  color: var(--os-ink);
  font-size: 1.45rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.12;
}

.workspace-panel-header--compact {
  padding: 18px 20px;
}

.workspace-panel-header--compact h2 {
  font-size: 1.12rem;
}

.workspace-context-panel > .workspace-panel-header {
  border: 1px solid var(--os-line);
  border-bottom: 0;
}

.workspace-context-stack {
  display: grid;
  gap: 1px;
  border: 1px solid var(--os-line);
  background: var(--os-line);
}

.workspace-context-panel > .workspace-panel-header + .workspace-context-stack {
  border-top: 0;
}

.workspace-context-item {
  min-width: 0;
  background: #ffffff;
  padding: 18px 20px;
}

.workspace-context-item span,
.workspace-flow-step span,
.workspace-gap-row span,
.workspace-action-chip span,
.workspace-score-row span,
.workspace-menu-row span {
  color: var(--os-blue);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.workspace-context-item strong {
  display: block;
  margin-top: 8px;
  color: var(--os-ink);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.workspace-context-item p {
  margin: 10px 0 0;
  color: var(--os-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.workspace-project-menu {
  border: 1px solid var(--os-line);
  background: #ffffff;
}

.workspace-menu-row {
  display: grid;
  gap: 7px;
  border-top: 1px solid var(--os-line);
  padding: 14px 20px;
  color: var(--os-ink);
  text-decoration: none;
}

.workspace-menu-row:hover {
  background: #edf5ff;
}

.workspace-menu-row strong {
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.25;
}

.workspace-mode-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid var(--os-line);
  background: #f4f4f4;
}

.workspace-mode-tab {
  border-right: 1px solid var(--os-line);
  border-bottom: 2px solid transparent;
  padding: 12px 16px 10px;
  color: var(--os-muted);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.workspace-mode-tab:hover,
.workspace-mode-tab--active {
  border-bottom-color: var(--os-blue);
  background: #ffffff;
  color: var(--os-ink);
}

.workspace-flow-list {
  display: grid;
  gap: 1px;
  background: var(--os-line);
}

.workspace-flow-step {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  background: #ffffff;
  border-left: 4px solid #8d8d8d;
  padding: 20px 22px;
}

.workspace-flow-step--complete {
  border-left-color: #24a148;
}

.workspace-flow-step--ready {
  border-left-color: var(--os-blue);
}

.workspace-flow-step--needs-input {
  border-left-color: #f1c21b;
}

.workspace-flow-index {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--os-line);
  background: #f4f4f4;
  color: var(--os-ink);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
}

.workspace-flow-step h3 {
  margin: 7px 0 0;
  color: var(--os-ink);
  font-size: 1.18rem;
  font-weight: 600;
  line-height: 1.18;
}

.workspace-flow-step p,
.workspace-flow-step small {
  display: block;
  max-width: 680px;
  color: var(--os-muted);
  line-height: 1.45;
}

.workspace-flow-step p {
  margin: 8px 0 0;
  font-size: 0.95rem;
}

.workspace-flow-step small {
  margin-top: 8px;
  font-size: 0.82rem;
}

.workspace-step-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 116px;
  min-height: 38px;
  border: 1px solid #8d8d8d;
  padding: 9px 12px;
  background: #ffffff;
  color: var(--os-ink);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.workspace-step-action:hover {
  border-color: var(--os-blue);
  background: #edf5ff;
  color: var(--os-blue);
}

.workspace-readiness-score {
  display: grid;
  gap: 6px;
  border: 1px solid #161616;
  background: #161616;
  padding: 22px;
  color: #ffffff;
}

.workspace-readiness-score .workspace-os-kicker {
  color: #c6c6c6;
}

.workspace-readiness-score strong {
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0.92;
}

.workspace-readiness-score span {
  color: #c6c6c6;
  font-size: 0.92rem;
}

.workspace-side-section {
  display: grid;
  gap: 1px;
  background: var(--os-line);
}

.workspace-gap-row,
.workspace-action-chip {
  display: grid;
  gap: 8px;
  background: #ffffff;
  padding: 16px 20px;
  color: var(--os-ink);
  text-decoration: none;
}

.workspace-gap-row:hover,
.workspace-action-chip:hover {
  background: #edf5ff;
}

.workspace-gap-row strong,
.workspace-action-chip strong {
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.25;
}

.workspace-gap-row p {
  margin: 0;
  color: var(--os-muted);
  font-size: 0.9rem;
  line-height: 1.4;
}

.workspace-gap-row--static:hover {
  background: #ffffff;
}

.workspace-button-full {
  margin: 16px 20px 20px;
}

.workspace-outcome-panel {
  padding: 24px;
}

.workspace-outcome-panel h2 {
  margin: 12px 0 0;
  color: var(--os-ink);
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}

.workspace-outcome-panel p:not(.workspace-os-kicker) {
  margin: 16px 0 0;
  color: var(--os-muted);
  line-height: 1.5;
}

.workspace-signal-stack {
  align-content: start;
}

.workspace-score-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  background: #ffffff;
  padding: 16px 20px;
}

.workspace-score-row p {
  margin: 7px 0 0;
  color: var(--os-muted);
  font-size: 0.9rem;
  line-height: 1.4;
}

.workspace-score-row strong {
  color: var(--os-ink);
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 0.95;
}

.workspace-app-frame {
  --app-black: #111111;
  --app-black-2: #171717;
  --app-blue: #0f62fe;
  --app-blue-dark: #0353e9;
  --app-green: #24a148;
  --app-yellow: #f1c21b;
  --app-red: #da1e28;
  --app-border: #d8d8d8;
  --app-border-dark: #393939;
  --app-page: #f4f4f4;
  --app-panel: #ffffff;
  --app-text: #161616;
  --app-muted: #525252;
  display: grid;
  grid-template-rows: 60px minmax(0, 1fr);
  grid-template-columns: 92px minmax(0, 1fr);
  min-height: 100vh;
  background: var(--app-page);
  color: var(--app-text);
  font-family: IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
}

.workspace-app-topbar {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid #262626;
  background: linear-gradient(180deg, #161616 0%, #0f0f0f 100%);
  color: #ffffff;
  padding: 0 20px;
}

.workspace-app-brand,
.workspace-app-tools {
  display: flex;
  align-items: center;
  min-width: 0;
}

.workspace-app-brand {
  gap: 14px;
}

.workspace-app-brand > strong {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
}

.workspace-app-brand > span {
  color: #e0e0e0;
  font-size: 0.92rem;
}

.workspace-app-brand i {
  display: block;
  width: 1px;
  height: 32px;
  margin: 0 10px;
  background: #393939;
}

.workspace-app-title {
  color: #ffffff;
  font-size: 0.98rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.workspace-app-chevron {
  border: 0;
  background: transparent;
  color: #c6c6c6;
  cursor: pointer;
}

.workspace-icon-button {
  display: grid;
  gap: 4px;
  width: 36px;
  border: 0;
  background: transparent;
  padding: 8px;
  cursor: pointer;
}

.workspace-icon-button span {
  display: block;
  height: 2px;
  background: #f4f4f4;
}

.workspace-app-tools {
  gap: 14px;
}

.workspace-search {
  display: flex;
  align-items: center;
  gap: 10px;
  width: min(340px, 28vw);
  min-height: 38px;
  border: 1px solid #393939;
  background: #0b0b0b;
  color: #c6c6c6;
  padding: 0 12px;
}

.workspace-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #f4f4f4;
  font: inherit;
}

.workspace-search input::placeholder {
  color: #8d8d8d;
}

.workspace-top-icon,
.workspace-avatar {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #ffffff;
  text-decoration: none;
}

.workspace-top-icon {
  border: 0;
  background: transparent;
  font-weight: 600;
  cursor: pointer;
}

.workspace-avatar {
  border-radius: 50%;
  background: var(--app-blue);
  font-size: 0.78rem;
  font-weight: 600;
}

.workspace-app-rail {
  position: relative;
  z-index: 30;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 0;
  border-right: 1px solid #262626;
  background: linear-gradient(180deg, #111111 0%, #070707 100%);
  color: #ffffff;
}

.workspace-app-rail nav {
  display: grid;
}

.workspace-rail-item,
.workspace-rail-collapse {
  display: grid;
  justify-items: center;
  gap: 6px;
  border: 0;
  border-left: 3px solid transparent;
  background: transparent;
  color: #f4f4f4;
  padding: 15px 4px;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.workspace-rail-item--workspace,
.workspace-rail-item--intel { --workspace-rail-accent: #0f62fe; }
.workspace-rail-item--buyers { --workspace-rail-accent: #8a3ffc; }
.workspace-rail-item--signals { --workspace-rail-accent: #009d9a; }
.workspace-rail-item--decisions { --workspace-rail-accent: #ee5396; }
.workspace-rail-item--content { --workspace-rail-accent: #6929c4; }
.workspace-rail-item--reports { --workspace-rail-accent: #198038; }
.workspace-rail-item--settings { --workspace-rail-accent: #8d8d8d; }

.workspace-rail-item:hover,
.workspace-rail-item:focus-visible,
.workspace-rail-item--active {
  border-left-color: var(--workspace-rail-accent, var(--app-blue));
  background: color-mix(in srgb, var(--workspace-rail-accent, var(--app-blue)) 24%, #161616);
  outline: 0;
}

.workspace-rail-item:hover > span:first-child,
.workspace-rail-item:focus-visible > span:first-child,
.workspace-rail-item--active > span:first-child {
  color: color-mix(in srgb, var(--workspace-rail-accent, var(--app-blue)) 72%, #ffffff);
}

.workspace-rail-item span,
.workspace-rail-collapse span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: #ffffff;
  font-size: 1rem;
  line-height: 1;
}

.workspace-rail-item strong,
.workspace-rail-collapse strong {
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.1;
}

.workspace-rail-item--described {
  position: relative;
}

.workspace-rail-item .workspace-rail-tooltip {
  display: block;
  position: absolute;
  top: 50%;
  left: calc(100% + 12px);
  z-index: 120;
  width: 244px;
  height: auto;
  place-items: initial;
  transform: translate(-6px, -50%);
  border: 1px solid #525252;
  background: #161616;
  box-shadow: 0 10px 28px rgb(0 0 0 / 0.28);
  color: #f4f4f4;
  padding: 11px 13px;
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.45;
  opacity: 0;
  pointer-events: none;
  text-align: left;
  transition: opacity 140ms ease, transform 140ms ease;
}

.workspace-rail-item .workspace-rail-tooltip::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -6px;
  z-index: 121;
  width: 10px;
  height: 10px;
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 1px solid #525252;
  border-left: 1px solid #525252;
  background: #161616;
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease, transform 140ms ease;
}

.workspace-rail-item--described:hover .workspace-rail-tooltip,
.workspace-rail-item--described:focus-visible .workspace-rail-tooltip {
  transform: translate(0, -50%);
  opacity: 1;
}

.workspace-rail-item--described:hover .workspace-rail-tooltip::before,
.workspace-rail-item--described:focus-visible .workspace-rail-tooltip::before {
  opacity: 1;
}

.workspace-rail-collapse {
  width: 100%;
  border-top: 1px solid #262626;
}

.workspace-app-main {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  min-height: 0;
  overflow: auto;
}

.workspace-app-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid var(--app-border);
  background: #ffffff;
  padding: 28px 20px 28px 24px;
}

.workspace-app-head__title,
.workspace-app-head__actions,
.workspace-title-line,
.workspace-head-meta {
  display: flex;
  align-items: center;
}

.workspace-app-head__title {
  min-width: 0;
  gap: 16px;
}

.workspace-product-mark {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 2px;
  background: linear-gradient(135deg, #0f62fe 0%, #001d6c 100%);
  color: #ffffff;
  font-size: 1.45rem;
  font-weight: 600;
  box-shadow: 0 2px 4px rgb(0 0 0 / 0.16);
}

.workspace-title-line {
  flex-wrap: wrap;
  gap: 12px;
}

.workspace-title-line h1 {
  margin: 0;
  color: var(--app-text);
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
}

.workspace-status-pill {
  border-radius: 999px;
  background: #a7f0ba;
  color: #0e6027;
  padding: 4px 12px;
  font-size: 0.78rem;
  font-weight: 600;
}

.workspace-title-line small,
.workspace-head-meta {
  color: var(--app-muted);
  font-size: 0.82rem;
}

.workspace-head-meta {
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 10px;
}

.workspace-app-head__actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}

.workspace-action-button,
.workspace-square-button,
.workspace-card-action,
.workspace-next-list button {
  min-height: 36px;
  border: 1px solid var(--app-border);
  border-radius: 0;
  background: #ffffff;
  color: var(--app-text);
  padding: 9px 16px;
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.1;
  text-decoration: none;
  cursor: pointer;
}

.workspace-action-button--primary,
.workspace-card-action--primary {
  border-color: var(--app-blue);
  background: var(--app-blue);
  color: #ffffff;
}

.workspace-action-button--primary:hover,
.workspace-card-action--primary:hover {
  background: var(--app-blue-dark);
}

.workspace-square-button {
  display: grid;
  place-items: center;
  width: 48px;
  padding: 0;
  font-size: 1.1rem;
}

.workspace-notification-button {
  position: relative;
  display: grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  height: 36px;
  border: 1px solid var(--app-border);
  background: #ffffff;
  color: var(--app-text);
  cursor: pointer;
}

.workspace-notification-button:hover,
.workspace-notification-button:focus-visible {
  border-color: var(--app-blue);
  color: var(--app-blue);
}

.workspace-notification-button svg {
  width: 21px;
  height: 21px;
  transform-origin: 50% 12%;
}

.workspace-notification-badge {
  position: absolute;
  top: -7px;
  right: -7px;
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  border: 2px solid #ffffff;
  border-radius: 999px;
  background: var(--app-red);
  color: #ffffff;
  padding: 0 4px;
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
}

.workspace-notification-badge[hidden] {
  display: none;
}

.workspace-notification-button.is-nagging svg {
  animation: workspace-notification-nag 2.8s ease-in-out infinite;
}

@keyframes workspace-notification-nag {
  0%, 70%, 100% { transform: rotate(0); }
  75% { transform: rotate(13deg); }
  80% { transform: rotate(-11deg); }
  85% { transform: rotate(8deg); }
  90% { transform: rotate(-5deg); }
  95% { transform: rotate(2deg); }
}

.workspace-app-grid {
  display: grid;
  grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
  min-height: calc(100vh - 154px);
}

.workspace-app-left,
.workspace-app-center {
  min-width: 0;
  padding: 14px;
}

.workspace-app-left {
  display: grid;
  align-content: start;
  gap: 14px;
}

.workspace-app-center {
  border-left: 1px solid var(--app-border);
  background: #f8f8f8;
  padding: 0;
}

.workspace-notification-backdrop {
  position: fixed;
  inset: 60px 0 0 92px;
  z-index: 50;
  border: 0;
  background: rgb(22 22 22 / 0.42);
  opacity: 0;
  cursor: pointer;
  transition: opacity 180ms ease;
}

.workspace-notification-backdrop.is-visible {
  opacity: 1;
}

.workspace-notification-drawer {
  position: fixed;
  top: 60px;
  right: 0;
  bottom: 0;
  z-index: 51;
  display: flex;
  width: min(470px, calc(100vw - 92px));
  flex-direction: column;
  background: #f4f4f4;
  box-shadow: -18px 0 44px rgb(0 0 0 / 0.2);
  transform: translateX(105%);
  transition: transform 200ms cubic-bezier(0.2, 0, 0.38, 0.9);
}

.workspace-notification-drawer.is-open {
  transform: translateX(0);
}

.workspace-notification-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 86px;
  background: #161616;
  color: #ffffff;
  padding: 18px 22px;
}

.workspace-notification-drawer__header p,
.workspace-notification-drawer__header h2,
.workspace-notification-drawer .workspace-app-panel > header p {
  margin: 0;
}

.workspace-notification-drawer__header p,
.workspace-notification-drawer .workspace-app-panel > header p {
  margin-bottom: 4px;
  color: #8d8d8d;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-notification-drawer__header h2 {
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 500;
}

.workspace-notification-drawer__header button {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #525252;
  background: transparent;
  color: #ffffff;
  font-size: 1.55rem;
  cursor: pointer;
}

.workspace-notification-drawer__header button:hover,
.workspace-notification-drawer__header button:focus-visible {
  background: #353535;
}

.workspace-notification-drawer__body {
  display: grid;
  align-content: start;
  gap: 14px;
  overflow-y: auto;
  padding: 16px;
}

.workspace-notification-drawer .workspace-app-panel {
  box-shadow: none;
}

body.workspace-notifications-open {
  overflow: hidden;
}

.workspace-app-panel {
  border: 1px solid var(--app-border);
  background: #ffffff;
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.04);
}

.workspace-app-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--app-border);
  padding: 14px 16px;
}

.workspace-app-panel h2 {
  margin: 0;
  color: var(--app-text);
  font-size: 0.94rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.25;
}

.workspace-app-panel header a,
.workspace-app-panel header button,
.workspace-panel-link {
  border: 0;
  background: transparent;
  color: var(--app-blue);
  font-size: 0.82rem;
  text-decoration: none;
  cursor: pointer;
}

.workspace-product-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  padding: 16px;
}

.workspace-product-logo {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  background: #0f62fe;
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 700;
}

.workspace-product-card strong,
.workspace-persona-list strong,
.workspace-signal-list strong,
.workspace-activity-list strong,
.workspace-missing-list strong,
.workspace-next-list strong {
  color: var(--app-text);
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.25;
}

.workspace-product-card p,
.workspace-persona-list p,
.workspace-next-list p {
  margin: 3px 0 0;
  color: var(--app-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.workspace-context-dl {
  display: grid;
  gap: 9px;
  margin: 0 16px;
  border-bottom: 1px solid var(--app-border);
  padding-bottom: 14px;
}

.workspace-context-dl div {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  gap: 10px;
}

.workspace-context-dl dt {
  color: var(--app-muted);
  font-size: 0.82rem;
}

.workspace-context-dl dd {
  margin: 0;
  color: var(--app-text);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.35;
}

.workspace-panel-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
}

.workspace-persona-list,
.workspace-signal-list,
.workspace-activity-list,
.workspace-missing-list,
.workspace-next-list {
  display: grid;
}

.workspace-persona-list article,
.workspace-signal-list article,
.workspace-activity-list article,
.workspace-next-list article {
  display: grid;
  align-items: center;
  border-bottom: 1px solid #eeeeee;
  padding: 10px 16px;
}

.workspace-persona-list article {
  grid-template-columns: 34px minmax(0, 1fr) 56px 10px;
  gap: 10px;
}

.workspace-persona-initial {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 2px;
  color: #0f3b69;
  font-weight: 600;
}

.workspace-persona-initial--green {
  background: #d9fbe5;
}

.workspace-persona-initial--yellow {
  background: #e5f6ff;
}

.workspace-persona-initial--red {
  background: #ffd7d9;
}

.workspace-persona-list p,
.workspace-signal-list small,
.workspace-activity-list small {
  color: var(--app-muted);
  font-size: 0.78rem;
}

.workspace-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}

.workspace-dot--green {
  background: var(--app-green);
}

.workspace-dot--yellow {
  background: var(--app-yellow);
}

.workspace-dot--red {
  background: var(--app-red);
}

.workspace-signal-list article {
  grid-template-columns: 24px minmax(0, 1fr) auto auto;
  gap: 10px;
}

.workspace-signal-list em {
  border-radius: 999px;
  background: #d9fbe5;
  color: #0e6027;
  padding: 4px 8px;
  font-size: 0.72rem;
  font-style: normal;
}

.workspace-signal-list article:nth-child(2) em {
  background: #fcf4d6;
  color: #684e00;
}

.workspace-notification-empty { padding: 22px 16px; }
.workspace-notification-empty strong { color: #161616; display: block; font-size: 12px; }
.workspace-notification-empty p { color: #6f6f6f; font-size: 11px; margin: 5px 0 0; }

.workspace-flow-progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 30px 12px;
}

.workspace-flow-progress > strong {
  font-size: 0.88rem;
}

.workspace-flow-progress div {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--app-muted);
  font-size: 0.82rem;
}

.workspace-flow-progress i {
  display: block;
  width: 138px;
  height: 7px;
  background: #e0e0e0;
}

.workspace-flow-progress b {
  display: block;
  width: var(--workspace-progress, 0%);
  height: 100%;
  background: var(--app-blue);
}

.workspace-priority-flow {
  position: relative;
  display: grid;
  gap: 16px;
  padding: 8px 24px 24px 60px;
}

.workspace-priority-flow::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 24px;
  left: 34px;
  width: 1px;
  background: #c6c6c6;
}

.workspace-flow-card {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 78px 92px 28px;
  gap: 18px;
  align-items: center;
  min-height: 104px;
  border: 1px solid var(--app-border);
  background: #ffffff;
  padding: 18px 12px 18px 28px;
}

.workspace-flow-card--selected {
  border: 2px solid var(--app-blue);
  box-shadow: 0 0 0 1px rgb(15 98 254 / 0.1);
}

.workspace-flow-node {
  position: absolute;
  left: -48px;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--app-blue);
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 600;
}

.workspace-flow-card-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--app-border);
  background: #ffffff;
}

.workspace-flow-card-icon::before,
.workspace-next-icon::before {
  color: var(--app-text);
  font-size: 1.25rem;
}

.workspace-flow-card-icon--document::before,
.workspace-next-icon--document::before {
  content: "▤";
}

.workspace-flow-card-icon--buyers::before,
.workspace-next-icon--buyers::before {
  content: "♙";
}

.workspace-flow-card-icon--message::before {
  content: "▱";
}

.workspace-flow-card-icon--signal::before {
  content: "⌁";
}

.workspace-flow-card-icon--packet::before {
  content: "□";
}

.workspace-next-icon--chart::before {
  content: "⌁";
}

.workspace-flow-card-copy h3 {
  margin: 0;
  color: var(--app-text);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
}

.workspace-flow-card-copy p,
.workspace-flow-card-copy small {
  display: block;
  max-width: 560px;
  color: var(--app-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.workspace-flow-card-copy p {
  margin: 6px 0 0;
}

.workspace-flow-card-copy small {
  margin-top: 9px;
}

.workspace-flow-card-score strong {
  display: block;
  color: var(--app-text);
  font-size: 1rem;
}

.workspace-flow-card-score span {
  color: var(--app-muted);
  font-size: 0.72rem;
}

.workspace-card-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 90px;
  text-align: center;
}

.workspace-card-menu {
  border: 0;
  background: transparent;
  color: var(--app-text);
  font-size: 1.2rem;
  cursor: pointer;
}

.workspace-impact-lock {
  display: grid;
  grid-template-columns: minmax(20px, 1fr) auto minmax(20px, 1fr);
  gap: 16px;
  align-items: center;
  padding: 4px 40px 34px;
  color: var(--app-muted);
}

.workspace-impact-lock span {
  height: 1px;
  background: var(--app-border);
}

.workspace-impact-lock p {
  margin: 0;
  font-size: 0.82rem;
}

.workspace-activity-panel nav {
  display: flex;
  gap: 24px;
  border-bottom: 1px solid var(--app-border);
  padding: 0 16px;
}

.workspace-activity-panel nav a,
.workspace-activity-panel nav button {
  border-bottom: 2px solid transparent;
  border-top: 0;
  border-right: 0;
  border-left: 0;
  background: transparent;
  color: var(--app-text);
  padding: 11px 0 9px;
  font: inherit;
  font-size: 0.82rem;
  text-decoration: none;
  cursor: pointer;
}

.workspace-activity-panel nav a.active {
  border-bottom-color: var(--app-blue);
}

.workspace-activity-list article {
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 10px;
}

.workspace-activity-list span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #8a3ffc;
  color: #ffffff;
  font-size: 0.68rem;
  font-weight: 600;
}

.workspace-activity-list article:nth-child(2) span,
.workspace-activity-list article:nth-child(3) span {
  background: var(--app-blue);
}

.workspace-activity-list article:nth-child(4) span {
  background: #6929c4;
}

.workspace-activity-list article:nth-child(5) span {
  background: #009d9a;
}

.workspace-missing-panel h2 span {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  margin-left: 8px;
  border-radius: 50%;
  background: #ffd7d9;
  color: var(--app-red);
  font-size: 0.78rem;
}

.workspace-missing-list a {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 9px 16px;
  color: var(--app-text);
  text-decoration: none;
}

.workspace-missing-list a:hover {
  background: #edf5ff;
}

.workspace-missing-list span {
  color: var(--app-red);
}

.workspace-next-panel header {
  align-items: start;
}

.workspace-next-panel header p {
  margin: 3px 0 0;
  color: var(--app-muted);
  font-size: 0.78rem;
}

.workspace-next-list article {
  grid-template-columns: 42px minmax(0, 1fr) 58px;
  gap: 12px;
}

.workspace-next-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  background: #edf5ff;
}

.workspace-next-list button {
  min-width: 54px;
  padding: 8px 12px;
}

.workspace-panel-future-link {
  border: 0;
  background: transparent;
  color: var(--app-blue);
  font: inherit;
  font-size: 0.82rem;
  cursor: help;
}

.workspace-next-action-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border: 1px solid var(--app-border);
  background: #ffffff;
  color: var(--app-text);
  padding: 7px 10px;
  font-size: 0.78rem;
  font-weight: 500;
  text-decoration: none;
}

.workspace-next-action-link:hover {
  border-color: var(--app-blue);
  color: var(--app-blue);
}

.workspace-ready-row {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 12px 16px;
  color: var(--app-text);
}

.workspace-ready-row span {
  color: var(--app-green);
}

.workspace-future-inline {
  color: var(--app-muted);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
}

.workspace-future-feature {
  position: relative;
  cursor: help;
}

.workspace-future-feature:not(.workspace-rail-item--active) {
  opacity: 0.72;
}

.workspace-future-feature::after {
  content: attr(data-future-feature);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  z-index: 100;
  min-width: max-content;
  max-width: 12rem;
  transform: translateX(-50%) translateY(4px);
  border: 1px solid #262626;
  background: #161616;
  color: #ffffff;
  padding: 6px 8px;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease, transform 120ms ease;
  white-space: nowrap;
}

.workspace-future-feature::before {
  content: "";
  position: absolute;
  bottom: calc(100% + 3px);
  left: 50%;
  z-index: 101;
  width: 8px;
  height: 8px;
  transform: translateX(-50%) rotate(45deg);
  background: #161616;
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease;
}

.workspace-future-feature:hover::after,
.workspace-future-feature:focus-visible::after,
.workspace-future-feature:hover::before,
.workspace-future-feature:focus-visible::before {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.workspace-future-feature:hover::before,
.workspace-future-feature:focus-visible::before {
  transform: translateX(-50%) rotate(45deg);
}

.workspace-rail-item.workspace-future-feature::after,
.workspace-rail-collapse.workspace-future-feature::after {
  top: 50%;
  bottom: auto;
  left: calc(100% + 10px);
  transform: translateY(-50%) translateX(-4px);
}

.workspace-rail-item.workspace-future-feature::before,
.workspace-rail-collapse.workspace-future-feature::before {
  top: 50%;
  bottom: auto;
  left: calc(100% + 5px);
  transform: translateY(-50%) rotate(45deg);
}

.workspace-rail-item.workspace-future-feature:hover::after,
.workspace-rail-item.workspace-future-feature:focus-visible::after,
.workspace-rail-collapse.workspace-future-feature:hover::after,
.workspace-rail-collapse.workspace-future-feature:focus-visible::after {
  transform: translateY(-50%) translateX(0);
}

@media (max-width: 1050px) {
  .workspace-app-frame {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .workspace-app-topbar {
    gap: 12px;
  }

  .workspace-app-title,
  .workspace-app-chevron,
  .workspace-search {
    display: none;
  }

  .workspace-app-head,
  .workspace-flow-progress {
    align-items: stretch;
    flex-direction: column;
  }

  .workspace-app-head__actions {
    justify-content: flex-start;
  }

  .workspace-app-grid {
    grid-template-columns: 1fr;
  }

  .workspace-app-center {
    border-right: 0;
    border-left: 0;
  }

  .workspace-flow-card {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .workspace-flow-card-score,
  .workspace-card-action,
  .workspace-card-menu {
    grid-column: 2;
  }

  .workspace-card-action {
    width: 100%;
  }

  .workspace-os-hero,
  .workspace-os-form-hero,
  .workspace-os-pagehead,
  .workspace-active-board,
  .workspace-workbench,
  .workspace-company-board,
  .workspace-os-row,
  .workspace-os-form-section--decision {
    grid-template-columns: 1fr;
  }

  .workspace-command-header,
  .workspace-command-layout,
  .workspace-command-layout--project {
    grid-template-columns: 1fr;
  }

  .workspace-os-field-grid,
  .workspace-os-field-grid--wide,
  .workspace-company-connect-grid,
  .workspace-detail-grid,
  .workspace-resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workspace-form-wide {
    grid-column: span 2;
  }
}

@media (min-width: 821px) and (max-width: 1050px) {
  .workspace-app-grid {
    grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
  }

  .workspace-app-center {
    border-left: 1px solid var(--app-border);
  }
}

@media (max-width: 700px) {
  .workspace-app-frame {
    display: block;
  }

  .workspace-app-topbar {
    position: sticky;
    top: 0;
    z-index: 20;
  }

  .workspace-app-rail {
    position: sticky;
    top: 60px;
    z-index: 19;
    display: block;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid #262626;
  }

  .workspace-app-rail nav {
    display: flex;
    min-width: max-content;
  }

  .workspace-rail-item {
    width: 76px;
    border-left: 0;
    border-bottom: 3px solid transparent;
  }

  .workspace-rail-item--active {
    border-bottom-color: var(--app-blue);
  }

  .workspace-rail-collapse {
    display: none;
  }

  .workspace-app-head {
    padding: 20px 16px;
  }

  .workspace-title-line,
  .workspace-head-meta,
  .workspace-app-head__actions {
    display: grid;
  }

  .workspace-product-mark {
    width: 44px;
    height: 44px;
  }

  .workspace-app-left {
    padding: 12px;
  }

  .workspace-notification-backdrop {
    inset: 60px 0 0;
  }

  .workspace-notification-drawer {
    width: min(100%, 430px);
  }

  .workspace-priority-flow {
    padding: 8px 12px 20px 44px;
  }

  .workspace-priority-flow::before {
    left: 24px;
  }

  .workspace-flow-node {
    left: -36px;
  }

  .workspace-flow-progress {
    padding: 18px 16px 10px;
  }

  .workspace-rail-item .workspace-rail-tooltip {
    display: none;
  }

  .workspace-os-shell {
    padding: 24px 16px 48px;
  }

  .workspace-os-hero,
  .workspace-os-form-hero,
  .workspace-os-pagehead,
  .workspace-os-empty {
    padding: 28px;
  }

  .workspace-os-field-grid,
  .workspace-os-field-grid--wide,
  .workspace-company-connect-grid,
  .workspace-detail-grid,
  .workspace-os-metrics {
    grid-template-columns: 1fr;
  }

  .workspace-form-wide {
    grid-column: span 1;
  }

  .workspace-os-form-submit,
  .workspace-form-section-head,
  .workspace-os-actions,
  .workspace-command-actions,
  .workspace-active-header,
  .workspace-index-header {
    align-items: stretch;
    flex-direction: column;
  }

  .workspace-os-button {
    width: 100%;
  }

  .workspace-active-cta {
    align-items: stretch;
    flex-direction: column;
  }

  .workspace-company-empty {
    align-items: stretch;
    flex-direction: column;
  }

  .workspace-resource-grid {
    grid-template-columns: 1fr;
  }

  .workspace-action-row,
  .workspace-os-row--simple,
  .workspace-flow-step,
  .workspace-signal-panel div {
    grid-template-columns: 1fr;
  }

  .workspace-command-actions {
    display: grid;
  }

  .workspace-step-action {
    width: 100%;
  }

  .workspace-signal-panel strong {
    grid-row: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .workspace-notification-button.is-nagging svg {
    animation: none;
  }

  .workspace-notification-backdrop,
  .workspace-notification-drawer {
    transition: none;
  }
}

.workspace-onboarding-shell {
  max-width: 1360px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.onboarding-live {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  position: relative;
}

.onboarding-progress,
.onboarding-card {
  border: 1px solid var(--os-line);
  background: #ffffff;
}

.onboarding-progress {
  position: sticky;
  top: 92px;
  padding: 18px;
}

.onboarding-progress ol {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.onboarding-step-button {
  display: grid;
  width: 100%;
  min-height: 48px;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border: 1px solid transparent;
  background: transparent;
  padding: 8px;
  color: var(--os-muted);
  text-align: left;
}

.onboarding-step-button:hover,
.onboarding-step-button[aria-current] {
  border-color: var(--os-line);
  background: #f4f4f4;
  color: var(--os-ink);
}

.onboarding-step-button span {
  display: grid;
  height: 28px;
  width: 28px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
}

.onboarding-step-button.is-complete span {
  border-color: #198038;
  background: #198038;
  color: #ffffff;
}

.onboarding-step-button strong {
  font-size: 0.95rem;
  font-weight: 600;
}

.onboarding-card {
  min-height: 650px;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}

.onboarding-panel {
  padding: 38px;
}

.onboarding-panel header {
  max-width: 760px;
  border-bottom: 1px solid var(--os-line);
  padding-bottom: 24px;
}

.onboarding-panel header h1 {
  margin: 12px 0 0;
  font-size: clamp(2.2rem, 5vw, 4.1rem);
  font-weight: 500;
  line-height: 1.02;
}

.onboarding-panel header p:not(.workspace-os-kicker) {
  margin-top: 14px;
  color: var(--os-muted);
  font-size: 1.08rem;
  line-height: 1.55;
}

.onboarding-panel header > span {
  display: inline-flex;
  margin-top: 18px;
  border: 1px solid #a6c8ff;
  background: #edf5ff;
  padding: 7px 10px;
  color: #0043ce;
  font-size: 0.84rem;
  font-weight: 600;
}

.onboarding-fields {
  display: grid;
  gap: 18px;
  margin-top: 30px;
}

.onboarding-fields.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.onboarding-fields.compact {
  margin-top: 0;
}

.onboarding-fields label,
.onboarding-decision {
  display: grid;
  gap: 8px;
}

.onboarding-fields .wide {
  grid-column: 1 / -1;
}

.onboarding-fields label span,
.onboarding-decision span {
  color: var(--os-muted);
  font-size: 0.86rem;
  font-weight: 600;
}

.onboarding-fields input,
.onboarding-fields textarea,
.onboarding-decision input {
  width: 100%;
  border: 1px solid #8d8d8d;
  border-radius: 0;
  background: #ffffff;
  padding: 13px 14px;
  color: var(--os-ink);
  font: inherit;
  line-height: 1.45;
}

.onboarding-fields textarea {
  resize: vertical;
}

.onboarding-fields input:focus,
.onboarding-fields textarea:focus,
.onboarding-decision input:focus {
  border-color: var(--os-blue);
  outline: 2px solid #d0e2ff;
}

.assistant-brief-card span {
  color: var(--os-blue);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.field-label {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  max-width: 100%;
}

.field-tooltip {
  position: relative;
  display: inline-grid !important;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid #8d8d8d;
  border-radius: 999px;
  color: var(--os-muted) !important;
  background: #ffffff;
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
  cursor: help;
}

.field-tooltip::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  z-index: 20;
  width: min(260px, 70vw);
  opacity: 0;
  transform: translate(-50%, 6px);
  border: 1px solid #393939;
  background: #161616;
  color: #ffffff;
  padding: 10px 12px;
  font-family: IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.35;
  pointer-events: none;
  text-transform: none;
  transition: opacity 140ms ease, transform 140ms ease;
}

.field-tooltip:hover::after,
.field-tooltip:focus-visible::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.intent-radio .field-label,
.persona-selection-lanes .field-label,
.assistant-brief-card .field-label {
  display: inline-flex !important;
}

.assistant-brief-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 30px;
}

.assistant-brief-card {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 210px;
  border: 1px solid var(--os-line);
  border-top: 4px solid var(--os-blue);
  background: #ffffff;
  padding: 18px;
}

.assistant-brief-card--product {
  min-height: auto;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.assistant-brief-card--wide {
  grid-column: 1 / -1;
  min-height: 170px;
  border-top-color: #24a148;
}

.assistant-brief-card input,
.assistant-brief-card textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #8d8d8d;
  border-radius: 0;
  background: #f4f4f4;
  padding: 13px 14px;
  color: var(--os-ink);
  font: inherit;
  line-height: 1.45;
}

.assistant-brief-card input {
  min-height: 48px;
  font-size: 1.3rem;
  font-weight: 500;
}

.assistant-brief-card textarea {
  resize: vertical;
}

.assistant-brief-card input:focus,
.assistant-brief-card textarea:focus {
  outline: 2px solid #d0e2ff;
  border-color: var(--os-blue);
}

.persona-picker-grid {
  display: grid;
  grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.2fr);
  gap: 22px;
  margin-top: 30px;
}

.persona-pick-list,
.persona-target-grid {
  display: grid;
  gap: 12px;
}

.persona-target-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.persona-pick-list article,
.persona-radio,
.intent-radio,
.onboarding-results article {
  border: 1px solid var(--os-line);
  background: #ffffff;
  padding: 16px;
}

.persona-pick-list article span,
.intent-radio span,
.onboarding-results article span {
  display: block;
  color: var(--os-blue);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.74rem;
  font-weight: 600;
  text-transform: uppercase;
}

.persona-pick-list article strong,
.persona-radio span {
  display: block;
  margin-top: 6px;
  font-size: 1rem;
  font-weight: 600;
}

.persona-pick-list article p,
.persona-radio small {
  display: block;
  margin-top: 6px;
  color: var(--os-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.persona-radio {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin-top: 12px;
  cursor: pointer;
}

.persona-radio input,
.intent-radio input {
  accent-color: var(--os-blue);
}

.persona-radio:has(input:checked),
.intent-radio:has(input:checked) {
  border-color: var(--os-blue);
  background: #edf5ff;
}

.persona-board {
  display: grid;
  gap: 16px;
  margin-top: 28px;
}

.persona-board-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  gap: 18px;
  align-items: end;
}

.persona-board-head h2 {
  margin: 6px 0 0;
  max-width: 560px;
  color: var(--os-ink);
  font-size: 1.55rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.16;
}

.persona-board-head p:not(.workspace-os-kicker) {
  margin: 0;
  color: var(--os-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.persona-selection-lanes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 4px;
  background: var(--os-line);
  border: 1px solid var(--os-line);
}

.persona-selection-lanes section {
  min-height: 128px;
  display: grid;
  align-content: space-between;
  gap: 12px;
  padding: 18px;
  background: #f4f4f4;
  outline: 1px dashed transparent;
  outline-offset: -6px;
  transition: background-color 140ms ease, outline-color 140ms ease;
}

.persona-selection-lanes section.is-over {
  background: #edf5ff;
  outline-color: var(--os-blue);
}

.persona-selection-lanes span {
  color: var(--os-blue);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.persona-selection-lanes strong {
  color: var(--os-ink);
  font-size: clamp(1.35rem, 3vw, 2.1rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.08;
}

.persona-selection-lanes p {
  margin: 0;
  color: var(--os-muted);
  font-size: 0.84rem;
  line-height: 1.35;
}

.persona-selection-lanes small {
  color: var(--os-muted);
  font-size: 0.78rem;
  font-weight: 600;
}

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

.persona-match-loading,
.persona-match-error {
  margin: 0;
  border: 1px solid var(--os-line);
  background: #f4f4f4;
  padding: 14px 16px;
  color: var(--os-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.persona-match-loading {
  border-left: 4px solid var(--os-blue);
}

.persona-match-error {
  border-left: 4px solid #da1e28;
  color: #a2191f;
}

.persona-candidate-card {
  position: relative;
  min-height: 168px;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--os-line);
  border-left: 4px solid var(--os-blue);
  background: #ffffff;
  cursor: grab;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.persona-candidate-card[data-persona-tone="1"] {
  border-left-color: #24a148;
}

.persona-candidate-card[data-persona-tone="2"] {
  border-left-color: #f1c21b;
}

.persona-candidate-card[data-persona-tone="3"] {
  border-left-color: #8a3ffc;
}

.persona-card-copy {
  display: grid;
  align-content: start;
  gap: 8px;
}

.persona-card-copy span {
  color: var(--os-blue);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.persona-card-copy strong {
  color: var(--os-ink);
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.25;
}

.persona-card-copy small {
  color: var(--os-muted);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.72rem;
}

.persona-card-copy p {
  margin: 0;
  color: var(--os-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.persona-candidate-card:hover {
  border-color: #8d8d8d;
  transform: translateY(-1px);
}

.persona-candidate-card:focus-visible {
  outline: 2px solid var(--os-blue);
  outline-offset: 2px;
}

.persona-candidate-card.is-dragging {
  opacity: 0.54;
  cursor: grabbing;
}

.persona-candidate-card.is-buyer-persona,
.persona-candidate-card.is-user-persona {
  border-color: var(--os-blue);
  box-shadow: 0 12px 28px rgba(15, 98, 254, 0.11);
}

.persona-candidate-card.is-buyer-persona::after,
.persona-candidate-card.is-user-persona::after {
  position: absolute;
  right: 14px;
  bottom: 12px;
  color: var(--os-blue);
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.persona-candidate-card.is-buyer-persona::after {
  content: "Buyer";
}

.persona-candidate-card.is-user-persona::after {
  content: "User";
}

.persona-candidate-card.is-buyer-persona.is-user-persona::after {
  content: "Buyer + user";
}

.intent-picker-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 30px;
}

.intent-radio {
  min-height: 172px;
  display: grid;
  align-content: space-between;
  gap: 18px;
  cursor: pointer;
}

.intent-radio strong {
  font-size: 1.2rem;
  line-height: 1.25;
}

.onboarding-decision {
  margin-top: 22px;
}

.onboarding-template-note {
  margin-top: 22px;
  border-left: 4px solid var(--os-blue);
  background: #edf5ff;
  padding: 16px 18px;
}

.onboarding-template-note strong,
.onboarding-template-note p {
  display: block;
  margin: 0;
}

.onboarding-template-note p {
  margin-top: 6px;
  color: var(--os-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.onboarding-go-stage {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 22px;
  color: var(--os-muted);
  font-weight: 700;
}

.onboarding-go-stage span:nth-child(2),
.onboarding-go-button span {
  color: var(--os-blue);
  font-size: 1.5rem;
  animation: onboarding-arrow 900ms ease-in-out infinite;
}

.onboarding-go-button {
  min-width: 8.5rem;
  box-shadow: 0 16px 38px rgba(15, 98, 254, 0.24);
}

.onboarding-run {
  min-height: 320px;
  display: grid;
  place-items: center;
  position: relative;
  margin-top: 30px;
  overflow: hidden;
  border: 1px solid var(--os-line);
  background: #ffffff;
  text-align: center;
}

.onboarding-run h2 {
  max-width: 520px;
  margin: 12px auto 0;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.12;
}

.onboarding-run > div:last-child {
  position: relative;
  z-index: 1;
  padding: 24px;
}

.onboarding-run > div:last-child > p:last-child {
  margin: 14px auto 0;
  color: var(--os-muted);
  font-size: 0.88rem;
}

.onboarding-run .run-orbit {
  position: absolute;
  width: 15rem;
  aspect-ratio: 1;
  border: 1px solid rgba(15, 98, 254, 0.22);
  border-radius: 999px;
  animation: onboarding-orbit 2.4s linear infinite;
}

.onboarding-run .run-orbit::after {
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--os-blue);
}

.onboarding-results {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 30px;
}

.onboarding-results article {
  position: relative;
  min-height: 230px;
  outline: none;
}

.onboarding-results article strong {
  display: block;
  margin-top: 14px;
  font-size: 3.5rem;
  font-weight: 500;
  line-height: 1;
}

.onboarding-results article:nth-child(2) strong {
  font-size: 1.6rem;
  line-height: 1.15;
}

.onboarding-results article p {
  margin-top: 12px;
  color: var(--os-muted);
  line-height: 1.5;
}

.result-explainer {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  opacity: 0;
  transform: translateY(8px);
  border: 1px solid #a6c8ff;
  background: #edf5ff;
  padding: 12px;
  color: #161616;
  font-size: 0.85rem;
  line-height: 1.4;
  pointer-events: none;
  transition: opacity 160ms ease, transform 160ms ease;
}

.onboarding-results article:hover .result-explainer,
.onboarding-results article:focus-visible .result-explainer {
  opacity: 1;
  transform: translateY(0);
}

.onboarding-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  border-top: 1px solid var(--os-line);
  padding: 18px;
}

.onboarding-guide-drawer {
  position: fixed;
  top: 96px;
  right: 0;
  z-index: 45;
  width: min(420px, calc(100vw - 24px));
  border: 1px solid var(--os-line);
  border-right: 0;
  background: #ffffff;
  box-shadow: 0 20px 50px rgba(22, 22, 22, 0.14);
}

.onboarding-guide-drawer:not([open]) {
  width: auto;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

.onboarding-guide-drawer summary {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--os-ink);
  background: var(--os-ink);
  color: #ffffff;
  padding: 0 16px;
  font-family: IBM Plex Mono, IBM Plex Sans, Helvetica Neue, Arial, sans-serif;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
}

.onboarding-guide-drawer > div {
  padding: 24px;
}

.onboarding-guide-drawer h2 {
  margin: 12px 0 0;
  font-size: 1.6rem;
  font-weight: 500;
}

.onboarding-guide-drawer p {
  margin-top: 12px;
  color: var(--os-muted);
  line-height: 1.55;
}

.guide-video-placeholder {
  display: grid;
  min-height: 180px;
  place-items: center;
  margin-top: 22px;
  border: 1px dashed #8d8d8d;
  background: #f4f4f4;
  color: var(--os-muted);
  font-weight: 600;
}

.guide-docs {
  display: grid;
  gap: 1px;
  margin-top: 18px;
  background: var(--os-line);
}

.guide-docs p {
  margin: 0;
  background: #ffffff;
  padding: 12px;
}

@keyframes onboarding-arrow {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(6px);
  }
}

@keyframes onboarding-orbit {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 1100px) {
  .onboarding-live {
    grid-template-columns: 1fr;
  }

  .onboarding-progress,
  .onboarding-card {
    position: static;
  }

  .onboarding-progress ol {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {
  .onboarding-panel {
    padding: 26px;
  }

  .onboarding-fields.two,
  .assistant-brief-board,
  .assistant-brief-card--product,
  .persona-picker-grid,
  .persona-target-grid,
  .persona-board-head,
  .persona-selection-lanes,
  .persona-card-grid,
  .intent-picker-grid,
  .onboarding-results {
    grid-template-columns: 1fr;
  }

  .onboarding-progress ol {
    grid-template-columns: 1fr;
  }

  .onboarding-footer {
    flex-direction: column;
  }
}

/* Workspace OS section hubs */
.workspace-app-main--section {
  min-width: 0;
  overflow-x: hidden;
  padding: 0;
}

.workspace-section-page {
  --workspace-section-accent: #0f62fe;
  min-height: calc(100vh - 60px);
  background: #f4f4f4;
  color: #161616;
  padding: 0;
}

.workspace-section-page--buyers { --workspace-section-accent: #8a3ffc; }
.workspace-section-page--signals { --workspace-section-accent: #009d9a; }
.workspace-section-page--content { --workspace-section-accent: #6929c4; }
.workspace-section-page--reports { --workspace-section-accent: #198038; }
.workspace-section-page--settings { --workspace-section-accent: #525252; }

.workspace-section-page--decisions { --workspace-section-accent: #ee5396; }

.workspace-section-body {
  padding: 20px;
}

.workspace-section-hero {
  margin: 0;
  min-height: 106px;
}

.workspace-product-mark--section {
  background: linear-gradient(135deg, var(--workspace-section-accent) 0%, #161616 130%);
}

.workspace-section-page--buyers .workspace-status-pill { background: #e8daff; color: #5d0f9e; }
.workspace-section-page--signals .workspace-status-pill { background: #d9fbfb; color: #005d5d; }
.workspace-section-page--content .workspace-status-pill { background: #e8daff; color: #491d8b; }
.workspace-section-page--reports .workspace-status-pill { background: #d9fbe5; color: #0e6027; }
.workspace-section-page--settings .workspace-status-pill { background: #e0e0e0; color: #393939; }

.workspace-section-head-meta {
  gap: 18px;
}

.workspace-section-head-meta span:first-child {
  max-width: 720px;
}

.workspace-section-panel > header span,
.workspace-content-launcher > span {
  color: #0f62fe;
  display: block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.workspace-section-hero__actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

.workspace-readiness {
  position: relative;
  z-index: 42;
}

.workspace-readiness summary {
  align-items: center;
  background: #161616;
  border: 1px solid #161616;
  color: #fff;
  cursor: pointer;
  display: flex;
  gap: 12px;
  min-height: 40px;
  padding: 0 12px;
  list-style: none;
}

.workspace-readiness summary::-webkit-details-marker { display: none; }
.workspace-readiness summary span { color: #c6c6c6; font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; }
.workspace-readiness summary strong { color: #fff; font-size: 15px; }
.workspace-readiness[open] summary,
.workspace-readiness summary:hover { background: #262626; }

.workspace-readiness__popover {
  background: #fff;
  border: 1px solid #8d8d8d;
  box-shadow: 0 18px 48px rgb(0 0 0 / 0.2);
  min-width: 360px;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
}

.workspace-readiness__popover > header { align-items: center; background: #f4f4f4; border-bottom: 1px solid #c6c6c6; display: flex; justify-content: space-between; padding: 13px 14px; }
.workspace-readiness__popover > header span { color: #161616; font-family: "IBM Plex Mono", monospace; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.workspace-readiness__popover > header strong { color: #525252; font-size: 10px; text-transform: uppercase; }
.workspace-readiness__popover > a { align-items: center; border-bottom: 1px solid #e0e0e0; color: #161616; display: grid; gap: 10px; grid-template-columns: 8px minmax(0, 1fr) auto; padding: 12px 14px; }
.workspace-readiness__popover > a > span { background: #f1c21b; height: 8px; width: 8px; }
.workspace-readiness__popover > a p { margin: 0; }
.workspace-readiness__popover > a strong { display: block; font-size: 12px; }
.workspace-readiness__popover > a small { color: #6f6f6f; display: block; font-size: 10px; line-height: 1.4; margin-top: 3px; }
.workspace-readiness__popover > a b { color: #0f62fe; font-weight: 400; }
.workspace-readiness__popover > a:hover { background: #edf5ff; }
.workspace-readiness__complete { color: #198038; font-size: 12px; margin: 0; padding: 20px; }

.workspace-license-badge {
  align-items: center;
  background: #e8daff;
  border: 1px solid #8a3ffc;
  color: #491d8b;
  display: inline-flex;
  font-size: 10px;
  font-weight: 700;
  min-height: 40px;
  padding: 0 12px;
  text-transform: uppercase;
}

.workspace-rail-license { color: #a56eff; display: block; font-family: "IBM Plex Mono", monospace; font-size: 7px; letter-spacing: .05em; margin-top: 3px; text-transform: uppercase; }

.workspace-panel-text-button {
  background: transparent;
  border: 0;
  color: #0f62fe;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  margin-top: 14px;
  padding: 0;
}

.workspace-competitor-list article {
  align-items: center;
  border-bottom: 1px solid #e0e0e0;
  display: grid;
  gap: 16px;
  grid-template-columns: 42px minmax(0, 1fr) auto 62px;
  min-height: 76px;
  padding: 12px 18px;
}

.workspace-competitor-rank { align-items: center; background: #161616; color: #fff; display: flex; font-family: "IBM Plex Mono", monospace; font-size: 10px; height: 34px; justify-content: center; width: 34px; }
.workspace-competitor-list article > span:nth-child(2) strong { display: block; font-size: 14px; }
.workspace-competitor-list article > span:nth-child(2) small { color: #6f6f6f; display: block; font-size: 11px; margin-top: 4px; }
.workspace-competitor-list article em { background: #edf5ff; color: #0043ce; font-size: 9px; font-style: normal; font-weight: 600; padding: 5px 7px; text-transform: uppercase; }
.workspace-competitor-list article b { color: #198038; font-size: 11px; text-align: right; }
.workspace-competitor-empty { min-height: 430px; }
.workspace-competitor-empty button.workspace-section-button { margin-top: auto; width: auto; }

.workspace-intel-progress__intro { color: #525252; font-size: 12px; line-height: 1.55; margin: 0; padding: 18px; }
.workspace-intel-progress ol { list-style: none; margin: 0; padding: 0; }
.workspace-intel-progress li { align-items: center; border-top: 1px solid #e0e0e0; display: grid; gap: 10px; grid-template-columns: 38px minmax(0, 1fr) auto; min-height: 74px; padding: 10px 14px; }
.workspace-intel-progress li > span { align-items: center; background: #f1c21b; color: #161616; display: flex; font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 700; height: 30px; justify-content: center; width: 30px; }
.workspace-intel-progress li.is-complete > span { background: #a7f0ba; color: #0e6027; }
.workspace-intel-progress li p { margin: 0; }
.workspace-intel-progress li strong { display: block; font-size: 12px; }
.workspace-intel-progress li small { color: #6f6f6f; display: block; font-size: 10px; line-height: 1.35; margin-top: 3px; }
.workspace-intel-progress li > a { color: #0f62fe; font-size: 10px; font-weight: 600; }

.workspace-intel-foundations { display: grid; gap: 16px; grid-template-columns: minmax(0, 2.2fr) minmax(280px, .7fr); margin-top: 16px; }
.workspace-foundation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-foundation-grid article { border-bottom: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0; min-height: 142px; padding: 18px; }
.workspace-foundation-grid article:nth-child(even) { border-right: 0; }
.workspace-foundation-grid article > span { color: #0f62fe; font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.workspace-foundation-grid article p { color: #393939; font-size: 13px; line-height: 1.55; margin: 16px 0 0; }
.workspace-market-evidence-card > p { color: #525252; font-size: 13px; line-height: 1.6; margin: 0; padding: 22px; }
.workspace-module-preview { background: #f4f4f4; border-top: 1px solid #e0e0e0; color: #525252; display: block; font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: .08em; margin-top: 20px; padding: 16px 22px; text-transform: uppercase; }

.workspace-signal-roadmap__intro { align-items: end; background: #161616; color: #fff; display: grid; gap: 48px; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .75fr); padding: 34px; }
.workspace-signal-roadmap__intro .workspace-os-kicker { color: #78a9ff; margin: 0 0 12px; }
.workspace-signal-roadmap__intro h3 { color: #fff; font-size: clamp(28px, 3vw, 46px); font-weight: 300; letter-spacing: -.045em; line-height: 1.02; margin: 0; max-width: 720px; }
.workspace-signal-roadmap__intro > p { color: #c6c6c6; font-size: 13px; line-height: 1.65; margin: 0; }
.workspace-signal-roadmap__flow { align-items: center; background: #0f62fe; color: #fff; display: flex; flex-wrap: wrap; gap: 12px; min-height: 58px; padding: 12px 24px; }
.workspace-signal-roadmap__flow span { font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.workspace-signal-roadmap__flow i { color: #a6c8ff; font-style: normal; }
.workspace-signal-roadmap__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-signal-roadmap__grid > article { border-bottom: 1px solid #c6c6c6; border-right: 1px solid #c6c6c6; min-height: 310px; padding: 24px; }
.workspace-signal-roadmap__grid > article:nth-child(even) { border-right: 0; }
.workspace-signal-roadmap__grid > article > header { align-items: center; display: flex; justify-content: space-between; }
.workspace-signal-roadmap__grid > article > header span { color: #0f62fe; font-family: "IBM Plex Mono", monospace; font-size: 11px; }
.workspace-signal-roadmap__grid > article > header em { background: #fff1f1; color: #a2191f; font-size: 9px; font-style: normal; font-weight: 700; letter-spacing: .08em; padding: 6px 8px; text-transform: uppercase; }
.workspace-signal-roadmap__grid h3 { font-size: 21px; font-weight: 500; letter-spacing: -.025em; margin: 28px 0 10px; }
.workspace-signal-roadmap__grid p { color: #525252; font-size: 12px; line-height: 1.55; margin: 0; max-width: 560px; }
.workspace-signal-roadmap__grid ul { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 24px 0 0; padding: 0; }
.workspace-signal-roadmap__grid li { background: #edf5ff; color: #0043ce; font-size: 10px; padding: 7px 9px; }
.workspace-signal-roadmap > footer { align-items: center; background: #f4f4f4; display: grid; gap: 24px; grid-template-columns: 190px minmax(0, 1fr); min-height: 82px; padding: 16px 24px; }
.workspace-signal-roadmap > footer strong { font-family: "IBM Plex Mono", monospace; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.workspace-signal-roadmap > footer p { color: #525252; font-size: 12px; line-height: 1.55; margin: 0; }

.workspace-licensed-module { background: #161616; color: #fff; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .6fr); min-height: 560px; }
.workspace-licensed-module > section { padding: 52px; }
.workspace-licensed-module > section > span,
.workspace-licensed-module > aside > span { color: #be95ff; font-family: "IBM Plex Mono", monospace; font-size: 10px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.workspace-licensed-module h2 { color: #fff; font-size: 48px; font-weight: 300; letter-spacing: -.05em; line-height: 1.02; margin: 26px 0 18px; max-width: 720px; }
.workspace-licensed-module > section > p { color: #c6c6c6; font-size: 15px; line-height: 1.7; max-width: 680px; }
.workspace-licensed-module ul { border-bottom: 1px solid #525252; border-top: 1px solid #525252; list-style: none; margin: 34px 0; padding: 18px 0; }
.workspace-licensed-module li { color: #e0e0e0; font-size: 13px; padding: 7px 0 7px 20px; position: relative; }
.workspace-licensed-module li::before { color: #be95ff; content: "+"; left: 0; position: absolute; }
.workspace-licensed-module button { background: #8a3ffc; border: 0; color: #fff; font-size: 13px; font-weight: 600; min-height: 48px; padding: 0 20px; }
.workspace-licensed-module > aside { background: #262626; border-left: 1px solid #525252; padding: 40px 30px; }
.workspace-licensed-module > aside strong { color: #be95ff; display: block; font-size: 56px; font-weight: 300; margin-top: 36px; }
.workspace-licensed-module > aside p { color: #c6c6c6; font-size: 12px; margin: 2px 0 0; }

.workspace-competitor-dialog { border: 1px solid #8d8d8d; border-radius: 0; color: #161616; padding: 0; width: min(620px, calc(100vw - 32px)); }
.workspace-competitor-dialog::backdrop { background: rgb(22 22 22 / .56); }
.workspace-competitor-dialog form > header { align-items: center; background: #161616; color: #fff; display: flex; justify-content: space-between; min-height: 84px; padding: 18px 22px; }
.workspace-competitor-dialog form > header span { color: #78a9ff; font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.workspace-competitor-dialog form > header h2 { color: #fff; font-size: 20px; margin: 5px 0 0; }
.workspace-competitor-dialog form > header button { background: transparent; border: 1px solid #525252; color: #fff; cursor: pointer; font-size: 22px; height: 38px; width: 38px; }
.workspace-competitor-dialog__body { min-height: 390px; padding: 20px; }
.workspace-competitor-dialog__tabs { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 22px; }
.workspace-competitor-dialog__tabs button { background: #f4f4f4; border: 1px solid #8d8d8d; color: #161616; cursor: pointer; min-height: 42px; }
.workspace-competitor-dialog__tabs button + button { border-left: 0; }
.workspace-competitor-dialog label { display: block; font-size: 11px; font-weight: 600; margin: 16px 0 7px; }
.workspace-competitor-dialog input { border: 1px solid #8d8d8d; border-radius: 0; min-height: 46px; padding: 0 12px; width: 100%; }
.workspace-competitor-dialog__body > div > p { color: #6f6f6f; font-size: 11px; }
.workspace-competitor-results { border: 1px solid #e0e0e0; max-height: 220px; overflow-y: auto; }
.workspace-competitor-result { background: #fff; border: 0; border-bottom: 1px solid #e0e0e0; color: #161616; cursor: pointer; display: block; min-height: 62px; padding: 11px 13px; text-align: left; width: 100%; }
.workspace-competitor-result:hover,
.workspace-competitor-result.is-selected { background: #edf5ff; box-shadow: inset 3px 0 #0f62fe; }
.workspace-competitor-result strong,
.workspace-competitor-result span { display: block; }
.workspace-competitor-result span { color: #6f6f6f; font-size: 10px; margin-top: 4px; }
.workspace-competitor-dialog form > footer { align-items: center; border-top: 1px solid #c6c6c6; display: flex; justify-content: flex-end; padding: 14px 20px; }
.workspace-competitor-dialog form > footer button { border: 1px solid #8d8d8d; cursor: pointer; min-height: 42px; padding: 0 17px; }
.workspace-competitor-dialog form > footer button:last-child { background: #0f62fe; border-color: #0f62fe; color: #fff; }
.workspace-competitor-dialog form > footer button:disabled { background: #c6c6c6; border-color: #c6c6c6; color: #6f6f6f; cursor: not-allowed; }

.workspace-section-button {
  align-items: center;
  border: 1px solid transparent;
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  justify-content: space-between;
  min-height: 40px;
  padding: 0 16px;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}

.workspace-section-button::after { content: "↗"; margin-left: 18px; }
.workspace-section-button--primary { background: #0f62fe; color: #fff; }
.workspace-section-button--primary:hover { background: #0043ce; color: #fff; }
.workspace-section-button--ghost { background: #fff; border-color: #8d8d8d; color: #161616; }
.workspace-section-button--ghost:hover { background: #e8e8e8; color: #161616; }

button.workspace-section-button { cursor: pointer; width: 100%; }
.workspace-section-hero__actions > button.workspace-section-button { width: auto; }

.workspace-section-hero__actions .workspace-notification-button {
  width: 40px;
  min-width: 40px;
  height: 40px;
}

.workspace-section-metric-strip {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #c6c6c6;
  background: #c6c6c6;
  margin-bottom: 16px;
}

.workspace-section-metric-strip--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.workspace-section-metric-strip article {
  position: relative;
  background: #ffffff;
  color: #161616;
  min-height: 112px;
  padding: 18px 20px;
}

.workspace-section-metric-strip article::before { background: var(--workspace-section-accent); content: ""; height: 3px; left: 0; position: absolute; right: 0; top: 0; }
.workspace-section-metric-strip span { color: #6f6f6f; display: block; font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; }
.workspace-section-metric-strip strong { display: block; font-size: 32px; font-weight: 300; letter-spacing: -0.04em; line-height: 1; margin: 14px 0 6px; }
.workspace-section-metric-strip p { color: #6f6f6f; font-size: 11px; margin: 0; }

.workspace-review-launcher { align-items: stretch; background: #161616; border-color: #161616; color: #fff; display: grid; gap: 0; grid-template-columns: 82px minmax(0, 1fr) minmax(210px, auto); margin-bottom: 16px; min-height: 190px; overflow: hidden; }
.workspace-review-launcher__mark { align-items: flex-start; background: #009d9a; color: #fff; display: flex; font-family: "IBM Plex Mono", monospace; font-size: 30px; justify-content: center; padding-top: 28px; }
.workspace-review-launcher__copy { align-self: center; padding: 28px 34px; }
.workspace-review-launcher__copy > span { color: #3ddbd9; font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.workspace-review-launcher__copy h2 { color: #fff; font-size: clamp(24px, 2.5vw, 38px); font-weight: 300; letter-spacing: -.04em; line-height: 1.05; margin: 14px 0 10px; }
.workspace-review-launcher__copy p { color: #c6c6c6; font-size: 12px; line-height: 1.6; margin: 0; max-width: 740px; }
.workspace-review-launcher__actions { align-content: center; border-left: 1px solid #525252; display: grid; gap: 8px; padding: 24px; }
.workspace-review-launcher__actions .workspace-section-button { min-width: 190px; }
.workspace-review-launcher__actions .workspace-section-button--ghost { background: transparent; border-color: #6f6f6f; color: #fff; }
.workspace-review-launcher__actions .workspace-section-button--ghost:hover { background: #262626; }

.workspace-section-grid,
.workspace-section-split,
.workspace-report-grid { display: grid; gap: 16px; }
.workspace-section-grid--intel { grid-template-columns: minmax(0, 2.2fr) minmax(280px, 0.7fr); }
.workspace-section-grid--decision { grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.65fr); }
.workspace-section-split { grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr); }
.workspace-section-split--content { grid-template-columns: minmax(300px, 0.68fr) minmax(0, 1.5fr); }
.workspace-section-split--settings { grid-template-columns: repeat(2, minmax(320px, 1fr)); }
.workspace-report-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.workspace-section-panel { background: #fff; border: 1px solid #c6c6c6; min-width: 0; }
.workspace-section-panel > header { align-items: flex-start; border-bottom: 1px solid #c6c6c6; display: flex; gap: 20px; justify-content: space-between; min-height: 68px; padding: 14px 18px; }
.workspace-section-panel > header span { margin-bottom: 4px; }
.workspace-section-panel > header h2 { font-size: 16px; font-weight: 600; letter-spacing: -0.015em; margin: 0; }
.workspace-section-panel > header > a { color: #0f62fe; font-size: 12px; font-weight: 600; margin-top: 16px; white-space: nowrap; }
.workspace-section-panel > header > em { background: #e0e0e0; color: #525252; font-size: 10px; font-style: normal; font-weight: 600; letter-spacing: 0.08em; padding: 6px 8px; text-transform: uppercase; }

.workspace-intel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-intel-grid > article { border-bottom: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0; min-height: 196px; padding: 18px; position: relative; }
.workspace-intel-grid > article:nth-child(even) { border-right: 0; }
.workspace-intel-grid > article > span { color: #6f6f6f; font-family: "IBM Plex Mono", monospace; font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }
.workspace-intel-grid h3 { font-size: 23px; font-weight: 400; letter-spacing: -0.035em; margin: 13px 0 8px; }
.workspace-intel-grid p { color: #525252; font-size: 13px; line-height: 1.5; margin: 0 0 48px; }
.workspace-intel-grid footer { align-items: center; bottom: 18px; display: flex; gap: 12px; justify-content: space-between; left: 22px; position: absolute; right: 22px; }
.workspace-intel-grid footer em { background: #edf5ff; color: #0043ce; font-size: 10px; font-style: normal; padding: 6px 8px; }
.workspace-intel-grid footer a { color: #0f62fe; font-size: 12px; font-weight: 600; }

.workspace-section-focus > a,
.workspace-section-list__row { align-items: center; border-bottom: 1px solid #e0e0e0; color: #161616; display: grid; gap: 14px; min-height: 74px; padding: 12px 16px; transition: background 140ms ease; }
.workspace-section-focus > a { grid-template-columns: 32px minmax(0, 1fr) auto; }
.workspace-section-list__row { grid-template-columns: 42px minmax(0, 1fr) auto auto; }
.workspace-section-focus > a:hover,
.workspace-section-list__row:hover { background: #edf5ff; color: #161616; }
.workspace-section-focus i { color: #0f62fe; font-family: "IBM Plex Mono", monospace; font-size: 11px; font-style: normal; }
.workspace-section-focus strong,
.workspace-section-list__row strong { display: block; font-size: 13px; }
.workspace-section-focus small,
.workspace-section-list__row small { color: #6f6f6f; display: block; font-size: 11px; line-height: 1.45; margin-top: 4px; }
.workspace-section-focus b,
.workspace-section-list__row b { color: #0f62fe; font-weight: 400; }
.workspace-section-list__row em { color: #525252; font-size: 10px; font-style: normal; font-weight: 600; text-transform: uppercase; }

.workspace-section-avatar,
.workspace-section-signal { align-items: center; background: #161616; color: #fff; display: flex; font-family: "IBM Plex Mono", monospace; font-size: 11px; height: 36px; justify-content: center; width: 36px; }
.workspace-section-signal { background: #0f62fe; }

.workspace-section-empty { align-items: flex-start; display: flex; flex-direction: column; min-height: 340px; padding: 48px; }
.workspace-section-empty > span { color: #0f62fe; font-size: 34px; }
.workspace-section-empty h3 { font-size: 26px; font-weight: 300; margin: 24px 0 10px; }
.workspace-section-empty p { color: #525252; font-size: 13px; line-height: 1.6; max-width: 440px; }
.workspace-section-empty .workspace-section-button { margin-top: auto; width: auto; }
.workspace-section-empty--compact { color: #6f6f6f; display: block; font-size: 13px; min-height: 120px; padding: 32px 20px; }

.workspace-lookalike-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-lookalike-grid article { border-bottom: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0; min-height: 250px; padding: 20px; }
.workspace-lookalike-grid article:nth-child(even) { border-right: 0; }
.workspace-lookalike-grid article > span { color: #0f62fe; font-family: "IBM Plex Mono", monospace; font-size: 10px; text-transform: uppercase; }
.workspace-lookalike-grid h3 { font-size: 19px; font-weight: 500; margin: 18px 0 10px; }
.workspace-lookalike-grid p { color: #525252; font-size: 12px; line-height: 1.55; }
.workspace-lookalike-grid article > div { display: flex; flex-wrap: wrap; gap: 6px; margin: 18px 0; }
.workspace-lookalike-grid em { background: #e0e0e0; color: #525252; font-size: 9px; font-style: normal; padding: 4px 6px; }
.workspace-lookalike-grid a { color: #0f62fe; font-size: 12px; font-weight: 600; }

.workspace-scenario-card { padding: 24px; }
.workspace-scenario-card > div:first-child > span { background: #d9fbfb; color: #005d5d; font-size: 10px; font-weight: 600; padding: 6px 8px; text-transform: uppercase; }
.workspace-scenario-card h3 { font-size: 34px; font-weight: 300; letter-spacing: -0.04em; margin: 22px 0 12px; }
.workspace-scenario-card > div:first-child > p { color: #525252; font-size: 14px; line-height: 1.6; min-height: 66px; }
.workspace-scenario-card dl,
.workspace-settings-card dl { border-top: 1px solid #c6c6c6; margin: 26px 0; }
.workspace-scenario-card dl > div,
.workspace-settings-card dl > div { border-bottom: 1px solid #e0e0e0; display: grid; gap: 16px; grid-template-columns: 110px minmax(0, 1fr); padding: 12px 0; }
.workspace-scenario-card dt,
.workspace-settings-card dt { color: #6f6f6f; font-family: "IBM Plex Mono", monospace; font-size: 10px; text-transform: uppercase; }
.workspace-scenario-card dd,
.workspace-settings-card dd { font-size: 12px; margin: 0; }
.workspace-scenario-card > div:last-child { display: flex; }

.workspace-signal-launch { border-top: 3px solid #009d9a; margin-top: 16px; scroll-margin-top: 76px; }
.workspace-signal-launch__intro { align-items: start; display: grid; gap: 32px; grid-template-columns: minmax(260px, 1fr) minmax(360px, 1.2fr); padding: 22px; }
.workspace-signal-launch__intro > p { color: #393939; font-size: 15px; line-height: 1.6; margin: 0; max-width: 620px; }
.workspace-signal-launch__intro dl { border: 1px solid #c6c6c6; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.workspace-signal-launch__intro dl > div { border-right: 1px solid #e0e0e0; min-width: 0; padding: 13px; }
.workspace-signal-launch__intro dl > div:last-child { border-right: 0; }
.workspace-signal-launch__intro dt { color: #6f6f6f; font-family: "IBM Plex Mono", monospace; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.workspace-signal-launch__intro dd { font-size: 11px; font-weight: 600; margin: 7px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.workspace-signal-form { border-top: 1px solid #c6c6c6; }
.workspace-signal-form__grid { display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #e0e0e0; }
.workspace-signal-form__grid > div { background: #fff; min-width: 0; padding: 20px; }
.workspace-signal-form__grid label { color: #161616; display: block; font-size: 12px; font-weight: 600; margin-bottom: 9px; }
.workspace-signal-form__grid .workspace-live-input { background: #f4f4f4; border: 0; border-bottom: 1px solid #8d8d8d; border-radius: 0; color: #161616; min-height: 44px; padding: 10px 12px; width: 100%; }
.workspace-signal-form__grid select[multiple] { min-height: 126px; }
.workspace-signal-form__grid textarea.workspace-live-input { min-height: 92px; resize: vertical; }
.workspace-signal-form__grid small { color: #6f6f6f; display: block; font-size: 9px; line-height: 1.45; margin-top: 8px; }
.workspace-signal-form__wide { grid-column: 1 / -1; }
.workspace-signal-form footer { align-items: center; background: #161616; color: #fff; display: flex; gap: 24px; justify-content: space-between; min-height: 76px; padding: 14px 20px; }
.workspace-signal-form footer p { color: #c6c6c6; font-size: 11px; margin: 0; }
.workspace-signal-form footer .workspace-section-button { background: #009d9a; flex: 0 0 auto; width: auto; }
.workspace-signal-form footer .workspace-section-button:hover { background: #007d79; }

.workspace-content-launcher { background: #161616; color: #fff; padding: 30px; }
.workspace-content-launcher > span { color: #78a9ff; }
.workspace-content-launcher h2 { font-size: 40px; font-weight: 300; letter-spacing: -0.045em; line-height: 1.03; margin: 26px 0 18px; }
.workspace-content-launcher p { color: #c6c6c6; font-size: 14px; line-height: 1.6; }
.workspace-content-launcher ul { border-bottom: 1px solid #525252; border-top: 1px solid #525252; color: #e0e0e0; font-size: 12px; list-style: none; margin: 28px 0; padding: 16px 0; }
.workspace-content-launcher li { padding: 6px 0 6px 18px; position: relative; }
.workspace-content-launcher li::before { color: #78a9ff; content: "+"; left: 0; position: absolute; }

.workspace-decision-brief pre { background: #fff; color: #393939; font-family: "IBM Plex Sans", sans-serif; font-size: 13px; line-height: 1.7; margin: 0; min-height: 460px; padding: 28px; white-space: pre-wrap; }
.workspace-decision-gaps ol { list-style: none; margin: 0; padding: 0 20px 24px; }
.workspace-decision-gaps li { align-items: center; border-bottom: 1px solid #e0e0e0; display: flex; gap: 12px; min-height: 60px; }
.workspace-decision-gaps li span { background: #da1e28; height: 8px; width: 8px; }
.workspace-decision-gaps li strong { font-size: 12px; font-weight: 500; }
.workspace-decision-gaps form { margin: 0 20px 10px; }
.workspace-decision-gaps > .workspace-section-button { margin: 0 20px 20px; width: calc(100% - 40px); }

.workspace-report-grid .workspace-section-panel { min-height: 220px; }
.workspace-report-grid .workspace-section-panel > p { color: #525252; font-size: 13px; line-height: 1.5; margin: 0; padding: 0 22px 24px; }
.workspace-report-count { color: var(--workspace-section-accent); display: block; font-size: 54px; font-weight: 300; letter-spacing: -0.06em; line-height: 1; padding: 24px 22px 10px; }
.workspace-settings-card { padding-bottom: 22px; }
.workspace-settings-card dl { margin: 24px 22px; }
.workspace-settings-card > .workspace-section-button { margin-left: 22px; }
.workspace-impact-lock--active { color: #0f62fe; text-decoration: none; }
.workspace-impact-lock--active:hover { color: #0043ce; }

.workspace-persona-detail__client-badge {
  background: #e8daff;
  color: #5d0f9e;
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding: 9px 10px;
  text-transform: uppercase;
}

.workspace-persona-detail__body { display: grid; gap: 16px; }
.workspace-persona-detail__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.workspace-persona-detail__facts strong { font-size: 20px; line-height: 1.15; overflow-wrap: anywhere; }
.workspace-persona-detail__grid { display: grid; gap: 16px; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.65fr); }
.workspace-persona-detail__grid--equal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-persona-detail__overview { border-top: 3px solid var(--workspace-section-accent); }
.workspace-persona-detail__reaction-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-persona-detail__reaction-grid > article { border-bottom: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0; min-height: 156px; padding: 20px; }
.workspace-persona-detail__reaction-grid > article:nth-child(even) { border-right: 0; }
.workspace-persona-detail__reaction-grid > article > span { color: #8a3ffc; font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.workspace-persona-detail__reaction-grid p { color: #393939; font-size: 13px; line-height: 1.6; margin: 16px 0 0; }
.workspace-persona-detail__profile dl { margin: 0; }
.workspace-persona-detail__profile dl > div { border-bottom: 1px solid #e0e0e0; display: grid; gap: 12px; grid-template-columns: 108px minmax(0, 1fr); padding: 12px 18px; }
.workspace-persona-detail__profile dt { color: #6f6f6f; font-family: "IBM Plex Mono", monospace; font-size: 9px; text-transform: uppercase; }
.workspace-persona-detail__profile dd { color: #161616; font-size: 12px; font-weight: 500; margin: 0; }
.workspace-persona-detail__tags { display: flex; flex-wrap: wrap; gap: 6px; padding: 16px 18px; }
.workspace-persona-detail__tags span { background: #f4f4f4; border-left: 2px solid #8a3ffc; color: #393939; font-size: 10px; padding: 6px 8px; }
.workspace-persona-detail__list-panel > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace-persona-detail__list-panel article { border-bottom: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0; min-height: 150px; padding: 18px; }
.workspace-persona-detail__list-panel article:nth-child(even) { border-right: 0; }
.workspace-persona-detail__list-panel h3,
.workspace-persona-detail__operating h3 { color: #161616; font-size: 12px; font-weight: 600; margin: 0 0 12px; }
.workspace-persona-detail__list-panel ul { color: #525252; font-size: 12px; line-height: 1.55; margin: 0; padding-left: 17px; }
.workspace-persona-detail__list-panel li + li { margin-top: 7px; }
.workspace-persona-detail__operating > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.workspace-persona-detail__operating article { border-bottom: 1px solid #e0e0e0; border-right: 1px solid #e0e0e0; min-height: 128px; padding: 18px; }
.workspace-persona-detail__operating article:nth-child(3n) { border-right: 0; }
.workspace-persona-detail__operating p { color: #525252; font-size: 12px; line-height: 1.55; margin: 0; }
.workspace-persona-detail__actions { align-items: center; background: #161616; color: #fff; display: flex; gap: 24px; justify-content: space-between; min-height: 72px; padding: 14px 18px; }
.workspace-persona-detail__actions > span { color: #c6c6c6; font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; }
.workspace-persona-detail__actions > div { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.workspace-persona-detail__actions form { margin: 0; }
.workspace-persona-detail__actions .workspace-section-button--ghost {
  background: transparent;
  border-color: #8d8d8d;
  color: #f4f4f4;
}
.workspace-persona-detail__actions .workspace-section-button--ghost:hover {
  background: #f4f4f4;
  border-color: #f4f4f4;
  color: #161616;
}
.workspace-persona-detail__actions .workspace-section-button:focus-visible {
  outline: 2px solid #78a9ff;
  outline-offset: 2px;
}

.workspace-context-bar {
  align-items: center;
  background: #161616;
  border-bottom: 1px solid #525252;
  color: #fff;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  min-height: 52px;
  padding: 0 24px;
}

.workspace-context-bar > div,
.workspace-context-bar nav { align-items: center; display: flex; gap: 12px; }
.workspace-context-bar > div > span { color: #78a9ff; font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; }
.workspace-context-bar > div > strong { font-size: 13px; }
.workspace-context-bar > div > em { border-left: 1px solid #525252; color: #c6c6c6; font-size: 11px; font-style: normal; padding-left: 12px; }
.workspace-context-bar nav a { color: #c6c6c6; font-size: 11px; min-height: 52px; padding: 18px 4px 0; }
.workspace-context-bar nav a:hover,
.workspace-context-bar nav a.active { border-bottom: 3px solid #0f62fe; color: #fff; }

@media (max-width: 1180px) {
  .workspace-section-body { padding: 20px; }
  .workspace-section-grid--intel,
  .workspace-section-grid--decision,
  .workspace-section-split,
  .workspace-section-split--content,
  .workspace-section-split--settings,
  .workspace-persona-detail__grid,
  .workspace-persona-detail__grid--equal { grid-template-columns: 1fr; }
  .workspace-persona-detail__operating > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace-persona-detail__operating article:nth-child(3n) { border-right: 1px solid #e0e0e0; }
  .workspace-persona-detail__operating article:nth-child(even) { border-right: 0; }
  .workspace-signal-roadmap__intro { grid-template-columns: 1fr; }
  .workspace-review-launcher { grid-template-columns: 68px minmax(0, 1fr); }
  .workspace-review-launcher__actions { border-left: 0; border-top: 1px solid #525252; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .workspace-section-body { padding: 16px; }
  .workspace-section-hero { align-items: flex-start; flex-direction: column; min-height: 0; padding: 20px; }
  .workspace-section-hero__actions { flex-wrap: wrap; width: 100%; }
  .workspace-section-hero__actions .workspace-section-button { flex: 1 1 180px; }
  .workspace-section-metric-strip,
  .workspace-section-metric-strip--three,
  .workspace-report-grid { grid-template-columns: 1fr; }
  .workspace-section-metric-strip article { min-height: 104px; }
  .workspace-signal-roadmap__intro { gap: 24px; padding: 26px 22px; }
  .workspace-signal-roadmap__grid { grid-template-columns: 1fr; }
  .workspace-signal-roadmap__grid > article { border-right: 0; min-height: 0; }
  .workspace-signal-roadmap__flow { align-items: flex-start; flex-direction: column; }
  .workspace-signal-roadmap__flow i { transform: rotate(90deg); }
  .workspace-signal-roadmap > footer { grid-template-columns: 1fr; }
  .workspace-review-launcher { grid-template-columns: 1fr; }
  .workspace-review-launcher__mark { align-items: center; height: 56px; padding: 0; }
  .workspace-review-launcher__copy { padding: 24px 22px; }
  .workspace-review-launcher__actions { grid-column: auto; grid-template-columns: 1fr; }
  .workspace-persona-detail__facts,
  .workspace-persona-detail__reaction-grid,
  .workspace-persona-detail__list-panel > div,
  .workspace-persona-detail__operating > div { grid-template-columns: 1fr; }
  .workspace-persona-detail__reaction-grid > article,
  .workspace-persona-detail__list-panel article,
  .workspace-persona-detail__operating article { border-right: 0; }
  .workspace-persona-detail__actions { align-items: stretch; flex-direction: column; }
  .workspace-persona-detail__actions > div { justify-content: stretch; }
  .workspace-persona-detail__actions .workspace-section-button,
  .workspace-persona-detail__actions form { flex: 1 1 160px; }
  .workspace-intel-grid,
  .workspace-lookalike-grid { grid-template-columns: 1fr; }
  .workspace-intel-grid > article,
  .workspace-lookalike-grid article { border-right: 0; }
  .workspace-section-list__row { grid-template-columns: 40px minmax(0, 1fr) auto; }
  .workspace-section-list__row em { display: none; }
  .workspace-scenario-card > div:last-child { flex-direction: column; }
  .workspace-signal-launch__intro { grid-template-columns: 1fr; }
  .workspace-signal-launch__intro dl,
  .workspace-signal-form__grid { grid-template-columns: 1fr; }
  .workspace-signal-launch__intro dl > div { border-bottom: 1px solid #e0e0e0; border-right: 0; }
  .workspace-signal-launch__intro dl > div:last-child { border-bottom: 0; }
  .workspace-signal-form__wide { grid-column: auto; }
  .workspace-signal-form footer { align-items: stretch; flex-direction: column; }
  .workspace-signal-form footer .workspace-section-button { width: 100%; }
  .workspace-context-bar { align-items: flex-start; flex-direction: column; gap: 0; padding-top: 12px; }
  .workspace-context-bar > div > em { display: none; }
}

/* Janus site-wide Workspace OS design system */
:root {
  --janus-ink: #161616;
  --janus-ink-soft: #393939;
  --janus-muted: #525252;
  --janus-line: #c6c6c6;
  --janus-line-soft: #e0e0e0;
  --janus-canvas: #f4f4f4;
  --janus-panel: #ffffff;
  --janus-blue: #0f62fe;
  --janus-blue-dark: #0043ce;
  --janus-red: #da1e28;
  --janus-green: #198038;
}

.janus-app-body,
.janus-public-body,
.janus-auth-body {
  background: var(--janus-canvas);
  color: var(--janus-ink);
  font-family: "IBM Plex Sans", "Helvetica Neue", sans-serif;
}

.janus-site-main {
  position: relative;
  min-width: 0;
  background:
    linear-gradient(90deg, rgb(15 98 254 / 0.025) 1px, transparent 1px),
    var(--janus-canvas);
  background-size: 40px 40px;
}

.janus-site-main:focus {
  outline: none;
}

.glyph-topbar {
  min-height: 60px;
  border-bottom-color: #393939;
  background: linear-gradient(180deg, #161616 0%, #0f0f0f 100%);
  backdrop-filter: none;
}

.glyph-topbar > div {
  min-height: 60px;
  padding-top: 8px;
  padding-bottom: 8px;
}

.glyph-topbar .glyph-brand__logo {
  width: 34px !important;
  height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
}

.glyph-topbar .glyph-brand__name {
  color: #ffffff;
}

.glyph-topbar .glyph-brand__meta {
  color: #a8a8a8;
}

.glyph-topbar .glyph-nav {
  border-color: #393939;
  background: #161616;
  box-shadow: none;
}

.glyph-topbar .glyph-nav-link {
  color: #c6c6c6;
}

.glyph-topbar .glyph-nav-link:hover {
  border-color: #525252;
  background: #262626;
  color: #ffffff;
}

.glyph-topbar .glyph-nav-link[data-active="true"] {
  border-color: var(--janus-blue);
  background: var(--janus-blue);
  color: #ffffff;
}

.glyph-topbar .glyph-nav-dropdown[open] > .glyph-nav-dropdown__trigger {
  border-color: #78a9ff;
  background: #262626;
  color: #ffffff;
}

.glyph-topbar .glyph-nav-dropdown__menu {
  border-color: #8d8d8d;
  background: #ffffff;
  box-shadow: 0 22px 48px rgb(0 0 0 / 0.24);
}

.glyph-topbar .glyph-nav-dropdown__item {
  color: var(--janus-muted);
}

.glyph-topbar .glyph-nav-dropdown__item:hover {
  border-color: var(--janus-line-soft);
  background: var(--janus-canvas);
  color: var(--janus-ink);
}

.glyph-topbar .glyph-nav-dropdown__item[data-active="true"] {
  border-color: var(--janus-blue);
  background: #edf5ff;
  color: var(--janus-blue-dark);
}

.glyph-topbar .glyph-nav-dropdown__item-description,
.glyph-topbar .glyph-nav-dropdown__item[data-active="true"] .glyph-nav-dropdown__item-description {
  color: #6f6f6f;
}

.glyph-topbar .glyph-button--primary {
  border-color: var(--janus-blue);
  background: var(--janus-blue);
}

.glyph-topbar .glyph-button--primary:hover {
  border-color: var(--janus-blue-dark);
  background: var(--janus-blue-dark);
}

.glyph-topbar .glyph-button--secondary {
  border-color: #525252;
  background: #161616;
  color: #ffffff;
}

.glyph-topbar .glyph-button--secondary:hover {
  border-color: #8d8d8d;
  background: #262626;
}

.janus-app-body .glyph-button--primary,
.janus-auth-body .glyph-button--primary,
.janus-public-body .glyph-button--primary {
  border-color: var(--janus-blue);
  background: var(--janus-blue);
  color: #ffffff;
}

.janus-app-body .glyph-button--primary:hover,
.janus-auth-body .glyph-button--primary:hover,
.janus-public-body .glyph-button--primary:hover {
  border-color: var(--janus-blue-dark);
  background: var(--janus-blue-dark);
}

.janus-app-body .glyph-button--secondary,
.janus-auth-body .glyph-button--secondary,
.janus-public-body .glyph-button--secondary {
  border-color: #8d8d8d;
  background: #ffffff;
  color: var(--janus-ink);
}

.janus-app-body .glyph-button--secondary:hover,
.janus-auth-body .glyph-button--secondary:hover,
.janus-public-body .glyph-button--secondary:hover {
  border-color: var(--janus-ink);
  background: var(--janus-canvas);
}

.glyph-topbar .glyph-button--primary {
  border-color: var(--janus-blue);
  background: var(--janus-blue);
  color: #ffffff;
}

.glyph-topbar .glyph-button--secondary {
  border-color: #525252;
  background: #161616;
  color: #ffffff;
}

.janus-app-body .janus-site-main :where(.rounded, .rounded-md, .rounded-lg, .rounded-xl, .rounded-2xl, .rounded-3xl),
.janus-app-body dialog {
  border-radius: 0 !important;
}

.janus-app-body .janus-site-main :where(.bg-ink-black-100, .bg-ink-black-200, .bg-prussian-blue-600\/40) {
  background: #ffffff !important;
}

.janus-app-body .janus-site-main :where(.bg-ink-black, .bg-gray-50, .bg-gray-100) {
  background: var(--janus-canvas) !important;
}

.janus-app-body .janus-site-main :where(.text-alabaster-grey, .text-gray-900, .text-gray-800) {
  color: var(--janus-ink) !important;
}

.janus-app-body .janus-site-main :where(.text-dusty-denim, .text-gray-700, .text-gray-600, .text-gray-500) {
  color: var(--janus-muted) !important;
}

.janus-app-body .janus-site-main :where(.border-dusk-blue-300, .border-gray-200, .divide-dusk-blue-300, .divide-gray-200) {
  border-color: var(--janus-line) !important;
}

.janus-app-body .janus-site-main :where(.shadow, .shadow-sm, .shadow-md, .shadow-lg, .shadow-xl) {
  box-shadow: 0 1px 2px rgb(0 0 0 / 0.06) !important;
}

.janus-app-body .janus-site-main h1 {
  color: var(--janus-ink);
  font-weight: 400;
  letter-spacing: -0.035em;
}

.janus-app-body .janus-site-main h2,
.janus-app-body .janus-site-main h3 {
  color: var(--janus-ink);
  letter-spacing: -0.018em;
}

.janus-app-body .janus-site-main :where(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.janus-auth-body :where(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]) {
  border: 1px solid #8d8d8d !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  color: var(--janus-ink) !important;
  box-shadow: none !important;
}

.janus-app-body .janus-site-main :where(input, select, textarea):focus,
.janus-auth-body :where(input, select, textarea):focus {
  border-color: var(--janus-blue) !important;
  outline: 2px solid #d0e2ff !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

.janus-app-body .janus-site-main table {
  border: 1px solid var(--janus-line);
  border-collapse: collapse;
  background: #ffffff;
  color: var(--janus-ink);
}

.janus-app-body .janus-site-main table thead,
.janus-app-body .janus-site-main table thead.bg-ink-black,
.janus-app-body .janus-site-main table thead.bg-gray-50 {
  background: #161616 !important;
}

.janus-app-body .janus-site-main table thead th {
  border-color: #393939 !important;
  color: #c6c6c6 !important;
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.janus-app-body .janus-site-main table tbody {
  background: #ffffff !important;
}

.janus-app-body .janus-site-main table tbody tr {
  border-color: var(--janus-line-soft) !important;
}

.janus-app-body .janus-site-main table tbody tr:hover {
  background: #edf5ff !important;
}

.janus-app-body dialog {
  width: min(34rem, calc(100vw - 2rem));
  max-width: none;
  border: 1px solid #8d8d8d !important;
  background: #ffffff !important;
  color: var(--janus-ink) !important;
  box-shadow: 0 28px 72px rgb(22 22 22 / 0.28) !important;
}

.janus-app-body dialog::backdrop,
.janus-auth-body dialog::backdrop {
  background: rgb(22 22 22 / 0.58);
  backdrop-filter: blur(1px);
}

.janus-app-body dialog[open],
.janus-auth-body dialog[open] {
  animation: janus-dialog-enter 160ms cubic-bezier(0.2, 0, 0.38, 0.9);
}

@keyframes janus-dialog-enter {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.janus-modal {
  width: min(32rem, calc(100vw - 2rem));
  max-width: none;
  border: 1px solid #8d8d8d;
  background: #ffffff;
  color: var(--janus-ink);
  padding: 0;
}

.janus-modal::backdrop {
  background: rgb(22 22 22 / 0.58);
}

.janus-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--janus-line);
  background: var(--janus-canvas);
  padding: 18px 20px;
}

.janus-modal__eyebrow {
  margin: 0 0 5px;
  color: var(--janus-red);
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.janus-modal__header h3 {
  margin: 0;
  color: var(--janus-ink);
  font-size: 1.2rem;
  font-weight: 600;
}

.janus-modal__close {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid transparent;
  background: transparent;
  color: var(--janus-muted);
  cursor: pointer;
}

.janus-modal__close:hover,
.janus-modal__close:focus-visible {
  border-color: var(--janus-line);
  background: #ffffff;
  color: var(--janus-ink);
}

.janus-modal__body {
  padding: 20px;
}

.janus-modal__body > p {
  margin: 0 0 16px;
  color: var(--janus-muted);
  font-size: 0.9rem;
  line-height: 1.55;
}

.janus-modal__body > p strong {
  color: var(--janus-ink);
}

.janus-modal__warning {
  border-left: 4px solid var(--janus-red);
  background: #fff1f1;
  padding: 14px 16px;
}

.janus-modal__warning > div {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
}

.janus-modal__warning svg {
  width: 20px;
  height: 20px;
  color: var(--janus-red);
}

.janus-modal__warning strong {
  display: block;
  color: #750e13;
  font-size: 0.84rem;
}

.janus-modal__warning p {
  margin: 4px 0 0;
  color: #750e13;
  font-size: 0.8rem;
  line-height: 1.45;
}

.janus-modal__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  border-top: 1px solid var(--janus-line);
  padding: 14px 20px;
}

.janus-site-footer {
  border-color: var(--janus-line);
  background: #ffffff;
}

.janus-feedback-widget {
  z-index: 60;
}

.workspace-resource-shell {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  grid-template-rows: 60px minmax(0, 1fr);
  min-height: 100vh;
  background: var(--janus-canvas);
}

.workspace-resource-topbar {
  position: sticky;
  top: 0;
  z-index: 55;
  grid-column: 1 / -1;
  grid-row: 1;
}

.workspace-resource-brand {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  color: #ffffff;
  text-decoration: none;
}

.workspace-resource-brand strong {
  font-size: 1.2rem;
}

.workspace-resource-brand span,
.workspace-resource-location {
  color: #a8a8a8;
  font-size: 0.75rem;
}

.workspace-resource-location {
  border-left: 1px solid #525252;
  padding-left: 12px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.workspace-resource-rail {
  position: sticky;
  top: 60px;
  z-index: 45;
  grid-column: 1;
  grid-row: 2;
  height: calc(100vh - 60px);
}

.workspace-resource-content {
  min-width: 0;
  grid-column: 2;
  grid-row: 2;
}

.workspace-resource-content > .janus-site-main {
  min-height: calc(100vh - 60px);
}

.workspace-resource-content .workspace-context-bar {
  position: sticky;
  top: 0;
  z-index: 42;
}

.workspace-resource-content .workspace-context-bar nav a:first-child {
  color: #ffffff;
  font-weight: 600;
}

/* Keep the workspace navigation present while long resources scroll. */
.workspace-app-frame,
.workspace-resource-shell {
  height: 100dvh;
  overflow: hidden;
}

.workspace-app-rail,
.workspace-resource-rail {
  overflow-x: visible;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.workspace-resource-content {
  height: calc(100dvh - 60px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* GTM scenario editor: evidence-led, human-first 7P forms. */
.gtm-kicker {
  color: #0f62fe;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  margin: 0;
  text-transform: uppercase;
}

.gtm-discovery-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
  border: 1px solid #262626;
  background: #161616;
  box-shadow: 0 18px 40px rgba(22, 22, 22, 0.12);
  color: #f4f4f4;
}

.gtm-discovery-panel__story {
  position: relative;
  overflow: hidden;
  padding: 32px;
}

.gtm-discovery-panel__story::after {
  position: absolute;
  right: -76px;
  bottom: -110px;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(120, 169, 255, 0.36);
  border-radius: 50%;
  box-shadow: 0 0 0 34px rgba(15, 98, 254, 0.08), 0 0 0 70px rgba(15, 98, 254, 0.04);
  content: "";
  pointer-events: none;
}

.gtm-discovery-panel__story .gtm-kicker {
  color: #78a9ff;
}

.gtm-discovery-panel__story h2 {
  max-width: 560px;
  margin: 10px 0 0;
  color: #ffffff !important;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.06;
}

.gtm-discovery-panel__story > p:not(.gtm-kicker) {
  max-width: 600px;
  margin: 16px 0 0;
  color: #c6c6c6;
  font-size: 0.95rem;
  line-height: 1.6;
}

.gtm-discovery-steps {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 30px 0 0;
  background: #393939;
}

.gtm-discovery-steps li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 2px 10px;
  min-width: 0;
  background: #1f1f1f;
  padding: 16px;
}

.gtm-discovery-steps li > span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid #78a9ff;
  border-radius: 50%;
  color: #78a9ff;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.68rem;
}

.gtm-discovery-steps strong {
  color: #f4f4f4;
  font-size: 0.82rem;
}

.gtm-discovery-steps small {
  color: #a8a8a8;
  font-size: 0.68rem;
  line-height: 1.35;
}

.gtm-discovery-receipt {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin-top: 20px;
  color: #a8a8a8;
  font-size: 0.72rem;
}

.gtm-confidence {
  border: 1px solid #8d8d8d;
  padding: 4px 8px;
  color: #f4f4f4;
  font-weight: 600;
}

.gtm-confidence--high { border-color: #42be65; color: #a7f0ba; }
.gtm-confidence--low { border-color: #f1c21b; color: #fddc69; }

.gtm-discovery-panel__form {
  border-left: 1px solid #393939;
  background: #ffffff;
  color: #161616;
  padding: 28px;
}

.gtm-discovery-panel__form form {
  display: grid;
  gap: 18px;
}

.gtm-guided-field {
  min-width: 0;
}

.gtm-guided-field > label,
.gtm-discovery-panel__form .gtm-guided-field > label {
  display: block;
  margin-bottom: 7px;
  color: #161616;
  font-size: 0.78rem;
  font-weight: 600;
}

.gtm-guided-field > small {
  display: block;
  margin-top: 7px;
  color: #6f6f6f;
  font-size: 0.7rem;
  line-height: 1.4;
}

.gtm-guided-input {
  width: 100%;
  border: 1px solid #8d8d8d;
  border-bottom: 2px solid #8d8d8d;
  border-radius: 0;
  background: #f4f4f4;
  color: #161616;
  font-size: 0.88rem;
  line-height: 1.45;
  padding: 11px 12px;
  transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.gtm-guided-input:hover {
  background: #e8e8e8;
}

.gtm-guided-input:focus {
  border-color: #0f62fe;
  outline: 0;
  background: #ffffff;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #0f62fe;
}

.gtm-guided-textarea {
  min-height: 88px;
  resize: vertical;
}

.gtm-safe-default {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  border-left: 3px solid #f1c21b;
  background: #fff8e1;
  padding: 12px 14px;
  cursor: pointer;
}

.gtm-safe-default input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: #0f62fe;
}

.gtm-safe-default strong,
.gtm-safe-default small {
  display: block;
}

.gtm-safe-default strong {
  color: #161616;
  font-size: 0.78rem;
}

.gtm-safe-default small {
  margin-top: 3px;
  color: #525252;
  font-size: 0.69rem;
  line-height: 1.4;
}

.gtm-discovery-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 48px;
  border: 0;
  background: #0f62fe;
  color: #ffffff;
  padding: 0 16px;
  font-size: 0.86rem;
  font-weight: 600;
  cursor: pointer;
}

.gtm-discovery-submit:hover { background: #0353e9; }
.gtm-discovery-submit:disabled { background: #8d8d8d; cursor: wait; }

.gtm-discovery-submit__spinner {
  width: 17px;
  height: 17px;
  border: 2px solid rgba(255, 255, 255, 0.45);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: gtm-spin 700ms linear infinite;
}

.gtm-discovery-privacy {
  margin: -4px 0 0;
  color: #6f6f6f;
  font-size: 0.68rem;
  line-height: 1.4;
}

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

.gtm-story-builder {
  margin-top: 28px;
  border-top: 4px solid #0f62fe;
  background: #f4f4f4;
  padding: 24px;
}

.gtm-story-builder__intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
}

.gtm-story-builder__intro h2 {
  margin: 7px 0 0;
  color: #161616;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: -0.025em;
}

.gtm-story-builder__intro > div:first-child > p:last-child {
  max-width: 680px;
  margin: 8px 0 0;
  color: #525252;
  font-size: 0.84rem;
  line-height: 1.5;
}

.gtm-story-builder__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: #525252;
  font-size: 0.68rem;
  white-space: nowrap;
}

.gtm-story-builder__legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.gtm-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; }
.gtm-dot--blue { background: #0f62fe; }
.gtm-dot--amber { background: #f1c21b; }

.gtm-seven-ps {
  display: grid;
  gap: 10px;
}

.gtm-p-card {
  border: 1px solid #c6c6c6;
  background: #ffffff;
}

.gtm-p-card[open] {
  border-color: #8d8d8d;
  box-shadow: 0 6px 18px rgba(22, 22, 22, 0.07);
}

.gtm-p-card > summary {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto 20px;
  gap: 13px;
  align-items: center;
  min-height: 68px;
  padding: 12px 16px;
  cursor: pointer;
  list-style: none;
}

.gtm-p-card > summary::-webkit-details-marker { display: none; }

.gtm-p-card > summary:hover {
  background: #f4f4f4;
}

.gtm-p-card__number {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  background: #161616;
  color: #ffffff;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.72rem;
}

.gtm-p-card[open] .gtm-p-card__number { background: #0f62fe; }

.gtm-p-card__heading strong,
.gtm-p-card__heading small {
  display: block;
}

.gtm-p-card__heading strong {
  color: #161616;
  font-size: 0.92rem;
  font-weight: 600;
}

.gtm-p-card__heading small {
  margin-top: 3px;
  color: #6f6f6f;
  font-size: 0.7rem;
  line-height: 1.35;
}

.gtm-p-card__progress {
  border: 1px solid #c6c6c6;
  color: #525252;
  padding: 5px 8px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.62rem;
}

.gtm-p-card__chevron {
  color: #525252;
  font-size: 1rem;
  transition: transform 160ms ease;
}

.gtm-p-card[open] .gtm-p-card__chevron { transform: rotate(180deg); }

.gtm-p-card__body {
  border-top: 1px solid #e0e0e0;
  padding: 22px;
}

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

.gtm-guided-field--wide { grid-column: 1 / -1; }

.gtm-extra-fields {
  display: grid;
  gap: 14px;
  margin-top: 24px;
  border-top: 1px dashed #a8a8a8;
  padding-top: 20px;
}

.gtm-extra-fields h4 {
  margin: 4px 0 0;
  color: #161616;
  font-size: 0.9rem;
  font-weight: 600;
}

.gtm-structured-detail {
  border-left: 3px solid #8d8d8d;
  background: #f4f4f4;
  padding: 14px 16px;
}

.gtm-structured-detail > strong { color: #161616; font-size: 0.8rem; }
.gtm-structured-detail ul { display: grid; gap: 6px; margin-top: 10px; }
.gtm-structured-detail li { color: #525252; font-size: 0.74rem; line-height: 1.4; }
.gtm-structured-detail li span { color: #161616; font-weight: 600; margin-right: 6px; }
.gtm-structured-detail small { display: block; margin-top: 10px; color: #6f6f6f; font-size: 0.68rem; }

@media (max-width: 880px) {
  .gtm-discovery-panel { grid-template-columns: 1fr; }
  .gtm-discovery-panel__form { border-top: 1px solid #393939; border-left: 0; }
  .gtm-story-builder__intro { align-items: start; flex-direction: column; }
}

@media (max-width: 700px) {
  .workspace-resource-shell {
    height: auto;
    min-height: 100dvh;
    overflow: visible;
  }

  .workspace-resource-content {
    height: auto;
    overflow: visible;
  }

  .gtm-discovery-panel__story,
  .gtm-discovery-panel__form,
  .gtm-story-builder { padding: 20px; }
  .gtm-discovery-steps { grid-template-columns: 1fr; }
  .gtm-field-grid { grid-template-columns: 1fr; }
  .gtm-guided-field--wide { grid-column: auto; }
  .gtm-p-card > summary { grid-template-columns: 32px minmax(0, 1fr) 18px; }
  .gtm-p-card__progress { display: none; }
}

/* Shared workspace rail and contextual help behavior */
.workspace-app-frame.workspace-rail-is-collapsed {
  grid-template-columns: 56px minmax(0, 1fr);
}

.workspace-resource-shell.workspace-rail-is-collapsed {
  grid-template-columns: 56px minmax(0, 1fr);
}

.workspace-app-rail[data-collapsed="true"] .workspace-rail-item {
  min-height: 56px;
  padding: 15px 2px;
}

.workspace-app-rail[data-collapsed="true"] .workspace-rail-item > strong,
.workspace-app-rail[data-collapsed="true"] .workspace-rail-collapse > strong {
  display: none;
}

.workspace-app-rail[data-collapsed="true"] .workspace-rail-collapse {
  min-height: 50px;
  padding: 12px 2px;
}

.workspace-help-backdrop {
  background: rgb(22 22 22 / .42);
  border: 0;
  cursor: pointer;
  inset: 60px 0 0;
  opacity: 0;
  position: fixed;
  transition: opacity 180ms ease;
  z-index: 80;
}

.workspace-help-backdrop.is-visible { opacity: 1; }

.workspace-help-drawer {
  background: #f4f4f4;
  bottom: 0;
  box-shadow: -18px 0 44px rgb(0 0 0 / .2);
  display: flex;
  flex-direction: column;
  position: fixed;
  right: 0;
  top: 60px;
  transform: translateX(105%);
  transition: transform 200ms cubic-bezier(.2, 0, .38, .9);
  width: min(430px, calc(100vw - 56px));
  z-index: 81;
}

.workspace-help-drawer.is-open { transform: translateX(0); }
.workspace-help-drawer__header { align-items: center; background: #161616; color: #fff; display: flex; justify-content: space-between; min-height: 92px; padding: 18px 22px; }
.workspace-help-drawer__header p { color: #78a9ff; font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; letter-spacing: .14em; margin: 0 0 5px; text-transform: uppercase; }
.workspace-help-drawer__header h2 { color: #fff; font-size: 20px; font-weight: 500; margin: 0; }
.workspace-help-drawer__header button { background: transparent; border: 1px solid #525252; color: #fff; cursor: pointer; font-size: 22px; height: 40px; width: 40px; }
.workspace-help-drawer__body { overflow-y: auto; padding: 24px; }
.workspace-help-intro { color: #393939; font-size: 17px; line-height: 1.6; margin: 0 0 28px; }
.workspace-help-steps { background: #fff; border: 1px solid #c6c6c6; list-style: none; margin: 0; padding: 0; }
.workspace-help-steps li { align-items: start; border-bottom: 1px solid #e0e0e0; display: grid; gap: 14px; grid-template-columns: 32px minmax(0, 1fr); padding: 16px; }
.workspace-help-steps li:last-child { border-bottom: 0; }
.workspace-help-steps li > span { color: #0f62fe; font-family: "IBM Plex Mono", monospace; font-size: 10px; font-weight: 600; }
.workspace-help-steps p { color: #393939; font-size: 13px; line-height: 1.55; margin: 0; }
.workspace-help-contact { background: #161616; color: #fff; margin-top: 20px; padding: 22px; }
.workspace-help-contact span { color: #78a9ff; font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.workspace-help-contact h3 { color: #fff; font-size: 17px; font-weight: 400; line-height: 1.45; margin: 14px 0 0; }
body.workspace-help-open { overflow: hidden; }

/* Compact, single-action workspace progress rail */
.workspace-priority-flow {
  display: grid;
  gap: 0;
  padding: 8px 24px 24px;
}

.workspace-priority-flow::before { content: none; }

.workspace-flow-track {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid #8d8d8d;
  background: #e0e0e0;
  gap: 1px;
}

.workspace-flow-tab {
  position: relative;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 68px;
  border: 0;
  border-top: 3px solid transparent;
  background: #ffffff;
  color: #161616;
  padding: 10px 12px;
  text-align: left;
  cursor: pointer;
}

.workspace-flow-tab:hover,
.workspace-flow-tab:focus-visible {
  background: #f4f4f4;
  outline: 2px solid #0f62fe;
  outline-offset: -2px;
}

.workspace-flow-tab.is-selected {
  border-top-color: #0f62fe;
  background: #edf5ff;
  box-shadow: inset 0 -2px #0f62fe;
}

.workspace-flow-tab--complete { border-top-color: #198038; }
.workspace-flow-tab--complete .workspace-flow-tab__number { background: #198038; }
.workspace-flow-tab--needs-input:not(.is-selected) .workspace-flow-tab__number { background: #f1c21b; color: #161616; }

.workspace-flow-tab__number {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  background: #525252;
  color: #ffffff;
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  font-weight: 600;
}

.workspace-flow-tab__copy { min-width: 0; }
.workspace-flow-tab__copy strong,
.workspace-flow-tab__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-flow-tab__copy strong { font-size: 11px; font-weight: 600; }
.workspace-flow-tab__copy small { color: #6f6f6f; font-size: 9px; margin-top: 4px; text-transform: uppercase; }

.workspace-flow-tab__tooltip {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  z-index: 70;
  width: 230px;
  transform: translate(-50%, 6px);
  border: 1px solid #525252;
  background: #161616;
  box-shadow: 0 12px 30px rgb(0 0 0 / .24);
  color: #f4f4f4;
  padding: 10px 12px;
  font-size: 10px;
  line-height: 1.45;
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease, transform 140ms ease;
}

.workspace-flow-tab:hover .workspace-flow-tab__tooltip,
.workspace-flow-tab:focus-visible .workspace-flow-tab__tooltip { opacity: 1; transform: translate(-50%, 0); }
.workspace-flow-tab:first-child .workspace-flow-tab__tooltip { left: 0; transform: translate(0, 6px); }
.workspace-flow-tab:first-child:hover .workspace-flow-tab__tooltip,
.workspace-flow-tab:first-child:focus-visible .workspace-flow-tab__tooltip { transform: translate(0, 0); }
.workspace-flow-tab:last-child .workspace-flow-tab__tooltip { left: auto; right: 0; transform: translate(0, 6px); }
.workspace-flow-tab:last-child:hover .workspace-flow-tab__tooltip,
.workspace-flow-tab:last-child:focus-visible .workspace-flow-tab__tooltip { transform: translate(0, 0); }

.workspace-flow-detail {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 72px auto;
  align-items: center;
  gap: 18px;
  min-height: 126px;
  border: 1px solid #8d8d8d;
  border-top: 0;
  background: #ffffff;
  padding: 18px 20px;
}

.workspace-flow-detail__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #8d8d8d;
  background: #f4f4f4;
}

.workspace-flow-detail__icon::before { color: #161616; font-size: 1.25rem; }
.workspace-flow-detail__copy > span { color: #0f62fe; font-family: "IBM Plex Mono", monospace; font-size: 9px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.workspace-flow-detail__copy h3 { color: #161616; font-size: 16px; margin: 5px 0 0; }
.workspace-flow-detail__copy p { color: #393939; font-size: 12px; line-height: 1.45; margin: 7px 0 0; }
.workspace-flow-detail__copy small { color: #6f6f6f; display: block; font-size: 10px; line-height: 1.4; margin-top: 5px; }
.workspace-flow-detail__score strong,
.workspace-flow-detail__score span { display: block; }
.workspace-flow-detail__score strong { color: #161616; font-size: 17px; }
.workspace-flow-detail__score span { color: #6f6f6f; font-size: 9px; margin-top: 3px; text-transform: uppercase; }
.workspace-flow-detail .workspace-card-action { grid-column: auto; min-width: 112px; width: auto; }

.workspace-rail-item .workspace-rail-tooltip {
  border-left: 3px solid var(--workspace-rail-accent, #0f62fe);
}

@media (max-width: 1180px) {
  .workspace-intel-foundations { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .workspace-readiness__popover { left: 0; min-width: min(360px, calc(100vw - 32px)); right: auto; }
  .workspace-foundation-grid,
  .workspace-licensed-module { grid-template-columns: 1fr; }
  .workspace-licensed-module > section { padding: 34px 24px; }
  .workspace-licensed-module h2 { font-size: 38px; }
  .workspace-licensed-module > aside { border-left: 0; border-top: 1px solid #525252; }
  .workspace-priority-flow { padding: 8px 12px 20px; }
  .workspace-flow-track { grid-template-columns: repeat(5, minmax(132px, 1fr)); overflow-x: auto; }
  .workspace-flow-tab__tooltip { display: none; }
  .workspace-flow-detail { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 16px; }
  .workspace-flow-detail__score { grid-column: 2; }
  .workspace-flow-detail .workspace-card-action { grid-column: 2; width: 100%; }
}

@media (max-width: 1050px) {
  .workspace-resource-shell {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .workspace-resource-location,
  .workspace-resource-topbar .workspace-app-title {
    display: none;
  }
}

@media (max-width: 700px) {
  .workspace-resource-shell {
    display: block;
  }

  .workspace-resource-topbar {
    position: sticky;
  }

  .workspace-resource-brand span {
    display: none;
  }

  .workspace-resource-rail {
    position: sticky;
    top: 60px;
    height: auto;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid #262626;
  }

  .workspace-resource-rail nav {
    display: flex;
    min-width: max-content;
  }

  .workspace-rail-item:hover,
  .workspace-rail-item:focus-visible,
  .workspace-rail-item--active {
    border-bottom-color: var(--workspace-rail-accent, var(--app-blue));
  }

  .workspace-resource-content .workspace-context-bar {
    top: 132px;
  }
}

@media (max-width: 767px) {
  .glyph-topbar > div {
    padding: 10px 16px;
  }

  .glyph-topbar .glyph-nav-dropdown__menu {
    border-color: #525252;
  }

  .janus-modal__footer {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .janus-modal__footer > *,
  .janus-modal__footer form,
  .janus-modal__footer button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .janus-app-body dialog[open],
  .janus-auth-body dialog[open] {
    animation: none;
  }
}

/* Workspace portfolio, product hierarchy, and retained experiment history */
.workspace-portfolio-summary {
  display: flex;
  gap: 18px;
  margin-top: 14px;
  color: #525252;
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  text-transform: uppercase;
}
.workspace-portfolio-summary strong { color: #161616; font-size: 13px; }
.workspace-os-project-pills a {
  border: 1px solid #a6c8ff;
  background: #edf5ff;
  padding: 6px 10px;
  color: #0043ce;
  font-size: .82rem;
  font-weight: 600;
}
.workspace-os-project-pills a:hover { background: #d0e2ff; color: #002d9c; }

.workspace-portfolio-switcher { position: relative; }
.workspace-portfolio-switcher > summary { cursor: pointer; list-style: none; }
.workspace-portfolio-switcher > summary::-webkit-details-marker { display: none; }
.workspace-portfolio-switcher[open] > summary { background: #393939; color: #78a9ff; }
.workspace-portfolio-menu {
  position: absolute;
  top: 44px;
  left: -220px;
  z-index: 120;
  width: min(410px, calc(100vw - 24px));
  max-height: min(680px, calc(100vh - 78px));
  overflow-y: auto;
  border: 1px solid #525252;
  background: #161616;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .35);
  color: #fff;
}
.workspace-portfolio-menu > header { border-bottom: 1px solid #525252; padding: 16px 18px; }
.workspace-portfolio-menu > header span,
.workspace-portfolio-menu > header strong { display: block; }
.workspace-portfolio-menu > header span { color: #78a9ff; font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.workspace-portfolio-menu > header strong { margin-top: 5px; font-size: 13px; }
.workspace-portfolio-menu > div > section { border-bottom: 1px solid #393939; padding: 10px 12px 12px; }
.workspace-portfolio-menu > div > section.is-current { box-shadow: inset 3px 0 #0f62fe; }
.workspace-portfolio-menu > div > section > a:first-child { align-items: center; display: grid; gap: 10px; grid-template-columns: 28px minmax(0, 1fr); min-height: 38px; padding: 4px; color: #f4f4f4; }
.workspace-portfolio-menu > div > section > a:first-child > span { align-items: center; background: #393939; display: inline-flex; font-family: "IBM Plex Mono", monospace; font-size: 10px; height: 28px; justify-content: center; width: 28px; }
.workspace-portfolio-menu nav { display: grid; margin: 5px 0 0 38px; }
.workspace-portfolio-menu nav a { align-items: center; border-left: 1px solid #525252; color: #c6c6c6; display: flex; font-size: 11px; justify-content: space-between; min-height: 32px; padding: 6px 9px; }
.workspace-portfolio-menu nav a:hover { background: #262626; border-left-color: #8a3ffc; color: #fff; }
.workspace-portfolio-menu nav small { color: #8d8d8d; font-family: "IBM Plex Mono", monospace; font-size: 8px; text-transform: uppercase; }
.workspace-portfolio-menu__add { color: #78a9ff; display: inline-block; font-family: "IBM Plex Mono", monospace; font-size: 9px; margin: 9px 0 0 38px; text-transform: uppercase; }
.workspace-portfolio-menu > footer { display: flex; justify-content: space-between; padding: 13px 16px; }
.workspace-portfolio-menu > footer a { color: #78a9ff; font-size: 10px; font-weight: 600; text-transform: uppercase; }

.workspace-product-editor,
.workspace-product-page,
.gtm-history-page { max-width: 1280px; }
.workspace-product-form { display: grid; gap: 18px; }
.workspace-product-hero,
.gtm-history-hero { align-items: flex-end; border-bottom: 1px solid #c6c6c6; display: flex; gap: 28px; justify-content: space-between; padding-bottom: 24px; }
.workspace-product-hero__title { align-items: flex-start; display: flex; gap: 18px; margin-top: 10px; }
.workspace-product-hero__title > span { align-items: center; background: #8a3ffc; color: #fff; display: inline-flex; flex: 0 0 50px; font-family: "IBM Plex Mono", monospace; font-size: 22px; height: 50px; justify-content: center; }
.workspace-product-hero h1,
.gtm-history-hero h1 { color: #161616; font-size: clamp(34px, 5vw, 62px); font-weight: 400; letter-spacing: -.025em; line-height: .98; margin: 0; }
.workspace-product-hero__title p,
.gtm-history-hero > div:first-child > p:last-child { color: #525252; line-height: 1.55; margin: 10px 0 0; max-width: 720px; }
.workspace-product-metrics,
.gtm-history-metrics { background: #c6c6c6; display: grid; gap: 1px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 18px; }
.workspace-product-metrics article,
.gtm-history-metrics article { background: #fff; min-height: 112px; padding: 17px 18px; }
.workspace-product-metrics span,
.gtm-history-metrics span { color: #6f6f6f; font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.workspace-product-metrics strong,
.gtm-history-metrics strong { color: #161616; display: block; font-size: 28px; font-weight: 400; margin-top: 9px; }
.workspace-product-metrics p,
.gtm-history-metrics p { color: #6f6f6f; font-size: 10px; margin: 5px 0 0; }
.workspace-product-layout,
.gtm-history-grid { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(0, 1.55fr) minmax(330px, .75fr); margin-top: 16px; }
.workspace-product-panel,
.gtm-history-panel { border: 1px solid #c6c6c6; background: #fff; }
.workspace-product-panel > header,
.gtm-history-panel > header { align-items: center; border-bottom: 1px solid #c6c6c6; display: flex; justify-content: space-between; min-height: 66px; padding: 12px 18px; }
.workspace-product-panel > header h2,
.gtm-history-panel > header h2 { color: #161616; font-size: 16px; margin: 4px 0 0; }
.workspace-product-panel > header > span,
.gtm-history-panel > header > span { color: #6f6f6f; font-family: "IBM Plex Mono", monospace; font-size: 9px; text-transform: uppercase; }
.workspace-product-scenarios > article { align-items: center; border-bottom: 1px solid #e0e0e0; display: grid; gap: 16px; grid-template-columns: 90px minmax(0, 1fr) auto; min-height: 116px; padding: 16px 18px; }
.workspace-product-scenarios > article:last-child { border-bottom: 0; }
.workspace-product-scenario__state { color: #525252; font-family: "IBM Plex Mono", monospace; font-size: 9px; text-transform: uppercase; }
.workspace-product-state { background: #8d8d8d; display: block; height: 3px; margin-bottom: 8px; width: 28px; }
.workspace-product-state--active { background: #198038; }
.workspace-product-state--draft { background: #f1c21b; }
.workspace-product-scenario__state + div h3 { color: #161616; font-size: 14px; margin: 0; }
.workspace-product-scenario__state + div p { color: #525252; font-size: 11px; line-height: 1.45; margin: 6px 0; }
.workspace-product-scenario__state + div small { color: #6f6f6f; font-size: 9px; }
.workspace-product-scenarios nav { display: grid; gap: 5px; justify-items: end; }
.workspace-product-scenarios nav a { color: #0f62fe; font-size: 10px; font-weight: 600; }
.workspace-product-empty { border: 0; }
.workspace-product-timeline > ol,
.gtm-experiment-history > ol { list-style: none; margin: 0; padding: 0; }
.workspace-product-timeline li { align-items: start; border-bottom: 1px solid #e0e0e0; display: grid; gap: 11px; grid-template-columns: 8px minmax(0, 1fr) auto; padding: 14px 16px; }
.workspace-product-timeline li > i { background: #8a3ffc; height: 8px; margin-top: 4px; width: 8px; }
.workspace-product-timeline li span { color: #8a3ffc; font-family: "IBM Plex Mono", monospace; font-size: 8px; text-transform: uppercase; }
.workspace-product-timeline li strong { color: #161616; display: block; font-size: 11px; margin-top: 3px; }
.workspace-product-timeline li p { color: #525252; font-size: 10px; line-height: 1.4; margin: 4px 0; }
.workspace-product-timeline li small { color: #8d8d8d; font-size: 9px; }
.workspace-product-timeline li > a { color: #0f62fe; font-size: 9px; font-weight: 600; }
.workspace-product-timeline__empty { color: #6f6f6f; font-size: 11px; margin: 0; padding: 28px 18px; }

.gtm-revision-list { list-style: none; margin: 0; padding: 0; }
.gtm-revision-list > li { display: grid; gap: 14px; grid-template-columns: 48px minmax(0, 1fr); padding: 18px; }
.gtm-revision-list > li + li { border-top: 1px solid #e0e0e0; }
.gtm-revision-marker { position: relative; }
.gtm-revision-marker span { align-items: center; background: #161616; color: #78a9ff; display: inline-flex; font-family: "IBM Plex Mono", monospace; font-size: 9px; height: 34px; justify-content: center; width: 34px; }
.gtm-revision-marker i { background: #c6c6c6; bottom: -36px; left: 16px; position: absolute; top: 34px; width: 1px; }
.gtm-revision-list > li:last-child .gtm-revision-marker i { display: none; }
.gtm-revision-list article > header { align-items: start; display: flex; gap: 16px; justify-content: space-between; }
.gtm-revision-list article > header strong,
.gtm-revision-list article > header span { display: block; }
.gtm-revision-list article > header strong { color: #161616; font-size: 12px; }
.gtm-revision-list article > header span,
.gtm-revision-list time { color: #6f6f6f; font-size: 9px; margin-top: 3px; }
.gtm-revision-list article > p { color: #525252; font-size: 11px; line-height: 1.5; margin: 8px 0 0; }
.gtm-revision-list details { border-left: 2px solid #0f62fe; margin-top: 11px; padding-left: 12px; }
.gtm-revision-list summary { color: #0f62fe; cursor: pointer; font-size: 10px; font-weight: 600; }
.gtm-revision-list dl { margin: 10px 0 0; }
.gtm-revision-list dl > div { border-top: 1px solid #e0e0e0; display: grid; gap: 8px; grid-template-columns: 120px 1fr 1fr; padding: 9px 0; }
.gtm-revision-list dt { color: #161616; font-size: 10px; font-weight: 600; }
.gtm-revision-list dd { color: #525252; font-size: 9px; line-height: 1.45; margin: 0; overflow-wrap: anywhere; }
.gtm-revision-list dd span { color: #8d8d8d; display: block; font-family: "IBM Plex Mono", monospace; font-size: 7px; margin-bottom: 3px; text-transform: uppercase; }
.gtm-experiment-history li { align-items: center; border-bottom: 1px solid #e0e0e0; display: grid; gap: 12px; grid-template-columns: 76px minmax(0, 1fr) auto; min-height: 82px; padding: 13px 15px; }
.gtm-run-state { color: #525252; font-family: "IBM Plex Mono", monospace; font-size: 8px; text-transform: uppercase; }
.gtm-run-state i { background: #8d8d8d; display: block; height: 3px; margin-bottom: 7px; width: 26px; }
.gtm-run-state--completed i { background: #198038; }
.gtm-run-state--running i { background: #0f62fe; }
.gtm-run-state--failed i { background: #da1e28; }
.gtm-experiment-history li strong { color: #161616; display: block; font-size: 11px; }
.gtm-experiment-history li p { color: #525252; font-size: 10px; margin: 4px 0; }
.gtm-experiment-history li small { color: #6f6f6f; font-size: 9px; }
.gtm-experiment-history li > a { color: #0f62fe; font-size: 9px; font-weight: 600; }
.gtm-history-empty { padding: 28px 18px; }
.gtm-history-empty strong { color: #161616; font-size: 13px; }
.gtm-history-empty p { color: #525252; font-size: 11px; line-height: 1.5; margin: 7px 0 0; }
.workspace-panel-link--history { border-top: 1px solid #e0e0e0; }

@media (max-width: 900px) {
  .workspace-product-hero,
  .gtm-history-hero { align-items: stretch; flex-direction: column; }
  .workspace-product-layout,
  .gtm-history-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .workspace-portfolio-menu { left: -170px; }
  .workspace-product-metrics,
  .gtm-history-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace-product-scenarios > article { align-items: start; grid-template-columns: 72px minmax(0, 1fr); }
  .workspace-product-scenarios nav { grid-column: 2; grid-template-columns: repeat(3, auto); justify-content: start; }
  .gtm-revision-list article > header { flex-direction: column; gap: 4px; }
  .gtm-revision-list dl > div { grid-template-columns: 1fr; }
}

/* Grounded knowledge, readiness gates, and progressive workspace navigation */
.workspace-section-tabs {
  position: sticky;
  top: 0;
  z-index: 14;
  display: flex;
  min-height: 54px;
  overflow-x: auto;
  border-bottom: 1px solid #8d8d8d;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(10px);
}
.workspace-section-tabs button,
.workspace-section-tabs__knowledge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
  border: 0;
  border-right: 1px solid #e0e0e0;
  border-bottom: 3px solid transparent;
  background: transparent;
  padding: 0 20px;
  color: #525252;
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}
.workspace-section-tabs button span,
.workspace-section-tabs__knowledge > span { color: #8d8d8d; font-size: 8px; }
.workspace-section-tabs button:hover,
.workspace-section-tabs button:focus-visible,
.workspace-section-tabs button.is-active,
.workspace-section-tabs button[aria-selected="true"] { border-bottom-color: #0f62fe; background: #edf5ff; color: #161616; outline: none; }
.workspace-section-tabs__knowledge { margin-left: auto; border-right: 0; border-left: 1px solid #e0e0e0; color: #0f62fe; }
.workspace-section-tabs__knowledge em { border-left: 1px solid #a6c8ff; padding-left: 9px; color: #525252; font-size: 8px; font-style: normal; }
.workspace-section-tab-panel[hidden] { display: none !important; }
.workspace-section-tab-panel.is-active { animation: workspace-tab-in 180ms ease-out both; }
@keyframes workspace-tab-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }

.workspace-feature-gate {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  border-bottom: 1px solid #f1c21b;
  background: #fff8e1;
  padding: 20px 28px;
}
.workspace-feature-gate__icon { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid #8d8d8d; background: #161616; color: #f1c21b; font-size: 22px; }
.workspace-feature-gate h2 { max-width: 760px; margin: 6px 0 0; color: #161616; font-size: 16px; font-weight: 500; line-height: 1.35; }
.workspace-feature-gate ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.workspace-feature-gate li { display: inline-flex; gap: 7px; align-items: center; border: 1px solid #c6c6c6; background: #fff; padding: 7px 9px; color: #525252; font-size: 10px; }
.workspace-feature-gate li.is-complete { border-color: #42be65; color: #0e6027; }
.workspace-section-button--locked,
.workspace-section-button--locked:disabled { border-color: #8d8d8d; background: #e0e0e0; color: #525252; opacity: 1; cursor: not-allowed; }
.workspace-rail-item--locked { color: #8d8d8d; }
.workspace-rail-item--locked > span:first-child { filter: grayscale(1); opacity: .7; }

.workspace-knowledge-page,
.workspace-knowledge-editor { max-width: 1380px; }
.workspace-knowledge-hero { display: flex; gap: 28px; align-items: end; justify-content: space-between; border-bottom: 1px solid #8d8d8d; padding: 12px 0 28px; }
.workspace-knowledge-hero h1 { margin: 10px 0 0; color: #161616; font-size: clamp(38px, 6vw, 74px); font-weight: 400; letter-spacing: -.045em; line-height: .95; }
.workspace-knowledge-hero p:not(.workspace-os-kicker) { max-width: 760px; margin: 16px 0 0; color: #525252; font-size: 15px; line-height: 1.6; }
.workspace-knowledge-readonly { border: 1px solid #8d8d8d; padding: 10px 13px; color: #525252; font-family: "IBM Plex Mono", monospace; font-size: 9px; text-transform: uppercase; }
.workspace-knowledge-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid #8d8d8d; border-top: 0; }
.workspace-knowledge-metrics article { min-height: 126px; border-right: 1px solid #c6c6c6; padding: 18px; }
.workspace-knowledge-metrics article:last-child { border-right: 0; }
.workspace-knowledge-metrics span,
.workspace-knowledge-type small,
.workspace-knowledge-status { font-family: "IBM Plex Mono", monospace; font-size: 8px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.workspace-knowledge-metrics strong { display: block; margin-top: 12px; color: #161616; font-size: 34px; font-weight: 400; }
.workspace-knowledge-metrics p { margin: 5px 0 0; color: #6f6f6f; font-size: 10px; }
.workspace-knowledge-list { margin-top: 20px; border: 1px solid #8d8d8d; }
.workspace-knowledge-row { display: grid; grid-template-columns: 94px minmax(0, 1fr) 130px; gap: 20px; align-items: center; min-height: 132px; border-left: 4px solid #8d8d8d; border-bottom: 1px solid #c6c6c6; padding: 18px; background: #fff; }
.workspace-knowledge-row:last-child { border-bottom: 0; }
.workspace-knowledge-row--ready { border-left-color: #198038; }
.workspace-knowledge-row--processing,
.workspace-knowledge-row--pending { border-left-color: #0f62fe; }
.workspace-knowledge-row--failed { border-left-color: #da1e28; }
.workspace-knowledge-type { display: grid; align-content: center; justify-items: center; height: 82px; border: 1px solid #8d8d8d; background: #f4f4f4; }
.workspace-knowledge-type > span { color: #161616; font-size: 28px; font-weight: 300; }
.workspace-knowledge-type small { margin-top: 4px; color: #525252; }
.workspace-knowledge-row h2 { margin: 5px 0 0; color: #161616; font-size: 18px; font-weight: 500; }
.workspace-knowledge-row p:not(.workspace-os-kicker) { max-width: 760px; margin: 7px 0; color: #525252; font-size: 11px; line-height: 1.5; }
.workspace-knowledge-row small { color: #6f6f6f; font-size: 9px; }
.workspace-knowledge-row__state { display: grid; justify-items: end; gap: 13px; }
.workspace-knowledge-row__state > a { color: #0f62fe; font-size: 10px; font-weight: 600; }
.workspace-knowledge-status { display: inline-flex; border: 1px solid #8d8d8d; padding: 7px 9px; color: #525252; }
.workspace-knowledge-status--ready { border-color: #42be65; background: #defbe6; color: #0e6027; }
.workspace-knowledge-status--failed { border-color: #ff8389; background: #fff1f1; color: #a2191f; }
.workspace-knowledge-status--pending,
.workspace-knowledge-status--processing { border-color: #78a9ff; background: #edf5ff; color: #0043ce; }
.workspace-knowledge-empty { margin-top: 20px; }

.workspace-knowledge-form { margin-top: 20px; }
.workspace-knowledge-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #8d8d8d; background: #c6c6c6; gap: 1px; }
.workspace-knowledge-form__grid > section { background: #fff; padding: 28px; }
.workspace-knowledge-form__grid h2 { margin: 9px 0 22px; color: #161616; font-size: 24px; font-weight: 400; }
.workspace-knowledge-form__grid label { display: grid; gap: 8px; }
.workspace-knowledge-form__grid label > span { color: #525252; font-size: 11px; font-weight: 600; }
.workspace-knowledge-form__grid > section > p:not(.workspace-os-kicker) { margin: 12px 0 0; color: #6f6f6f; font-size: 10px; line-height: 1.5; }
.workspace-knowledge-form__wide { grid-column: 1 / -1; }
.workspace-knowledge-type-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.workspace-knowledge-type-grid label { position: relative; display: block; cursor: pointer; }
.workspace-knowledge-type-grid input { position: absolute; opacity: 0; }
.workspace-knowledge-type-grid label > span { display: grid; min-height: 72px; align-content: center; border: 1px solid #c6c6c6; padding: 12px; background: #f4f4f4; }
.workspace-knowledge-type-grid input:checked + span { border-color: #0f62fe; box-shadow: inset 4px 0 #0f62fe; background: #edf5ff; color: #161616; }
.workspace-knowledge-type-grid strong { color: #161616; font-size: 11px; }
.workspace-knowledge-type-grid small { margin-top: 5px; color: #6f6f6f; font-size: 9px; }
.workspace-knowledge-upload { border: 1px dashed #8d8d8d; padding: 18px; background: #f4f4f4; }
.workspace-knowledge-upload input { border: 0; background: transparent; padding: 0; }
.workspace-knowledge-upload small { color: #6f6f6f; font-size: 9px; }
.workspace-knowledge-form > footer { display: flex; gap: 9px; justify-content: flex-end; border: 1px solid #8d8d8d; border-top: 0; padding: 18px; background: #fff; }
.workspace-knowledge-detail { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); gap: 16px; margin-top: 20px; }
.workspace-knowledge-preview { max-height: 680px; overflow: auto; margin: 0; padding: 24px; background: #f4f4f4; color: #262626; font: 11px/1.7 "IBM Plex Mono", monospace; white-space: pre-wrap; }
.workspace-knowledge-facts dl { margin: 0; }
.workspace-knowledge-facts dl > div { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 12px; border-bottom: 1px solid #e0e0e0; padding: 13px 18px; }
.workspace-knowledge-facts dt { color: #6f6f6f; font-size: 9px; }
.workspace-knowledge-facts dd { margin: 0; color: #161616; font-size: 10px; overflow-wrap: anywhere; }
.workspace-knowledge-actions { display: grid; gap: 7px; padding: 18px; }
.workspace-knowledge-actions form,
.workspace-knowledge-actions .workspace-os-button { width: 100%; }
.workspace-knowledge-delete { border-color: #da1e28; background: #fff; color: #a2191f; }
.workspace-knowledge-processing,
.workspace-knowledge-error { display: flex; gap: 16px; align-items: center; padding: 32px; }
.workspace-knowledge-processing > span { width: 32px; height: 32px; border: 3px solid #c6c6c6; border-top-color: #0f62fe; border-radius: 50%; animation: onboarding-orbit .9s linear infinite; }
.workspace-knowledge-processing strong,
.workspace-knowledge-error strong { color: #161616; font-size: 13px; }
.workspace-knowledge-processing p,
.workspace-knowledge-error p { margin: 6px 0 0; color: #525252; font-size: 10px; }
.workspace-knowledge-error { display: block; border-left: 4px solid #da1e28; background: #fff1f1; }

/* Preserve the intentional dark emphasis surfaces after the global application type rules. */
.janus-app-body .janus-site-main .workspace-section-panel.workspace-review-launcher { background: #161616; border-color: #161616; }
.janus-app-body .janus-site-main .workspace-review-launcher__copy h2,
.janus-app-body .janus-site-main .workspace-signal-roadmap__intro h3 { color: #fff; }

@media (prefers-reduced-motion: reduce) { .workspace-section-tab-panel.is-active { animation: none; } }
@media (max-width: 900px) {
  .workspace-knowledge-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace-knowledge-metrics article:nth-child(2) { border-right: 0; }
  .workspace-knowledge-detail { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .workspace-knowledge-hero { align-items: stretch; flex-direction: column; }
  .workspace-knowledge-form__grid { grid-template-columns: 1fr; }
  .workspace-knowledge-form__wide { grid-column: auto; }
  .workspace-knowledge-row { grid-template-columns: 70px minmax(0, 1fr); }
  .workspace-knowledge-row__state { grid-column: 2; grid-template-columns: auto auto; justify-content: start; justify-items: start; }
  .workspace-feature-gate { grid-template-columns: 1fr; }
  .workspace-section-tabs__knowledge { margin-left: 0; }
}
