:root {
  --bg: #f2f4f8;
  --bg-alt: #eef2f7;
  --surface: #ffffff;
  --surface-alt: #f7f8fb;
  --line: #e6eaf0;
  --line-strong: #d7dee8;
  --text: #171d29;
  --text-soft: #58657c;
  --text-faint: #8d97a9;
  --accent: #3156d3;
  --accent-strong: #2949bb;
  --accent-soft: #eef2fd;
  --accent-border: rgba(49, 86, 211, 0.16);
  --accent-surface: rgba(49, 86, 211, 0.05);
  --good: #0f766e;
  --warn: #9a6700;
  --danger: #b42318;
  --radius-lg: 14px;
  --radius-md: 12px;
  --radius-sm: 10px;
  --shadow-soft: 0 10px 28px rgba(23, 33, 52, 0.045);
}

* {
  box-sizing: border-box;
}

html {
  height: 100%;
  background: linear-gradient(180deg, #f6f8fb 0%, #eff3f8 100%);
  overflow: hidden;
}

body {
  margin: 0;
  height: 100%;
  min-height: 100vh;
  padding: 20px;
  color: var(--text);
  background: linear-gradient(180deg, #f6f8fb 0%, #eff3f8 100%);
  font-family: "SF Pro Display", "Segoe UI", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 15px;
  font-weight: 430;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow: hidden;
}

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

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  font-size: 0.97rem;
  font-weight: 400 !important;
  letter-spacing: -0.01em;
  color: #354257;
}

textarea {
  resize: vertical;
}

.icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.app-shell {
  display: grid;
  grid-template-columns: 188px 1fr;
  height: calc(100vh - 40px);
  min-height: calc(100vh - 40px);
  max-height: calc(100vh - 40px);
  border: 1px solid rgba(225, 231, 239, 0.95);
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 48px rgba(19, 29, 45, 0.07);
  transition: grid-template-columns 160ms ease;
}

.app-shell.sidebar-collapsed {
  grid-template-columns: 78px 1fr;
}

.sidebar {
  position: sticky;
  top: 0;
  height: calc(100vh - 40px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px 16px 18px;
  border-right: 1px solid var(--line);
  background: rgba(252, 253, 255, 0.96);
}

.sidebar-top {
  margin-bottom: 24px;
}

.brand-block {
  display: flex;
  align-items: center;
  gap: 10px;
}

.brand-mark {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 9px;
  background: #111724;
  color: #fff;
  flex: 0 0 auto;
}

.brand-logo {
  width: 15px;
  height: 15px;
}

.brand-copy h1 {
  margin: 2px 0 0;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.04em;
}

.eyebrow,
.summary-label,
.panel-kicker,
.nav-section-label {
  margin: 0;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
}

.eyebrow {
  color: var(--accent);
}

.brand-signature {
  margin: 2px 0 0;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--accent);
  opacity: 0.55;
  text-transform: none;
  font-style: italic;
}

.panel-kicker,
.summary-label,
.nav-section-label {
  color: var(--text-faint);
}

.side-nav {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 4px;
  flex: 1;
}

.nav-section {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.nav-section + .nav-section {
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.nav-section-label {
  margin: 0 0 6px 12px;
}

.nav-link,
.primary,
.secondary,
.workflow-step,
.config-chip,
.focus-row,
.ghost-link {
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease, transform 140ms ease;
}

.nav-link,
.primary,
.secondary,
.workflow-step,
.focus-row {
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  cursor: pointer;
}

.nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 11px 12px;
  background: transparent;
  color: var(--text-soft);
  text-align: left;
  font-size: 13px;
  font-weight: 600;
}

.nav-icon {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--text-faint);
  flex: 0 0 auto;
}

.nav-svg {
  width: 14px;
  height: 14px;
  display: block;
  stroke: currentColor;
  fill: none;
}

.nav-link:hover {
  background: #f7f9fc;
}

.nav-link.active {
  background: #f2f5fb;
  border-color: #dce3ee;
  color: #2d3d5d;
  box-shadow: none;
}

.nav-link.active .nav-icon {
  color: var(--accent);
}

.sidebar-footer {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.session-summary {
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-alt);
}

.session-summary h2 {
  margin: 6px 0 4px;
  font-size: 1rem;
  font-weight: 610;
  letter-spacing: -0.04em;
}

.session-summary p {
  margin: 0;
  color: var(--text-soft);
  font-size: 0.92rem;
  line-height: 1.5;
}

.sidebar-toggle {
  justify-self: start;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: var(--text-faint);
  cursor: pointer;
  font-size: 1rem;
}

.app-shell.sidebar-collapsed .brand-copy,
.app-shell.sidebar-collapsed .nav-text,
.app-shell.sidebar-collapsed .nav-section-label,
.app-shell.sidebar-collapsed .session-summary {
  display: none;
}

.app-shell.sidebar-collapsed .sidebar {
  padding-inline: 12px;
}

.app-shell.sidebar-collapsed .brand-block,
.app-shell.sidebar-collapsed .nav-link {
  justify-content: center;
}

.app-shell.sidebar-collapsed .side-nav {
  gap: 10px;
}

.app-shell.sidebar-collapsed .nav-section {
  gap: 8px;
}

.app-shell.sidebar-collapsed .nav-link {
  width: 44px;
  min-height: 44px;
  padding: 0;
  margin: 0 auto;
  border-radius: var(--radius-md);
}

.app-shell.sidebar-collapsed .nav-icon {
  width: 20px;
  height: 20px;
}

.app-shell.sidebar-collapsed .nav-svg {
  width: 17px;
  height: 17px;
}

.app-shell.sidebar-collapsed .nav-link.active {
  box-shadow: none;
  background: #f2f5fb;
  border: 1px solid #dce3ee;
}

.main-panel {
  padding: 24px 26px 30px;
  overflow: hidden;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.app-shell.sld-mode .workspace-bar {
  display: none;
}

.workspace-bar,
.screen-header,
.panel-head,
.button-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.workspace-bar {
  padding: 0;
  margin-bottom: 18px;
  border-bottom: 0;
}

.workspace-copy h2,
.screen-header h2,
.panel h3,
.panel h4 {
  margin: 4px 0 0;
  letter-spacing: -0.045em;
}

.workspace-copy h2,
.screen-header h2 {
  font-size: 1.6rem;
  font-weight: 700;
}

.panel h3 {
  font-size: 1.12rem;
  font-weight: 650;
}

.panel h4 {
  font-size: 0.98rem;
  font-weight: 640;
}

.workspace-subcopy,
.support-copy,
.muted {
  margin: 0;
  color: var(--text-soft);
  line-height: 1.52;
  font-size: 0.95rem;
}

.workspace-actions,
.workspace-status,
.button-row.compact,
.hero-actions,
.meta-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.workspace-actions {
  gap: 6px;
}

.workspace-status {
  gap: 10px;
}

.config-chip {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text-soft);
  font-size: 0.8rem;
  font-weight: 560;
  line-height: 1;
  white-space: nowrap;
}

.config-chip::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: var(--line-strong);
}

.config-chip.status-good::before {
  background: var(--good);
}

.primary,
.secondary,
.workflow-step,
.ghost-link {
  font-weight: 560;
}

.primary,
.secondary {
  min-height: 38px;
  padding: 0 14px;
  font-size: 0.8rem;
  line-height: 1;
  border-radius: 9px;
}

.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.secondary {
  background: var(--surface);
  border-color: var(--line-strong);
  color: var(--text-soft);
}

.secondary:hover,
.focus-row:hover {
  background: #fff;
}

.secondary.active {
  background: var(--accent-soft);
  color: var(--accent-strong);
  border-color: var(--accent-border);
}

.workspace-actions .secondary,
.workspace-actions .primary {
  min-height: 38px;
  font-size: 0.8rem;
}

.workspace-actions .subtle-top-action {
  min-height: 32px;
  padding: 0 12px;
  font-size: 0.76rem;
  color: var(--text-soft);
}

#jumpRunBtn {
  min-height: 38px;
  padding: 0 14px;
  background: var(--accent);
  border-color: var(--accent);
}

.ghost-link {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accent);
  cursor: pointer;
}

.small {
  min-height: 30px;
  padding-inline: 10px;
  font-size: 0.82rem;
}

.screen {
  display: none;
}

.screen.active {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

#enablement.screen.active {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  flex: 1;
  overflow: hidden;
}

.screen-header {
  margin-bottom: 14px;
}

.workflow-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.workflow-intro-copy {
  margin: 4px 0 0;
  max-width: 900px;
  color: var(--text-soft);
  line-height: 1.45;
  font-size: 0.98rem;
}

.overview-grid,
.panel-grid {
  display: grid;
  gap: 12px;
  min-height: 0;
  align-items: stretch;
}

.overview-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
}

.overview-hero,
.overview-focus,
.overview-discovery,
.overview-letters {
  grid-area: auto;
}

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

.account-overview-topbar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.account-overview-view-switchers,
.account-overview-tabs {
  flex-wrap: wrap;
}

.account-overview-search-inline {
  display: grid;
  grid-template-columns: minmax(280px, 420px) auto;
  gap: 8px;
  align-items: center;
  justify-self: end;
}

.account-overview-search-inline input {
  min-height: 40px;
  padding: 9px 12px;
  font-size: 0.96rem;
}

#account-overview.mode-detail .account-overview-search-inline,
#account-overview.mode-create .account-overview-search-inline {
  display: none;
}

#account-overview.mode-detail .account-overview-topbar,
#account-overview.mode-create .account-overview-topbar {
  grid-template-columns: auto;
}

.account-overview-view {
  display: none;
  min-height: 0;
}

.account-overview-view.active {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  min-height: 0;
  overflow: auto;
  align-content: start;
  padding-right: 4px;
}

.account-overview-overview-panel,
.account-overview-detail-shell,
.account-overview-content-panel,
.account-overview-create-panel {
  min-height: 0;
  overflow: visible;
}

.account-overview-overview-panel {
  display: grid;
  gap: 10px;
  align-content: start;
}

.account-overview-create-panel {
  display: grid;
  gap: 14px;
  align-content: start;
}

.account-overview-overview-head {
  display: grid;
  gap: 4px;
}

.account-overview-overview-head h3 {
  margin: 0;
  font-size: 1.22rem;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.account-overview-table-head {
  padding-top: 0;
  margin-bottom: 0;
}

.account-overview-results {
  display: grid;
  gap: 4px;
  min-height: 0;
  overflow: auto;
  align-content: start;
  max-height: min(52vh, 560px);
}

.account-overview-row {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) 120px 220px 120px 150px;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  text-align: left;
  color: inherit;
  min-height: 42px;
}

.account-overview-row:hover,
.account-overview-row.active {
  border-color: var(--accent-border);
  background: var(--accent-surface);
}

.account-overview-row-title {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 610;
}

.account-overview-detail-shell {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 12px;
}

.account-overview-content-panel {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
}

.account-overview-summary {
  display: grid;
  gap: 10px;
}

.account-overview-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 14px;
  align-items: start;
}

.account-overview-summary-grid.compact {
  gap: 12px;
}

.account-overview-summary-main {
  display: grid;
  gap: 8px;
}

.account-overview-summary-main h3 {
  margin: 0;
  font-size: 1.45rem;
  letter-spacing: -0.04em;
}

.account-overview-summary-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.account-overview-summary-actions,
.account-overview-summary-links {
  justify-content: flex-start;
}

.account-overview-summary-readout {
  max-width: 860px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.account-overview-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.account-overview-tabs {
  align-items: center;
  gap: 8px;
}

.account-overview-repository-shell {
  display: grid;
  gap: 12px;
}

.account-overview-repository-hero {
  display: grid;
  gap: 10px;
}

.account-overview-repository-hero-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  flex-wrap: wrap;
}

.account-overview-repository-hero-copy {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.account-overview-repository-hero-copy strong {
  font-size: 1.08rem;
}

.account-overview-repository-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.account-overview-repository-grid-secondary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-overview-repository-card {
  display: grid;
  gap: 8px;
  align-content: start;
}

.account-overview-repository-card strong {
  font-size: 1.08rem;
}

.account-overview-create-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.account-overview-create-copy {
  display: grid;
  gap: 4px;
  max-width: 760px;
}

.account-overview-create-copy h3 {
  margin: 0;
  font-size: 1.8rem;
  line-height: 1.02;
  letter-spacing: -0.05em;
}

.account-overview-tab-content {
  display: grid;
  gap: 10px;
  min-height: 0;
  overflow: auto;
  align-content: start;
}

.account-overview-brief-grid,
.account-overview-demo-steps,
.account-overview-opportunity-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.account-overview-brief-lead,
.account-overview-demo-route {
  grid-column: 1 / -1;
}

.account-overview-artifact {
  display: grid;
  gap: 8px;
}

.account-overview-create-panel .setup-form {
  gap: 10px 12px;
}

.account-create-form-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px 12px;
  align-content: start;
}

.account-create-form-grid label {
  display: grid;
  gap: 6px;
  color: var(--text);
  font-size: 0.92rem;
  font-weight: 640;
  letter-spacing: -0.01em;
}

.account-create-form-grid textarea {
  min-height: 96px;
  resize: vertical;
}

.account-overview-create-panel .setup-signal-bar-live {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.account-overview-create-panel .research-drawer-live {
  margin-top: 4px;
}

.account-interaction-composer,
.account-interaction-record {
  display: grid;
  gap: 10px;
}

.account-interaction-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.account-interaction-copy {
  display: grid;
  gap: 4px;
  max-width: 920px;
}

.account-interaction-copy strong {
  font-size: 1.02rem;
  line-height: 1.15;
  letter-spacing: -0.03em;
}

.account-interaction-actions {
  justify-content: flex-end;
}

.account-interaction-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px 12px;
}

.account-interaction-grid textarea {
  min-height: 180px;
  resize: vertical;
}

.account-module-field {
  display: grid;
  gap: 8px;
}

.account-interaction-modules {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
  gap: 8px;
  max-height: 148px;
  overflow: auto;
  padding: 2px 0;
}

.micro-check {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  font-size: 0.84rem;
  font-weight: 560;
  color: var(--text);
  min-height: 38px;
  position: relative;
  overflow: hidden;
}

.micro-check input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.micro-check span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 38px;
  padding: 0 12px;
  text-align: center;
  line-height: 1.15;
}

.micro-check:has(input:checked) {
  border-color: var(--accent-border);
  background: var(--accent-surface);
  color: var(--text);
}

.account-overview-artifact-head,
.meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.account-create-status,
.account-interaction-status {
  display: grid;
  gap: 8px;
}

.account-create-status-note {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-alt);
}

.setup-layout {
  display: grid;
  min-height: 0;
}

.admin-layout {
  grid-template-columns: 1fr;
  align-items: stretch;
  min-height: 0;
}

.admin-tabs {
  position: sticky;
  top: 0;
  z-index: 4;
  padding: 10px 0;
  background: var(--surface, #fff);
  border-bottom: 1px solid var(--border, #e3e6ec);
  margin-bottom: 16px;
}

.admin-tabs .admin-tab-refresh {
  margin-left: auto;
}

.admin-subtabs {
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px dashed var(--border, #e3e6ec);
}

.admin-tab-panel.hidden,
.admin-hidden-controls.hidden {
  display: none !important;
}

.admin-tab-panel {
  display: block;
  animation: adminTabFade 0.18s ease-out;
}

@keyframes adminTabFade {
  from { opacity: 0; transform: translateY(2px); }
  to { opacity: 1; transform: translateY(0); }
}

.admin-overview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.admin-overview-grid .stat-card {
  padding: 14px;
  border: 1px solid var(--border, #e3e6ec);
  border-radius: 8px;
  background: var(--surface, #fff);
}

.admin-overview-grid .stat-card strong {
  font-size: 1.4rem;
  display: block;
  margin: 4px 0;
}

.admin-library-toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.admin-library-toolbar input[type="search"] {
  min-height: 36px;
  padding: 6px 10px;
  min-width: 240px;
  border: 1px solid var(--border, #d0d4dc);
  border-radius: 6px;
  font: inherit;
}

.admin-library-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}

.admin-library-grid .detail-box {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.admin-library-grid .button-row.compact {
  margin-top: auto;
}

.admin-edit-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--border, #e3e6ec);
  border-radius: 8px;
  background: var(--surface-muted, #f7f8fa);
  margin-bottom: 16px;
}

.admin-edit-form label.span-2 {
  grid-column: span 2;
}

.admin-edit-form textarea,
.admin-edit-form input,
.admin-edit-form select {
  width: 100%;
  font: inherit;
  padding: 7px 9px;
  border: 1px solid var(--border, #d0d4dc);
  border-radius: 6px;
  box-sizing: border-box;
}

.admin-edit-form .form-actions {
  grid-column: span 2;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.admin-data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.admin-data-table th,
.admin-data-table td {
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px solid var(--border, #e3e6ec);
  vertical-align: top;
}

.admin-data-table th {
  font-weight: 600;
  color: var(--muted, #525866);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.admin-data-table tr:hover td {
  background: var(--surface-muted, #f7f8fa);
}

.admin-status-pill {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
}

.admin-status-pill.ok { background: #e3f5e9; color: #0d7a3a; }
.admin-status-pill.warn { background: #fff4e0; color: #8a5300; }
.admin-status-pill.err { background: #fde2e1; color: #9b1c1c; }
.admin-status-pill.muted { background: #eef0f4; color: #525866; }

.workflow-step-footer {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--border, #e3e6ec);
  justify-content: space-between;
  display: flex;
  gap: 10px;
}

.workflow-step-footer .primary {
  min-width: 220px;
  font-weight: 600;
}

.live-mode-selector {
  margin: 18px 0;
  background: var(--surface-muted, #f7f8fa);
}

.live-mode-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}

.live-mode-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--border, #d0d4dc);
  border-radius: 8px;
  background: var(--surface, #fff);
  cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.live-mode-option input[type="radio"] {
  margin-top: 4px;
}

.live-mode-option:has(input:checked) {
  border-color: var(--accent, #1f4ed8);
  box-shadow: 0 0 0 1px var(--accent, #1f4ed8) inset;
}

.live-mode-option strong {
  display: block;
  margin-bottom: 2px;
}

.live-mode-option span {
  font-size: 0.85rem;
  color: var(--muted, #525866);
}

.live-head-controls {
  display: flex;
  align-items: center;
  gap: 14px;
}

.live-mode-pill-toggle {
  display: inline-flex;
  border: 1px solid var(--border, #d0d4dc);
  border-radius: 999px;
  overflow: hidden;
  background: var(--surface, #fff);
}

.live-mode-pill-toggle button {
  border: none;
  background: transparent;
  padding: 5px 14px;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  color: var(--muted, #525866);
  font-family: inherit;
}

.live-mode-pill-toggle button.active {
  background: var(--accent, #1f4ed8);
  color: #fff;
}

.live-prompt-bullet {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
}

.live-prompt-bullet li {
  position: relative;
  padding: 6px 0 6px 18px;
  border-bottom: 1px dashed var(--border, #e3e6ec);
}

.live-prompt-bullet li:last-child {
  border-bottom: none;
}

.live-prompt-bullet li::before {
  content: "•";
  position: absolute;
  left: 4px;
  color: var(--accent, #1f4ed8);
  font-weight: 600;
}

.live-prompt-bullet-head {
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 6px;
}

/* ─── Account Workspace (rep workbench) ─────────────────────────────────── */
.workspace-panel { padding: 20px 24px 28px; }
.workspace-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  flex-wrap: wrap;
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--border, #e3e6ec);
}
.workspace-hero-titleblock { flex: 1; min-width: 320px; }
.workspace-hero h2 { margin: 4px 0 6px; font-size: 1.6rem; line-height: 1.15; }
.workspace-hero-sub { margin: 0 0 12px; max-width: 640px; }
.workspace-hero-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.workspace-progress-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--surface-muted, #f3f5f9);
  font-size: 0.85rem;
  color: var(--text, #1c2230);
}
.workspace-progress-pill strong { font-size: 0.95rem; }
.workspace-progress-bar {
  position: relative;
  display: inline-block;
  width: 180px;
  height: 6px;
  background: #eef0f4;
  border-radius: 999px;
  overflow: hidden;
}
.workspace-progress-bar > span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #6c8cff 0%, #1f4ed8 100%);
  transition: width 0.3s ease;
}
.workspace-hero-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
  min-width: 240px;
}
.workspace-hero-actions .primary,
.workspace-hero-actions .secondary {
  justify-content: center;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.workspace-action-icon { font-size: 1rem; }
.workspace-status:empty { display: none; }
.workspace-status > div { margin-bottom: 12px; }
.workspace-empty-hint {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 16px 18px;
  background: linear-gradient(135deg, #f4f7ff 0%, #fafbff 100%);
  border: 1px dashed var(--accent, #1f4ed8);
  border-radius: 10px;
  margin-bottom: 18px;
}
.workspace-empty-hint-icon { font-size: 1.8rem; line-height: 1; }
.workspace-empty-hint strong { display: block; margin-bottom: 4px; }
.workspace-empty-hint p { margin: 0; }
.workspace-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(540px, 1fr));
  gap: 16px;
}
.workspace-box {
  border: 1px solid var(--border, #e3e6ec);
  border-radius: 12px;
  background: var(--surface, #fff);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: box-shadow 0.15s, border-color 0.15s, transform 0.15s;
  position: relative;
}
.workspace-box:hover { border-color: #b6bdc8; box-shadow: 0 4px 16px rgba(0,0,0,0.04); }
.workspace-box.regenerating { opacity: 0.55; pointer-events: none; }
.workspace-box.regenerating::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 28px; height: 28px;
  margin: -14px 0 0 -14px;
  border: 3px solid var(--accent, #1f4ed8);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
.workspace-box-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px 12px;
  border-bottom: 1px solid var(--border, #f0f2f6);
  background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
}
.workspace-box-titleblock { display: flex; align-items: flex-start; gap: 10px; flex: 1; }
.workspace-state-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px; height: 18px;
  border-radius: 50%;
  font-size: 0.7rem;
  flex-shrink: 0;
  margin-top: 4px;
}
.workspace-state-badge.filled { background: #d8efe1; color: #0d7a3a; }
.workspace-state-badge.empty { background: #eef0f4; color: #9aa1ad; }
.workspace-box-desc {
  margin: 4px 0 0;
  font-size: 0.82rem;
  line-height: 1.4;
}
.workspace-box-collapse {
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 2px 8px;
  cursor: pointer;
  font-size: 1.1rem;
  color: var(--muted, #525866);
  font-family: inherit;
  transition: transform 0.18s ease;
  align-self: flex-start;
}
.workspace-box.collapsed .workspace-box-collapse { transform: rotate(-90deg); }
.workspace-box.collapsed .workspace-box-body { display: none; }
.workspace-box-body { padding: 14px 16px 16px; }
.workspace-section { margin-top: 16px; padding-top: 14px; border-top: 1px dashed #eef0f4; }
.workspace-section:first-child { margin-top: 0; padding-top: 0; border-top: none; }
.workspace-section-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
  gap: 8px;
}
.workspace-section-label {
  font-weight: 600;
  font-size: 0.88rem;
  color: var(--text, #1c2230);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.workspace-section-count {
  display: inline-block;
  margin-left: 4px;
  padding: 0 7px;
  border-radius: 999px;
  background: #eef0f4;
  color: var(--muted, #525866);
  font-size: 0.72rem;
  font-weight: 600;
}
.workspace-layer-icon { font-size: 0.95rem; opacity: 0.85; }
.workspace-section-meta { font-size: 0.78rem; }
.workspace-section-empty { margin: 0; font-size: 0.86rem; line-height: 1.45; }
.workspace-section-actions { margin-top: 8px; }
.workspace-bullets {
  margin: 0;
  padding-left: 20px;
  line-height: 1.6;
}
.workspace-bullets li { margin: 6px 0; }
.workspace-bullets-ai {
  color: var(--text, #1c2230);
  padding: 12px 14px 12px 32px;
  background: linear-gradient(135deg, #f6f8fe 0%, #fbfcff 100%);
  border-left: 3px solid var(--accent, #1f4ed8);
  border-radius: 0 8px 8px 0;
  margin: 0;
}
.workspace-bullets-ai li { margin: 4px 0; }
.workspace-ai-empty {
  padding: 16px;
  background: linear-gradient(135deg, #fafbff 0%, #fff 100%);
  border: 1px dashed #c5cef0;
  border-radius: 8px;
  text-align: center;
}
.workspace-ai-empty p { margin: 0 0 10px; }
.workspace-bullets-rep {
  list-style: none;
  padding: 0;
  margin: 0;
}
.workspace-bullets-rep li {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 4px 0 4px 22px;
  position: relative;
  border-bottom: 1px solid #f4f5f7;
}
.workspace-bullets-rep li:last-child { border-bottom: none; }
.workspace-bullets-rep li::before {
  content: "✚";
  position: absolute;
  left: 4px;
  top: 5px;
  font-size: 0.78rem;
  color: #8a5cf6;
}
.workspace-rep-bullet-text {
  flex: 1;
  padding: 2px 6px;
  border-radius: 4px;
  outline: none;
  min-height: 1.4em;
  line-height: 1.5;
}
.workspace-rep-bullet-text:focus,
.workspace-rep-bullet-text:hover { background: #fff7e0; }
.workspace-rep-bullet-delete {
  background: transparent;
  border: none;
  color: var(--muted, #9aa1ad);
  cursor: pointer;
  font-size: 1.2rem;
  padding: 0 6px;
  line-height: 1;
  border-radius: 4px;
  font-family: inherit;
  opacity: 0;
  transition: opacity 0.15s;
}
.workspace-bullets-rep li:hover .workspace-rep-bullet-delete { opacity: 1; }
.workspace-rep-bullet-delete:hover { background: #fde2e1; color: #9b1c1c; }
.workspace-add-bullet {
  display: flex;
  gap: 6px;
  margin-top: 8px;
}
.workspace-add-bullet input {
  flex: 1;
  padding: 7px 10px;
  font: inherit;
  border: 1px solid var(--border, #d0d4dc);
  border-radius: 6px;
}
.workspace-add-bullet input:focus { outline: 2px solid var(--accent, #1f4ed8); outline-offset: -1px; border-color: transparent; }
.workspace-section textarea {
  width: 100%;
  font: inherit;
  padding: 10px 12px;
  border: 1px solid var(--border, #d0d4dc);
  border-radius: 6px;
  resize: vertical;
  box-sizing: border-box;
  background: #fdfdfd;
  line-height: 1.5;
}
.workspace-section textarea:focus { outline: 2px solid var(--accent, #1f4ed8); outline-offset: -2px; border-color: transparent; }
.secondary.subtle { background: transparent; border-color: transparent; color: var(--muted, #525866); }
.secondary.subtle:hover { background: #f3f5f9; color: var(--text, #1c2230); }

/* ─── Enablement Deep (compressed header + collapsible sections) ────────── */
/* Tight top strip — title + chips + 1-line summary live in ~60px total.
   The "Grounded guidance / Enablement detail" inner panel-head is hidden
   entirely; the content area becomes the scroll container. */
.enablement-context-panel {
  padding: 8px 14px !important;
  min-height: 0;
}
.enablement-context-panel .enablement-context-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.enablement-context-panel .panel-kicker { display: none; }
.enablement-context-panel h3 { margin: 0; font-size: 1rem; line-height: 1.2; }
.enablement-insight-panel { padding: 0 !important; }
.enablement-insight-panel > .panel-head,
.enablement-insight-panel > .compact-panel-head { display: none !important; }
#enablementDetail {
  padding: 12px 14px 16px;
  overflow-y: auto;
  min-height: 0;
  flex: 1 1 auto;
}
.enablement-workspace-grid {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.enablement-workspace-grid > .enablement-insight-panel {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.enablement-summary-card-tight {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0;
}
.enablement-summary-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.enablement-summary-chip {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 999px;
  background: #eef0f4;
  color: var(--muted, #525866);
  font-size: 0.74rem;
  font-weight: 500;
}
.enablement-summary-chip-strong {
  background: var(--accent-soft, #dbe7ff);
  color: var(--accent, #1f4ed8);
}
.enablement-summary-line {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.35;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  flex: 1 1 320px;
  min-width: 0;
}

.enablement-deep-empty {
  text-align: center;
  padding: 28px 20px;
  background: linear-gradient(135deg, #f9faff 0%, #ffffff 100%);
  border: 1px dashed #c5cef0;
}
.enablement-deep-loading {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  background: linear-gradient(135deg, #fafbff 0%, #ffffff 100%);
}
.enablement-deep-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid var(--accent, #1f4ed8);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  flex-shrink: 0;
}

.enablement-deep-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 8px 10px;
  margin: -12px -14px 12px;
  background: var(--surface-muted, #f7f8fa);
  border-bottom: 1px solid var(--border, #e3e6ec);
  position: sticky;
  top: 0;
  z-index: 5;
  font-size: 0.85rem;
}
.enablement-deep-toolbar .button-row { margin-left: auto; }

.enablement-deep-sections {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.enablement-deep-section {
  border: 1px solid var(--border, #e3e6ec);
  border-radius: 10px;
  background: var(--surface, #fff);
  overflow: hidden;
  transition: border-color 0.15s;
}
.enablement-deep-section:hover { border-color: #b6bdc8; }
.enablement-deep-section-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  cursor: pointer;
  user-select: none;
  background: linear-gradient(180deg, #fafbfc 0%, #fff 100%);
  font-weight: 600;
  font-size: 0.95rem;
  border-bottom: 1px solid transparent;
  transition: background 0.15s;
}
.enablement-deep-section-head:hover { background: #f3f5f9; }
.enablement-deep-section.expanded .enablement-deep-section-head { border-bottom-color: var(--border, #e3e6ec); }
.enablement-deep-section-icon { font-size: 1.1rem; }
.enablement-deep-section-label { flex: 1; }
.enablement-deep-section-count {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eef0f4;
  color: var(--muted, #525866);
  font-size: 0.72rem;
  font-weight: 600;
}
.enablement-deep-section-chevron {
  transition: transform 0.2s ease;
  color: var(--muted, #525866);
}
.enablement-deep-section.expanded .enablement-deep-section-chevron { transform: rotate(180deg); }
.enablement-deep-section.collapsed .enablement-deep-section-body { display: none; }
.enablement-deep-section-body {
  padding: 14px 16px 16px;
  line-height: 1.6;
}
.enablement-deep-list {
  margin: 0;
  padding-left: 20px;
}
.enablement-deep-list li { margin: 6px 0; }

.enablement-committee-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media (min-width: 760px) {
  .enablement-committee-grid { grid-template-columns: repeat(2, 1fr); }
}
.enablement-committee-row {
  padding: 10px 12px;
  border: 1px solid var(--border, #e3e6ec);
  border-radius: 8px;
  background: var(--surface-muted, #fafbfc);
}
.enablement-committee-row strong {
  display: block;
  margin-bottom: 4px;
  color: var(--text, #1c2230);
}
.enablement-committee-row .muted { font-size: 0.85rem; margin: 2px 0; }

.enablement-named-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.enablement-named-row {
  padding: 10px 14px;
  border-left: 3px solid #8a5cf6;
  background: var(--surface-muted, #fafbfc);
  border-radius: 0 8px 8px 0;
}
.enablement-named-row strong { display: block; margin-bottom: 6px; }
.enablement-named-row ol { margin: 0; padding-left: 20px; }
.enablement-named-row ol li { margin: 4px 0; }

.enablement-glossary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 0;
}
@media (min-width: 760px) {
  .enablement-glossary { grid-template-columns: repeat(2, 1fr); }
}
.enablement-glossary dt {
  font-weight: 600;
  margin-bottom: 2px;
  color: var(--text, #1c2230);
}
.enablement-glossary dd {
  margin: 0 0 8px;
  font-size: 0.88rem;
  color: var(--muted, #525866);
  line-height: 1.5;
}
@media (max-width: 900px) {
  .workspace-grid { grid-template-columns: 1fr; }
  .workspace-hero-actions { width: 100%; min-width: 0; }
}

.admin-live-catalog-panel {
  margin-top: 16px;
}

.admin-catalog-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.admin-catalog-card {
  border: 1px solid var(--border, #e3e6ec);
  border-radius: 8px;
  background: var(--surface, #fff);
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.admin-catalog-card:hover {
  border-color: #b6bdc8;
}

.admin-catalog-card-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  cursor: pointer;
  user-select: none;
}

.admin-catalog-card-check {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 4px;
  margin: -4px;
}

.admin-catalog-card-check input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.admin-catalog-card.selected {
  border-color: var(--accent, #1f4ed8);
  box-shadow: 0 0 0 1px var(--accent, #1f4ed8) inset;
}

.admin-catalog-bulk-bar {
  display: none;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  margin-bottom: 10px;
  background: var(--accent-soft, #dbe7ff);
  border: 1px solid var(--accent, #1f4ed8);
  border-radius: 8px;
  color: var(--accent, #1f4ed8);
  font-weight: 500;
}

.admin-catalog-bulk-bar.active {
  display: flex;
}

.admin-catalog-card-titleblock {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.admin-catalog-card-pills {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.admin-catalog-card-titleblock strong {
  font-size: 1.05rem;
}

.admin-catalog-summary-line {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.admin-catalog-card.expanded .admin-catalog-summary-line {
  -webkit-line-clamp: unset;
  display: block;
}

.admin-catalog-card-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--muted, #525866);
  font-size: 0.84rem;
  white-space: nowrap;
}

.admin-catalog-toggle-icon {
  font-size: 1rem;
  transition: transform 0.18s ease;
  display: inline-block;
}

.admin-catalog-card.expanded .admin-catalog-toggle-icon {
  transform: rotate(180deg);
}

.admin-catalog-card-body {
  display: none;
  padding: 6px 14px 16px;
  border-top: 1px solid var(--border, #e3e6ec);
  background: var(--surface-muted, #fafbfc);
}

.admin-catalog-card.expanded .admin-catalog-card-body {
  display: block;
}

.admin-catalog-section {
  margin-top: 10px;
}

.admin-catalog-rocks {
  margin: 6px 0 0;
  padding-left: 18px;
  line-height: 1.55;
}

.admin-collapsible {
  margin-top: 16px;
}

.admin-collapsible > summary {
  cursor: pointer;
  list-style: none;
  padding: 14px 16px;
  background: var(--surface, #fff);
  border-radius: 8px;
}

.admin-collapsible[open] > summary {
  border-bottom: 1px solid var(--border, #e3e6ec);
  border-radius: 8px 8px 0 0;
}

.admin-collapsible > summary::-webkit-details-marker {
  display: none;
}

.admin-collapsible > summary::before {
  content: "▸";
  margin-right: 8px;
  font-size: 0.9rem;
  transition: transform 0.18s ease;
  display: inline-block;
}

.admin-collapsible[open] > summary::before {
  transform: rotate(90deg);
}

.admin-collapsible > .panel-grid,
.admin-collapsible > div:not(.panel-head) {
  padding: 12px 16px 16px;
}

.admin-catalog-filter.active {
  background: var(--accent-soft, #dbe7ff);
  color: var(--accent, #1f4ed8);
  border-color: var(--accent, #1f4ed8);
}

.admin-inventory-layout {
  margin-top: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  min-height: 0;
}

.enablement-layout {
  grid-template-columns: 0.94fr 1.06fr;
}

.live-layout {
  grid-template-columns: 1.16fr 0.84fr;
  align-items: stretch;
  min-height: 0;
}

.panel {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
  min-height: 0;
}

.panel-divider {
  height: 1px;
  margin: 12px 0;
  background: var(--line);
}

.overview-hero {
  padding-bottom: 18px;
}

.hero-panel {
  grid-column: span 8;
}

.overview-focus {
  grid-column: span 4;
}

.overview-discovery {
  grid-column: span 7;
}

.overview-letters {
  grid-column: span 5;
}

.panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  gap: 18px;
}

.hero-copy {
  display: grid;
  gap: 14px;
}

.hero-number-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.hero-number-row strong {
  font-size: 52px;
  line-height: 1;
  font-weight: 580;
}

.hero-lead {
  max-width: 700px;
  margin: 0 0 8px;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: -0.03em;
}

.stage-bar {
  display: flex;
  height: 6px;
  background: #edf2f7;
  border-radius: 999px;
  overflow: hidden;
}

.seg {
  display: block;
  height: 100%;
}

.red { background: #cb6d73; }
.amber { background: #c7a24e; }
.blue { background: #588ea5; }
.green { background: #749f8d; }
.purple { background: #7466b3; }

.stage-list,
.focus-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.stage-row,
.legend-row {
  display: grid;
  align-items: center;
}

.stage-row {
  grid-template-columns: 10px 1fr auto auto;
  gap: 12px;
  font-size: 13px;
  color: var(--text-soft);
}

.dot,
.legend-chip {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

.hero-chart-card {
  background: var(--surface-alt);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px;
}

.ring-and-legend {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 16px;
  align-items: center;
}

.ring-chart {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: conic-gradient(
    #cb6d73 0deg 194deg,
    #c7a24e 194deg 255deg,
    #588ea5 255deg 295deg,
    #749f8d 295deg 331deg,
    #7466b3 331deg 360deg
  );
  position: relative;
  margin: 0 auto;
}

.ring-hole {
  position: absolute;
  inset: 28px;
  border-radius: 50%;
  background: #fff;
}

.legend {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.legend-row {
  grid-template-columns: 12px 1fr auto;
  gap: 10px;
  color: var(--text-soft);
  font-size: 13px;
}

.metrics-grid {
  display: grid;
  gap: 10px;
}

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

.metric-card {
  padding: 15px;
  background: var(--surface-alt);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.metric-card strong {
  display: block;
  font-size: 30px;
  line-height: 1;
  margin-bottom: 6px;
  font-weight: 600;
}

.metric-card span {
  display: block;
  color: var(--text-soft);
  font-size: 13px;
}

.micro-pill {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 6px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line-strong);
  background: transparent;
  color: var(--text-soft);
  font-size: 0.7rem;
  font-weight: 560;
}

.focus-list,
.queue-list,
.stack-list,
.records-list,
.deck-list {
  display: grid;
  gap: 10px;
  min-height: 0;
}

.detail-stack {
  display: grid;
  gap: 10px;
}

#overview.screen.active {
  min-height: 0;
}

#overview .overview-grid,
#discovery-calls .panel,
#champion-letters .panel,
#value-hub .panel-grid,
#sld.screen.active,
#admin .admin-inventory-layout,
#run-sdp .step-panel.active,
#run-sdp .step-panel.active > .panel-grid,
#run-sdp .step-panel.active > .setup-layout {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

#run-sdp.screen.active {
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
}

#discovery-calls.screen.active,
#champion-letters.screen.active,
#value-hub.screen.active,
#account-overview.screen.active,
#sld.screen.active {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
}

#admin.screen.active {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;
  min-height: 0;
  overflow: hidden;
}

#admin .admin-tab-panel:not(.hidden) {
  min-height: 0;
  overflow: auto;
  padding-right: 4px;
}

#admin .admin-tab-panel:not(.hidden) > .admin-tab-panel:not(.hidden) {
  overflow: visible;
  padding-right: 0;
}

#run-sdp .step-panel.active {
  display: grid;
  min-height: 0;
  overflow: hidden;
}

#overview .overview-grid > .panel,
#value-hub .panel-grid > .panel,
#admin .panel-grid > .panel,
#admin > .panel {
  min-height: 0;
  overflow: hidden;
}

#run-sdp .step-panel.active > .panel-grid,
#run-sdp .step-panel.active > .setup-layout {
  height: 100%;
  min-height: 0;
}

#prepDeck,
#liveSupport,
#debriefQuestionDeck,
#debriefOutput,
#letterChecklist,
#valueInputGroups,
#valueOutput,
#adminPreviewModules,
#adminUploadQueue,
#adminIngestionStatus,
#adminPreviewStatus,
#adminSettingsSummary,
#overviewDiscoveryQueue,
#overviewLetterQueue,
#discoveryCallsList,
#championLettersList,
#moduleSelectionList {
  min-height: 0;
  overflow: auto;
}

#step-setup .setup-stage-panel-live,
#step-account-debrief .panel,
#step-scope .scope-stage-panel-live,
#step-prep .panel,
#step-live .panel,
#step-debrief .panel,
#step-letter .panel,
#value-hub .panel-grid > .panel,
#sld .panel,
#admin .panel-grid > .panel,
#admin > .panel,
#discovery-calls .panel,
#champion-letters .panel,
#overview .overview-grid > .panel {
  min-height: 0;
  overflow: auto;
}

.focus-row {
  width: 100%;
  display: grid;
  gap: 4px;
  padding: 12px;
  background: var(--surface);
  border-color: var(--line);
  text-align: left;
}

.focus-item {
  border: 1px solid var(--line);
  background: var(--surface-alt);
  border-radius: 12px;
  padding: 13px 14px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
}

.focus-item strong {
  font-size: 14px;
}

.focus-item span {
  color: var(--text-soft);
  line-height: 1.45;
  font-size: 14px;
}

.list-table {
  display: flex;
  flex-direction: column;
}

.list-head,
.list-row {
  display: grid;
  grid-template-columns: 1.6fr 0.8fr 1.2fr 0.8fr;
  gap: 16px;
  align-items: center;
}

.list-head {
  padding: 0 4px 12px;
  border-bottom: 1px solid var(--line);
  color: var(--text-faint);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 700;
}

.list-row {
  padding: 14px 4px;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}

.list-row:last-child {
  border-bottom: 0;
}

.list-row span:last-child {
  display: flex;
  justify-content: flex-start;
}

.focus-row strong {
  font-size: 0.96rem;
  font-weight: 590;
}

.focus-row span {
  color: var(--text-soft);
  font-size: 0.92rem;
  line-height: 1.45;
}

.queue-card,
.stack-card,
.detail-card,
.deck-card {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.queue-card strong,
.stack-card strong,
.detail-card strong,
.record-main strong,
.deck-card strong {
  display: block;
  margin-bottom: 4px;
}

.queue-card p,
.stack-card p,
.detail-card p,
.deck-card p,
.detail-box p,
.detail-box li,
.record-main span,
.meta-text,
.record-body p,
.record-body li {
  margin: 0;
  color: var(--text-soft);
  line-height: 1.5;
  font-size: 0.92rem;
}

.enablement-hero-card {
  display: grid;
  gap: 8px;
}

.enablement-hero-card h4 {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 620;
  letter-spacing: -0.03em;
}

.enablement-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.enablement-screen-header {
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.enablement-screen-copy {
  display: grid;
  gap: 6px;
  max-width: 860px;
}

.enablement-screen-copy h3 {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.08;
  letter-spacing: -0.05em;
}

.enablement-shell {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  min-height: calc(100vh - 220px);
  overflow: hidden;
}

.enablement-rail {
  display: grid;
  gap: 14px;
  align-content: start;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  height: 100%;
}

.enablement-list-frame {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #f8faff 0%, #f4f7fb 100%);
  border-radius: 16px;
  padding: 10px;
  height: 100%;
  min-height: 0;
  max-height: none;
  overflow: auto;
}

.enablement-taxonomy-list {
  display: grid;
  gap: 8px;
}

.enablement-taxonomy-item {
  width: 100%;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.92);
  color: var(--text-soft);
  border-radius: 12px;
  padding: 9px 10px;
  text-align: left;
  cursor: pointer;
  display: grid;
  gap: 4px;
  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.enablement-taxonomy-item:hover {
  border-color: #d7dfec;
  background: #ffffff;
  transform: translateY(-1px);
}

.enablement-taxonomy-item.active {
  background: linear-gradient(180deg, #f4f7ff 0%, #eef3ff 100%);
  border-color: rgba(49, 86, 211, 0.18);
  color: #324566;
  box-shadow: inset 0 0 0 1px rgba(49, 86, 211, 0.05);
}

.enablement-taxonomy-item strong {
  display: block;
  color: var(--text);
  font-size: 13px;
  line-height: 1.18;
  letter-spacing: -0.03em;
}

.enablement-taxonomy-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.enablement-taxonomy-kind {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 7px;
  border-radius: 999px;
  background: #eef2f8;
  color: var(--text-soft);
  font-size: 0.64rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-shrink: 0;
}

.enablement-taxonomy-meta {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  color: var(--text-muted);
  font-size: 10px;
  line-height: 1.25;
}

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

.enablement-filter-label {
  color: var(--text-soft);
  font-size: 0.82rem;
  font-weight: 600;
}

.enablement-filter-select {
  min-width: 260px;
  padding: 8px 10px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--text);
  font-size: 0.92rem;
}

.enablement-workspace {
  display: grid;
  gap: 16px;
  align-content: start;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  height: 100%;
}

.enablement-context-panel {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}

.enablement-context-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.enablement-context-top h3 {
  margin: 0;
  font-size: 1.22rem;
  line-height: 1.02;
  letter-spacing: -0.06em;
}

.enablement-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
  min-height: 0;
}

.enablement-insight-panel {
  display: grid;
  gap: 14px;
  height: 100%;
  min-height: 0;
  padding: 16px;
  overflow: hidden;
}

.enablement-insight-panel {
  grid-template-rows: auto minmax(0, 1fr);
}

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

.enablement-detail-grid .detail-box ul {
  margin: 0;
  padding-left: 18px;
}

.enablement-view-switchers {
  align-items: center;
}

.enablement-ai-panel {
  display: grid;
  gap: 14px;
  min-height: 0;
  height: 100%;
  padding: 16px;
  overflow: hidden;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.enablement-ai-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.enablement-ai-head h3 {
  margin: 0 0 4px;
  font-size: 1.22rem;
  line-height: 1.02;
  letter-spacing: -0.06em;
}

.enablement-ai-head .workspace-subcopy {
  margin: 0;
  max-width: 80ch;
}

.sld-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  min-height: 0;
  overflow: hidden;
}

.sld-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.sld-view-switchers,
.sld-action-row {
  align-items: center;
}

.sld-view {
  display: none;
  min-height: 0;
  overflow: hidden;
}

.sld-view.active {
  display: grid;
  min-height: 0;
  align-content: start;
}

.sld-overview-panel {
  display: grid;
  grid-template-rows: auto auto;
  gap: 6px;
  min-height: 0;
  align-content: start;
}

.sld-overview-head {
  padding: 0 0 2px;
}

.sld-overview-intro {
  display: grid;
  gap: 1px;
}

.sld-overview-intro h3 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1;
  letter-spacing: -0.05em;
}

.sld-source-table {
  display: grid;
  gap: 4px;
  min-height: 0;
  align-content: start;
}

.sld-source-head,
.sld-source-row {
  display: grid;
  grid-template-columns: 56px minmax(0, 1.3fr) 120px 220px 110px 150px;
  align-items: center;
  gap: 12px;
}

.sld-source-head {
  padding: 0 8px 4px;
  border-bottom: 1px solid var(--line);
  color: var(--text-faint);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 700;
}

.sld-source-body {
  display: grid;
  gap: 4px;
  min-height: 0;
  overflow: auto;
  align-content: start;
  grid-auto-rows: min-content;
  max-height: min(56vh, 560px);
}

.sld-source-row {
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.sld-source-row.active {
  border-color: var(--accent-border);
  background: var(--accent-surface);
}

.sld-source-check {
  display: flex;
  align-items: center;
  justify-content: center;
}

.sld-source-check input {
  width: 16px;
  height: 16px;
}

.sld-source-main {
  display: block;
  min-width: 0;
}

.sld-source-main strong {
  display: block;
  font-size: 0.88rem;
  letter-spacing: -0.02em;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sld-workspace {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 12px;
  overflow: hidden;
}

.sld-summary-panel {
  display: block;
  max-height: min(38vh, 430px);
  overflow: auto;
  padding-right: 4px;
}

.sld-summary-toggle {
  list-style: none;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
}

.sld-summary-toggle::-webkit-details-marker {
  display: none;
}

.sld-summary-toggle h3 {
  margin: 4px 0 0;
  font-size: 1.1rem;
  letter-spacing: -0.03em;
}

.sld-summary-meta {
  display: grid;
  gap: 6px;
  justify-items: end;
  text-align: right;
}

.sld-summary-body {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.sld-workspace {
  min-height: 0;
}

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

.sld-section-shell {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
}

.sld-section {
  display: none;
  min-height: 0;
  overflow: auto;
  padding-right: 4px;
}

.sld-section.active {
  display: grid;
  align-content: start;
}

#sld-section-conversation.sld-section.active {
  align-content: stretch;
  grid-template-rows: minmax(0, 1fr);
}

.sld-form-grid,
.sld-matrix-shell {
  display: grid;
  gap: 12px;
}

.sld-form-grid-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}

.sld-form-grid-inner label {
  display: grid;
  gap: 6px;
}

.sld-form-grid-inner label small {
  color: var(--text-faint);
  font-size: 12px;
  line-height: 1.4;
}

.sld-form-grid-inner .span-2 {
  grid-column: span 2;
}

.sld-inline-metrics {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.sld-table {
  display: grid;
  gap: 10px;
}

.sld-table-head,
.sld-table-row {
  display: grid;
  align-items: start;
  gap: 12px;
}

.sld-scope-head,
.sld-scope-row {
  grid-template-columns: 90px minmax(0, 1.2fr) 100px minmax(0, 1fr);
}

.sld-integration-head,
.sld-integration-row {
  grid-template-columns: 0.9fr 0.7fr 0.7fr 0.9fr 1.1fr 0.9fr;
}

.sld-erp-head,
.sld-erp-row {
  grid-template-columns: 0.9fr 1.1fr;
}

.sld-implementation-head,
.sld-implementation-row {
  grid-template-columns: minmax(0, 1.2fr) 110px minmax(0, 0.95fr);
}

.sld-table-head {
  padding: 0 2px 10px;
  border-bottom: 1px solid var(--line);
  color: var(--text-faint);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 700;
}

.sld-table-body {
  display: grid;
  gap: 10px;
}

.sld-table-row {
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}

.sld-table-row input,
.sld-table-row select,
.sld-form-grid-inner input,
.sld-form-grid-inner select,
.sld-form-grid-inner textarea {
  width: 100%;
}

.sld-integration-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.9fr);
  gap: 12px;
}

.sld-implementation-card {
  border-radius: 16px;
}

.sld-graph-grid {
  display: grid;
  gap: 12px;
}

.sld-graph-lane {
  display: grid;
  gap: 8px;
}

.sld-graph-node {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-alt);
}

.sld-graph-node span {
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.4;
}

.assistant-box {
  border-color: rgba(61, 92, 214, 0.22);
}

.rep-box {
  border-color: rgba(24, 135, 122, 0.22);
}

.enablement-meta-block {
  display: grid;
  gap: 6px;
}

.enablement-meta-block strong {
  font-size: 0.9rem;
  font-weight: 610;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 0;
  border-radius: 0;
  border: 0;
  background: transparent;
  color: var(--text-faint);
  font-size: 0.72rem;
  font-weight: 560;
}

.status-good {
  color: var(--good);
}

.status-warn {
  color: var(--warn);
}

.status-danger {
  color: var(--danger);
}

.records-table-head {
  display: grid;
  grid-template-columns: 44px 1.25fr 96px 160px 110px 24px;
  gap: 10px;
  padding: 0 12px 10px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--line);
  color: var(--text-faint);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.record-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: stretch;
}

.record-select-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 6px 12px 12px;
  border-right: 1px solid var(--line);
}

.record-select-cell input {
  width: 16px;
  height: 16px;
}

.record-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  overflow: hidden;
}

.record-toggle {
  width: 100%;
  display: grid;
  grid-template-columns: 1.25fr 96px 160px 110px 24px;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.record-card.active .record-toggle {
  border-bottom: 1px solid var(--line);
}

.record-card.active .record-select-cell {
  border-bottom: 1px solid var(--line);
}

.record-body {
  display: none;
  padding: 12px;
}

.record-card.active .record-body {
  display: block;
}

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

.detail-box {
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-alt);
}

.detail-box.compact {
  padding: 10px;
}

.workbook-input-grid {
  margin-top: 8px;
}

.field-note {
  color: var(--text-faint);
  font-size: 0.76rem;
  line-height: 1.35;
}

.split-header,
.metric-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.split-header {
  margin-bottom: 6px;
}

.metric-row {
  padding: 8px 0;
  border-top: 1px solid var(--line);
}

.metric-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.metric-row strong {
  display: block;
  margin-bottom: 2px;
  font-size: 0.92rem;
  font-weight: 580;
}

.value-group-box {
  padding: 12px;
}

.value-group-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.value-group-summary {
  list-style: none;
  margin: -12px -12px 0;
  padding: 12px;
  cursor: pointer;
}

.value-group-summary::-webkit-details-marker {
  display: none;
}

.value-group-accordion[open] .value-group-summary {
  border-bottom: 1px solid var(--line);
  margin-bottom: 10px;
}

.value-group-header strong {
  font-size: 0.96rem;
  font-weight: 600;
}

.value-section-stack {
  display: grid;
  gap: 8px;
}

.value-section-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  overflow: hidden;
}

.value-section-summary {
  list-style: none;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 12px;
  cursor: pointer;
}

.value-section-summary::-webkit-details-marker {
  display: none;
}

.value-section-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.value-section-main strong {
  font-size: 0.92rem;
  font-weight: 590;
}

.value-section-main .muted {
  font-size: 0.84rem;
  line-height: 1.45;
}

.value-section-meta {
  display: grid;
  justify-items: end;
  gap: 4px;
  flex: 0 0 auto;
}

.value-section-total {
  font-size: 0.9rem;
  font-weight: 610;
  color: var(--text);
}

.value-group-accordion[open] > .value-group-summary .prep-group-toggle::after,
.value-input-card[open] .prep-group-toggle::after,
.value-section-card[open] .prep-group-toggle::after {
  content: " \2191";
}

.value-group-accordion:not([open]) > .value-group-summary .prep-group-toggle::after,
.value-input-card:not([open]) .prep-group-toggle::after,
.value-section-card:not([open]) .prep-group-toggle::after {
  content: " \2193";
}

.value-section-body {
  padding: 0 12px 12px;
  border-top: 1px solid var(--line);
  background: rgba(247, 249, 252, 0.74);
}

.value-line-item {
  padding: 10px 0;
}

.value-input-card .value-section-main strong {
  font-size: 0.88rem;
}

.route-mode-banner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(79, 70, 229, 0.12);
  border-radius: var(--radius-md);
  background: rgba(79, 70, 229, 0.04);
}

.route-mode-banner strong {
  display: block;
  margin-bottom: 3px;
  font-size: 0.9rem;
  font-weight: 590;
}

.route-mode-banner span {
  color: var(--text-soft);
  font-size: 0.84rem;
  line-height: 1.45;
}

.route-mode-badge {
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid rgba(79, 70, 229, 0.18);
  border-radius: 999px;
  color: var(--accent-strong);
  background: rgba(79, 70, 229, 0.06);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.route-mode-banner-compact {
  padding: 8px 10px;
  gap: 10px;
}

.route-mode-banner-compact strong {
  margin-bottom: 2px;
  font-size: 0.85rem;
}

.route-mode-banner-compact span {
  font-size: 0.8rem;
  line-height: 1.35;
}

.route-mode-banner-compact .route-mode-badge {
  align-self: center;
}

.detail-box ul,
.detail-stack ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

.project-summary-subsection {
  padding-top: 8px;
  border-top: 1px solid var(--line);
}

.project-summary-subsection:first-child {
  padding-top: 0;
  border-top: 0;
}

.project-summary-group-list {
  display: grid;
  gap: 10px;
}

.project-summary-group-list strong {
  display: block;
  margin-bottom: 4px;
  font-size: 0.9rem;
  font-weight: 580;
}

.workflow-bar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 0;
  margin-bottom: 12px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.workflow-state-bar {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 8px;
  margin: 0 0 12px;
}

.workflow-state-item {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.workflow-state-item strong {
  font-size: 0.85rem;
  font-weight: 590;
}

.workflow-state-item span {
  color: var(--text-soft);
  font-size: 0.8rem;
  line-height: 1.4;
}

.workflow-state-label {
  color: var(--text-faint) !important;
  font-size: 0.69rem !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workflow-state-item.current {
  border-color: var(--accent-border);
  background: var(--accent-surface);
}

.workflow-state-item.done strong {
  color: var(--good);
}

.workflow-state-item.locked strong {
  color: var(--text-faint);
}

.workflow-step {
  min-height: 42px;
  padding: 0 12px;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--line);
  color: var(--text-faint);
  font-size: 0.9rem;
  font-weight: 550;
}

.workflow-step.active {
  background: transparent;
  color: var(--text);
  box-shadow: inset 0 -2px 0 var(--accent);
}

.workflow-step.completed {
  color: var(--text);
}

.workflow-step.locked,
.workflow-step:disabled {
  color: #a1aabc;
  cursor: not-allowed;
}

.workflow-step.hidden {
  display: none;
}

.hidden {
  display: none !important;
}

.workflow-step:last-child {
  border-right: 0;
}

.step-panel {
  display: none;
}

.step-panel.active {
  display: block;
}

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

.form-grid label {
  display: grid;
  gap: 5px;
  font-size: 0.9rem;
  font-weight: 520;
  color: #49566d;
}

.setup-panel {
  display: grid;
  gap: 14px;
}

.compact-panel-head {
  align-items: center;
  margin-bottom: 0;
}

.compact-panel-head h3 {
  font-size: 1.95rem;
  line-height: 1.04;
  letter-spacing: -0.06em;
}

.setup-stage-panel-live {
  gap: 12px;
  padding: 16px;
}

.account-debrief-layout {
  grid-template-columns: 1fr;
}

.account-debrief-panel {
  display: grid;
  gap: 12px;
}

.account-debrief-readout {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  background: #fbfcff;
}

.account-debrief-copy {
  margin: 0;
  max-width: 980px;
  color: var(--text);
  font-size: 1.02rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.account-debrief-grid,
.account-debrief-bottom-grid {
  display: grid;
  gap: 12px;
}

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

.account-debrief-bottom-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
}

.setup-signal-bar-live {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.setup-signal-card {
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fbfcff;
  display: grid;
  gap: 4px;
}

.setup-signal-card span {
  margin: 0;
  color: var(--text-faint);
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.setup-signal-card strong {
  min-width: 0;
  font-size: 0.86rem;
  font-weight: 620;
  line-height: 1.35;
  color: var(--text);
}

.research-drawer-live {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fbfcff;
  overflow: hidden;
}

.research-drawer-live summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  cursor: pointer;
}

.research-drawer-live summary::-webkit-details-marker {
  display: none;
}

.research-summary-live {
  display: grid;
  gap: 3px;
}

.research-summary-live strong {
  display: block;
  font-size: 0.9rem;
  font-weight: 610;
  line-height: 1.35;
}

.research-count-live {
  flex: 0 0 auto;
  color: var(--text-faint);
  font-size: 0.78rem;
  font-weight: 560;
  white-space: nowrap;
}

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

.setup-form-live {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 9px 12px;
}

.setup-form-live label {
  gap: 4px;
}

.setup-form-live .setup-field-title {
  font-size: 0.82rem;
  line-height: 1.15;
}

.setup-footer-live {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: 10px;
  align-items: start;
}

.control-box-live {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fbfcff;
}

.setup-actions-live {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.setup-actions-live .primary,
.setup-actions-live .secondary {
  width: 100%;
  justify-content: center;
}

.setup-preview-shell {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-alt);
}

.setup-preview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.setup-preview-head h4 {
  margin: 0;
  font-size: 1rem;
  font-weight: 620;
  letter-spacing: -0.03em;
}

.setup-preview-head p:last-child {
  max-width: 520px;
  margin: 0;
}

.setup-preview-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.setup-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px 12px;
}

.setup-form label {
  gap: 7px;
  font-size: 0.92rem;
  font-weight: 650;
  color: var(--text);
  letter-spacing: -0.01em;
}

.setup-field-title {
  font-weight: 720;
  color: var(--text);
  letter-spacing: -0.01em;
}

.scope-stage-panel-live {
  display: grid;
  gap: 10px;
}

#step-scope .panel-grid {
  grid-template-columns: 1fr;
}

.scope-stage-summary-live {
  display: grid;
  grid-template-columns: minmax(180px, 0.72fr) minmax(0, 1.28fr) auto;
  gap: 8px;
  align-items: stretch;
}

.scope-current-route-live,
.scope-current-selection-live,
.scope-summary-metrics {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fbfcff;
}

.scope-current-route-live {
  display: grid;
  gap: 4px;
}

.scope-current-route-live strong {
  font-size: 1rem;
  line-height: 1.15;
  letter-spacing: -0.04em;
}

.scope-current-selection-live {
  display: grid;
  gap: 4px;
}

.scope-current-selection-live strong {
  font-size: 0.94rem;
  line-height: 1.2;
}

.scope-current-selection-live span {
  color: var(--text-soft);
  font-size: 0.86rem;
  line-height: 1.35;
}

.scope-summary-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(84px, 1fr));
  gap: 6px;
}

.scope-inline-stat {
  display: grid;
  gap: 2px;
  align-content: center;
}

.scope-inline-stat strong {
  display: block;
  font-size: 1.08rem;
  line-height: 1;
  letter-spacing: -0.06em;
}

.scope-inline-stat span {
  color: var(--text-faint);
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.scope-toolbar-live {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 1px;
}

.scope-selection-grid-live {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.scope-choice-card-live {
  position: relative;
  display: grid;
  gap: 0;
  min-height: 68px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease;
}

.scope-choice-card-live:hover {
  border-color: var(--line-strong);
}

.scope-choice-card-live.selected {
  border-color: var(--accent-border);
  background: var(--accent-surface);
}

.scope-choice-input-live {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.scope-choice-top-live {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.scope-choice-title-live {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
}

.scope-choice-title-live strong {
  font-size: 0.94rem;
  line-height: 1.15;
  letter-spacing: -0.03em;
}

.scope-priority {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 7px;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: #f7f9fc;
  color: var(--text-soft);
  font-size: 0.7rem;
  font-weight: 620;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.scope-priority-primary {
  color: var(--accent-strong);
  border-color: rgba(79, 70, 229, 0.18);
  background: rgba(79, 70, 229, 0.05);
}

.scope-priority-secondary,
.scope-priority-contextual,
.scope-priority-available {
  color: var(--text-soft);
}

.scope-select-meta-inline {
  color: var(--text-faint);
  font-size: 0.74rem;
  font-weight: 560;
  white-space: nowrap;
}

.scope-selection-note {
  color: var(--text-soft);
  font-size: 0.82rem;
  line-height: 1.35;
}

.enablement-summary-card-live {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border: 1px solid rgba(49, 86, 211, 0.08);
  border-radius: 14px;
  background: linear-gradient(180deg, #f9fbff 0%, #f4f7fc 100%);
}

.enablement-summary-card-live strong {
  display: block;
  margin: 1px 0 3px;
  font-size: 1rem;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.enablement-summary-card-live p {
  margin: 0;
}

.enablement-summary-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.enablement-summary-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.enablement-summary-chip {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.9);
  color: var(--text-soft);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.enablement-summary-actions {
  display: flex;
  align-items: flex-start;
}

.enablement-summary-support {
  color: var(--text-soft);
  font-size: 0.88rem;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.enablement-detail-grid-live {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-content: start;
  min-height: 100%;
  overflow: auto;
}

#enablementDetail {
  min-height: 0;
  overflow: hidden;
}

.enablement-detail-grid-live .detail-box {
  padding: 15px;
  border-radius: 14px;
  background: #f8fafc;
}

.enablement-detail-grid-live .detail-box ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
  color: var(--text-soft);
}

.enablement-detail-grid-live .detail-box li {
  line-height: 1.55;
}

.enablement-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.enablement-copilot-head {
  display: grid;
  gap: 4px;
}

.enablement-copilot-head h4 {
  margin: 0;
  font-size: 1.18rem;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.copilot-thread-live {
  display: grid;
  gap: 8px;
  min-height: 0;
  height: auto;
  max-height: min(22vh, 240px);
  overflow: auto;
  padding-right: 4px;
  align-content: start;
  grid-auto-rows: min-content;
}

.copilot-thread-live > .detail-box,
.copilot-message-live {
  align-self: start;
}

.copilot-message-live {
  padding: 14px 15px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  display: grid;
  gap: 10px;
}

.copilot-message-live.rep {
  background: #f7f9fd;
  border-color: #dde4f0;
}

.copilot-message-live.assistant {
  background: #ffffff;
}

.copilot-role-live {
  display: inline-block;
  color: var(--text-faint);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.copilot-grounding {
  display: grid;
  gap: 6px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}

.copilot-grounding ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.copilot-composer-live {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  background: var(--surface);
  position: sticky;
  bottom: 0;
  z-index: 1;
}

.copilot-composer-live input {
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  background: #fff;
}

.sld-conversation-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 10px;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  align-content: stretch;
}

#sld-section-conversation .copilot-thread-live {
  max-height: none;
  height: 100%;
}

#sld-section-conversation .copilot-composer-live {
  position: static;
  margin-top: auto;
}

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

.sld-open-question-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--text-soft);
  background: var(--surface-muted);
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.current-question-box p:last-child,
.update-box ul {
  margin: 0;
}

.update-box ul {
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.admin-settings-form,
.admin-provider-body,
.admin-status-grid,
.admin-ingestion-meta {
  display: grid;
  gap: 12px;
}

.admin-provider-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.admin-provider-summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
}

.admin-provider-summary::-webkit-details-marker {
  display: none;
}

.admin-provider-summary strong {
  display: block;
  font-size: 0.94rem;
  font-weight: 600;
}

.admin-provider-summary span {
  color: var(--text-soft);
  font-size: 0.82rem;
}

.admin-provider-body {
  padding: 0 14px 14px;
  border-top: 1px solid var(--line);
}

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

.admin-status-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-drop-zone {
  display: grid;
  gap: 6px;
  place-items: center;
  padding: 24px 18px;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-md);
  background: var(--surface-alt);
  text-align: center;
}

.admin-drop-zone strong {
  font-size: 0.95rem;
  font-weight: 600;
}

.admin-drop-zone span {
  color: var(--text-soft);
  font-size: 0.84rem;
}

.admin-drop-zone.dragover {
  border-color: var(--accent-border);
  background: rgba(79, 70, 229, 0.05);
}

.admin-upload-card {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.admin-preview-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.admin-preview-body {
  gap: 14px;
}

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

.admin-review-box {
  min-height: 100%;
}

.admin-review-box ul {
  margin: 8px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.admin-review-box p {
  margin: 0;
}

.admin-fit-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.checkbox-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-alt);
  font-size: 0.84rem;
  color: var(--text);
}

.checkbox-pill input {
  margin: 0;
}

.debrief-transcript-tools {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}

.transcript-upload-card {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.transcript-map-box,
.transcript-gap-box {
  gap: 8px;
}

.transcript-gap-box ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.field-label {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-faint);
}

.route-mode-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.route-mode-toggle {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.route-mode-option {
  position: relative;
  display: flex;
}

.route-mode-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.route-mode-option span {
  width: 100%;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  background: var(--surface);
  color: var(--text-soft);
  font-size: 0.84rem;
  font-weight: 540;
  text-align: center;
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.route-mode-option input:checked + span {
  border-color: var(--accent-border);
  background: var(--accent-surface);
  color: var(--accent-strong);
}

.form-grid input,
.form-grid select,
.form-grid textarea,
.panel label textarea {
  width: 100%;
  padding: 7px 10px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--text);
  font-size: 0.94rem;
  font-weight: 400 !important;
  letter-spacing: -0.01em;
  outline: none;
}

.setup-form-live input,
.setup-form-live select {
  min-height: 40px;
}

.setup-form-live textarea {
  min-height: 76px;
  line-height: 1.4;
}

.form-grid input::placeholder,
.form-grid textarea::placeholder,
.panel label textarea::placeholder {
  color: #a3adbc;
  font-weight: 400;
  opacity: 1;
}

.form-grid input:disabled,
.form-grid select:disabled,
.form-grid textarea:disabled,
.panel input:disabled,
.panel select:disabled,
.panel textarea:disabled {
  color: #8591a4;
  -webkit-text-fill-color: #8591a4;
  opacity: 1;
}

.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus,
.panel label textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.08);
}

.span-2 {
  grid-column: span 2;
}

.span-3 {
  grid-column: span 3;
}

.span-4 {
  grid-column: span 4;
}

.span-5 {
  grid-column: span 5;
}

.span-7 {
  grid-column: span 7;
}

.span-8 {
  grid-column: span 8;
}

.span-12 {
  grid-column: 1 / -1;
}

.span-6 {
  grid-column: span 6;
}

.button-row {
  margin-top: 12px;
  flex-wrap: wrap;
}

.setup-actions {
  justify-content: space-between;
}

.prompt-card {
  min-height: 148px;
  padding: 16px;
  border: 1px solid var(--line);
  border-left: 3px solid var(--accent);
  border-radius: var(--radius-lg);
  background: var(--surface-alt);
}

.prompt-card h3,
.prompt-card p {
  margin: 0;
}

.prompt-card h3 {
  margin-top: 8px;
  font-size: 1.06rem;
  font-weight: 585;
  line-height: 1.5;
  letter-spacing: -0.04em;
}

.prompt-context {
  margin-top: 10px !important;
  color: var(--text-soft);
  font-size: 0.88rem;
  line-height: 1.5;
}

.progress-track {
  width: 100%;
  height: 3px;
  margin: 10px 0 14px;
  border-radius: 0;
  background: var(--bg-alt);
  overflow: hidden;
}

.progress-track div {
  height: 100%;
  width: 0;
  background: var(--accent);
}

.stack-card.active {
  border-color: var(--accent-border);
  background: rgba(79, 70, 229, 0.03);
}

.choice-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.choice-row input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
}

.deck-card {
  display: grid;
  gap: 8px;
}

.scope-summary-bar {
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-alt);
}

.scope-summary-bar-compact {
  margin-bottom: 8px;
  padding: 8px 10px;
}

.scope-summary-copy {
  display: grid;
  gap: 3px;
}

.scope-summary-copy strong {
  font-size: 0.92rem;
  font-weight: 585;
}

.scope-summary-copy span,
.scope-selection-note {
  color: var(--text-soft);
  font-size: 0.86rem;
  line-height: 1.45;
}

.selected-scope-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: 14px;
}

.selected-scope-bar-compact {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.scope-summary-metrics {
  display: flex;
  align-items: stretch;
  gap: 8px;
  flex-wrap: wrap;
}

.scope-inline-stat {
  min-width: 72px;
  display: grid;
  gap: 1px;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.scope-inline-stat strong {
  font-size: 0.83rem;
  font-weight: 585;
}

.scope-inline-stat span {
  color: var(--text-faint);
  font-size: 0.72rem;
  line-height: 1.3;
}

.scope-list,
.scope-select-list {
  display: grid;
  gap: 8px;
  max-height: 520px;
  overflow: auto;
  padding-right: 4px;
}

.scope-recommendation {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.scope-recommendation[open] {
  border-color: rgba(79, 70, 229, 0.16);
  box-shadow: inset 3px 0 0 rgba(79, 70, 229, 0.48);
}

.scope-recommendation summary {
  list-style: none;
}

.scope-recommendation summary::-webkit-details-marker {
  display: none;
}

.scope-recommendation-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  cursor: pointer;
}

.scope-recommendation[open] .scope-recommendation-summary {
  background: rgba(79, 70, 229, 0.025);
}

.scope-recommendation-main {
  display: grid;
  gap: 3px;
}

.scope-recommendation-meta,
.scope-select-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.scope-priority {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 0 6px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  font-size: 0.72rem;
  font-weight: 570;
  color: var(--text-faint);
}

.scope-priority-primary {
  color: var(--accent-strong);
  border-color: var(--accent-border);
  background: rgba(79, 70, 229, 0.05);
}

.scope-priority-secondary {
  color: var(--text-soft);
  background: rgba(148, 163, 184, 0.08);
}

.scope-priority-contextual,
.scope-priority-selected {
  color: var(--text-soft);
  background: rgba(99, 102, 241, 0.08);
}

.scope-big-rock-count,
.scope-toggle,
.scope-select-meta,
.scope-select-meta-inline {
  color: var(--text-faint);
  font-size: 0.77rem;
  font-weight: 540;
  white-space: nowrap;
}

.scope-recommendation-main strong,
.scope-select-heading strong {
  font-size: 0.95rem;
  font-weight: 590;
}

.scope-rationale {
  margin: 0;
  color: var(--text-soft);
  font-size: 0.84rem;
  line-height: 1.4;
}

.scope-recommendation-body {
  display: grid;
  gap: 6px;
  padding: 0 12px 12px;
  border-top: 1px solid var(--line);
  background: rgba(247, 249, 252, 0.88);
}

.scope-detail-label {
  margin: 0;
  color: var(--text-faint);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scope-rock-list {
  margin: 0;
  padding-left: 18px;
  color: var(--text-soft);
}

.scope-rock-list li {
  margin: 0 0 4px;
  line-height: 1.4;
}

.scope-select-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.scope-select-item.selected {
  border-color: var(--accent-border);
  background: rgba(79, 70, 229, 0.04);
  box-shadow: inset 3px 0 0 rgba(79, 70, 229, 0.5);
}

.scope-select-main {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

.scope-select-main input {
  width: 16px;
  height: 16px;
  margin-top: 3px;
}

.scope-select-copy {
  display: grid;
  gap: 3px;
}

.scope-select-copy p {
  margin: 0;
  color: var(--text-soft);
  font-size: 0.84rem;
  line-height: 1.4;
}

.scope-selection-note {
  margin-top: 8px;
  font-size: 0.82rem;
  line-height: 1.35;
}

.prep-overview-bar {
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface-alt);
}

.prep-overview-copy {
  display: grid;
  gap: 3px;
}

.prep-overview-copy strong {
  font-size: 0.92rem;
  font-weight: 585;
}

.prep-overview-copy span {
  color: var(--text-soft);
  font-size: 0.86rem;
  line-height: 1.45;
}

.prep-run-order {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.prep-run-chip {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.prep-run-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--accent-surface);
  color: var(--accent-strong);
  font-size: 0.74rem;
  font-weight: 600;
  flex: 0 0 auto;
}

.prep-run-copy {
  display: grid;
  gap: 2px;
}

.prep-run-copy strong {
  font-size: 0.86rem;
  font-weight: 590;
}

.prep-run-copy span {
  color: var(--text-soft);
  font-size: 0.8rem;
}

.prep-group,
.prep-pillar {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.prep-group[open] {
  border-color: rgba(79, 70, 229, 0.16);
  box-shadow: inset 3px 0 0 rgba(79, 70, 229, 0.48);
}

.prep-group + .prep-group {
  margin-top: 10px;
}

.prep-group summary,
.prep-pillar summary {
  list-style: none;
}

.prep-group summary::-webkit-details-marker,
.prep-pillar summary::-webkit-details-marker {
  display: none;
}

.prep-group-summary,
.prep-pillar-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
}

.prep-group-summary {
  padding: 12px 14px;
}

.prep-group-main {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.prep-group-main strong {
  font-size: 0.96rem;
  font-weight: 590;
  line-height: 1.4;
}

.prep-group-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.prep-group-count,
.prep-group-toggle {
  color: var(--text-faint);
  font-size: 0.8rem;
  font-weight: 560;
}

.prep-group[open] .prep-group-toggle::after {
  content: " \2191";
}

.prep-group:not([open]) .prep-group-toggle::after {
  content: " \2193";
}

.prep-group-body {
  display: grid;
  gap: 8px;
  padding: 0 14px 14px;
  border-top: 1px solid var(--line);
  background: rgba(247, 249, 252, 0.74);
}

.prep-big-rock-strip,
.prep-question-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.prep-big-rock-strip {
  padding-top: 10px;
}

.prep-big-rock-tag,
.prep-question-tag {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 0 6px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  color: var(--text-faint);
  background: var(--surface-alt);
  font-size: 0.72rem;
  font-weight: 520;
}

.prep-pillar-summary {
  padding: 11px 12px;
  font-size: 0.88rem;
  font-weight: 560;
}

.prep-pillar-body {
  display: grid;
  gap: 8px;
  padding: 0 12px 12px;
  border-top: 1px solid var(--line);
}

.prep-question {
  display: grid;
  gap: 4px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.prep-question:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.prep-question-text {
  margin: 0;
  color: var(--text);
  font-size: 0.92rem;
  font-weight: 530;
  line-height: 1.5;
}

.prep-question-support {
  margin: 0;
  color: var(--text-soft);
  font-size: 0.86rem;
  line-height: 1.45;
}

.debrief-question-list {
  max-height: 520px;
  overflow: auto;
  padding-right: 4px;
}

.debrief-answer-card {
  gap: 8px;
}

.debrief-answer-field {
  display: grid;
  gap: 6px;
}

.debrief-answer-input {
  min-height: 84px;
}

.chip {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 6px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--accent-border);
  background: var(--accent-surface);
  color: var(--accent-strong);
  font-size: 0.76rem;
  font-weight: 580;
}

.chip-good {
  border-color: rgba(15, 118, 110, 0.18);
  background: rgba(15, 118, 110, 0.08);
  color: var(--good);
}

.live-context-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin: 0 0 10px;
}

.live-context-chip {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 7px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface-alt);
  color: var(--text-soft);
  font-size: 0.76rem;
  font-weight: 560;
}

.checklist {
  display: grid;
  gap: 8px;
}

.checklist.compact {
  gap: 6px;
}

.checklist-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.checklist-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  border-radius: 50%;
  background: rgba(148, 163, 184, 0.12);
  color: var(--text-faint);
  font-size: 0.72rem;
  font-weight: 620;
  flex: 0 0 auto;
}

.checklist-row.done .checklist-mark {
  background: rgba(15, 118, 110, 0.12);
  color: var(--good);
}

.checklist-copy {
  display: grid;
  gap: 2px;
}

.checklist-copy strong {
  font-size: 0.86rem;
  font-weight: 575;
}

.checklist-copy span {
  color: var(--text-soft);
  font-size: 0.81rem;
  line-height: 1.45;
}

@media (max-width: 1240px) {
  .overview-grid,
  .panel-grid,
  .admin-layout,
  .admin-inventory-layout,
  .enablement-layout,
  .enablement-shell,
  .live-layout {
    grid-template-columns: 1fr;
    grid-template-areas: none;
  }

  .overview-hero,
  .overview-focus,
  .overview-discovery,
  .overview-letters {
    grid-area: auto;
  }

  .overview-hero-copy {
    flex-direction: column;
  }

  .workflow-state-bar,
  .selected-scope-bar {
    grid-template-columns: 1fr;
  }

  .setup-form,
  .admin-form-grid,
  .admin-status-grid,
  .setup-preview-grid,
  .enablement-detail-grid,
  .setup-form-live,
  .enablement-detail-grid-live {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .setup-signal-bar-live,
  .scope-stage-summary-live,
  .account-debrief-grid,
  .account-debrief-bottom-grid,
  .account-overview-repository-grid,
  .enablement-workspace-grid,
  .enablement-workbench,
  .sld-briefing-grid,
  .sld-integration-grid {
    grid-template-columns: 1fr;
  }

  .setup-footer-live {
    grid-template-columns: 1fr;
  }

  .scope-selection-grid-live {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .enablement-toolbar {
    align-items: flex-start;
  }

  .enablement-rail {
    position: static;
  }

  .enablement-list-frame {
    max-height: none;
  }

  .sld-source-head {
    display: none;
  }

  .sld-source-row {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 8px;
  }

  .sld-topbar {
    align-items: flex-start;
  }
}

@media (max-width: 1120px) {
  .workflow-bar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .workflow-state-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .record-detail-grid,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .span-2,
  .span-3,
  .span-4,
  .span-5,
  .span-6,
  .span-7,
  .span-8 {
    grid-column: span 1;
  }

  .setup-preview-head {
    flex-direction: column;
  }

  .enablement-filter-wrap {
    width: 100%;
    justify-content: space-between;
  }

  .enablement-filter-select {
    min-width: 0;
    width: 100%;
  }

  .records-table-head,
  .record-toggle {
    grid-template-columns: 1fr;
  }

  .record-row {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .records-table-head span:not(:first-child) {
    display: none;
  }

  .research-grid-live,
  .scope-summary-metrics,
  .scope-selection-grid-live,
  .setup-actions-live,
  .sld-shell,
  .sld-integration-grid,
  .sld-briefing-grid,
  .account-overview-repository-grid-secondary,
  .enablement-detail-grid-live,
  .enablement-workspace-grid {
    grid-template-columns: 1fr;
  }

  .scope-toolbar-live,
  .enablement-summary-card-live,
  .copilot-composer-live {
    grid-template-columns: 1fr;
  }

  .scope-toolbar-live,
  .enablement-summary-card-live {
    display: grid;
  }

  .account-overview-repository-hero-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 920px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: relative;
    height: auto;
  }

  .workspace-bar {
    flex-direction: column;
    align-items: flex-start;
  }

  .workspace-actions {
    width: 100%;
  }

  .setup-form,
  .admin-form-grid,
  .admin-status-grid,
  .setup-preview-grid,
  .sld-form-grid-inner,
  .enablement-detail-grid,
  .setup-form-live,
  .enablement-detail-grid-live,
  .enablement-workspace-grid,
  .setup-signal-bar-live,
  .research-grid-live,
  .scope-selection-grid-live,
  .setup-actions-live {
    grid-template-columns: 1fr;
  }

  .scope-summary-metrics {
    grid-template-columns: 1fr;
  }
}

button.is-loading {
  cursor: progress;
  opacity: 0.85;
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
}

button.is-loading .btn-busy-label {
  white-space: nowrap;
}

.btn-spinner {
  display: inline-block;
  width: 0.95em;
  height: 0.95em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: btn-spin 0.65s linear infinite;
  flex-shrink: 0;
}

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

.account-workspace-brief {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.account-workspace-brief-hero {
  border-left: 3px solid var(--accent, #4f46e5);
}

.account-workspace-brief-warnings {
  margin-top: 0.6rem;
  padding-top: 0.6rem;
  border-top: 1px dashed rgba(0,0,0,0.1);
}

.account-workspace-brief-warnings ul {
  margin: 0.25rem 0 0;
  padding-left: 1.2rem;
}

.account-workspace-stub {
  border-left: 3px dashed rgba(0,0,0,0.2);
}

.account-workspace-stub ul {
  margin: 0.5rem 0 0.75rem;
  padding-left: 1.2rem;
}

.live-tier-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.55rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-radius: 999px;
  margin-left: 0.4rem;
  text-transform: uppercase;
}

.tier-low      { background: #e0f2fe; color: #075985; }
.tier-mid      { background: #fef3c7; color: #92400e; }
.tier-mid_plus { background: #fed7aa; color: #9a3412; }
.tier-deep     { background: #fee2e2; color: #991b1b; }

.live-probe-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.55rem;
  font-size: 0.72rem;
  font-weight: 600;
  border-radius: 999px;
  margin-left: 0.4rem;
  background: #ede9fe;
  color: #5b21b6;
}

.quantify-coach {
  border-left: 3px solid #10b981;
}

.quantify-coach .drill-down-prompt {
  font-style: italic;
  background: rgba(16, 185, 129, 0.08);
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
  margin: 0.5rem 0;
}

.live-triggers summary {
  cursor: pointer;
  padding: 0.25rem 0;
}

.trigger-grid {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.trigger-card {
  border-left: 2px solid rgba(0,0,0,0.15);
  padding: 0.5rem 0.75rem;
  background: rgba(0,0,0,0.02);
  border-radius: 4px;
}

.trigger-cue em {
  color: #1e293b;
  font-weight: 500;
}

.trigger-segue {
  margin: 0.25rem 0;
  font-size: 0.9em;
}

.integrity-steps {
  list-style: none;
  padding: 0;
  margin: 0;
}

.integrity-steps li {
  padding: 0.5rem 0.75rem;
  margin: 0.25rem 0;
  border-radius: 4px;
  border-left: 3px solid transparent;
}

.integrity-steps .step-done {
  background: rgba(16, 185, 129, 0.05);
  border-left-color: #10b981;
}

.integrity-steps .step-missing {
  background: rgba(239, 68, 68, 0.05);
  border-left-color: #ef4444;
}

.integrity-steps .step-override {
  background: rgba(234, 179, 8, 0.05);
  border-left-color: #eab308;
}

.integrity-warnings .severity-block {
  color: #991b1b;
  font-weight: 500;
}

.integrity-warnings .severity-warn {
  color: #92400e;
}


/* === Meeting outcome drawer === */
.meeting-drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  justify-content: flex-end;
}
.meeting-drawer-hidden {
  display: none;
}
.meeting-drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
}
.meeting-drawer-panel {
  position: relative;
  width: min(820px, 96vw);
  max-width: 820px;
  height: 100%;
  background: #fff;
  box-shadow: -16px 0 32px rgba(15, 23, 42, 0.18);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.meeting-drawer-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px 24px 12px;
  border-bottom: 1px solid #e5e7eb;
  gap: 16px;
}
.meeting-drawer-head h2 {
  margin: 4px 0 2px;
  font-size: 1.2rem;
}
.meeting-drawer-subtitle {
  font-size: 0.85rem;
  margin: 0;
}
.meeting-drawer-status {
  padding: 0 24px;
}
.meeting-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.meeting-drawer-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 24px;
  border-top: 1px solid #e5e7eb;
  background: #f9fafb;
  gap: 12px;
}
.meeting-section {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
}
.meeting-section[data-level="1"] {
  background: #f3f4f6;
  border-color: #d1d5db;
}
.meeting-section-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 10px 12px;
  font-weight: 500;
  gap: 8px;
  list-style: none;
}
.meeting-section-summary::-webkit-details-marker {
  display: none;
}
.meeting-section-summary::before {
  content: "▸";
  margin-right: 8px;
  font-size: 0.8rem;
  color: #6b7280;
  transition: transform 0.15s ease;
}
.meeting-section[open] > .meeting-section-summary::before {
  transform: rotate(90deg);
  display: inline-block;
}
.meeting-section[data-level="2"] {
  margin-left: 20px;
}
.meeting-section-empty-pill {
  font-size: 0.7rem;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 9999px;
  background: #fef3c7;
  color: #92400e;
  letter-spacing: 0.04em;
}
.meeting-section-filled-pill {
  font-size: 0.7rem;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 9999px;
  background: #dcfce7;
  color: #166534;
  letter-spacing: 0.04em;
}
.meeting-section-content {
  padding: 0 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.meeting-section-content textarea {
  width: 100%;
  min-height: 90px;
  font-family: inherit;
  font-size: 0.9rem;
  padding: 8px 10px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  resize: vertical;
}
.meeting-section-actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}
.meeting-template-row {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 8px 0;
}
.meeting-template-row select {
  min-width: 260px;
  padding: 4px 6px;
}

/* ============ Business Value Hub v2 ============ */

/* Override the screen-level `overflow:hidden` for BV Hub so the page scrolls
   normally and the sticky hero works as expected. */
#value-hub.screen.active {
  overflow-y: auto;
  overflow-x: hidden;
}

.bv-hero {
  position: sticky;
  top: 0;
  z-index: 50;
  background: linear-gradient(180deg, #fafbfd 0%, #ffffff 100%);
  border-bottom: 1px solid #e5e7eb;
  margin: -24px -24px 0 -24px;
  padding: 18px 24px 0;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}
.bv-hero-row { margin-bottom: 12px; }
.bv-hero-tiles { margin-bottom: 14px; }

/* Jump nav directly under the hero KPI tiles, also sticky for teleport-to-stage. */
.bv-jump-nav {
  display: flex;
  gap: 4px;
  padding: 6px 0 0;
  border-top: 1px solid #e5e7eb;
  margin: 0 -24px;
  padding-left: 24px;
  padding-right: 24px;
  padding-bottom: 0;
  background: transparent;
}
.bv-jump-nav button {
  background: none;
  border: none;
  padding: 10px 14px;
  font-size: 0.85rem;
  font-weight: 500;
  color: #6b7280;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color 0.12s, border-color 0.12s;
}
.bv-jump-nav button:hover { color: #1f3864; }
.bv-jump-nav button.active { color: #1f3864; border-bottom-color: #1f3864; }
.bv-jump-nav .bv-jump-sep { width: 1px; background: #e5e7eb; margin: 6px 6px; }
.bv-jump-nav .bv-jump-section-tag {
  font-size: 0.6rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 1px 6px;
  margin-left: 4px;
  border-radius: 999px;
  vertical-align: middle;
}
.bv-jump-nav .bv-jump-section-tag.input { background: #eff6ff; color: #1f3864; }
.bv-jump-nav .bv-jump-section-tag.outcome { background: #f0fdf4; color: #14532d; }
.bv-hero-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}
.bv-hero-account h2 { margin: 4px 0 2px; font-size: 1.4rem; }
.bv-hero-meta { font-size: 0.85rem; margin: 0; }
.bv-hero-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.bv-hero-tiles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.bv-tile {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 96px;
}
.bv-tile.primary {
  background: linear-gradient(135deg, #1e3a8a 0%, #1f3864 100%);
  color: #fff;
  border-color: #1e3a8a;
}
.bv-tile.primary .bv-tile-label,
.bv-tile.primary .bv-tile-sub { color: #e5edff; }
.bv-tile-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: #6b7280; font-weight: 500; }
.bv-tile strong { font-size: 1.7rem; line-height: 1.15; font-weight: 700; color: #1f3864; }
.bv-tile.primary strong { color: #fff; }
.bv-tile-sub { font-size: 0.75rem; color: #6b7280; }

.bv-body { display: flex; flex-direction: column; gap: 14px; padding-top: 18px; }
.bv-stage { border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; }
.bv-stage > summary,
.bv-stage-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  cursor: pointer;
  font-size: 1.0rem;
  font-weight: 500;
  list-style: none;
}
.bv-stage > summary::-webkit-details-marker { display: none; }
.bv-stage > summary::before {
  content: "\25B8";
  color: #6b7280;
  font-size: 0.85rem;
  display: inline-block;
  transition: transform 0.15s ease;
}
.bv-stage[open] > summary::before { transform: rotate(90deg); }
.bv-stage-head { cursor: default; }
.bv-stage-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: #1f3864;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 600;
  flex-shrink: 0;
}
.bv-stage-title { font-weight: 600; color: #111827; }
.bv-stage-hint { color: #6b7280; font-size: 0.85rem; font-weight: 400; margin-left: auto; }
.bv-stage-body { padding: 4px 22px 22px 22px; }
.bv-twin { display: grid; grid-template-columns: 1fr 280px; gap: 18px; }
@media (max-width: 1000px) { .bv-twin { grid-template-columns: 1fr; } }

.bv-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px 14px; }
.bv-field { display: flex; flex-direction: column; gap: 3px; font-size: 0.85rem; }
.bv-field label { font-weight: 500; color: #374151; display: flex; align-items: center; gap: 6px; }
.bv-field-help { font-size: 0.72rem; color: #6b7280; cursor: help; text-decoration: underline dotted; }
.bv-field input, .bv-field select {
  padding: 6px 9px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font: inherit;
  font-size: 0.85rem;
  background: #fff;
}
.bv-field input:focus, .bv-field select:focus { outline: 2px solid #1f3864; outline-offset: -1px; }
.bv-field-suffix { font-size: 0.72rem; color: #9ca3af; }
.bv-section-title { font-weight: 600; color: #1f3864; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.06em; margin: 16px 0 8px; }

.bv-modules { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; }
.bv-module-chip {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 10px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  font-size: 0.85rem;
  transition: all 0.1s;
}
.bv-module-chip input { margin: 0; }
.bv-module-chip:hover { border-color: #1f3864; }
.bv-module-chip.active { background: #eff6ff; border-color: #1f3864; }

.bv-industry-bar {
  display: flex; gap: 6px; padding: 12px 0 18px; border-bottom: 1px dashed #e5e7eb; margin-bottom: 12px;
  align-items: center;
}
.bv-industry-bar.bv-industry-bar-compact { padding: 4px 0 14px; }
.bv-industry-bar .bv-industry-label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6b7280;
  margin-right: 2px;
}
.bv-industry-bar button {
  padding: 4px 12px;
  border: 1px solid #d1d5db;
  background: #fff;
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.78rem;
}
.bv-industry-bar button.active { background: #1f3864; color: #fff; border-color: #1f3864; }
.bv-industry-bar .bv-industry-hint {
  margin-left: auto;
  font-size: 0.72rem;
  color: #6b7280;
  align-self: center;
  cursor: help;
  text-decoration: underline dotted;
}

.bv-ai-btn.bv-ai-investigate {
  padding: 6px 13px;
  background: linear-gradient(180deg, #ecfdf5, #d1fae5);
  border-color: #6ee7b7;
  color: #065f46;
  font-weight: 600;
}
.bv-ai-btn.bv-ai-investigate:hover { background: linear-gradient(180deg, #d1fae5, #a7f3d0); border-color: #34d399; }

/* Hero industry chip + dropdown */
.bv-hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 9px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  font-weight: 500;
  color: #111827;
  transition: border-color 0.12s, background 0.12s;
}
.bv-hero-chip:hover { border-color: #1f3864; background: #eff6ff; }
.bv-hero-chip-tag {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: #f3f4f6;
  color: #6b7280;
  padding: 1px 6px;
  border-radius: 999px;
}
.bv-industry-menu {
  position: absolute;
  z-index: 300;
  min-width: 280px;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
  padding: 8px;
}
.bv-industry-menu-head {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6b7280;
  padding: 4px 8px 8px;
}
.bv-industry-menu-item, .bv-industry-menu-reset {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%;
  padding: 8px 10px;
  background: none; border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.88rem;
  color: #111827;
  text-align: left;
}
.bv-industry-menu-item:hover, .bv-industry-menu-reset:hover { background: #f3f4f6; }
.bv-industry-menu-item.active { background: #eff6ff; color: #1f3864; font-weight: 500; }
.bv-industry-menu-check { color: #1f3864; }
.bv-industry-menu-reset {
  color: #4338ca;
  border-top: 1px solid #f3f4f6;
  margin-top: 4px;
  font-size: 0.82rem;
}
.bv-industry-menu-foot {
  font-size: 0.7rem;
  color: #6b7280;
  padding: 8px 10px;
  border-top: 1px solid #f3f4f6;
  margin-top: 4px;
  line-height: 1.45;
}

/* Customer search (account-repo autocomplete in customer_name field) */
.bv-customer-search { position: relative; }
.bv-customer-search input { padding-right: 24px; }
.bv-acct-linked {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.85rem;
  pointer-events: none;
}
.bv-acct-results {
  position: absolute;
  top: calc(100% + 4px);
  left: 0; right: 0;
  z-index: 60;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.15);
  max-height: 320px;
  overflow-y: auto;
}
.bv-acct-result {
  display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
  width: 100%;
  padding: 8px 12px;
  border: none; background: none;
  text-align: left;
  cursor: pointer;
  border-bottom: 1px solid #f3f4f6;
  font-size: 0.85rem;
}
.bv-acct-result:hover { background: #eff6ff; }
.bv-acct-result strong { color: #1f3864; font-weight: 600; }
.bv-acct-result-meta { font-size: 0.72rem; color: #6b7280; }
.bv-acct-empty { padding: 10px 12px; font-size: 0.82rem; color: #6b7280; }

.bv-industry-field-wrap {
  position: relative;
  display: flex; align-items: center; gap: 6px;
}
.bv-industry-field-wrap select {
  flex: 1;
  padding: 6px 9px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font: inherit;
  font-size: 0.85rem;
  background: #fff;
}
.bv-industry-field-wrap select:focus { outline: 2px solid #1f3864; outline-offset: -1px; }
.bv-field-auto-tag {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: #f3f4f6;
  color: #6b7280;
  padding: 2px 6px;
  border-radius: 999px;
}

.bv-lever-group { border: 1px solid #e5e7eb; border-radius: 8px; margin-bottom: 8px; background: #fff; }
.bv-lever-group > summary { padding: 10px 14px; font-weight: 500; cursor: pointer; display: flex; align-items: center; gap: 10px; }
.bv-lever-group > summary::-webkit-details-marker { display: none; }
.bv-lever-group > summary::before { content: "\25B8"; color: #6b7280; transition: transform 0.15s; }
.bv-lever-group[open] > summary::before { transform: rotate(90deg); }
.bv-lever-group-body { padding: 0 14px 14px; }
.bv-lever-group-meta { margin-left: auto; font-size: 0.78rem; color: #6b7280; font-weight: 400; }

.bv-bar-row {
  display: grid;
  grid-template-columns: 220px 1fr 120px 24px;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid #f3f4f6;
  font-size: 0.88rem;
}
.bv-bar-row.gated-closed { opacity: 0.4; }
.bv-bar-track { height: 22px; background: #f3f4f6; border-radius: 4px; overflow: hidden; position: relative; }
.bv-bar-fill { height: 100%; background: linear-gradient(90deg, #1f3864, #2e5496); transition: width 0.25s; border-radius: 4px; }
.bv-bar-value { text-align: right; font-variant-numeric: tabular-nums; font-weight: 500; color: #111827; }
.bv-bar-drill { background: none; border: none; color: #1f3864; cursor: pointer; font-size: 0.85rem; }
.bv-bar-drill:hover { text-decoration: underline; }

.bv-honesty { background: #fff7ed; border: 1px solid #fed7aa; border-radius: 8px; padding: 14px; align-self: flex-start; }
.bv-honesty h4 { margin: 0 0 8px; font-size: 0.85rem; color: #c2410c; text-transform: uppercase; letter-spacing: 0.04em; }
.bv-honesty-row { display: flex; justify-content: space-between; gap: 8px; font-size: 0.85rem; padding: 4px 0; }
.bv-honesty-row strong { font-variant-numeric: tabular-nums; }

.bv-scenarios { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.bv-scenario-tile { border: 1px solid #e5e7eb; border-radius: 8px; padding: 12px 14px; background: #f9fafb; }
.bv-scenario-tile.base { background: #eff6ff; border-color: #93c5fd; }
.bv-sc-label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: #6b7280; }
.bv-sc-npv { font-size: 1.3rem; font-weight: 700; color: #1f3864; font-variant-numeric: tabular-nums; }

.bv-waterfall svg { width: 100%; height: 260px; }

.bv-cash-table table { width: 100%; border-collapse: collapse; font-size: 0.85rem; margin-top: 12px; }
.bv-cash-table th, .bv-cash-table td { padding: 8px 10px; text-align: right; border-bottom: 1px solid #f3f4f6; font-variant-numeric: tabular-nums; }
.bv-cash-table th { background: #f9fafb; color: #6b7280; font-weight: 500; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.04em; }
.bv-cash-table td:first-child, .bv-cash-table th:first-child { text-align: left; }
.bv-cash-table td.neg { color: #b91c1c; }
.bv-cash-table tr.total { font-weight: 600; background: #f0f9ff; }

.bv-drawer { position: fixed; inset: 0; z-index: 200; display: flex; justify-content: flex-end; }
.bv-drawer-hidden { display: none; }
.bv-drawer-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, 0.45); }
.bv-drawer-panel { position: relative; width: min(720px, 92vw); height: 100%; background: #fff; display: flex; flex-direction: column; box-shadow: -16px 0 32px rgba(15, 23, 42, 0.18); }
.bv-drawer-head { display: flex; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid #e5e7eb; }
.bv-drawer-head h3 { margin: 0; font-size: 1.1rem; }
.bv-drawer-body { flex: 1; overflow-y: auto; padding: 18px 22px; }

.bv-version-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border: 1px solid #e5e7eb; border-radius: 8px; margin-bottom: 8px; }
.bv-version-row.active { border-color: #1f3864; background: #eff6ff; }
.bv-version-meta { font-size: 0.78rem; color: #6b7280; margin-top: 2px; }

.bv-audit-entry { padding: 10px 0; border-bottom: 1px solid #f3f4f6; font-size: 0.85rem; }
.bv-audit-entry .bv-audit-meta { color: #6b7280; font-size: 0.78rem; }
.bv-audit-entry ul { margin: 6px 0 0 18px; }
.bv-audit-entry code { font-size: 0.8rem; color: #1f3864; background: #f3f4f6; padding: 1px 4px; border-radius: 3px; }

/* ----- Stage badges + section badges ----- */
.bv-stage-badge {
  display: inline-flex; align-items: center;
  padding: 2px 9px;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 999px;
  margin-left: 6px;
}
.bv-stage-badge.input { background: #eff6ff; color: #1f3864; border: 1px solid #93c5fd; }
.bv-stage-badge.outcome { background: #f0fdf4; color: #14532d; border: 1px solid #86efac; }
.bv-tag {
  display: inline-block;
  padding: 1px 7px;
  font-size: 0.64rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 999px;
  font-weight: 600;
  margin-left: 6px;
  vertical-align: middle;
}
.bv-tag.input { background: #eff6ff; color: #1f3864; }
.bv-tag.outcome { background: #f0fdf4; color: #14532d; }

/* ----- Section head with AI button ----- */
.bv-section-head { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; }
.bv-section-head .bv-section-title { margin: 0; }

/* ----- AI-Assist button ----- */
.bv-ai-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 11px;
  font-size: 0.78rem;
  font-weight: 500;
  border: 1px solid #c7d2fe;
  background: linear-gradient(180deg, #f5f3ff, #ede9fe);
  color: #4338ca;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.12s ease;
}
.bv-ai-btn:hover { border-color: #818cf8; background: linear-gradient(180deg, #ede9fe, #ddd6fe); }
.bv-ai-btn span { font-size: 0.85rem; }

/* AI badge on lever fields */
.bv-ai-badge {
  display: inline-block;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 0px 5px;
  border-radius: 4px;
  background: #4338ca;
  color: #fff;
  margin-left: 4px;
  vertical-align: super;
}

/* ----- Help icon + popover ----- */
.bv-help-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px;
  border: 1px solid #d1d5db;
  background: #fff;
  color: #6b7280;
  border-radius: 50%;
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
.bv-help-icon:hover { border-color: #1f3864; color: #1f3864; background: #eff6ff; }
.bv-help-popover {
  position: absolute;
  z-index: 300;
  max-width: 380px;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
  padding: 14px 16px 12px;
  font-size: 0.85rem;
  color: #1f2937;
}
.bv-pop-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; gap: 12px; }
.bv-pop-head strong { font-size: 0.92rem; color: #1f3864; }
.bv-pop-close { background: none; border: none; cursor: pointer; font-size: 1rem; color: #6b7280; padding: 0; line-height: 1; }
.bv-pop-section-label { margin: 8px 0 2px; font-size: 0.7rem; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: 0.04em; }
.bv-pop-body p { margin: 0; line-height: 1.45; color: #374151; }

/* ----- AI suggestion drawer rows ----- */
.bv-ai-list { display: flex; flex-direction: column; gap: 10px; }
.bv-ai-row { border: 1px solid #e5e7eb; border-radius: 10px; padding: 12px 14px; background: #fafbfd; }
.bv-ai-row-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.bv-ai-row-head strong { font-size: 0.85rem; color: #1f3864; }
.bv-ai-conf {
  display: inline-block;
  padding: 1px 8px;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 999px;
}
.bv-conf-high { background: #dcfce7; color: #166534; }
.bv-conf-medium { background: #fef3c7; color: #92400e; }
.bv-conf-low { background: #fee2e2; color: #991b1b; }
.bv-ai-row-body { display: flex; align-items: center; gap: 12px; padding: 8px 12px; background: #fff; border-radius: 6px; margin-bottom: 8px; }
.bv-ai-cmp { display: flex; flex-direction: column; gap: 2px; min-width: 90px; }
.bv-ai-cmp.arrow { color: #6b7280; font-size: 1.1rem; min-width: 0; align-items: center; flex-direction: row; }
.bv-ai-cmp .muted { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.04em; }
.bv-ai-cmp strong { font-size: 0.95rem; color: #111827; font-variant-numeric: tabular-nums; }
.bv-ai-rationale { font-size: 0.82rem; color: #374151; margin: 0 0 8px; line-height: 1.45; }
.bv-ai-source { font-size: 0.75rem; color: #6b7280; margin: 0 0 8px; }
.bv-ai-actions { display: flex; gap: 8px; }
.bv-ai-bulk { display: flex; justify-content: flex-end; margin-top: 16px; padding-top: 12px; border-top: 1px solid #e5e7eb; }

/* ----- Confidence pill in hero ----- */
.bv-confidence-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 500;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.12s;
}
.bv-confidence-pill .bv-conf-dot {
  width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
}
.bv-confidence-pill.strong { background: #ecfdf5; border-color: #6ee7b7; color: #065f46; }
.bv-confidence-pill.strong .bv-conf-dot { background: #10b981; }
.bv-confidence-pill.directional { background: #fff7ed; border-color: #fdba74; color: #9a3412; }
.bv-confidence-pill.directional .bv-conf-dot { background: #f59e0b; }
.bv-confidence-pill.not_computable { background: #fef2f2; border-color: #fca5a5; color: #991b1b; }
.bv-confidence-pill.not_computable .bv-conf-dot { background: #ef4444; }
.bv-confidence-pill:hover { filter: brightness(0.97); }
.bv-conf-counts { font-size: 0.7rem; opacity: 0.8; font-variant-numeric: tabular-nums; }

/* ----- Banner ----- */
.bv-banner {
  margin-bottom: 12px;
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 0.88rem;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border: 1px solid;
}
.bv-banner-hidden { display: none; }
.bv-banner.red { background: #fef2f2; border-color: #fca5a5; color: #7f1d1d; }
.bv-banner.orange { background: #fff7ed; border-color: #fed7aa; color: #7c2d12; }
.bv-banner-icon {
  flex-shrink: 0;
  width: 22px; height: 22px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 0.85rem;
}
.bv-banner.red .bv-banner-icon { background: #dc2626; color: #fff; }
.bv-banner.orange .bv-banner-icon { background: #ea580c; color: #fff; }
.bv-banner-body strong { display: block; margin-bottom: 4px; font-size: 0.95rem; }
.bv-banner-body ul { margin: 6px 0 0 18px; line-height: 1.45; }
.bv-banner-body li { font-size: 0.82rem; }

/* ----- Tier markers + provenance badges + per-tier styling ----- */
.bv-tier-marker {
  display: inline-block;
  margin-right: 4px;
  font-size: 0.6rem;
  line-height: 1;
  vertical-align: 1px;
}
.bv-tier-1 { color: #dc2626; font-size: 0.75rem; vertical-align: 0; }
.bv-tier-2 { color: #2563eb; font-size: 0.6rem; }

.bv-field-label-text { font-weight: 500; }

.bv-prov-badge {
  display: inline-block;
  margin-left: 4px;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 0 5px;
  border-radius: 4px;
  vertical-align: middle;
}
.bv-prov-badge.customer { background: #10b981; color: #fff; padding: 0 3px; font-size: 0.5rem; vertical-align: 2px; }
.bv-prov-badge.ai { background: #4338ca; color: #fff; }

/* Per-tier field state: untouched T1 gets a red outline; untouched T2 a soft blue accent */
.bv-field-t1.untouched input { border-color: #fca5a5; background: #fef2f2; }
.bv-field-t1.untouched input:focus { border-color: #dc2626; outline-color: #dc2626; }
.bv-field-t2.untouched input { border-color: #bfdbfe; background: #f8faff; }
.bv-field-t2.untouched input:focus { border-color: #2563eb; outline-color: #2563eb; }
.bv-field input::placeholder { color: #9ca3af; font-style: italic; font-size: 0.78rem; }
.bv-field-t1.untouched input::placeholder { color: #dc2626; font-style: normal; font-weight: 500; }

/* Disabled save / export when not computable */
.bv-hero-actions button.disabled,
.bv-hero-actions button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.bv-conf-summary { padding: 12px 14px; border-radius: 8px; margin: 12px 0 16px; font-size: 0.88rem; }
.bv-conf-summary.bv-conf-strong { background: #ecfdf5; border: 1px solid #6ee7b7; color: #065f46; }
.bv-conf-summary.bv-conf-directional { background: #fff7ed; border: 1px solid #fdba74; color: #9a3412; }
.bv-conf-summary.bv-conf-not_computable { background: #fef2f2; border: 1px solid #fca5a5; color: #991b1b; }
.bv-conf-h { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #6b7280; margin: 16px 0 6px; }
.bv-conf-list { list-style: none; padding: 0; margin: 0; font-size: 0.88rem; }
.bv-conf-list li { padding: 4px 0; }
.bv-conf-list li.ok { color: #065f46; }
.bv-conf-list li.miss { color: #991b1b; }
.bv-conf-list li:not(.ok):not(.miss) { color: #6b7280; }

/* ============ Module Adoption (Stage 2) — Apple/Stripe-grade compact list ============ */
.bv-mod-toolbar {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 12px;
  padding: 10px 14px;
  background: rgba(0,0,0,0.018);
  border: 1px solid var(--ac-line, #e6e6ea);
  border-radius: 10px;
  margin-bottom: 12px;
  font-size: 0.82rem;
}
.bv-mod-toolbar-meta strong { color: var(--ac-text, #1d1d1f); font-weight: 600; }
.bv-mod-toolbar-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.bv-mod-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.bv-mod-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1.8fr) minmax(220px, 2fr) 110px;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  background: var(--ac-surface, #fff);
  border: 1px solid var(--ac-line, #e6e6ea);
  border-radius: 10px;
  transition: border-color 0.12s, background 0.12s;
}
.bv-mod-row:hover { border-color: rgba(0,0,0,0.14); }
.bv-mod-row.out-of-scope { background: #fafafa; opacity: 0.72; }
.bv-mod-row.out-of-scope .bv-mod-row-name { color: var(--ac-text-3, rgba(29,29,31,0.62)); }

/* iOS-style switch for in-scope */
.bv-mod-switch { display: inline-flex; align-items: center; cursor: pointer; }
.bv-mod-switch input { position: absolute; opacity: 0; pointer-events: none; }
.bv-mod-switch-track {
  position: relative;
  width: 30px; height: 18px;
  border-radius: 999px;
  background: #d6d6db;
  transition: background 0.18s;
}
.bv-mod-switch-track::after {
  content: ""; position: absolute;
  top: 2px; left: 2px;
  width: 14px; height: 14px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 2px rgba(0,0,0,0.18);
  transition: transform 0.18s;
}
.bv-mod-switch input:checked + .bv-mod-switch-track { background: #1d1d1f; }
.bv-mod-switch input:checked + .bv-mod-switch-track::after { transform: translateX(12px); }

/* Name + chips */
.bv-mod-row-name-block { min-width: 0; }
.bv-mod-row-name {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--ac-text, #1d1d1f);
  letter-spacing: -0.005em;
  display: flex; align-items: center; gap: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bv-mod-ai-dot {
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 1px 5px;
  background: rgba(67,56,202,0.10);
  color: #4338ca;
  border-radius: 4px;
  cursor: help;
}
.bv-mod-row-chips {
  display: flex; gap: 5px; align-items: center;
  margin-top: 5px;
  font-size: 0.7rem;
  flex-wrap: wrap;
  row-gap: 5px;
}
/* Keep the editable Today/Ceiling pills inseparable */
.bv-mod-input-wrap { flex-shrink: 0; white-space: nowrap; }
.bv-mod-chip {
  display: inline-flex; align-items: center;
  padding: 1px 8px;
  border-radius: 999px;
  border: 1px solid var(--ac-line, #e6e6ea);
  background: #fff;
  color: var(--ac-text-2, rgba(29,29,31,0.82));
  font-size: 0.68rem;
  font-weight: 500;
  cursor: pointer;
  user-select: none;
  transition: all 0.12s;
}
.bv-mod-chip:hover { border-color: rgba(0,0,0,0.22); }
.bv-mod-chip.active {
  background: #1d1d1f;
  border-color: #1d1d1f;
  color: #fff;
}
.bv-mod-chip.na {
  background: #f5f5f7;
  border-color: #ececef;
  color: var(--ac-text-3, rgba(29,29,31,0.45));
  cursor: not-allowed;
}
.bv-mod-bp {
  font-size: 0.68rem;
  color: var(--ac-text-3, rgba(29,29,31,0.62));
  cursor: help;
  margin-left: 2px;
  text-decoration: underline dotted;
  text-underline-offset: 2px;
}
/* Inline editable Today / Ceiling % inputs */
.bv-mod-input-wrap {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-left: 2px;
  padding: 1px 6px;
  background: rgba(0,0,0,0.025);
  border: 1px solid var(--ac-line, #e6e6ea);
  border-radius: 999px;
  font-size: 0.66rem;
  cursor: help;
  transition: border-color 0.12s, background 0.12s;
}
.bv-mod-input-wrap:focus-within {
  border-color: rgba(0,0,0,0.30);
  background: #fff;
}
.bv-mod-input-label {
  color: var(--ac-text-3, rgba(29,29,31,0.62));
  font-weight: 500;
  letter-spacing: 0.02em;
}
.bv-mod-pct-input {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 32px !important;
  min-width: 32px !important;
  text-align: center !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: var(--ac-text, #1d1d1f) !important;
  font-variant-numeric: tabular-nums;
  -moz-appearance: textfield;
  cursor: text;
  line-height: 1.2;
  box-sizing: content-box !important;
}
.bv-mod-pct-input::-webkit-outer-spin-button,
.bv-mod-pct-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.bv-mod-pct-input:focus {
  outline: none !important;
  box-shadow: none !important;
}
.bv-mod-pct-input:disabled { color: var(--ac-text-3, rgba(29,29,31,0.45)) !important; }
.bv-mod-input-suffix {
  color: var(--ac-text-3, rgba(29,29,31,0.62));
  font-weight: 500;
}

/* Slider block */
.bv-mod-row-slider-block { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.bv-mod-slider-wrap {
  display: flex; align-items: center; gap: 10px;
  width: 100%;
}
.bv-mod-slider-wrap.disabled { opacity: 0.4; }
.bv-mod-slider {
  -webkit-appearance: none; appearance: none;
  flex: 1; min-width: 0; height: 18px;
  background: transparent;
  cursor: pointer;
  --bv-fill: 100%;
}
.bv-mod-slider::-webkit-slider-runnable-track {
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(to right,
    #1d1d1f 0%, #1d1d1f var(--bv-fill),
    rgba(0,0,0,0.10) var(--bv-fill), rgba(0,0,0,0.10) 100%);
}
.bv-mod-slider::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid #1d1d1f;
  margin-top: -6px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.18);
  cursor: grab;
}
.bv-mod-slider::-moz-range-track {
  height: 4px;
  border-radius: 999px;
  background: rgba(0,0,0,0.10);
}
.bv-mod-slider::-moz-range-progress {
  height: 4px;
  border-radius: 999px;
  background: #1d1d1f;
}
.bv-mod-slider::-moz-range-thumb {
  width: 16px; height: 16px;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid #1d1d1f;
  box-shadow: 0 1px 3px rgba(0,0,0,0.18);
  cursor: grab;
}
.bv-mod-pct {
  font-size: 0.78rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--ac-text, #1d1d1f);
  min-width: 38px;
  text-align: right;
}
.bv-mod-row-sub {
  font-size: 0.66rem;
  color: var(--ac-text-3, rgba(29,29,31,0.62));
  font-variant-numeric: tabular-nums;
}

/* $ Impact */
.bv-mod-row-impact {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.bv-mod-row-impact strong {
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ac-text, #1d1d1f);
}
.bv-mod-impact-unit {
  font-size: 0.65rem;
  color: var(--ac-text-3, rgba(29,29,31,0.62));
  margin-left: 2px;
}

/* Compact responsive collapse */
@media (max-width: 1100px) {
  .bv-mod-row {
    grid-template-columns: 36px minmax(0, 1fr) 110px;
    grid-template-areas: "toggle name impact" "toggle slider impact";
    gap: 6px 14px;
  }
  .bv-mod-row-toggle { grid-area: toggle; }
  .bv-mod-row-name-block { grid-area: name; }
  .bv-mod-row-slider-block { grid-area: slider; }
  .bv-mod-row-impact { grid-area: impact; align-self: center; }
}

/* legacy compatibility — kept hidden in case some screens still reference */
.bv-adoption-actions { display: none; }
.bv-adoption-cards { display: none; }
.bv-adoption-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
  gap: 14px;
}
.bv-mod-card {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 14px 16px;
  background: #fff;
  display: flex; flex-direction: column; gap: 10px;
  transition: border-color 0.12s, opacity 0.12s;
}
.bv-mod-card.out-of-scope {
  background: #f9fafb;
  border-style: dashed;
  opacity: 0.68;
}
.bv-mod-head {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 10px;
}
.bv-mod-title {
  font-weight: 600; color: #111827; font-size: 0.98rem; line-height: 1.3;
}
.bv-mod-metric {
  font-size: 0.78rem; color: #6b7280; margin-top: 2px;
}
.bv-mod-toggle {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 0.78rem; color: #6b7280; cursor: pointer;
}
.bv-mod-toggle input { margin: 0; }

.bv-mod-scopes {
  display: flex; gap: 6px; flex-wrap: wrap;
}
.bv-scope-pill {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  background: #fff;
  font-size: 0.72rem;
  cursor: pointer;
  user-select: none;
}
.bv-scope-pill input { margin: 0; }
.bv-scope-pill.direct.active { background: #ddd6fe; border-color: #8b5cf6; color: #4338ca; }
.bv-scope-pill.indirect.active { background: #cffafe; border-color: #06b6d4; color: #0e7490; }
.bv-scope-pill.tail.active { background: #fef3c7; border-color: #f59e0b; color: #92400e; }
.bv-scope-pill.na {
  background: #f3f4f6; color: #9ca3af; cursor: not-allowed; opacity: 0.55;
}

/* Slider */
.bv-slider-row { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
.bv-slider-labels {
  display: flex; justify-content: space-between; font-size: 0.7rem; color: #6b7280;
  font-variant-numeric: tabular-nums;
}
.bv-slider-labels strong { color: #111827; }
.bv-slider-wrap {
  position: relative; height: 26px; display: flex; align-items: center;
}
.bv-slider-track {
  position: absolute; left: 0; right: 0; height: 6px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    #d1d5db 0%, #d1d5db 30%,
    #93c5fd 30%, #93c5fd 70%,
    #fdba74 70%, #fdba74 100%
  );
}
.bv-slider-input {
  position: relative; width: 100%; margin: 0;
  -webkit-appearance: none; appearance: none;
  background: transparent; height: 26px; cursor: pointer;
}
.bv-slider-input::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 22px; height: 22px; border-radius: 50%;
  background: #1f3864; border: 3px solid #fff;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.25);
  cursor: grab;
}
.bv-slider-input::-moz-range-thumb {
  width: 22px; height: 22px; border-radius: 50%;
  background: #1f3864; border: 3px solid #fff;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.25);
  cursor: grab;
}
.bv-slider-input:active::-webkit-slider-thumb { cursor: grabbing; }
.bv-slider-readout {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 0.78rem;
  background: #f9fafb;
  border-radius: 6px;
  padding: 6px 10px;
  border: 1px solid #e5e7eb;
}
.bv-slider-readout .bv-readout-zone { font-size: 0.7rem; padding: 1px 8px; border-radius: 999px; font-weight: 500; }
.bv-zone-conservative { background: #f3f4f6; color: #6b7280; }
.bv-zone-realistic { background: #dbeafe; color: #1e3a8a; }
.bv-zone-aggressive { background: #fed7aa; color: #9a3412; }

.bv-mod-source { font-size: 0.72rem; color: #6b7280; padding-top: 6px; border-top: 1px dashed #f3f4f6; }
.bv-mod-source code { font-size: 0.7rem; color: #1f3864; }
.bv-mod-ai-row { display: flex; justify-content: space-between; align-items: center; }
.bv-ai-rationale-inline {
  margin-top: 6px;
  padding: 8px 10px;
  background: #f5f3ff;
  border-left: 3px solid #8b5cf6;
  font-size: 0.78rem;
  color: #4338ca;
  border-radius: 4px;
}

/* =====================================================================
   APPLE-CALM OVERHAUL — suite-wide override block
   Goal: less color, less noise, smaller fonts, more whitespace,
         subtle borders, refined typography. Apple/Linear/Stripe register.
   ===================================================================== */

:root {
  --ac-bg: #fafafa;
  --ac-surface: #ffffff;
  --ac-line: rgba(0, 0, 0, 0.07);
  --ac-line-strong: rgba(0, 0, 0, 0.10);
  --ac-text: #1d1d1f;
  --ac-text-2: rgba(29, 29, 31, 0.82);
  --ac-text-3: rgba(29, 29, 31, 0.62);
  --ac-accent: #0066cc;
  --ac-accent-bg: rgba(0, 102, 204, 0.08);
  --ac-success: #008f5d;
  --ac-warning: #b45309;
  --ac-danger: #c2410c;
  --ac-radius-sm: 6px;
  --ac-radius: 10px;
  --ac-radius-lg: 14px;
  --ac-shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.04);
}

/* Body — calmer base */
body {
  background: #f5f5f7 !important;
  color: var(--ac-text) !important;
  font-feature-settings: "ss01", "cv11";
  -webkit-font-smoothing: antialiased;
}
html { background: #f5f5f7 !important; }

.app-shell {
  border: 1px solid var(--ac-line) !important;
  box-shadow: var(--ac-shadow-soft) !important;
  background: var(--ac-surface) !important;
  border-radius: 16px !important;
}

/* Workspace inner */
main {
  background: transparent !important;
}

/* Typography: lighter weights, tighter sizes */
h1, h2 { letter-spacing: -0.02em; font-weight: 600 !important; }
h2 { font-size: 1.35rem !important; }
h3 { font-size: 1.05rem !important; letter-spacing: -0.01em; font-weight: 600 !important; }
.screen-header h2,
header.workspace-bar h1 { font-size: 1.4rem !important; font-weight: 600 !important; }
.eyebrow, .panel-kicker {
  font-size: 0.65rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  font-weight: 600 !important;
  color: var(--ac-text-3) !important;
}

/* Panels + boxes — quieter */
.panel, .detail-box {
  background: var(--ac-surface) !important;
  border: 1px solid var(--ac-line) !important;
  border-radius: var(--ac-radius) !important;
  box-shadow: none !important;
}
.panel { padding: 18px !important; }
.detail-box { padding: 14px !important; }

/* Buttons — refined */
button,
.button {
  font-weight: 500 !important;
  letter-spacing: -0.005em;
  border-radius: 8px !important;
}
button.primary, .primary {
  background: var(--ac-accent) !important;
  border-color: var(--ac-accent) !important;
  box-shadow: none !important;
  color: #fff !important;
}
button.primary:hover { background: #0055aa !important; }
button.secondary, .secondary {
  background: var(--ac-surface) !important;
  border: 1px solid var(--ac-line-strong) !important;
  color: var(--ac-text) !important;
  box-shadow: none !important;
}
button.secondary:hover { background: #f5f5f7 !important; border-color: rgba(0,0,0,0.18) !important; }
button.small, .small { font-size: 0.82rem !important; padding: 6px 11px !important; }

/* Inputs — Apple register */
input:not([type="checkbox"]):not([type="radio"]),
select, textarea {
  border-radius: 8px !important;
  border: 1px solid var(--ac-line-strong) !important;
  background: var(--ac-surface) !important;
  color: var(--ac-text) !important;
  font-size: 0.88rem !important;
  padding: 7px 10px !important;
  transition: border-color 0.12s, box-shadow 0.12s;
}
input:focus, select:focus, textarea:focus {
  outline: none !important;
  border-color: var(--ac-accent) !important;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.12) !important;
}
input::placeholder, textarea::placeholder {
  color: var(--ac-text-3) !important;
  font-style: normal !important;
  font-size: 0.85rem !important;
}

/* Sidebar nav — calmer */
.sidebar { background: #fbfbfd !important; border-right: 1px solid var(--ac-line) !important; }
.nav-link {
  font-size: 0.88rem !important;
  color: var(--ac-text-2) !important;
  font-weight: 450 !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
}
.nav-link.active {
  background: var(--ac-accent-bg) !important;
  color: var(--ac-accent) !important;
  font-weight: 500 !important;
}
.nav-link:hover:not(.active) { background: rgba(0,0,0,0.04) !important; color: var(--ac-text) !important; }

/* ----- Business Value Hub — Apple register ----- */
.bv-hero {
  background: var(--ac-surface) !important;
  border-bottom: 1px solid var(--ac-line) !important;
  padding: 16px 24px 0 !important;
  box-shadow: none !important;
  margin: -24px -24px 0 -24px !important;
}
.bv-hero-account h2 { font-size: 1.15rem !important; font-weight: 600 !important; margin: 2px 0 !important; }
.bv-hero-meta { font-size: 0.78rem !important; color: var(--ac-text-3) !important; }
.bv-hero-row { margin-bottom: 10px !important; }
.bv-hero-tiles { gap: 8px !important; margin-bottom: 10px !important; }
.bv-tile {
  border: 1px solid var(--ac-line) !important;
  background: var(--ac-surface) !important;
  border-radius: var(--ac-radius) !important;
  padding: 12px 14px !important;
  min-height: 76px !important;
}
.bv-tile.primary {
  background: var(--ac-accent-bg) !important;
  border-color: var(--ac-accent) !important;
  border-top: 3px solid var(--ac-accent) !important;
  color: var(--ac-text) !important;
}
.bv-tile.primary .bv-tile-label, .bv-tile.primary .bv-tile-sub { color: var(--ac-text-3) !important; }
.bv-tile.primary strong { color: var(--ac-accent) !important; }
.bv-tile-label { font-size: 0.62rem !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; font-weight: 500 !important; color: var(--ac-text-3) !important; }
.bv-tile strong { font-size: 1.65rem !important; font-weight: 700 !important; letter-spacing: -0.02em !important; color: var(--ac-text) !important; }
.bv-tile-sub { font-size: 0.7rem !important; color: var(--ac-text-3) !important; }

.bv-jump-nav { gap: 0 !important; }
.bv-jump-nav button {
  padding: 8px 12px !important;
  font-size: 0.8rem !important;
  font-weight: 450 !important;
  color: var(--ac-text-2) !important;
  border-bottom-width: 1.5px !important;
}
.bv-jump-nav button.active {
  color: var(--ac-text) !important;
  font-weight: 500 !important;
  border-bottom-color: var(--ac-text) !important;
}
.bv-jump-nav .bv-jump-section-tag {
  font-size: 0.55rem !important;
  background: rgba(0,0,0,0.06) !important;
  color: var(--ac-text-3) !important;
  padding: 1px 5px !important;
}
.bv-jump-nav .bv-jump-section-tag.input,
.bv-jump-nav .bv-jump-section-tag.outcome {
  background: rgba(0,0,0,0.05) !important;
  color: var(--ac-text-3) !important;
}

/* Confidence pill — calmer */
.bv-confidence-pill {
  border: 1px solid var(--ac-line-strong) !important;
  background: var(--ac-surface) !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  padding: 3px 10px !important;
  color: var(--ac-text-2) !important;
}
.bv-confidence-pill.strong { color: var(--ac-success) !important; background: rgba(0,143,93,0.06) !important; border-color: rgba(0,143,93,0.18) !important; }
.bv-confidence-pill.strong .bv-conf-dot { background: var(--ac-success) !important; }
.bv-confidence-pill.directional { color: var(--ac-warning) !important; background: rgba(180,83,9,0.06) !important; border-color: rgba(180,83,9,0.18) !important; }
.bv-confidence-pill.directional .bv-conf-dot { background: var(--ac-warning) !important; }
.bv-confidence-pill.not_computable { color: var(--ac-danger) !important; background: rgba(194,65,12,0.06) !important; border-color: rgba(194,65,12,0.18) !important; }
.bv-confidence-pill.not_computable .bv-conf-dot { background: var(--ac-danger) !important; }
.bv-conf-counts { font-size: 0.65rem !important; opacity: 0.7 !important; }

/* Stages */
.bv-stage { border: 1px solid var(--ac-line) !important; border-radius: var(--ac-radius) !important; }
.bv-stage > summary, .bv-stage-head { padding: 12px 16px !important; font-size: 0.92rem !important; font-weight: 500 !important; }
.bv-stage-num {
  width: 22px !important; height: 22px !important;
  background: rgba(0,0,0,0.05) !important;
  color: var(--ac-text-2) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
}
.bv-stage[open] > summary .bv-stage-num,
.bv-stage-head .bv-stage-num {
  background: #1d1d1f !important;
  color: #fff !important;
}
.bv-stage-title { font-weight: 600 !important; font-size: 0.92rem !important; }
.bv-stage-hint { color: var(--ac-text-3) !important; font-size: 0.78rem !important; }
.bv-stage-badge {
  font-size: 0.58rem !important;
  padding: 1px 7px !important;
  background: rgba(0,0,0,0.05) !important;
  color: var(--ac-text-3) !important;
  border: none !important;
}
.bv-stage-badge.input, .bv-stage-badge.outcome {
  background: rgba(0,0,0,0.05) !important;
  color: var(--ac-text-3) !important;
  border: none !important;
}
.bv-stage-body { padding: 4px 18px 18px 18px !important; }

/* Section heads + AI buttons */
.bv-section-title {
  font-size: 0.65rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  color: var(--ac-text-3) !important;
  font-weight: 600 !important;
}
.bv-tag {
  font-size: 0.55rem !important;
  background: rgba(0,0,0,0.05) !important;
  color: var(--ac-text-3) !important;
  padding: 1px 5px !important;
  letter-spacing: 0.06em;
}
.bv-tag.input, .bv-tag.outcome {
  background: rgba(0,0,0,0.05) !important;
  color: var(--ac-text-3) !important;
}
.bv-section-head { margin-top: 14px !important; }

/* AI buttons */
.bv-ai-btn {
  background: var(--ac-surface) !important;
  border: 1px solid var(--ac-line-strong) !important;
  color: var(--ac-text) !important;
  padding: 5px 11px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  border-radius: 999px !important;
}
.bv-ai-btn:hover { background: #f5f5f7 !important; border-color: rgba(0,0,0,0.18) !important; }
.bv-ai-btn.bv-ai-investigate {
  background: var(--ac-accent) !important;
  border-color: var(--ac-accent) !important;
  color: #fff !important;
  font-weight: 500 !important;
}
.bv-ai-btn.bv-ai-investigate:hover { background: #0052a3 !important; border-color: #0052a3 !important; }

/* Fields */
.bv-grid { gap: 10px 14px !important; }
.bv-field { font-size: 0.8rem !important; gap: 4px !important; }
.bv-field label {
  font-weight: 500 !important;
  font-size: 0.78rem !important;
  color: var(--ac-text-2) !important;
  letter-spacing: -0.005em;
}
.bv-field-label-text { font-weight: 500 !important; color: var(--ac-text) !important; }

/* Tier markers — shrink to subtle dots */
.bv-tier-marker {
  font-size: 0 !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  margin-right: 5px !important;
  vertical-align: middle !important;
  opacity: 0.7 !important;
}
.bv-tier-1 { background: var(--ac-danger) !important; font-size: 0 !important; color: transparent !important; }
.bv-tier-2 { background: var(--ac-accent) !important; font-size: 0 !important; color: transparent !important; }

/* Untouched T1/T2: NO bright field outline — just keep the tier dot */
.bv-field-t1.untouched input,
.bv-field-t2.untouched input {
  border-color: var(--ac-line-strong) !important;
  background: var(--ac-surface) !important;
}
.bv-field-t1.untouched input:focus,
.bv-field-t2.untouched input:focus {
  border-color: var(--ac-accent) !important;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.12) !important;
}
.bv-field-t1.untouched input::placeholder {
  color: var(--ac-text-3) !important;
  font-style: normal !important;
  font-weight: 400 !important;
}

/* Provenance + AI badges */
.bv-prov-badge { font-size: 0.55rem !important; padding: 0 5px !important; font-weight: 600 !important; letter-spacing: 0.04em; }
.bv-prov-badge.customer { background: rgba(0,143,93,0.18) !important; color: var(--ac-success) !important; padding: 0 4px !important; }
.bv-prov-badge.ai { background: rgba(0,0,0,0.08) !important; color: var(--ac-text) !important; }
.bv-ai-badge { font-size: 0.55rem !important; padding: 0 4px !important; background: rgba(0,0,0,0.08) !important; color: var(--ac-text) !important; font-weight: 600 !important; }

/* Help icon */
.bv-help-icon {
  width: 14px !important; height: 14px !important;
  border: 1px solid var(--ac-line-strong) !important;
  background: var(--ac-surface) !important;
  color: var(--ac-text-3) !important;
  font-size: 0.65rem !important;
}
.bv-help-icon:hover { border-color: var(--ac-accent) !important; color: var(--ac-accent) !important; background: var(--ac-surface) !important; }

/* Industry chip in hero */
.bv-hero-chip {
  padding: 1px 8px !important;
  font-size: 0.76rem !important;
  font-weight: 500 !important;
  border: 1px solid var(--ac-line-strong) !important;
  color: var(--ac-text) !important;
  background: var(--ac-surface) !important;
}
.bv-hero-chip:hover { border-color: rgba(0,0,0,0.2) !important; background: #f5f5f7 !important; }
.bv-hero-chip-tag { font-size: 0.5rem !important; background: rgba(0,0,0,0.05) !important; color: var(--ac-text-3) !important; padding: 1px 5px !important; }

/* Industry baseline field */
.bv-industry-field-wrap select { font-size: 0.85rem !important; }
.bv-field-auto-tag {
  font-size: 0.52rem !important;
  background: rgba(0,0,0,0.05) !important;
  color: var(--ac-text-3) !important;
  padding: 1px 5px !important;
  letter-spacing: 0.06em;
}

/* Module adoption cards */
.bv-mod-card { padding: 12px 14px !important; gap: 8px !important; border-radius: var(--ac-radius) !important; box-shadow: none !important; }
.bv-mod-title { font-size: 0.92rem !important; font-weight: 600 !important; }
.bv-mod-metric { font-size: 0.72rem !important; }
.bv-mod-toggle { font-size: 0.72rem !important; }

.bv-scope-pill {
  font-size: 0.65rem !important;
  padding: 2px 8px !important;
  font-weight: 500 !important;
  border: 1px solid var(--ac-line-strong) !important;
  background: var(--ac-surface) !important;
  color: var(--ac-text-2) !important;
}
.bv-scope-pill.direct.active, .bv-scope-pill.indirect.active, .bv-scope-pill.tail.active {
  background: var(--ac-text) !important;
  border-color: var(--ac-text) !important;
  color: #fff !important;
}

/* Slider readout — calmer */
.bv-slider-labels { font-size: 0.65rem !important; color: var(--ac-text-3) !important; }
.bv-slider-readout {
  font-size: 0.72rem !important;
  background: rgba(0,0,0,0.025) !important;
  border-color: var(--ac-line) !important;
  padding: 5px 9px !important;
}
.bv-readout-zone { font-size: 0.55rem !important; padding: 0 6px !important; letter-spacing: 0.04em; }
.bv-zone-conservative { background: rgba(0,0,0,0.06) !important; color: var(--ac-text-3) !important; }
.bv-zone-realistic { background: rgba(0,102,204,0.10) !important; color: var(--ac-accent) !important; }
.bv-zone-aggressive { background: rgba(180,83,9,0.10) !important; color: var(--ac-warning) !important; }
.bv-slider-track {
  background: linear-gradient(
    90deg,
    rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.08) 30%,
    rgba(0,102,204,0.22) 30%, rgba(0,102,204,0.22) 70%,
    rgba(180,83,9,0.22) 70%, rgba(180,83,9,0.22) 100%
  ) !important;
}
.bv-slider-input::-webkit-slider-thumb {
  background: var(--ac-text) !important;
  border: 3px solid #fff !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2) !important;
}
.bv-slider-input::-moz-range-thumb {
  background: var(--ac-text) !important;
  border: 3px solid #fff !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2) !important;
}
.bv-mod-source { font-size: 0.68rem !important; }

/* Module checkboxes in scope */
.bv-modules { gap: 6px !important; }
.bv-module-chip {
  padding: 6px 9px !important;
  font-size: 0.78rem !important;
  border-radius: 8px !important;
}
.bv-module-chip.active {
  background: rgba(0,102,204,0.06) !important;
  border-color: rgba(0,102,204,0.35) !important;
  color: var(--ac-accent) !important;
}

/* Value stack bar chart */
.bv-bar-row { font-size: 0.8rem !important; padding: 5px 0 !important; }
.bv-bar-track { height: 18px !important; background: rgba(0,0,0,0.04) !important; }
.bv-bar-fill { background: linear-gradient(90deg, #1d1d1f, #3a3a3c) !important; }

/* Honesty bar — calmer */
.bv-honesty {
  background: var(--ac-surface) !important;
  border: 1px solid var(--ac-line) !important;
  padding: 12px !important;
}
.bv-honesty h4 { font-size: 0.7rem !important; color: var(--ac-text-3) !important; }
.bv-honesty-row { font-size: 0.78rem !important; padding: 3px 0 !important; }

/* Scenarios */
.bv-scenario-tile {
  background: var(--ac-surface) !important;
  border: 1px solid var(--ac-line) !important;
  padding: 10px 12px !important;
}
.bv-scenario-tile.base { background: rgba(0,102,204,0.04) !important; border-color: rgba(0,102,204,0.18) !important; }
.bv-sc-label { font-size: 0.62rem !important; }
.bv-sc-npv { font-size: 1.1rem !important; font-weight: 600 !important; letter-spacing: -0.01em; }

/* Cash table */
.bv-cash-table table { font-size: 0.78rem !important; }
.bv-cash-table th { font-size: 0.62rem !important; letter-spacing: 0.06em; background: rgba(0,0,0,0.025) !important; color: var(--ac-text-3) !important; }
.bv-cash-table td { padding: 6px 9px !important; }
.bv-cash-table tr.total { background: rgba(0,102,204,0.04) !important; }

/* Banner */
.bv-banner {
  font-size: 0.82rem !important;
  padding: 10px 14px !important;
  border-radius: var(--ac-radius) !important;
}
.bv-banner.orange { background: rgba(180,83,9,0.05) !important; border-color: rgba(180,83,9,0.20) !important; color: var(--ac-warning) !important; }
.bv-banner.red { background: rgba(194,65,12,0.05) !important; border-color: rgba(194,65,12,0.20) !important; color: var(--ac-danger) !important; }
.bv-banner-icon { width: 18px !important; height: 18px !important; font-size: 0.72rem !important; }
.bv-banner-body strong { font-size: 0.85rem !important; }
.bv-banner-body li { font-size: 0.76rem !important; }

/* Drawer */
.bv-drawer-panel { border-radius: 0 !important; box-shadow: -8px 0 24px rgba(0,0,0,0.08) !important; }
.bv-drawer-head { padding: 16px 20px !important; }
.bv-drawer-head h3 { font-size: 1rem !important; }
.bv-drawer-body { padding: 16px 20px !important; }

/* AI suggestion rows */
.bv-ai-row { background: var(--ac-surface) !important; border-color: var(--ac-line) !important; padding: 10px 12px !important; }
.bv-ai-row-head strong { font-size: 0.82rem !important; }
.bv-ai-conf { font-size: 0.58rem !important; padding: 1px 7px !important; }
.bv-conf-high { background: rgba(0,143,93,0.10) !important; color: var(--ac-success) !important; }
.bv-conf-medium { background: rgba(180,83,9,0.10) !important; color: var(--ac-warning) !important; }
.bv-conf-low { background: rgba(194,65,12,0.10) !important; color: var(--ac-danger) !important; }
.bv-ai-cmp .muted { font-size: 0.62rem !important; }
.bv-ai-cmp strong { font-size: 0.88rem !important; }
.bv-ai-rationale { font-size: 0.78rem !important; }

/* Industry menu */
.bv-industry-menu { border-radius: var(--ac-radius) !important; box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important; }
.bv-industry-menu-head { font-size: 0.62rem !important; }
.bv-industry-menu-item, .bv-industry-menu-reset { font-size: 0.85rem !important; padding: 7px 10px !important; }
.bv-industry-menu-foot { font-size: 0.68rem !important; }

/* Help popover */
.bv-help-popover { border-radius: var(--ac-radius) !important; box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important; max-width: 340px !important; padding: 12px 14px !important; }
.bv-pop-head strong { font-size: 0.88rem !important; }
.bv-pop-section-label { font-size: 0.6rem !important; }
.bv-pop-body p { font-size: 0.8rem !important; line-height: 1.5; }

/* Account search results */
.bv-acct-result { font-size: 0.82rem !important; padding: 7px 11px !important; }
.bv-acct-result-meta { font-size: 0.68rem !important; }

/* Generic helper for old utility classes */
.metric-card, .stat-card {
  background: var(--ac-surface) !important;
  border: 1px solid var(--ac-line) !important;
  border-radius: var(--ac-radius) !important;
  box-shadow: none !important;
  padding: 14px !important;
}
.metric-card strong, .stat-card strong { font-size: 1.2rem !important; font-weight: 600 !important; }

/* Workspace bar / header strip */
.workspace-bar {
  background: transparent !important;
  border-bottom: 1px solid var(--ac-line) !important;
  padding: 16px 20px !important;
}
.workspace-bar h1 { font-size: 1.25rem !important; }

/* Tabs / sub-tabs across the suite */
.account-overview-tabs button, .admin-tabs button {
  padding: 6px 12px !important;
  font-size: 0.82rem !important;
  border-radius: 8px !important;
}

/* Form grids — tighter */
.form-grid label { font-size: 0.82rem !important; }
.form-grid input, .form-grid select, .form-grid textarea { font-size: 0.85rem !important; }

/* Muted utility */
.muted { color: var(--ac-text-3) !important; }

/* Account overview cards / artifacts */
.account-interaction-composer { border-radius: var(--ac-radius) !important; }

/* Field-suffix */
.bv-field-suffix { font-size: 0.65rem !important; color: var(--ac-text-3) !important; }

/* ============= 10/10 Overview / Landing ============= */

#overview.screen.active {
  overflow-y: auto !important;
  overflow-x: hidden;
  padding: 0 !important;
}
.home-grid {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 28px 32px 32px;
  max-width: 1320px;
  margin: 0 auto;
}

/* Hero */
.home-hero {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: 24px;
  padding: 4px 0 16px;
  border-bottom: 1px solid var(--ac-line);
  margin-bottom: 4px;
}
.home-hero-greeting {
  margin: 0 0 4px;
  font-size: 0.85rem;
  color: var(--ac-text-3);
  font-weight: 500;
  letter-spacing: -0.005em;
}
.home-hero-headline {
  margin: 0 0 6px;
  font-size: 1.65rem;
  font-weight: 600;
  letter-spacing: -0.025em;
  color: var(--ac-text);
  line-height: 1.2;
}
.home-hero-meta {
  margin: 0;
  font-size: 0.82rem;
  color: var(--ac-text-3);
}
.home-hero-right { display: flex; gap: 8px; align-items: center; }

/* Module shortcuts */
.home-modules {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
@media (max-width: 1100px) { .home-modules { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .home-modules { grid-template-columns: 1fr; } }
.home-module {
  position: relative;
  display: flex; flex-direction: column; gap: 1px;
  padding: 9px 12px;
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: 8px;
  cursor: pointer;
  text-align: left;
  transition: border-color 0.15s, background 0.15s;
}
.home-module:hover {
  border-color: rgba(0, 0, 0, 0.18);
  background: rgba(0, 0, 0, 0.015);
}
.home-module-label {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--ac-text);
  text-align: center;
  padding: 0 18px 2px;
}
.home-module-desc {
  font-size: 0.68rem;
  color: var(--ac-text-3);
  line-height: 1.35;
  text-align: left;
}
.home-module-arrow {
  position: absolute;
  top: 9px; right: 11px;
  font-size: 0.75rem;
  color: var(--ac-text-3);
  transition: transform 0.15s, color 0.15s;
}
.home-module:hover .home-module-arrow { transform: translateX(2px); color: var(--ac-text); }

/* Priority actions (legacy class, kept hidden) */
.home-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}
.home-action {
  position: relative;
  display: flex; flex-direction: column; gap: 6px;
  padding: 16px 18px;
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: 12px;
  cursor: pointer;
  text-align: left;
  transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
  min-height: 116px;
}
.home-action:hover {
  border-color: rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}
.home-action.primary {
  background: #1d1d1f;
  border-color: #1d1d1f;
  color: #fff;
}
.home-action.primary .home-action-eyebrow { color: rgba(255, 255, 255, 0.55); }
.home-action.primary .home-action-body { color: rgba(255, 255, 255, 0.78); }
.home-action.primary .home-action-arrow { color: #fff; }
.home-action.primary:hover { background: #2a2a2c; border-color: #2a2a2c; }
.home-action-eyebrow {
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--ac-text-3);
}
.home-action-title {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: inherit;
}
.home-action-body {
  font-size: 0.82rem;
  color: var(--ac-text-2);
  line-height: 1.4;
}
.home-action-arrow {
  position: absolute;
  top: 14px; right: 16px;
  font-size: 1rem;
  color: var(--ac-text-3);
  transition: transform 0.15s;
}
.home-action:hover .home-action-arrow { transform: translateX(3px); }

/* KPI strip */
.home-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}
.home-kpi {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex; flex-direction: column; gap: 2px;
  align-items: center;
  text-align: center;
}
.home-kpi-label {
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--ac-text-3);
}
.home-kpi-value {
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--ac-text);
  line-height: 1.1;
  margin-top: 2px;
}
.home-kpi-sub {
  font-size: 0.72rem;
  color: var(--ac-text-3);
}

/* Main two-column */
.home-main {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 14px;
}
@media (max-width: 1100px) {
  .home-main { grid-template-columns: 1fr; }
}
.home-card {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: 12px;
  overflow: hidden;
}
.home-card-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid var(--ac-line);
}
.home-card-head p { margin: 0; }

/* Watchlist table */
.home-table {
  display: flex; flex-direction: column;
}
.home-table-head, .home-table-row {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.2fr) minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 0.9fr);
  gap: 12px;
  padding: 10px 18px;
  align-items: center;
  font-size: 0.82rem;
}
.home-table-head {
  font-size: 0.6rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  font-weight: 600;
  background: rgba(0, 0, 0, 0.015);
  border-bottom: 1px solid var(--ac-line);
}
.home-table-row {
  background: none;
  border: none;
  border-bottom: 1px solid var(--ac-line);
  cursor: pointer;
  text-align: left;
  transition: background 0.12s;
  color: var(--ac-text);
}
.home-table-row:last-child { border-bottom: none; }
.home-table-row:hover { background: rgba(0, 102, 204, 0.04); }
.home-table-cell-strong { font-weight: 500; color: var(--ac-text); }
.home-stage-pill {
  display: inline-block;
  padding: 1px 8px;
  background: rgba(0, 0, 0, 0.06);
  color: var(--ac-text-2);
  font-size: 0.7rem;
  font-weight: 500;
  border-radius: 999px;
}

/* Activity feed */
.home-feed {
  display: flex; flex-direction: column;
}
.home-feed-item {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 12px;
  align-items: center;
  padding: 10px 18px;
  background: none; border: none;
  border-bottom: 1px solid var(--ac-line);
  cursor: pointer;
  text-align: left;
  transition: background 0.12s;
}
.home-feed-item:last-child { border-bottom: none; }
.home-feed-item:hover { background: rgba(0, 102, 204, 0.04); }
.home-feed-time {
  font-size: 0.7rem;
  color: var(--ac-text-3);
  font-variant-numeric: tabular-nums;
}
.home-feed-body {
  display: flex; flex-direction: column; gap: 1px;
  font-size: 0.82rem;
}
.home-feed-body strong { font-weight: 500; color: var(--ac-text); }
.home-feed-body .muted { font-size: 0.72rem; color: var(--ac-text-3); }

/* Pipeline pulse */
.home-pipeline-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  padding: 20px 22px;
}
.home-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 12px 4px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.02);
  border: 1px solid var(--ac-line);
  position: relative;
  min-height: 116px;
}
.home-stage-bar {
  width: 6px;
  height: 60px;
  background: rgba(0, 0, 0, 0.06);
  border-radius: 999px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.home-stage-bar-fill {
  width: 100%;
  background: #1d1d1f;
  border-radius: 999px;
  transition: height 0.3s;
}
.home-stage-count {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ac-text);
}
.home-stage-label {
  font-size: 0.7rem;
  color: var(--ac-text-3);
  text-align: center;
  font-weight: 500;
}

/* Empty + helper */
.home-empty {
  padding: 18px;
  font-size: 0.85rem;
  color: var(--ac-text-3);
  text-align: center;
}
.home-link {
  background: none; border: none; cursor: pointer;
  color: var(--ac-accent); font-weight: 500; padding: 0;
  font-size: inherit;
}
.home-link:hover { text-decoration: underline; }

/* ============= Account Overview — Google-grade polish ============= */

/* Screen + topbar */
#account-overview.screen.active {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 24px 32px !important;
  min-width: 0 !important;
}
#account-overview .account-overview-view,
#account-overview .account-overview-detail-shell,
#account-overview .account-overview-summary-panel,
#account-overview .account-overview-overview-panel,
#account-overview .account-overview-content-panel {
  min-width: 0 !important;
  max-width: 100% !important;
}
.account-overview-topbar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 0 0 16px !important;
  margin-bottom: 18px !important;
  border-bottom: 1px solid var(--ac-line) !important;
}

/* Segmented control style for Overview / Account / Add Account */
.account-overview-view-switchers {
  display: inline-flex !important;
  padding: 3px !important;
  background: rgba(0, 0, 0, 0.04) !important;
  border-radius: 9px !important;
  gap: 0 !important;
}
.account-overview-view-switchers button {
  background: transparent !important;
  border: none !important;
  padding: 5px 14px !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  color: var(--ac-text-2) !important;
  border-radius: 6px !important;
  transition: background 0.12s, color 0.12s;
}
.account-overview-view-switchers button:hover { color: var(--ac-text) !important; background: transparent !important; }
.account-overview-view-switchers button.active {
  background: var(--ac-surface) !important;
  color: var(--ac-text) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
}

/* Inline search */
.account-overview-search-inline {
  display: flex; align-items: center; gap: 6px;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 8px;
  padding: 3px 4px 3px 10px;
  min-width: 280px;
}
.account-overview-search-inline input {
  background: transparent !important;
  border: none !important;
  padding: 5px 0 !important;
  font-size: 0.85rem !important;
  flex: 1;
  min-width: 0;
}
.account-overview-search-inline input:focus { outline: none !important; box-shadow: none !important; }
.account-overview-search-inline button {
  background: var(--ac-surface) !important;
  border: 1px solid var(--ac-line-strong) !important;
  padding: 4px 11px !important;
  font-size: 0.78rem !important;
  border-radius: 6px !important;
}

/* List view panel */
.account-overview-overview-panel {
  padding: 0 !important;
  overflow: hidden;
}
.account-overview-overview-head {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 16px 20px 14px !important;
  border-bottom: 1px solid var(--ac-line) !important;
}
.account-overview-overview-head .panel-kicker { display: none !important; }
.account-overview-overview-head h3 {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  margin: 0 !important;
}
.account-overview-overview-head .muted {
  font-size: 0.78rem !important;
  margin: 0 !important;
}

/* Table header */
.account-overview-table-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.7fr) minmax(0, 1.4fr) minmax(0, 0.9fr) minmax(0, 0.9fr) !important;
  gap: 14px !important;
  padding: 9px 20px !important;
  background: rgba(0, 0, 0, 0.015) !important;
  border-bottom: 1px solid var(--ac-line) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  font-weight: 600 !important;
  color: var(--ac-text-3) !important;
}

/* Table rows */
.account-overview-results {
  display: flex !important;
  flex-direction: column !important;
}
.account-overview-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.7fr) minmax(0, 1.4fr) minmax(0, 0.9fr) minmax(0, 0.9fr) !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 10px 20px !important;
  background: none !important;
  border: none !important;
  border-bottom: 1px solid var(--ac-line) !important;
  border-left: 2px solid transparent !important;
  cursor: pointer;
  text-align: left;
  transition: background 0.12s, border-left-color 0.12s;
  font-size: 0.85rem !important;
  color: var(--ac-text) !important;
  border-radius: 0 !important;
}
.account-overview-row:last-child { border-bottom: none !important; }
.account-overview-row:hover { background: rgba(0, 0, 0, 0.025) !important; }
.account-overview-row.active {
  background: rgba(0, 102, 204, 0.04) !important;
  border-left-color: var(--ac-accent) !important;
}
.account-overview-row-title {
  font-weight: 500 !important;
  color: var(--ac-text) !important;
}
.account-overview-row span:nth-child(2),
.account-overview-row span:nth-child(3) {
  color: var(--ac-text-2) !important;
  font-size: 0.82rem !important;
}
.account-overview-row span:nth-child(5) {
  color: var(--ac-text-3) !important;
  font-size: 0.78rem !important;
  font-variant-numeric: tabular-nums;
}

/* Status pill — unified subtle pill instead of raw colored text */
.account-overview-row .status,
.account-overview-row .status-pill {
  display: inline-block;
  padding: 2px 9px !important;
  border-radius: 999px !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  letter-spacing: 0;
  text-transform: none !important;
  background: rgba(0, 0, 0, 0.06) !important;
  color: var(--ac-text-2) !important;
}
.account-overview-row .status.draft,
.account-overview-row .status-pill.draft { background: rgba(180, 83, 9, 0.10) !important; color: var(--ac-warning) !important; }
.account-overview-row .status.active,
.account-overview-row .status-pill.active { background: rgba(0, 143, 93, 0.10) !important; color: var(--ac-success) !important; }
.account-overview-row .status.complete,
.account-overview-row .status-pill.complete,
.account-overview-row .status.ai-debriefed,
.account-overview-row .status-pill.ai-debriefed { background: rgba(0, 143, 93, 0.10) !important; color: var(--ac-success) !important; }

/* ===== Detail view ===== */
.account-overview-detail-shell { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.account-overview-summary-panel {
  padding: 18px 22px !important;
}
.account-overview-summary-grid.compact {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 260px) !important;
  gap: 24px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
}
@media (max-width: 900px) {
  .account-overview-summary-grid.compact { grid-template-columns: 1fr !important; }
}
.account-overview-summary-main .panel-kicker { display: none !important; }
.account-overview-summary-title-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}
.account-overview-summary-title-row h3 {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  margin: 0 !important;
  color: var(--ac-text) !important;
}
.account-overview-summary-readout {
  margin: 8px 0 12px !important;
  font-size: 0.86rem !important;
  line-height: 1.5 !important;
  color: var(--ac-text-2) !important;
  max-width: 760px;
}

/* Right-aligned key metrics — inline strip, no boxed mini-cards */
.account-overview-metrics {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 4px 0 !important;
  min-width: 220px;
}
.account-overview-metrics .scope-inline-stat {
  display: grid !important;
  grid-template-columns: 70px 1fr !important;
  gap: 10px !important;
  padding: 4px 0 !important;
  border: none !important;
  background: none !important;
  align-items: baseline !important;
}
.account-overview-metrics .scope-inline-stat span {
  font-size: 0.62rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  color: var(--ac-text-3) !important;
  font-weight: 600 !important;
}
.account-overview-metrics .scope-inline-stat strong {
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--ac-text) !important;
  text-align: right;
  grid-column: 2;
}
.account-overview-metrics .scope-inline-stat span:first-child {
  grid-column: 1;
}

/* ===== Tab strip — wraps to 2 lines when needed, no horizontal scroll ===== */
.account-overview-tabs {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
  padding: 4px 6px !important;
  border-bottom: 1px solid var(--ac-line) !important;
  background: var(--ac-surface) !important;
  border: 1px solid var(--ac-line) !important;
  border-radius: 10px !important;
  margin: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.account-overview-tabs button {
  flex: 0 0 auto !important;
  background: transparent !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 8px 11px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  color: var(--ac-text-2) !important;
  position: relative;
  transition: color 0.12s, background 0.12s;
  white-space: nowrap;
  margin: 1px 0 !important;
}
.account-overview-tabs button:hover {
  color: var(--ac-text) !important;
  background: rgba(0, 0, 0, 0.03) !important;
}
.account-overview-tabs button.active {
  color: var(--ac-text) !important;
  background: rgba(0, 0, 0, 0.06) !important;
  font-weight: 600 !important;
}

/* Content panel */
.account-overview-content-panel {
  padding: 18px !important;
}

/* Cards inside content (stat tiles) */
.account-overview-content-panel .detail-box {
  background: var(--ac-surface) !important;
  border: 1px solid var(--ac-line) !important;
  border-radius: 10px !important;
  padding: 14px !important;
}

/* Account header action buttons row */
.account-overview-summary-actions { gap: 6px !important; }
.account-overview-summary-actions button {
  padding: 5px 11px !important;
  font-size: 0.78rem !important;
}

/* Back link + Salesforce link */
.account-overview-summary-links { margin-top: 8px !important; }
.account-overview-summary-links button { padding: 4px 9px !important; font-size: 0.76rem !important; }
.ghost-link { font-size: 0.78rem !important; color: var(--ac-accent) !important; text-decoration: none; }
.ghost-link:hover { text-decoration: underline; }

/* =====================================================================
   SUITE-WIDE OVERHAUL — Silicon Valley register
   Kills double-headers, tightens spacing, neutralizes loud status cards,
   normalizes list-rows, fixes metadata strip ordering bug.
   ===================================================================== */

/* ----- Workspace-bar — slim utility strip, right-aligned only.
   Title/eyebrow/subcopy hidden. Each screen owns its own .screen-header. ----- */
.workspace-bar {
  padding: 8px 24px !important;
  border-bottom: 1px solid var(--ac-line) !important;
  background: var(--ac-surface) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin: 0 !important;
  min-height: 0 !important;
}
.workspace-bar .workspace-copy {
  display: none !important;
}
.workspace-bar .workspace-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.workspace-bar .workspace-status {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.workspace-bar .config-chip {
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  padding: 3px 9px !important;
  background: transparent !important;
  color: var(--ac-text-3) !important;
  border-radius: 4px !important;
  border: 1px solid var(--ac-line) !important;
}
.workspace-bar .config-chip::before {
  width: 5px !important;
  height: 5px !important;
  margin-right: 6px !important;
  background: var(--ac-text-3) !important;
  opacity: 0.6 !important;
}
.workspace-bar .config-chip.status-good {
  color: var(--ac-text-2) !important;
  border-color: rgba(0,102,204,0.25) !important;
}
.workspace-bar .config-chip.status-good::before {
  background: var(--ac-accent) !important;
  opacity: 1 !important;
}
/* Template = info pill, no status dot */
.workspace-bar .config-chip#templateChip::before {
  display: none !important;
}
.workspace-bar button {
  font-size: 0.78rem !important;
  padding: 4px 11px !important;
}

/* Main panel — tight padding (was 24px 26px 30px → handled per-screen) */
.main-panel {
  padding: 0 !important;
}

/* ----- Generic screen container padding ----- */
.screen.active {
  padding: 22px 30px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* HIGH-SPECIFICITY OVERRIDE — kills the original grid-layout `overflow: hidden`
   on the named screens (line 2289-2298) that was blocking scroll. */
#discovery-calls.screen.active,
#champion-letters.screen.active,
#value-hub.screen.active,
#account-overview.screen.active,
#sld.screen.active,
#admin.screen.active,
#run-sdp.screen.active,
#enablement.screen.active {
  display: block !important;
  grid-template-rows: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* Enablement Hub inner shell — let it grow with content, screen scrolls */
#enablement .enablement-shell {
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}
#enablement .enablement-rail {
  min-height: 0 !important;
  height: auto !important;
}
#enablement .enablement-list-frame {
  height: auto !important;
  max-height: 70vh !important;
  overflow-y: auto !important;
}

/* ===== Enablement KB sub-nav (Modules / Verticals / Subverticals) ===== */
#enablement .enablement-kb-subnav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0 12px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--ac-line);
}
#enablement .enablement-kb-subnav.hidden { display: none; }
#enablement .enablement-kb-subnav .button-row {
  display: inline-flex;
  padding: 3px;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 9px;
  gap: 0;
}
#enablement .enablement-kb-subnav .button-row button {
  background: transparent !important;
  border: none !important;
  padding: 5px 14px !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  color: var(--ac-text-2) !important;
  border-radius: 6px !important;
}
#enablement .enablement-kb-subnav .button-row button.active {
  background: var(--ac-surface) !important;
  color: var(--ac-text) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
}

/* ===== Coaching Enablement sub-module ===== */
.enablement-coaching-panel { display: flex; flex-direction: column; gap: 14px; }
.ce-top-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.ce-sub-nav { display: inline-flex; padding: 3px; background: rgba(0,0,0,0.04); border-radius: 9px; align-self: flex-start; gap: 0; }
.ce-sub-btn { background: transparent; border: none; padding: 6px 14px; font-size: 0.82rem; font-weight: 500; color: var(--ac-text-2); border-radius: 6px; cursor: pointer; }
.ce-sub-btn.active { background: var(--ac-surface); color: var(--ac-text); box-shadow: 0 1px 2px rgba(0,0,0,0.08); }
.ce-body { display: block; }
.ce-view.hidden { display: none; }

.ce-frameworks-layout,
.ce-roleplay-layout {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
@media (max-width: 900px) {
  .ce-frameworks-layout, .ce-roleplay-layout { grid-template-columns: 1fr; }
}
.ce-rail {
  display: flex; flex-direction: column; gap: 6px;
  border: 1px solid var(--ac-line); border-radius: 10px;
  padding: 8px; background: var(--ac-surface);
}
.ce-rail-item {
  display: flex; flex-direction: column; gap: 2px;
  padding: 9px 11px; text-align: left;
  border: 1px solid transparent; border-radius: 7px;
  background: transparent; cursor: pointer;
  font-size: 0.85rem; color: var(--ac-text);
}
.ce-rail-item:hover { background: rgba(0,0,0,0.03); }
.ce-rail-item.active { background: rgba(0,102,204,0.06); border-color: rgba(0,102,204,0.22); }
.ce-rail-name { font-weight: 600; color: var(--ac-text); }
.ce-rail-meta { font-size: 0.62rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ac-text-3); font-weight: 600; }
.ce-rail-oneliner { font-size: 0.74rem; color: var(--ac-text-3); line-height: 1.35; }

.ce-detail {
  border: 1px solid var(--ac-line); border-radius: 10px;
  background: var(--ac-surface); padding: 18px 20px;
  min-height: 240px;
}
.ce-detail-head { margin-bottom: 14px; }
.ce-detail-head h3 { margin: 4px 0 4px; font-size: 1.1rem; font-weight: 600; }
.ce-detail-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px;
}
.ce-detail-grid h4 { font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ac-text-3); font-weight: 600; margin: 0 0 5px; }
.ce-detail-grid p, .ce-detail-grid ul { font-size: 0.82rem; line-height: 1.5; margin: 0; color: var(--ac-text-2); }
.ce-detail-grid ul { padding-left: 18px; }
.ce-detail-full { grid-column: 1 / -1; }

.ce-deep-section { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--ac-line); }
.ce-deep-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.ce-deep-head h4 { margin: 0; font-size: 0.95rem; font-weight: 600; }
.ce-deep-block { padding: 10px 0; }
.ce-deep-block h5 { font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ac-text-3); margin: 0 0 6px; font-weight: 600; }
.ce-deep-block p { font-size: 0.85rem; line-height: 1.5; margin: 0 0 6px; }
.ce-deep-block ul { padding-left: 18px; font-size: 0.82rem; line-height: 1.55; }

/* Playbooks tab */
.ce-playbooks-controls {
  display: flex; gap: 14px; align-items: flex-end;
  padding: 14px; border: 1px solid var(--ac-line); border-radius: 10px;
  background: var(--ac-surface); margin-bottom: 12px; flex-wrap: wrap;
}
.ce-form-row { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 200px; }
/* Form controls inside .ce-form-row must fill their flex container — without
   width: 100%, the select sat at its natural content width and visually
   overlapped the next input (text appeared cut off mid-word). */
.ce-form-row > select,
.ce-form-row > input,
.ce-form-row > textarea {
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
}
.ce-form-label { font-size: 0.7rem; letter-spacing: 0.04em; font-weight: 600; color: var(--ac-text-2); }
.ce-playbook-output { min-height: 220px; }
.ce-playbook { border: 1px solid var(--ac-line); border-radius: 10px; background: var(--ac-surface); padding: 20px 22px; }
.ce-playbook h3 { margin: 0 0 10px; font-size: 1.05rem; font-weight: 600; }

/* Role-play thread */
.ce-roleplay-detail { display: flex; flex-direction: column; gap: 10px; min-height: 420px; }
.ce-rp-scenario { display: flex; flex-direction: column; gap: 4px; }
.ce-rp-thread {
  flex: 1; min-height: 280px; max-height: 56vh;
  overflow-y: auto;
  border: 1px solid var(--ac-line); border-radius: 8px;
  padding: 12px 14px;
  background: #fafafa;
  display: flex; flex-direction: column; gap: 8px;
}
.ce-msg { padding: 8px 12px; border-radius: 8px; max-width: 80%; font-size: 0.85rem; line-height: 1.45; }
.ce-msg-rep { align-self: flex-end; background: rgba(0,102,204,0.08); border: 1px solid rgba(0,102,204,0.18); color: var(--ac-text); }
.ce-msg-persona { align-self: flex-start; background: var(--ac-surface); border: 1px solid var(--ac-line); color: var(--ac-text); }
.ce-msg-role { display: block; font-size: 0.62rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ac-text-3); margin-bottom: 3px; }
.ce-msg p { margin: 0; }
.ce-rp-composer { display: flex; gap: 6px; align-items: center; }
.ce-rp-composer input { flex: 1; }
#overview.screen.active { padding: 0 !important; }
#account-overview.screen.active { padding: 22px 30px !important; }

/* ----- Per-screen page header (slimmer, no duplicate eyebrow) ----- */
.screen .screen-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 16px !important;
  padding-bottom: 14px !important;
  margin-bottom: 16px !important;
  border-bottom: 1px solid var(--ac-line) !important;
}
.screen .screen-header .eyebrow {
  font-size: 0.6rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--ac-text-3) !important;
  margin: 0 0 2px 0 !important;
}
.screen .screen-header h2 {
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  margin: 0 0 4px 0 !important;
  letter-spacing: -0.02em !important;
  color: var(--ac-text) !important;
}
.screen .screen-header > div:first-child > p:not(.eyebrow) {
  font-size: 0.82rem !important;
  color: var(--ac-text-3) !important;
  margin: 0 !important;
  max-width: 720px;
}

/* ----- List screens (Discovery Calls, Champion Letters, SLD): align panel + table head + rows ----- */
#discovery-calls .panel,
#champion-letters .panel,
#sld .panel {
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid var(--ac-line) !important;
  border-radius: 10px !important;
  background: var(--ac-surface) !important;
}

/* Records table head — mirror the record-toggle columns:
   44px (checkbox header) + 1.25fr (account+subtitle) + 96px owner + 160px scope/quality + 110px status + 24px (+) */
.records-table-head {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1.25fr) 96px 160px 110px 24px !important;
  gap: 10px !important;
  padding: 9px 12px !important;
  background: rgba(0, 0, 0, 0.02) !important;
  border-bottom: 1px solid var(--ac-line) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--ac-text-3) !important;
  align-items: center !important;
}

/* Do NOT impose our own grid on .record-card — keep original layout intact.
   We only restyle borders + colors. */
.records-list .record-card {
  border: none !important;
  border-bottom: 1px solid var(--ac-line) !important;
  border-radius: 0 !important;
  background: var(--ac-surface) !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.records-list .record-card:last-child { border-bottom: none !important; }
.records-list .record-card:hover { background: rgba(0, 0, 0, 0.018) !important; }
.records-list .record-card.active { background: rgba(0, 102, 204, 0.04) !important; }

/* Re-align the record-toggle to MATCH the table head columns (so they line up). */
.records-list .record-toggle {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) 96px 160px 110px 24px !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  align-items: center !important;
}
.records-list .record-select-cell {
  border-right: none !important;
  padding: 10px 0 10px 12px !important;
}
.records-list .record-row {
  grid-template-columns: 44px minmax(0, 1fr) !important;
}

/* Account name + subtitle stacked, no wrap on name */
.records-list .record-main {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
.records-list .record-main strong {
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: var(--ac-text) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.records-list .record-main span {
  font-size: 0.76rem !important;
  color: var(--ac-text-3) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.records-list .meta-text {
  font-size: 0.82rem !important;
  color: var(--ac-text-2) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* The trailing "+" — keep it but make it a clean chevron */
.records-list .record-toggle > .meta-text:last-child {
  color: var(--ac-text-3) !important;
  font-size: 1rem !important;
  text-align: center !important;
  font-weight: 400 !important;
}

/* Status text → uniform pill (kills the raw red "Letter Drafted" / "Draft") */
.status-pill, .status,
.records-list .status,
.list-row .status {
  display: inline-block !important;
  padding: 2px 9px !important;
  border-radius: 999px !important;
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  background: rgba(0, 0, 0, 0.06) !important;
  color: var(--ac-text-2) !important;
  border: none !important;
}
.status-pill.draft, .status.draft,
.status-pill.letter-drafted, .status.letter-drafted {
  background: rgba(180, 83, 9, 0.10) !important;
  color: var(--ac-warning) !important;
}
.status-pill.complete, .status.complete,
.status-pill.ai-debriefed, .status.ai-debriefed,
.status-pill.active, .status.active {
  background: rgba(0, 143, 93, 0.10) !important;
  color: var(--ac-success) !important;
}
.status-pill.in-review, .status.in-review,
.status-pill.review, .status.review {
  background: rgba(0, 102, 204, 0.10) !important;
  color: var(--ac-accent) !important;
}

/* ----- Add Account form: tame the 3 status boxes at top ----- */
.account-overview-create-panel .setup-context-strip,
#run-sdp .setup-context-strip {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.account-overview-create-panel .signal-bar-card,
#run-sdp .signal-bar-card {
  background: rgba(0, 0, 0, 0.025) !important;
  border: 1px solid var(--ac-line) !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
.account-overview-create-panel .signal-bar-card .panel-kicker,
#run-sdp .signal-bar-card .panel-kicker {
  font-size: 0.58rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--ac-text-3) !important;
}
.account-overview-create-panel .signal-bar-card strong,
#run-sdp .signal-bar-card strong {
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: var(--ac-text) !important;
}
.account-overview-create-panel .signal-bar-card span,
#run-sdp .signal-bar-card span {
  font-size: 0.72rem !important;
  color: var(--ac-text-3) !important;
}

/* Add Account: bottom "STATUS" box — make subtle */
#account-overview .account-overview-create-panel > div:has(> p.panel-kicker:not(:only-child)),
#account-overview .account-overview-create-panel .detail-box {
  background: rgba(0, 0, 0, 0.025) !important;
  border: 1px solid var(--ac-line) !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  margin-top: 16px !important;
}

/* ----- Forms inside screens: tighter, multi-column where possible ----- */
.form-grid {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  gap: 12px 14px !important;
}
.form-grid > label,
.form-grid > .form-field {
  grid-column: span 6;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.form-grid > label.span-12 { grid-column: span 12; }
.form-grid > label.span-8 { grid-column: span 8; }
.form-grid > label.span-6 { grid-column: span 6; }
.form-grid > label.span-4 { grid-column: span 4; }
.form-grid > label.span-3 { grid-column: span 3; }
.form-grid > label > span:first-child,
.form-grid .setup-field-title {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: var(--ac-text-2) !important;
}
.form-grid input, .form-grid select, .form-grid textarea {
  font-size: 0.85rem !important;
}

/* ----- Run SDP stepper: keep top steps, kill the redundant card row below ----- */
#run-sdp .workflow-steps + .workflow-stages,
#run-sdp .workflow-stage-cards,
#run-sdp .stage-status-grid {
  display: none !important;
}
/* Top stepper itself */
#run-sdp .workflow-steps {
  display: flex !important;
  gap: 4px !important;
  margin: 16px 0 18px !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
#run-sdp .workflow-steps button,
#run-sdp .workflow-steps .step {
  flex: 1 !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  background: rgba(0, 0, 0, 0.03) !important;
  border: 1px solid transparent !important;
  color: var(--ac-text-2) !important;
  text-align: center !important;
  position: relative !important;
}
#run-sdp .workflow-steps .step.active,
#run-sdp .workflow-steps button.active,
#run-sdp .workflow-steps button[aria-current="step"] {
  background: var(--ac-text) !important;
  color: #fff !important;
}

/* ----- SLD topbar — slim, refined, no bloat ----- */
#sld .sld-topbar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 0 12px 0 !important;
  margin: 0 0 14px 0 !important;
  border-bottom: 1px solid var(--ac-line) !important;
  background: transparent !important;
}
#sld .sld-view-switchers {
  display: inline-flex !important;
  padding: 2px !important;
  background: rgba(0, 0, 0, 0.04) !important;
  border-radius: 8px !important;
  gap: 0 !important;
}
#sld .sld-view-switchers button {
  background: transparent !important;
  border: none !important;
  padding: 4px 12px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  color: var(--ac-text-2) !important;
  border-radius: 6px !important;
  min-height: 0 !important;
}
#sld .sld-view-switchers button.active {
  background: var(--ac-surface) !important;
  color: var(--ac-text) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
}
/* Action buttons on the right (Build from current discovery / Start SLD from selected letter) */
#sld .sld-topbar > .button-row,
#sld .sld-topbar > div:not(.sld-view-switchers) {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
}
#sld .sld-topbar > .button-row button,
#sld .sld-topbar button.secondary,
#sld .sld-topbar button.primary {
  padding: 5px 12px !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  border-radius: 8px !important;
  min-height: 0 !important;
}
#sld .sld-topbar button.primary { background: var(--ac-accent) !important; border-color: var(--ac-accent) !important; }

/* SLD overview panel head — tight */
#sld .panel .panel-kicker,
#sld h3 { font-size: 0.9rem !important; font-weight: 600 !important; margin: 0 0 2px !important; }
#sld .panel > p:first-of-type { font-size: 0.78rem !important; color: var(--ac-text-3) !important; }

/* ----- Enablement Hub: kill redundant secondary header, fix button row ----- */
#enablement .enablement-topbar,
#enablement .enablement-workspace-head {
  margin-bottom: 14px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--ac-line) !important;
}
#enablement .enablement-workspace-head h3 {
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin: 0 0 4px 0 !important;
}
#enablement .enablement-workspace-head .muted {
  font-size: 0.82rem !important;
  max-width: 720px;
}

/* The 5-button toggle row → proper segmented look */
#enablement .enablement-view-switchers,
#enablement .button-row:has(button[data-enablement-view]) {
  display: inline-flex !important;
  padding: 3px !important;
  background: rgba(0, 0, 0, 0.04) !important;
  border-radius: 9px !important;
  gap: 0 !important;
  align-self: flex-end;
}
#enablement .enablement-view-switchers button,
#enablement button[data-enablement-view] {
  background: transparent !important;
  border: none !important;
  padding: 5px 14px !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  color: var(--ac-text-2) !important;
  border-radius: 6px !important;
}
#enablement .enablement-view-switchers button.active,
#enablement button[data-enablement-view].active {
  background: var(--ac-surface) !important;
  color: var(--ac-text) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
}

/* Enablement left sidebar pills */
#enablement .enablement-list-item,
#enablement [data-enablement-item] {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  border: 1px solid var(--ac-line) !important;
  background: var(--ac-surface) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  margin-bottom: 6px !important;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s;
  text-align: left;
}
#enablement .enablement-list-item:hover,
#enablement [data-enablement-item]:hover {
  background: rgba(0, 0, 0, 0.025) !important;
  border-color: rgba(0, 0, 0, 0.14) !important;
}
#enablement .enablement-list-item.active,
#enablement [data-enablement-item].active {
  background: rgba(0, 102, 204, 0.04) !important;
  border-color: rgba(0, 102, 204, 0.25) !important;
  color: var(--ac-accent) !important;
}
#enablement .enablement-list-item .module-tag,
#enablement [data-enablement-item] .tag,
#enablement .enablement-list-item span:last-child {
  font-size: 0.58rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background: rgba(0, 0, 0, 0.05) !important;
  color: var(--ac-text-3) !important;
  padding: 1px 6px !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
}

/* ----- Account-top metadata strip — FIX label/value ordering ----- */
.account-overview-metrics .scope-inline-stat {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 12px !important;
  padding: 4px 0 !important;
  border: none !important;
  background: none !important;
}
.account-overview-metrics .scope-inline-stat strong {
  order: 2 !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--ac-text) !important;
  text-align: right !important;
}
.account-overview-metrics .scope-inline-stat span {
  order: 1 !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--ac-text-3) !important;
  font-weight: 600 !important;
}

/* ----- "Back to search" + ghost links — slim ----- */
.account-overview-summary-links {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 8px !important;
}

/* ----- Hide redundant secondary headers in lists ----- */
.account-overview-overview-head .panel-kicker { display: none !important; }
#discovery-calls .records-table-head + .panel-kicker,
#champion-letters .records-table-head + .panel-kicker { display: none !important; }

/* ----- Status raw-text → pill normalization fallback ----- */
.status[data-status],
[class*="status-"]:not(button):not(.bv-confidence-pill):not(.workspace-status) {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 500;
  background: rgba(0, 0, 0, 0.06);
  color: var(--ac-text-2);
}

/* =====================================================================
   Account Overview Repository (aor-*) — Linear/Notion-grade two-column
   ===================================================================== */
.aor-shell {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 4px 2px 24px;
}

/* Hero */
.aor-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 22px;
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-lg);
}
.aor-hero-main { flex: 1 1 auto; min-width: 0; }
.aor-hero-kicker {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  margin: 0 0 6px;
}
.aor-hero-name {
  font-size: 1.45rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--ac-text);
  margin: 0 0 6px;
  line-height: 1.2;
}
.aor-hero-readout {
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--ac-text-2);
  margin: 0 0 10px;
  max-width: 72ch;
}
.aor-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.75rem;
  color: var(--ac-text-3);
  margin: 0;
}
.aor-hero-meta .aor-hero-sep { opacity: 0.5; }

.aor-hero-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
  max-width: 360px;
}
.aor-hero-btn {
  font-size: 0.78rem;
  font-weight: 500;
  padding: 7px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
  white-space: nowrap;
  line-height: 1;
}
.aor-hero-btn--ghost {
  background: transparent;
  border: 1px solid var(--ac-line);
  color: var(--ac-text-2);
}
.aor-hero-btn--ghost:hover {
  background: rgba(0,0,0,0.03);
  border-color: rgba(0,0,0,0.14);
  color: var(--ac-text);
}
.aor-hero-btn--primary {
  background: var(--ac-accent);
  border: 1px solid var(--ac-accent);
  color: #fff;
}
.aor-hero-btn--primary:hover {
  background: #0052a3;
  border-color: #0052a3;
}

/* Body — 60/40 split */
.aor-body {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
@media (max-width: 1100px) {
  .aor-body { grid-template-columns: 1fr; }
  .aor-hero { flex-direction: column; }
  .aor-hero-actions { max-width: none; width: 100%; justify-content: flex-start; }
}

.aor-lanes,
.aor-activity {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-lg);
  padding: 6px 4px;
}
.aor-section-kicker {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  margin: 10px 16px 6px;
}

/* Lane rows */
.aor-lane-list {
  display: flex;
  flex-direction: column;
}
.aor-lane {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr) auto auto 14px;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 11px 16px;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--ac-line);
  text-align: left;
  cursor: pointer;
  transition: background 110ms ease;
  font: inherit;
  color: inherit;
}
.aor-lane:first-child { border-top: 0; }
.aor-lane:hover { background: rgba(0,0,0,0.025); }
.aor-lane:hover .aor-lane-chev { opacity: 1; transform: translateX(2px); }
.aor-lane:focus-visible {
  outline: 2px solid var(--ac-accent);
  outline-offset: -2px;
}

.aor-lane-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
  background: transparent;
  border: 1.5px solid var(--ac-line-strong, rgba(0,0,0,0.18));
  box-sizing: border-box;
}
.aor-lane-dot--ready {
  background: var(--ac-accent);
  border-color: var(--ac-accent);
}
.aor-lane-dot--progress {
  background: linear-gradient(90deg, var(--ac-accent) 0 50%, transparent 50% 100%);
  border-color: var(--ac-accent);
}
.aor-lane-dot--empty {
  background: transparent;
  border-color: rgba(0,0,0,0.18);
}
.aor-lane-dot--neutral {
  background: rgba(0,0,0,0.08);
  border-color: rgba(0,0,0,0.10);
}

.aor-lane-label {
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--ac-text);
  letter-spacing: -0.005em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aor-lane-count {
  font-size: 0.74rem;
  color: var(--ac-text-3);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.aor-lane-time {
  font-size: 0.72rem;
  color: var(--ac-text-3);
  font-variant-numeric: tabular-nums;
  min-width: 56px;
  text-align: right;
  white-space: nowrap;
}
.aor-lane-chev {
  font-size: 1rem;
  color: var(--ac-text-3);
  opacity: 0;
  transition: opacity 120ms ease, transform 120ms ease;
  line-height: 1;
}

/* Activity rail */
.aor-activity-list {
  display: flex;
  flex-direction: column;
}
.aor-activity-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 16px;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--ac-line);
  text-align: left;
  cursor: pointer;
  transition: background 110ms ease;
  font: inherit;
  color: inherit;
}
.aor-activity-row:first-child { border-top: 0; }
.aor-activity-row:hover { background: rgba(0,0,0,0.025); }
.aor-activity-tag {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 4px;
  background: rgba(0,0,0,0.05);
  color: var(--ac-text-3);
  line-height: 1.5;
  white-space: nowrap;
}
.aor-activity-tag--meeting { background: rgba(0,102,204,0.10); color: var(--ac-accent); }
.aor-activity-tag--interaction { background: rgba(0,102,204,0.08); color: var(--ac-accent); }
.aor-activity-tag--champion-letter { background: rgba(0,143,93,0.10); color: var(--ac-success, #006d4a); }
.aor-activity-tag--sld { background: rgba(120,53,176,0.10); color: #6b3fa0; }
.aor-activity-tag--debrief { background: rgba(180,83,9,0.10); color: var(--ac-warning, #b45309); }

.aor-activity-title {
  font-size: 0.82rem;
  color: var(--ac-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aor-activity-time {
  font-size: 0.7rem;
  color: var(--ac-text-3);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.aor-empty {
  font-size: 0.82rem;
  color: var(--ac-text-3);
  padding: 18px 18px 22px;
  margin: 0;
  line-height: 1.5;
}

/* =====================================================================
   Account Debrief — Low/Mid/Deep + per-box gear edit
   ===================================================================== */
.debrief-shell {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 4px 2px 24px;
}

.debrief-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.debrief-depth-toggle {
  display: inline-flex;
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: 8px;
  padding: 2px;
  gap: 0;
}
.debrief-depth-tab {
  font-size: 0.78rem;
  font-weight: 500;
  padding: 5px 14px;
  border: 0;
  background: transparent;
  color: var(--ac-text-2);
  border-radius: 6px;
  cursor: pointer;
  letter-spacing: 0;
  transition: background 120ms ease, color 120ms ease;
}
.debrief-depth-tab:hover { color: var(--ac-text); }
.debrief-depth-tab.active {
  background: var(--ac-accent);
  color: #fff;
}
.debrief-depth-help {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.74rem;
  color: var(--ac-text-3);
}
.debrief-depth-stamp { opacity: 0.85; }

button.debrief-generate-btn {
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
  padding: 7px 14px !important;
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease !important;
  line-height: 1 !important;
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}
button.debrief-generate-btn.is-primary {
  background: var(--ac-accent) !important;
  border: 1px solid var(--ac-accent) !important;
  color: #fff !important;
}
button.debrief-generate-btn.is-primary:hover {
  background: #0052a3 !important;
  border-color: #0052a3 !important;
  color: #fff !important;
}
button.debrief-generate-btn.is-secondary {
  background: transparent !important;
  border: 1px solid var(--ac-line) !important;
  color: var(--ac-text-2) !important;
}
button.debrief-generate-btn.is-secondary:hover {
  background: rgba(0,0,0,0.03) !important;
  border-color: rgba(0,0,0,0.14) !important;
  color: var(--ac-text) !important;
}
button.debrief-generate-btn:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
}

/* =====================================================================
   Workflow Integrity (wfi-*) — proof-grounded step cards
   ===================================================================== */
.wfi-shell {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 4px 2px 24px;
}

.wfi-hero {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-lg);
  padding: 18px 22px;
}
.wfi-hero-kicker {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  margin: 0 0 6px;
}
.wfi-hero-score {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  margin: 0 0 6px;
  color: var(--ac-text);
  line-height: 1.05;
}
.wfi-hero-score-unit {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--ac-text-3);
  margin-left: 6px;
  letter-spacing: 0;
}
.wfi-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.78rem;
  color: var(--ac-text-3);
  margin: 0;
}
.wfi-hero-meta strong { color: var(--ac-text); font-weight: 600; }
.wfi-hero-sep { opacity: 0.5; }
.wfi-hero-snapshot {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 0.7rem;
  opacity: 0.7;
}

.wfi-section-kicker {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  margin: 0 0 6px;
}

.wfi-steps {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.wfi-step {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-lg);
  padding: 14px 18px 16px;
  border-left-width: 3px;
}
.wfi-step--done { border-left-color: var(--ac-success, #006d4a); }
.wfi-step--missing { border-left-color: var(--ac-line-strong, rgba(0,0,0,0.18)); }
.wfi-step--override { border-left-color: var(--ac-warning, #b45309); }
.wfi-step--unverified { border-left-color: var(--ac-warning, #b45309); background: rgba(180,83,9,0.025); }

.wfi-step-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}
.wfi-step-titleblock {
  display: flex;
  align-items: center;
  gap: 10px;
}
.wfi-step-status {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 4px;
  white-space: nowrap;
  line-height: 1.5;
}
.wfi-step-status--done {
  background: rgba(0,143,93,0.10);
  color: var(--ac-success, #006d4a);
}
.wfi-step-status--missing {
  background: rgba(0,0,0,0.05);
  color: var(--ac-text-3);
}
.wfi-step-status--override {
  background: rgba(180,83,9,0.10);
  color: var(--ac-warning, #b45309);
}
.wfi-step-label {
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ac-text);
}
.wfi-step-rationale {
  font-size: 0.8rem;
  margin: 0 0 8px;
  line-height: 1.45;
}
.wfi-step-override {
  font-size: 0.8rem;
  margin: 8px 0 0;
  padding: 8px 10px;
  background: rgba(180,83,9,0.06);
  border-radius: 6px;
  color: var(--ac-text-2);
}

.wfi-evidence {
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px dashed var(--ac-line);
}
.wfi-evidence--empty {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 8px;
  padding: 10px 12px;
  background: rgba(180,83,9,0.06);
  border: 1px solid rgba(180,83,9,0.18);
  border-radius: 8px;
  font-size: 0.8rem;
  color: var(--ac-warning, #b45309);
  line-height: 1.4;
}
.wfi-evidence-warn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--ac-warning, #b45309);
  color: #fff;
  font-weight: 700;
  font-size: 0.7rem;
  flex-shrink: 0;
}
.wfi-evidence-kicker {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  margin: 0 0 6px;
}
.wfi-evidence-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wfi-evidence-row {
  background: rgba(0,0,0,0.02);
  border: 1px solid var(--ac-line);
  border-radius: 8px;
  padding: 8px 10px;
}
.wfi-evidence-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  font-size: 0.7rem;
  margin-bottom: 4px;
}
.wfi-evidence-source {
  font-weight: 600;
  color: var(--ac-text);
  font-size: 0.72rem;
}
.wfi-evidence-id {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 0.66rem;
  color: var(--ac-text-3);
  opacity: 0.8;
}
.wfi-evidence-field {
  font-size: 0.65rem;
  padding: 1px 6px;
  border-radius: 3px;
  background: rgba(0,0,0,0.05);
  color: var(--ac-text-3);
  letter-spacing: 0.02em;
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
}
.wfi-evidence-badge {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 1px 6px;
  border-radius: 3px;
}
.wfi-evidence-badge--ai {
  background: rgba(180,83,9,0.10);
  color: var(--ac-warning, #b45309);
}
.wfi-evidence-badge--captured {
  background: rgba(0,143,93,0.10);
  color: var(--ac-success, #006d4a);
}
.wfi-evidence-match {
  font-size: 0.68rem;
  color: var(--ac-text-3);
  font-style: italic;
}
.wfi-evidence-quote {
  margin: 0;
  padding: 6px 10px;
  border-left: 2px solid var(--ac-line-strong, rgba(0,0,0,0.16));
  background: var(--ac-surface);
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--ac-text-2);
  border-radius: 0 4px 4px 0;
  font-style: normal;
}

.wfi-warnings {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-lg);
  padding: 14px 18px 16px;
}
.wfi-warnings ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.wfi-warn {
  font-size: 0.82rem;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  line-height: 1.45;
}
.wfi-warn-pill {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  padding: 2px 7px;
  border-radius: 4px;
  line-height: 1.5;
  white-space: nowrap;
}
.wfi-warn--warn .wfi-warn-pill {
  background: rgba(180,83,9,0.10);
  color: var(--ac-warning, #b45309);
}
.wfi-warn--block .wfi-warn-pill {
  background: rgba(194,65,12,0.12);
  color: var(--ac-danger, #c2410c);
}

/* =====================================================================
   Admin → Model Routing (amr-*)
   ===================================================================== */
.amr-shell { display: flex; flex-direction: column; gap: 22px; padding: 4px 2px 24px; }

.amr-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.amr-title {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin: 4px 0 4px;
  color: var(--ac-text);
}
.amr-help {
  font-size: 0.85rem;
  line-height: 1.45;
  max-width: 78ch;
  margin: 0;
}
.amr-head-actions { display: flex; gap: 8px; flex-shrink: 0; }

.amr-section-kicker {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  margin: 0 0 10px;
}

/* Tier cards */
.amr-tiers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 14px;
}
.amr-tier-card {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-lg);
  padding: 16px 18px 18px;
}
.amr-tier-head {
  display: grid;
  grid-template-columns: 10px 1fr auto;
  gap: 12px;
  align-items: center;
}
.amr-tier-badge {
  width: 10px; height: 10px; border-radius: 50%;
  align-self: center;
}
.amr-tier-label {
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ac-text);
}
.amr-tier-caption {
  font-size: 0.72rem;
  margin: 2px 0 0;
}
.amr-tier-latency {
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--ac-text-3);
  background: rgba(0,0,0,0.04);
  padding: 2px 8px;
  border-radius: 4px;
  white-space: nowrap;
}
.amr-tier-desc {
  font-size: 0.78rem;
  margin: 10px 0 14px;
  line-height: 1.45;
}
.amr-tier-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
}
.amr-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.78rem;
}
.amr-field-checkbox {
  flex-direction: row;
  align-items: center;
  gap: 6px;
}
.amr-field-label {
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ac-text-3);
}
.amr-field input[type="text"],
.amr-field input[type="number"],
.amr-field select {
  font-family: inherit;
  font-size: 0.85rem;
  padding: 6px 9px;
  border: 1px solid var(--ac-line);
  border-radius: 6px;
  background: var(--ac-surface);
  color: var(--ac-text);
  width: 100%;
}
.amr-field input:focus,
.amr-field select:focus {
  outline: 0;
  border-color: var(--ac-accent);
  box-shadow: 0 0 0 3px rgba(0,102,204,0.12);
}

/* Surface table */
.amr-surfaces {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-lg);
  padding: 16px 18px;
}
.amr-surface-group { margin-bottom: 18px; }
.amr-surface-group:last-child { margin-bottom: 0; }
.amr-surface-group-kicker {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ac-text-2);
  margin: 0 0 8px;
}
.amr-surface-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}
.amr-surface-table th {
  text-align: left;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  padding: 8px 8px 6px;
  border-bottom: 1px solid var(--ac-line);
}
.amr-surface-table td {
  padding: 10px 8px;
  border-bottom: 1px solid var(--ac-line);
  vertical-align: top;
}
.amr-surface-table tr:last-child td { border-bottom: 0; }
.amr-surface-label strong {
  font-size: 0.86rem;
  font-weight: 600;
  display: block;
  color: var(--ac-text);
}
.amr-surface-id {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 0.68rem;
  display: block;
  margin-top: 1px;
}
.amr-surface-desc {
  font-size: 0.74rem;
  margin: 4px 0 0;
  max-width: 56ch;
  line-height: 1.4;
}
.amr-surface-table select,
.amr-surface-table input {
  font-family: inherit;
  font-size: 0.78rem;
  padding: 4px 8px;
  border: 1px solid var(--ac-line);
  border-radius: 5px;
  background: var(--ac-surface);
  color: var(--ac-text);
  width: 100%;
  min-width: 110px;
}

/* Status bar */
.amr-status {
  font-size: 0.82rem;
  padding: 0;
  min-height: 22px;
}
.amr-status--busy { color: var(--ac-text-3); }
.amr-status--ok { color: var(--ac-success, #006d4a); }
.amr-status--err { color: var(--ac-danger, #c2410c); }

.debrief-status {
  font-size: 0.82rem;
  padding: 10px 14px;
  border-radius: var(--ac-radius);
  background: rgba(0,102,204,0.06);
  border: 1px solid rgba(0,102,204,0.18);
  color: var(--ac-text-2);
  display: flex;
  align-items: center;
  gap: 8px;
}
.debrief-status--busy { background: rgba(0,0,0,0.03); border-color: var(--ac-line); }
.debrief-spinner {
  width: 12px; height: 12px;
  border-radius: 50%;
  border: 2px solid rgba(0,102,204,0.25);
  border-top-color: var(--ac-accent);
  animation: debrief-spin 0.9s linear infinite;
  display: inline-block;
}
@keyframes debrief-spin { to { transform: rotate(360deg); } }

.debrief-lead {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-lg);
  padding: 16px 20px;
}
.debrief-lead .panel-kicker { margin-top: 0; }
.debrief-lead p { margin: 6px 0 0; font-size: 0.92rem; line-height: 1.5; color: var(--ac-text); }

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

.debrief-box {
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-lg);
  padding: 14px 18px 16px;
  position: relative;
  transition: border-color 120ms ease;
}
.debrief-box.editing { border-color: var(--ac-accent); box-shadow: 0 0 0 3px rgba(0,102,204,0.08); }

.debrief-box-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.debrief-box-head .panel-kicker { margin: 0; }
.debrief-box-meta {
  display: flex;
  align-items: center;
  gap: 8px;
}
.debrief-edited-badge {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(180,83,9,0.10);
  color: var(--ac-warning, #b45309);
}
.debrief-box-gear {
  border: 0;
  background: transparent;
  color: var(--ac-text-3);
  font-size: 13px;
  width: 22px; height: 22px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  opacity: 0.4;
  cursor: pointer;
  transition: opacity 120ms ease, background 120ms ease;
}
.debrief-box-gear:hover { opacity: 0.95; background: rgba(0,0,0,0.05); }

.debrief-box-content {
  font-size: 0.86rem;
  line-height: 1.5;
  color: var(--ac-text);
}
.debrief-box-content p { margin: 6px 0; }
.debrief-box-content ul { margin: 8px 0; padding-left: 18px; }
.debrief-box-content li { font-size: 0.84rem; margin: 4px 0; }

.debrief-source-signal {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin-top: 10px !important;
  padding-top: 10px;
  border-top: 1px dashed var(--ac-line);
  font-size: 0.76rem !important;
  color: var(--ac-text-3);
}
.debrief-source-signal-label {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  white-space: nowrap;
}

.debrief-sub-kicker {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  margin: 14px 0 6px;
}
.debrief-hyp-list {
  margin: 0;
  padding-left: 18px;
  font-size: 0.82rem;
  line-height: 1.45;
}
.debrief-hyp-list li { margin: 3px 0; }
.debrief-hyp-list ul { margin: 3px 0; padding-left: 18px; color: var(--ac-text-2); }

.debrief-cit-row {
  font-size: 0.76rem !important;
  margin: 3px 0 !important;
  color: var(--ac-text-2);
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: baseline;
}
.debrief-cit-num { color: var(--ac-text-3); font-variant-numeric: tabular-nums; }
.debrief-cit-source {
  font-size: 0.68rem;
  padding: 1px 6px;
  border-radius: 3px;
  background: rgba(0,0,0,0.05);
  color: var(--ac-text-3);
  letter-spacing: 0.02em;
}
.debrief-cit-link {
  font-size: 0.74rem;
  color: var(--ac-accent);
  text-decoration: none;
}
.debrief-cit-link:hover { text-decoration: underline; }

.debrief-box-textarea {
  width: 100%;
  font-family: inherit;
  font-size: 0.84rem;
  line-height: 1.5;
  padding: 10px 12px;
  border: 1px solid var(--ac-line-strong, rgba(0,0,0,0.18));
  border-radius: 8px;
  background: #fafafa;
  resize: vertical;
  margin-top: 4px;
}
.debrief-box-textarea:focus {
  outline: 0;
  border-color: var(--ac-accent);
  box-shadow: 0 0 0 3px rgba(0,102,204,0.12);
}
.debrief-box-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.debrief-box-btn {
  font-size: 0.76rem;
  font-weight: 500;
  padding: 5px 12px;
  border-radius: 6px;
  cursor: pointer;
  background: transparent;
  border: 1px solid var(--ac-line);
  color: var(--ac-text-2);
  line-height: 1.2;
}
.debrief-box-btn:hover { background: rgba(0,0,0,0.03); color: var(--ac-text); }
.debrief-box-btn--primary {
  background: var(--ac-accent);
  border-color: var(--ac-accent);
  color: #fff;
}
.debrief-box-btn--primary:hover { background: #0052a3; border-color: #0052a3; color: #fff; }
.debrief-box-btn--danger {
  color: var(--ac-danger);
  border-color: rgba(194,65,12,0.2);
}
.debrief-box-btn--danger:hover { background: rgba(194,65,12,0.06); color: var(--ac-danger); }

/* Inline Demo Path on a discovery row (WS-5) */
.demo-path-inline {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed var(--ac-line);
}
.demo-path-grid { gap: 10px; }
.discovery-row {
  transition: border-color 120ms ease;
}

/* =====================================================================
   AI Enablement Workspace (aie-*) — Linear/Claude/Perplexity grade
   ===================================================================== */
.enablement-ai-panel {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 0;
  height: calc(100vh - 180px);
  min-height: 540px;
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-lg);
  overflow: hidden;
}
.enablement-ai-panel.hidden { display: none; }

@media (max-width: 980px) {
  .enablement-ai-panel { grid-template-columns: 1fr; height: auto; }
  .aie-rail { border-right: 0 !important; border-bottom: 1px solid var(--ac-line); max-height: 280px; }
}

.aie-rail {
  border-right: 1px solid var(--ac-line);
  background: #fafafa;
  display: flex;
  flex-direction: column;
  padding: 12px 8px;
  min-width: 0;
}
.aie-new-thread-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 9px 12px;
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: 8px;
  font-size: 0.84rem;
  font-weight: 500;
  color: var(--ac-text);
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease;
}
.aie-new-thread-btn:hover { background: rgba(0,102,204,0.05); border-color: var(--ac-accent); color: var(--ac-accent); }
.aie-new-thread-plus { font-size: 1.05rem; line-height: 1; font-weight: 400; }
.aie-rail-kicker {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  margin: 16px 8px 6px;
}
.aie-thread-list {
  flex: 1 1 auto;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.aie-rail-empty {
  font-size: 0.78rem;
  color: var(--ac-text-3);
  padding: 0 8px;
  margin: 0;
  line-height: 1.45;
}
.aie-thread-item {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "title time"
    "preview preview";
  gap: 1px 8px;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 6px;
  padding: 8px 10px;
  cursor: pointer;
  transition: background 110ms ease;
  font: inherit;
}
.aie-thread-item:hover { background: rgba(0,0,0,0.04); }
.aie-thread-item.active { background: rgba(0,102,204,0.10); }
.aie-thread-item-title {
  grid-area: title;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--ac-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aie-thread-item-preview {
  grid-area: preview;
  font-size: 0.72rem;
  color: var(--ac-text-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.35;
}
.aie-thread-item-time {
  grid-area: time;
  font-size: 0.66rem;
  color: var(--ac-text-3);
  font-variant-numeric: tabular-nums;
}

.aie-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.aie-main-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 22px 12px;
  border-bottom: 1px solid var(--ac-line);
}
.aie-main-kicker {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  margin: 0 0 3px;
}
.aie-main-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
  color: var(--ac-text);
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 56ch;
}

.aie-thread {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 16px 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.aie-empty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  flex: 1;
  padding: 8px 0;
  gap: 14px;
}
.aie-empty-lead {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--ac-text);
  margin: 0;
}
.aie-empty-help {
  font-size: 0.85rem;
  color: var(--ac-text-3);
  margin: 0;
  max-width: 60ch;
  line-height: 1.5;
}
.aie-chip-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 8px;
  width: 100%;
  margin-top: 6px;
}
.aie-chip {
  text-align: left;
  background: var(--ac-surface);
  border: 1px solid var(--ac-line);
  border-radius: 8px;
  padding: 10px 13px;
  font-size: 0.82rem;
  color: var(--ac-text);
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
  line-height: 1.4;
  font: inherit;
  font-weight: 450;
}
.aie-chip:hover {
  background: rgba(0,102,204,0.04);
  border-color: var(--ac-accent);
  color: var(--ac-accent);
}
.aie-chip-small {
  padding: 5px 10px;
  font-size: 0.74rem;
  border-radius: 999px;
  margin: 3px 4px 0 0;
}

.aie-message {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 14px;
}
.aie-message--rep .aie-role {
  color: var(--ac-text-3);
}
.aie-role {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ac-accent);
  padding-top: 4px;
}
.aie-msg-body { min-width: 0; }
.aie-msg-content {
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--ac-text);
  margin: 0 0 6px;
  white-space: pre-wrap;
}
.aie-message--rep .aie-msg-content { color: var(--ac-text-2); }
.aie-key-points {
  margin: 8px 0;
  padding-left: 20px;
  font-size: 0.85rem;
  line-height: 1.5;
}
.aie-key-points li { margin: 3px 0; }

.aie-citations {
  margin-top: 12px;
  padding: 10px 12px;
  background: rgba(0,0,0,0.025);
  border: 1px solid var(--ac-line);
  border-radius: 8px;
}
.aie-citations-kicker {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  margin: 0 0 6px;
}
.aie-citations-list {
  margin: 0;
  padding-left: 22px;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--ac-text-2);
}
.aie-citation-text { color: var(--ac-text-2); }

.aie-followups {
  margin-top: 12px;
}
.aie-followups-kicker {
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ac-text-3);
  margin: 0 0 4px;
}
.aie-followup-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.aie-msg-actions {
  display: flex;
  gap: 6px;
  margin-top: 8px;
  opacity: 0.65;
}
.aie-message:hover .aie-msg-actions { opacity: 1; }
.aie-msg-action {
  font-size: 0.7rem;
  padding: 3px 9px;
  background: transparent;
  border: 1px solid var(--ac-line);
  border-radius: 4px;
  color: var(--ac-text-2);
  cursor: pointer;
  transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}
.aie-msg-action:hover { background: rgba(0,0,0,0.04); color: var(--ac-text); }

.aie-composer {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  padding: 12px 18px 14px;
  border-top: 1px solid var(--ac-line);
  background: var(--ac-surface);
}
.aie-model-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 10px;
  border-radius: 6px;
  border: 1px solid var(--ac-line);
  background: transparent;
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--ac-text-3);
  white-space: nowrap;
  letter-spacing: 0.02em;
  cursor: default;
}
.aie-model-pill-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--ac-accent);
}
.aie-textarea {
  flex: 1 1 auto;
  resize: none;
  font-family: inherit;
  font-size: 0.9rem;
  line-height: 1.45;
  padding: 8px 12px;
  border: 1px solid var(--ac-line);
  border-radius: 8px;
  background: #fafafa;
  min-height: 36px;
  max-height: 180px;
  overflow-y: auto;
}
.aie-textarea:focus {
  outline: 0;
  border-color: var(--ac-accent);
  box-shadow: 0 0 0 3px rgba(0,102,204,0.12);
  background: var(--ac-surface);
}
.aie-send-btn {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: var(--ac-accent);
  border: 1px solid var(--ac-accent);
  color: #fff;
  cursor: pointer;
  font-size: 1.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 120ms ease;
}
.aie-send-btn:hover { background: #0052a3; }
.aie-send-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* BV AI Investigate — deep-research source provenance pills (WS-7) */
.bv-source-pill {
  display: inline-block;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 4px;
  line-height: 1.5;
  background: rgba(0,0,0,0.05);
  color: var(--ac-text-3);
}
.bv-source-pill--repo {
  background: rgba(0,143,93,0.12);
  color: var(--ac-success, #006d4a);
}
.bv-source-pill--public {
  background: rgba(0,102,204,0.12);
  color: var(--ac-accent);
}
.bv-source-pill--default {
  background: rgba(180,83,9,0.10);
  color: var(--ac-warning, #b45309);
}
.bv-source-link {
  font-size: 0.74rem;
  color: var(--ac-accent) !important;
  text-decoration: none !important;
  margin-left: 4px;
}
.bv-source-link:hover { text-decoration: underline !important; }

/* WS-8: AI Enablement groundedness warning */
.aie-grounding-warning {
  margin-top: 10px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 0.78rem;
  line-height: 1.45;
  border: 1px solid;
}
.aie-grounding-warning--low {
  background: rgba(180,83,9,0.08);
  border-color: rgba(180,83,9,0.22);
  color: var(--ac-warning, #b45309);
}
.aie-grounding-warning--medium {
  background: rgba(0,102,204,0.06);
  border-color: rgba(0,102,204,0.18);
  color: var(--ac-text-2);
}

/* === Step 4 Preparation: count toggle + practice-with-persona === */

.prep-toggle-controls {
  display: flex;
  align-items: center;
  gap: 14px;
}

.prep-count-toggle {
  display: inline-flex;
  border: 1px solid var(--border, #d0d4dc);
  border-radius: 999px;
  overflow: hidden;
  background: var(--surface, #fff);
}

.prep-count-toggle button {
  border: none;
  background: transparent;
  padding: 5px 14px;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  color: var(--muted, #525866);
  font-family: inherit;
}

.prep-count-toggle button.active {
  background: var(--accent, #1f4ed8);
  color: #fff;
}

.practice-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.practice-controls select {
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid var(--border, #d0d4dc);
  background: var(--surface, #fff);
  font-family: inherit;
  font-size: 0.9rem;
  min-width: 220px;
}

.practice-meta {
  margin: 12px 0;
  font-size: 0.85rem;
}

.practice-chat {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 420px;
  overflow-y: auto;
  padding: 6px 2px;
}

.practice-bubble {
  max-width: 78%;
  padding: 10px 14px;
  border-radius: 14px;
  font-size: 0.92rem;
  line-height: 1.4;
  white-space: pre-wrap;
}

.practice-bubble--buyer {
  align-self: flex-start;
  background: var(--ac-bg-2, #f4f6fa);
  border: 1px solid var(--border, #d0d4dc);
  color: var(--ac-text, #111827);
}

.practice-bubble--rep {
  align-self: flex-end;
  background: var(--accent, #1f4ed8);
  color: #fff;
}

.practice-bubble-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.7;
  margin-bottom: 4px;
}

.practice-input-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 12px;
}

.practice-input-row textarea {
  flex: 1;
  resize: vertical;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid var(--border, #d0d4dc);
  font-family: inherit;
  font-size: 0.92rem;
}

.practice-score {
  margin-top: 12px;
  font-size: 0.88rem;
}

.practice-score-card {
  background: var(--ac-bg-2, #f4f6fa);
  border: 1px solid var(--border, #d0d4dc);
  border-radius: 10px;
  padding: 12px 16px;
  margin-top: 8px;
}

.practice-score-card h4 {
  margin: 0 0 6px;
  font-size: 0.95rem;
}

/* Persona-mood controls */
.practice-mood {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 12px 0 4px;
  padding: 12px 14px;
  background: var(--ac-bg-2, #f9fafc);
  border: 1px solid var(--border, #d0d4dc);
  border-radius: 10px;
}

.practice-mood-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.practice-mood-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted, #525866);
  display: block;
  margin-bottom: 4px;
}

.practice-mood-presets {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
}

.practice-mood-preset {
  border: 1px solid var(--border, #d0d4dc);
  background: var(--surface, #fff);
  color: var(--ac-text, #111827);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 0.82rem;
  font-family: inherit;
  cursor: pointer;
}

.practice-mood-preset:hover {
  background: var(--ac-bg-2, #f4f6fa);
}

.practice-mood-preset.active {
  background: var(--accent, #1f4ed8);
  color: #fff;
  border-color: var(--accent, #1f4ed8);
}

.practice-mood-field {
  display: flex;
  flex-direction: column;
  min-width: 200px;
  flex: 1;
}

.practice-mood-field select {
  padding: 6px 10px;
  border-radius: 6px;
  border: 1px solid var(--border, #d0d4dc);
  background: var(--surface, #fff);
  font-family: inherit;
  font-size: 0.88rem;
}

.practice-mood-context {
  display: flex;
  flex-direction: column;
}

.practice-mood-context textarea {
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid var(--border, #d0d4dc);
  font-family: inherit;
  font-size: 0.88rem;
  resize: vertical;
}

/* Richer roleplay score card */
.practice-score-card {
  background: var(--ac-bg-2, #f9fafc);
  border: 1px solid var(--border, #d0d4dc);
  border-radius: 12px;
  padding: 16px 18px;
  margin-top: 12px;
}

.practice-score-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.practice-score-head h4 {
  margin: 0;
  font-size: 1rem;
}

.practice-score-headline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.practice-score-overall {
  font-size: 1.1rem;
  font-weight: 700;
}

.practice-band {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.practice-band--weak {
  background: rgba(220,38,38,0.12);
  color: #b91c1c;
}

.practice-band--developing {
  background: rgba(180,83,9,0.12);
  color: #b45309;
}

.practice-band--strong {
  background: rgba(22,101,52,0.12);
  color: #15803d;
}

.practice-band--excellent {
  background: rgba(29,78,216,0.12);
  color: #1d4ed8;
}

.practice-score-rationale {
  margin: 6px 0 12px;
  font-size: 0.92rem;
  line-height: 1.45;
}

.practice-score-feedback {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 8px 0 14px;
}

@media (max-width: 720px) {
  .practice-score-feedback {
    grid-template-columns: 1fr;
  }
}

.practice-score-feedback-block {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--border, #d0d4dc);
  background: var(--surface, #fff);
}

.practice-score-feedback-block strong {
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.practice-score-feedback-block--good strong { color: #15803d; }
.practice-score-feedback-block--bad strong { color: #b45309; }

.practice-score-feedback-block p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.4;
}

.practice-score-dims {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
}

.practice-score-dim {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--border, #d0d4dc);
  background: var(--surface, #fff);
}

.practice-score-dim-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}

.practice-score-dim-score {
  font-weight: 700;
  font-size: 0.95rem;
}

.practice-score-dim-blurb {
  margin: 0 0 6px;
  font-size: 0.82rem;
  color: var(--muted, #525866);
  line-height: 1.4;
}

.practice-score-dim-rationale {
  margin: 0 0 6px;
  font-size: 0.9rem;
  line-height: 1.4;
}

.practice-score-dim-evidence {
  margin: 0;
  padding-left: 18px;
  font-size: 0.85rem;
  color: var(--muted, #525866);
}

.practice-score-next-focus {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  border-left: 3px solid var(--accent, #1f4ed8);
  background: rgba(29,78,216,0.06);
  font-size: 0.92rem;
  line-height: 1.45;
}

/* === Universal button loading state (auto-applied via withButtonLoading
   helper or data-async-loading attribute) ===========================
   Distinct from the older .is-loading class which expects a manually-
   injected .btn-spinner span. This one uses a pure-CSS ::before spinner
   so callers don't need to touch innerHTML.

   Fast actions (<100ms) flash briefly and clear — no UX harm.
   Slow actions keep the rep informed instead of staring at a static button.
*/
button.is-loading-auto {
  position: relative;
  pointer-events: none;
  color: transparent !important;
  text-shadow: none !important;
}

button.is-loading-auto::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 16px;
  height: 16px;
  border: 2px solid var(--accent, #1f4ed8);
  border-top-color: transparent;
  border-radius: 50%;
  opacity: 0.85;
  animation: btn-spin 0.7s linear infinite;
}